реклама на сайте
подробности

 
 
> AVR + TDA7318 audio IC, адрес не квитируется
ivainc1789
сообщение Nov 5 2005, 00:14
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 175
Регистрация: 5-01-05
Пользователь №: 1 807



Вот пишу программу управления TDA7318. Уперся в проблему - ее адрес типа 10001000 не квитируется. В даташите как-то туманно об этом написано, что типа некий 8 бит в адресе должен быть равен нулю. Но на диаграмме они все же нарисовали ACK после всех восьми битов. Как тут их понять? Адрес должен квитироваться или нет? Если у кого сохранились исходники было бы здорово посмотреть...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
rezident
сообщение Nov 5 2005, 00:48
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Адреса в I2C обязаны сопровождаться ACK, который генерирует устройство, имеющее этот адрес. В противном случае считается, что устройства просто нет на шине. А вот отсутствие ACK после переданного байта данных может свидетельствовать о том, что устройство хочет завершить передачу или прием. Например, для того чтобы записать принятый буфер.
Кстати, в даташите TDA7318 ясно указано, что "The TDA7318 must always acknowledge at the end of each transmitted byte." Таким образом TDA7318 принимает передаваемую информацию и всегда генерирует ACK и для адреса и для данных.
P.S. по поводу восьмого бита в адресе. Вы видимо невнимательно читали спецификацию шины I2C. Иначе знали бы, что последний бит адреса определает режим чтения/записи. 1 - чтение, 0 - запись. TDA7318 работает только на прием, поэтому ее адрес должен заканчиваться нулем, т.е. режим записи (запись в TDA7318). Если попробовать читать из TDA7318 (восьмой бит адреса =1), то она должна выдать NACK. Т.е. чтение эта м/с не поддерживает.
Go to the top of the page
 
+Quote Post
ivainc1789
сообщение Nov 5 2005, 01:23
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 175
Регистрация: 5-01-05
Пользователь №: 1 807



Вопрос снят. Обнаружил непропай на плате пина DIGGND. Его сопротивление на общий провод было 5 кОм поэтому ACK "не вытягивал" линию SDA в ноль. А за ответ спасибо.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 01:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.01338 секунд с 7
ELECTRONIX ©2004-2016