Обработка входящих пакетов¶
Обработку входящих пакетов выполняет компонент prq_pkg_receiver
В него входят:
*BLOCK_SYNC_SM - синхронизация алгоритма 64/67
*DESCRAMBLER - перекодировка
Процесс pr_is_control_word проводит поиск слова с HEADER=01 (служебное слово). Если слово найдено, формируется is_control_word=1 и начинается подсчёт контрольной суммы. Если в следующем слове обнаружена правильная контрольная сумма, то значение передаётся в rx2link.control_word и формируется rx2link.control_word_we;
Если в слове команды установлен SOF=1 и контрольная сумма правильная, то принимаемые данные передаются в DPRAM:
- rx2link.dpram_data - шина данных
- rx2link.dpram_we - сигнал записи в DPRAM
- rx2link.dpram_adr - адрес памяти
Разряды 7..0 адреса формируется счётчиком. Разряды 9..8 определяются из поля BUF_NUM в слове команды.
Конец пакета с данными определяется по наличию служебного слова (поле EOF не анализируется). В конце пакета формируется сигнал rx2link.pkg_eot. Если контрольная сумма CRC2 правильная, то сигнал rx2link.pkg_good устанавливается в 1, если контрольная сумма неправильная, то устанавливается 0.