Уважаемые, есть протокол DiSEqC, которым управляют оборудованием спутникового телевиденья.
Физический протокол показан на рисунке.
Нажмите для просмотра прикрепленного файла
Частота импульсов 22кГц.
Вот здесь я нашел прекрасную идею, как это реализовать в железе.
http://www.telesys.ru/wwwboards/mcontrol/3...es/195221.shtml
ЦИТИРУЮ:
>Если еще проще, то CAPTURE логикой измеряют длительность импульсов после >компаратора и фильтруют еще более простым фильтром типа
>y[n]=( y[n-1] - (y[n] >> 5) + (abs(x[n]) >> 5) );
>Работает тоже хорошо, проверено.
Через транзисторный ключ я подал сигнал на компаратор в ATmega16. По событию от компаратора делаю захват таймера1.
Формулу y[n]=( y[n-1] - (y[n] >> 5) + (abs(x[n]) >> 5) ); до конца не понял, да и речь там идет об определении занятости телефонной линии. Подозреваю, что там должны быть другие константы.
В формуле не понятно вот это (y[n] >> 5) ведь y[n] это то, что мы получаем в данный момент тогда, как этот y[n] можно делить на 32 еще не получив его.
Определение и дешифрацию протокола я вроде как сделал без всяких ЦФ, но получилось громоздко.
Посему прошу помощь клуба.
1 Может, кто объяснит формулу и что делать с (y[n] >> 5)?
2 Какие еще есть способы определить (выделить из помехи) 22кГц?