___________________________________________________
(defunct @ Dec 27 2005, 19:11)
Считать-то он успеет, а вот от ошибок не застрахуешься при такой реализации.
Представьте ситуацию, когда один тахометр вызвал прерывание, мы порт прочитали, низкий уровень еще удерживается и в этот момент приходит сигнал от другого тахометра.. и все приплыли - перывания нет, импульс пропущен.
___________________________________________________
(prottoss Dec 27 2005, 14:35)
А никаких ошибок при такой частоте входных импульсов и не будет (вернее погршность будет низкая для данного типа устройства) - по любому прерыванию процессор анализирует состояния ВСЕХ линий. Итого время исполненя прерывания (при 8 МГц) - 2..5 мкс - вполне нормально.
___________________________________________________
"...по любому прерыванию процессор анализирует состояния ВСЕХ линий...." Вот именно, речь
идет о том, что при
"... если такой вариант: 4 выхода тахометров -> на 4 любые ноги и через диоды на один вход внешнего прерывания. ..."
будут возникать биения между сигналами. И погрешность будет
определятся не сколько частотой сигналов, а больше их скважностью.
При довольно большой скважности и близких частотах - прерываний вообще не будет.
Для увеличения точности необходимо увеличить скважность импульсов,
например применив RC цепочки (смотри схемку
SHEM_4_COUNT.zip ( 6.34 килобайт )
Кол-во скачиваний: 126 ).
(На практике я эту схемку не применял. Но, по моему, должно работать.)
__________
__________
Все оказалось не так просто
Поскольку кулер управляется ШИМом, причем по земле (uln2803a), то соответственно часть времени с тахометра просто нет сигнала. Как бороть чего-то никак не придумывается...
__________
Ну тут без схемы и осциллограм сигналов подсказать, что либо не получиться.
2005 12 29
Александр