Столкнулся с проблемой связи. Часть устройств тупо переставала отправлять кадры в эфир. 10 минут с периодом 12 минут. Хотя счётчики кадров на всех уровнях считают. Думал, что программный косяк. Потом посмотрел эфир SDR приемником - рядом стояла глушилка, которая и работала с таким интервалом. И проблема не в том, что устройства не слышат друг друга. Они все были на стенде одном столе, и сниффер работающие устройства спокойно слушал, находясь немного дальше. ZigBee перед передачей ожидает освобождения канала, который никогда не наступал при помехах. Поднял порог на 20 попугаев и вроде стало получше. К слову, WiFi передаёт короткими кадрами, и не очень сильно мешает при небольшой нагрузке
Торрент на 486 будет качать от силы сотни кбайт/с, а дос обычно ограничен 2гб на диск. Даже как файл-сервер по смб скорость в единицы мбайт/с... Так что современные цели - вряд ли.
ISA удобно использовать для отладки нового железа. Купил по-дешману карточку, проверил. Не подошла - другую. Я впаял в 386-й ноут шлейф на тест-поинты (они по названиям 100% совпадали с номерами выводов ISA) и подключил к купленному на авито разъёму. Интересно, что всё работало крайне нестабильно, пока не повесил на всю шину данных ферритовое кольцо. Когда убедился, что всё интересующее меня работает, развёл платку с USB+звук+сеть. Не обошлось без косяков: у китайцев была неправильная распиновка мини-джеков, сеть никак не работала без EEPROM. А вот USB завелся с первого раза, там драйвера есть модифицированные, более быстрые.
Скрытый текст
Кишки ISA
Мульти-плата
Встала вместо модема. Панельку доводить до идеала было уже лень)
Я правильно понимаю, что mTLS - это обычный TLS, сервер которого выдает стандартный запрос certificate request? А proxy - это отдельный сервер, принимающий внешние подключения, и пропускающий к серверу уже по менее защищенному каналу только тех, кто прошел проверку? И ddos ложится на его плечи, ибо фаза рукопожатия, даже до запроса сертификата сервером, самая ресурсоемкая?
Хороший тайм-сервер должен постоянно подстраивать частоту своих часов под PPS или другой источник точного времени. Тут уже вопрос о доверии к принятому времени
Обычно берется блок выборок по количеству бинов, применяется оконная функция, вычисляется БПФ, берётся следующий блок итд. Не встречал, чтобы БПФ считали с каждой выборкой, это уже вэйвлеты какие-то будут.
Это каким образом БПФ обрабатывается после прихода сэмпла? Только блочно - там куча вычислений, для которых нужны как минимум 2 выборки. Вызывать обработчик для каждой выборки зачастую медленее, чем в цикле обработать блок. Особенно если уметь оптимизировать не в стиле "красивый код", а "эффективный код". Многие DSP-функции уже в микроконтроллеры внедряют, а то и в ядро процессора (ARM, например).
Это всё классно, но многие системы при проектировании не учитывали спуффинг, который сейчас активно используется. И если на цифровой подстанции время синхронизируется через ГЛОНАСС/GPS, то малейшее отклонение времени приведет к серьезным последствиям.
Если много длительных фоновых процессов, то можно использовать операционку. А обработчику поставить приоритет повыше, и запускать из прерывания по семафору.
Пришел по DMA первый полу-буфер - установили флажок, в основном цикле проверили флажок и обработали его. Пришёл второй - установили второй флажок и обработали его. Потом снова первый... А можно прямо флажки DMA использовать - и прерывания не нужны. Понятно, что нужно успеть обработать до появления следующего полу-буфера. А если не успеваем - то это уже проблема. При редких неуспеваниях поможет дополнительная буферизация, при постоянных - изменение оптимизации, алгоритмов, МК, программистов итп...
Использование FIFO для передачи данных из прерывания основной программе излишне, имхо. Если всё пишется аппаратно через DMA, то проще передавать указатель на начало/середину буфера с половиной длины. А в вашем случае вообще можно разгрузить процессор, напрямую передавая с АЦП в буфер одним ДМА-потоком, а из этого же буфера в ЦАП - другим.И Circular mode - это точно не режим цирка)
Столкнулся с проблемой связи. Часть устройств тупо переставала отправлять кадры в эфир. 10 минут с периодом 12 минут. Хотя счётчики кадров на всех уровнях считают. Думал, что программный косяк. Потом посмотрел эфир SDR приемником - рядом стояла глушилка, которая и работала с таким интервалом. И проблема не в том, что устройства не слышат друг друга. Они все были на стенде одном столе, и сниффер работающие устройства спокойно слушал, находясь немного дальше. ZigBee перед передачей ожидает освобождения канала, который никогда не наступал при помехах. Поднял порог на 20 попугаев и вроде стало получше. К слову, WiFi передаёт короткими кадрами, и не очень сильно мешает при небольшой нагрузке
Скрытый текст
Очевидно, что это офисный комплект для гос-структур, ибо остальным всё равно. А там чем стандартнее, тем лучше
Мало того, что должен передаваться ID, он должен иметь возможность проверяться. Сертификат внутри сертификата?...
Там обычно вместо батарейки был аккум впаян прямо в материнку. Это же 286й, какое шифрование, какой рут, какой менеджер паролей?)
Торрент на 486 будет качать от силы сотни кбайт/с, а дос обычно ограничен 2гб на диск. Даже как файл-сервер по смб скорость в единицы мбайт/с... Так что современные цели - вряд ли.
ISA удобно использовать для отладки нового железа. Купил по-дешману карточку, проверил. Не подошла - другую. Я впаял в 386-й ноут шлейф на тест-поинты (они по названиям 100% совпадали с номерами выводов ISA) и подключил к купленному на авито разъёму. Интересно, что всё работало крайне нестабильно, пока не повесил на всю шину данных ферритовое кольцо. Когда убедился, что всё интересующее меня работает, развёл платку с USB+звук+сеть. Не обошлось без косяков: у китайцев была неправильная распиновка мини-джеков, сеть никак не работала без EEPROM. А вот USB завелся с первого раза, там драйвера есть модифицированные, более быстрые.
Скрытый текст
Сервер не знает ни IMEI, ни любой другой достоверной информации об устройстве - для него все равны. Даже по IP/MAC будет проблемно привязаться.
Я правильно понимаю, что mTLS - это обычный TLS, сервер которого выдает стандартный запрос certificate request? А proxy - это отдельный сервер, принимающий внешние подключения, и пропускающий к серверу уже по менее защищенному каналу только тех, кто прошел проверку? И ddos ложится на его плечи, ибо фаза рукопожатия, даже до запроса сертификата сервером, самая ресурсоемкая?
Греть то можно окружающей средой, но нужно еще и конденсировать...
Хороший тайм-сервер должен постоянно подстраивать частоту своих часов под PPS или другой источник точного времени. Тут уже вопрос о доверии к принятому времени
Обычно берется блок выборок по количеству бинов, применяется оконная функция, вычисляется БПФ, берётся следующий блок итд. Не встречал, чтобы БПФ считали с каждой выборкой, это уже вэйвлеты какие-то будут.
Это каким образом БПФ обрабатывается после прихода сэмпла? Только блочно - там куча вычислений, для которых нужны как минимум 2 выборки. Вызывать обработчик для каждой выборки зачастую медленее, чем в цикле обработать блок. Особенно если уметь оптимизировать не в стиле "красивый код", а "эффективный код". Многие DSP-функции уже в микроконтроллеры внедряют, а то и в ядро процессора (ARM, например).
Это всё классно, но многие системы при проектировании не учитывали спуффинг, который сейчас активно используется. И если на цифровой подстанции время синхронизируется через ГЛОНАСС/GPS, то малейшее отклонение времени приведет к серьезным последствиям.
На типичном 486м обычно установлено 4-16Мб ОЗУ. Даже если ядру хватит, современный софт явно не умеет умещаться в таком объёме.
Если много длительных фоновых процессов, то можно использовать операционку. А обработчику поставить приоритет повыше, и запускать из прерывания по семафору.
Пришел по DMA первый полу-буфер - установили флажок, в основном цикле проверили флажок и обработали его. Пришёл второй - установили второй флажок и обработали его. Потом снова первый... А можно прямо флажки DMA использовать - и прерывания не нужны. Понятно, что нужно успеть обработать до появления следующего полу-буфера. А если не успеваем - то это уже проблема. При редких неуспеваниях поможет дополнительная буферизация, при постоянных - изменение оптимизации, алгоритмов, МК, программистов итп...
Чтобы DMA работал стабильнее - придумали всякие аппаратные bus matrix, burst и fifo...
Обрабатывать выборки блоками, очевидно...
Использование FIFO для передачи данных из прерывания основной программе излишне, имхо. Если всё пишется аппаратно через DMA, то проще передавать указатель на начало/середину буфера с половиной длины. А в вашем случае вообще можно разгрузить процессор, напрямую передавая с АЦП в буфер одним ДМА-потоком, а из этого же буфера в ЦАП - другим.И Circular mode - это точно не режим цирка)
Не уверен, что на типичной 486й машине полноценно запустился бы хоть какой-то из последних линуксов