Понятно что можно на ПЛИС сделать преобразование данные в 1 бит->32 бит, как сдвиговый регистр, и параллельно загружать в контроллер, там получится 0.46 МГц, можно и программно обрабатывать, по прерыванию.
Интересны возможности МК в этом плане.
1. Может ли DMA работать с битовым потоком. Вроде как нет, есть что-то для захвата цифровых видеопотоков, но там весь порт задействован и специфический формат.
2. По таймеру как часто может МК захватывать 1 бит? Вроде как там несколько операций:
Код: Выделить всё
считали данные порта
выделили 1 бит (младший)
записали его младшим в регистр (предварительно сместив влево)
если он 32й по счету перекинули регистр в памятьПри частоте
STM32F103 на 72МГц / 14 = 5 МГц на глазок частота опроса порта, для STM32F4 с его 192МГц уже 13 МГц, вроде нормально.
3. SPI, на борту МК всех почти есть и так сдвиговый регистр, нужно только обеспечить линию Serial Clock внешнюю, на входе будет сразу готовые 8-16 бит, которые можно забирать по DMA. Вроде даже некоторые МК позволяют аппаратно выдавать заданную частоту на некоторые ноги. Или использовать свой SPI в режиме мастера. До 20 МГц некоторые работают, есть упоминания.


