July 13th, 2021

QuatCore

16-битный полудуплексный UART, тестируем

В прошлый раз мы его вроде как написали, теперь пора проверить. Попробуем взять "с нахрапу" и сразу присоединим его к модулю CRC, вообще не задумываясь (вытащили 8-битный модуль, поставили 16-битный, только ширину шины поменяли):


Синтезируется в 68 ЛЭ, при 48 регистрах - очень "плотно" :) Предельная частота 68,97 МГц, меня устраивает (у меня 25 МГц пока).

Далее, для этого модуля "UART+CRC" создаём схемотехнический символ и кидаем две штуки на "тестовую схему":


(проверяем, что один как надо передаст, а второй корректно примет)

Запускаем синтез - и получаем очень нехорошее предупреждение:


Collapse )

Как будто бы работает. Теперь ещё протокольный контроллер МКО (к которому вместо МКО пока что прикрутили UART) доработать, чтобы CRC проверял (давал управляющие сигналы на модуль HalfDuplexUART16bitwCRC) - и пора бы уже на реальное железо перебираться, смотреть, что там получается. А потом ещё написать простенький DMA, чтобы протокольный контроллер и процессор одну память делили на двоих (с приоритетом процессора) - и золотой ключик у меня в кармане.

Уже ведь можно в РКК Энергию попасть, у меня QR-код есть и справка с круглой печатью от врача, и треугольной и прямоугольной печатями из регистратуры :)