Цитата(RabidRabbit @ Jan 14 2013, 13:14)

Ну примерно прикиньте: если один бит за 1/48000 секунды, то за время длительности одного бита МК успеет выполнить 16 000 000 / 48 000 примерно 333 команды. Если кроме как выполнять роль моста UART <-> arinc контроллеру больше заняться будет нечем, то по-моему вполне должен успевать.
Ну я так подумал что нужно отслеживать еще кучу возможных ошибок таких как - проверять длительность импульсов, дабы ловить только нужный диапазон, првоерка четности и т.п., а также есть проблема в том что UART будет на своей скорости и пока она не известна, а аринк на 48кГц (5%), по идее нужно создавать банк памяти для приема и передачи, дабы ничего не пропало из за разности в скоростях - а это все потребует неплохих ресурсов.
Может кто помочь с примерной логикой работы?
Я пока думаю так - входные ноги аринка на INT0, INT1, таймер0 на 2Мгц на передачу, таймер2 на 2МГц на прием и таймер1 на 16МГц для слежения за флагами.
Прерывания реагируют на входные сигналы, таймер0 проверяет длительность полупериодов, если пришли все 32 бита то запись в банк, из банка циклически вытаскиваются слова и кидаются в уарт.
При приеме с ПК по прерыванию от приемника уарта, 8 битные слова записываются в банк памяти из 32 битных слов, из которого в свою очередь циклически выдаются в аринк.