ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
24 апреля
835412 Топик полностью
fk0, легенда (26.04.2018 01:16, просмотров: 68) ответил бомж на 1.Раз в 10 минут по команде извне. 2.Длительность меньше миллисекунды, точнее ещё не знаю. 3. Триггерный устроит, надо именно засечь факт срабатывания компаратора
Точно ли асинхронность нужна? Если CPLD затактировать достаточно высокой частотой (период << микросекунды) не вариант? С каждой ногой связать триггер и функцию лог. И. Тактовый вход -- частота, сброс от МК, вход D-триггера -- выход-И-внешний вход. Надеюсь понятно. В FPGA/CPLD один вход одной ячейке соответствовать будет, но в CPLD обычно ячеек мало, может быть меньше, чем ног. И предусмотреть последовательное считывание -- в два раза больше ячеек надо. Хотя вот цены посмотрел, дорого, многоногие (TQFP144) CPLD по 20 долларов будут, две штуки надо (чтоб не BGA). Если на самых дешевы делать, то по 32 входа, допустим, их 7 штук надо. Морока с программированием но можно вписаться в $10. Хотя не уверен, что в мелких CPLD ячеек хватит, скорей $20. Контроллеры -- боюсь каждый дороже самой дешёвой CPLD, например, и обслужит в таком режиме ну пусть по 30 выводов (только ещё поискать такие придётся! не уверен даже, чтоб по 30 ног с прерываниями). Морока с программированием адская, даже если в цепочку JTAG умеют (а JTAG только в дорогих). Напрашивается мелкая логика, если место не критично. Но асинхронно неудобно всё равно. Триггеры с C-входами обычно не более чем по 2 штуки в 14-выводном корпусе. Про импортные не знаю, но с советскими так было. А D-триггеров с общим C-входом полно 8-разрядных. Но если C-вход общий, то нужно городить ту же конструкцию, как в FPGA/CPLD: тактовый сигнал высокой частоты, лог. И для входов с выходами триггеров. И, следовательно, триггеры нужны с параллельным выходом, параллельным входом и последовательным вычитыванием. Аналоги ИР11, ИР13, ИР28... не знаю. Много сейчас не выпускается уже. Но и ценники на мелкую логику на западе тоже конские. Если по полдоллара за штуку, а их штук 50 надо... да ещё немеряно штук ЛА3. Может быть матрица (мультиплексирование во-времени) -- не так уж и плохо. Всё равно чисто асинхронные решения очень сложны и быстро скатываются к быстрым синхронным. Но матрицу в чистом виде не применишь, тут нужна ячейка памяти под каждый сигнал. Напрашивается несложная схема: ОЗУ, счётчик адреса, часть разрядов идут на мультиплексор, часть на ОЗУ, выходы мультиплексора (8-16-32 разряда) объединяются по И с выходом ОЗУ и кладутся обратно. Ещё регистр нужен, чтоб записываемое слово хранить. И D-триггер (или часть младших разрядов счётчика) для формирования сигналов записи и чтения. По-моему это стоящая идея. И программировать не надо. Вопрос как ОЗУ изначально обнулить и потом считать, ну тут можно придумать.
[ZX]