ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 марта
772092 Топик полностью
Evgeny_CD, Архитектор (01.08.2017 22:24, просмотров: 151) ответил mse homjak на Ну, ХЗ, какой поток может сформировать МК с 12р АЦП, чтобы для коммутации первично обработанных данных, понадобилась ФПГА, а после вторичной обработки, ещо и два канала эзернет(да, я понимаю, что этих МК достаточно много). Не, случаи разные
Внутри канального MCU из входных данных рождается раз в 1 мс пакет. Он может быть разной длины, 64-128 байт. В тяжелых случаях до 256, но это предел с запасом. По мегабитному UART он за 0.5 или 1 мс скидывается в FPGA. Если надо, скорость UART выше. Контроллер UART в FPGA "с хитринкой". он умеет генерировать событие синхронизации, и записывать одновременно с этим значение внутреннего счетчика FPGA (одна из ключевых фишек, зачем надо FPGA). Событие синхронизации - это 0 длиной 2 слова обмена по UART. UART детектирует это как ошибку, но простая логика на таймере позволяет периферийному MCU отследить, что пришло прерывание по событию синхронизация. И MCU тоже записывает показание внутреннего счетчика. Пакет от концентратора в MCU (идет после события синхронизации ) содержит записанное значение счетчика FPGA. MCU сравнивает со своим счетчиком и точно синхронизируется. Разовая точности синхронизации ~ 20 бит на скорости 1мбит, или 20 мкс. Итоговая точность синхронизации в пределах 100 мкс (включая все джиттеры и проч) полностью устраивает. Если синхриться раз в секунду, мне достаточно генератора 100ppm на стороне MCU (причем это за 1с 100ppm). Я надеюсь, что точности накристальных генераторов хватит. Нет - я поставлю за $0.5 MEMS генератор со стабильностью 20 ppm. Аналогично синхронизируются контроллеры на MCU и параллельной шине, которые обслуживают каналы связи. Каналов всего 32 на устройство, т.е. без особой обработки надо отогнать "наверх" 4 кбайт данных. Пусть канал будет 100Мбит Ethernet. Это даст примерно 0.4 мс время отправки 4к. 0.8 - двойное время отправки на всякое резервирование, 0.2мс - запас. Сжатие 4к постепенно напишем, но пока проще стартовать с сырыми данными.