ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
23 ноября
16900
Алексей Мусин (19.11.2004 16:16, просмотров: 15784)
Запись быстрых дискретных сигналов Девайс выдает 6 дискретных сигналов ("данные"), сопровождающихся сигналом Enable. Длительность между соседними En может быть от 1,1 мкс до нескольких десятков миллисекунд. Выдав 100-300 "данных", девайс затыкается на 1 сек. Задача: запоминать "данные" и выдавать их по последовательному каналу, когда сможем. Там еще есть пара подзадач, но они не быстрые. Пока вижу следующее решение: данные защелкивать по EN в 373/573-й регистр. Также Enable подать на INT0 AVR'ки 16MHz. Получим растактовку:
цикл  действие
--------------
4     вход в прерывание,
2     RJMP на обработчик, 
1     чтение порта в регистр
2     сохранение в ОЗУ с постинкрементом указателя
4     RETI
Итого: 13 циклов. Так что в 1мкс я вписываюсь, но писать все остальное на АСМе грустно. Еще есть вариант - хардверно (без МК) писать во внешнее ОЗУ, и оттуда читать МК и передавать. Не хотелось бы удорожать железку. Какие-то альтернативы (необязательно AVR) есть? Может вообще не на МК делать?