Страница 1 из 1

I2C-модулятор MC44BS373CA

Добавлено: Вс дек 01, 2013 23:46:52
Rabbitator
Здравствуйте! Имеется данная микросхемка, появилось желание что-нибудь на ней собрать. Микросхема представляет из себя видео- и аудио модулятор, со встроенным цифровым синтезатором частот. Чтобы все заработало, необходимо еще две составляющие - управляющая (микроконтроллер) и аналоговая (передатчик). С передатчиком думаю разберусь сам, но управлять подобным утройством приходится впервые :( Шина I2C - довольно сложная штука. По крайней мере, для человека, впервые сталкивающимся с ней. Так вот, с чего начать? Основы я изучил, про старт, семь бит и восьмой проверочный, а потом финиш, примерно понятно. Непонятно как это реализовать программно. Может есть уже готовые библиотеки для работы с синтезаторами? Помогите кто чем может :) Спасибо.

Re: I2C-модулятор MC44BS373CA

Добавлено: Пн дек 02, 2013 19:38:07
kalobyte
есть готовые библиотеки к контроллерам или лпт, а к твоему синтезатору врят ли
смотри даташит и пробуй

Re: I2C-модулятор MC44BS373CA

Добавлено: Вс дек 08, 2013 23:47:51
Rabbitator
Потихоньку строю код... За основу беру прошивку, описанную в цикле статей Павлом Бобковым. Надо сказать, все очень доступно. Но все же есть вопросы. Например, как работает такая часть кода:

Код: Выделить всё

TWDR = data;
TWCR = (1<<TWINT)|(1<<TWEN); 
while(!(TWCR & (1<<TWINT)));
Сначала данные записываются в регистр, это ясно. Потом, выполняются непонятные мне битовые операции. По-моему, это похоже на завуалированное условие "если". Затем идет цикл, который, как я понял, формирует задержку, пока не выполнится условие внутри него. Это значит код выше будет циклически выполняться до тех пор, пока не изменятся регистры должным образом?
Кстати, код отвечает за передачу данных ведомому устройству.

Re: I2C-модулятор MC44BS373CA

Добавлено: Вт дек 17, 2013 22:30:03
Rabbitator
Лаадно.... :) Вопрос попроще.
В даташите приведена таблица битов для настройки синтезатора. Так вот, как пользоваться этой таблицей? В той полезной статье с часами у регистров микросхемы есть адреса, которые надо указывать в адресном (если не ошибаюсь) байте. А с модулятором что? Есть ли там адреса у регистров, да и вообще, сами регистры? Данные отправлять напрямую, после адресации микросхемы?

Изображение