Кратко о сути.
Строю телевизионный тюнер-приставку. Этакое устройство имеющее в недрах ТВ тюнер (Selteka KS-H-146EA), блок радиоканала и микроконтроллер (Atmega8) с LCD и кнопками.
Устройство собственно - тот же телевизор, только без модуля цветности и кинескопа (экрана)
писать программу начал с нуля, по сему неизбежно встал на грабли.
Вопрос собственно вот в чем. Не могу понять, какие биты послать по i2c тюнеру, чтоб установить необходимую мне частоту.
в даташите к TDA6508 (она стоит в тюнере) написано, что частота задается двумя байтами DB1 и DB2 по такой вот хитрой формуле - N = N14x2^14 + N13x2^13 + ... + N1x2^1 + N0
понятно что это разложение десятичного числа в двоичную (бинарную) форму.
Не пойму как мне устанавливать частоту, ведь для этих 15 бит указанных выше, я смогу послать максимальное число - 111111111111111, что равно в десятичной форме 32767.
Т.е. это явно не может быть явным указанием частоты и нужно мою требуемую частоту, подставлять в какую то хитрую формулу, чтобы биты на выходе уложились в требуемое тюнером.
В общем сижу уже третьи сутки и ломаю голову.
P.S. Гляжу на похожий проект Р-45. Где из ТВ тюнера сделали сканирующий радиоприемник. В исходниках проекта нашел функцию которая задает частоту. Вставил в свой проект, поправил частоту ПЧ, закинул все в Протеус. Глянул i2c дебаггером что приходит в тюнер.
Когда я хочу настроить частоту 146.500 мГц. в тюнер приходит последовательность 0xOE 0x7C (что соответствует числам 14 и 124). В общем, что-то мозг заклинило и не могу сообразить.
вот даташит на TDA6508 - http://www.classiccmp.org/rtellason/chi ... da6508.pdf
Прошу помощи и разъяснения. Спасите мозг от взрыва! )
- Вложения
-
- project.rar
- Исходники и файл для Протеуса 7.8
- (98.14 КБ) 296 скачиваний


