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

 
 
> Помогите "подружить" по I2C два устройства, SC18IM700 + TAS5414B
ikm
сообщение Mar 30 2017, 09:42
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 891
Регистрация: 25-12-06
Из: С-Пб
Пользователь №: 23 894



Есть преобразователь SC18IM700 из UART to I2C, необходимо общаться с TAS5414B.
Но возникли сложности при считывании регистров:
В описании SC18 указано, что для считывания необходимо задать адрес ведомого и указать количество байт которые я ожидаю получить, но в инструкции на TAS5414 указано что помимо адреса надо еще указывать подадрес (регистры где необходимые значения), так вот как это сделать я чего то не пойму.
Для режима записи вроде понятно, там после указания количества байт можно указывать инструкции что и куда записать. Вот правда проверить правильность не получается.
Прикрепленные файлы
Прикрепленный файл  SC18IM700.pdf ( 118.99 килобайт ) Кол-во скачиваний: 16
Прикрепленный файл  tas5414b_q1.pdf ( 2.08 мегабайт ) Кол-во скачиваний: 19
 


--------------------
ОБХОДЯ РАЗЛОЖЕННЫЕ ГРАБЛИ - ТЫ ТЕРЯЕШЬ ДРАГОЦЕННЫЙ ОПЫТ!!!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ikm
сообщение Mar 31 2017, 08:18
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 891
Регистрация: 25-12-06
Из: С-Пб
Пользователь №: 23 894



Всем спасибо.
Такой вопрос, если я буду делать это напрямую с Atmega, мне так же надо будет инициализировать сначала режим записи Или можно сразу обращаться как в описании TAS5414. : старт/адрес+бит чтения/регистр куда обращаюсь/рестарт/получаю ответ/стоп ?


--------------------
ОБХОДЯ РАЗЛОЖЕННЫЕ ГРАБЛИ - ТЫ ТЕРЯЕШЬ ДРАГОЦЕННЫЙ ОПЫТ!!!
Go to the top of the page
 
+Quote Post
Lagman
сообщение Mar 31 2017, 11:07
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 875
Регистрация: 28-10-05
Пользователь №: 10 245



Да, это "стандартная" процедура для чтения из определенного регистра по I2C, обычно если продолжить читать дальше то данные будут идти со следующего адреса регистра т.е. будет автоматически инкрементироваться.
Go to the top of the page
 
+Quote Post
ikm
сообщение Mar 31 2017, 11:18
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 891
Регистрация: 25-12-06
Из: С-Пб
Пользователь №: 23 894



Цитата(Lagman @ Mar 31 2017, 14:07) *
Да, это "стандартная" процедура для чтения из определенного регистра по I2C, обычно если продолжить читать дальше то данные будут идти со следующего адреса регистра т.е. будет автоматически инкрементироваться.

Про инкримент счётчика регистра, я читал там описано, спасибо.
Меня просто насторожил тот факт, что в описании последовательности команд уTI не указан конкретно какой бит выставлять на чтение или на запись при чтении и записи. До этого работал только с AD там по подробнее это описано.


--------------------
ОБХОДЯ РАЗЛОЖЕННЫЕ ГРАБЛИ - ТЫ ТЕРЯЕШЬ ДРАГОЦЕННЫЙ ОПЫТ!!!
Go to the top of the page
 
+Quote Post
Lagman
сообщение Mar 31 2017, 15:17
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 875
Регистрация: 28-10-05
Пользователь №: 10 245



Описано у них всё, просто надо в тексте внимательно смотреть, там прям так и написано бит записи в 0 и бит чтения в 1, только на картинках не понятно.
Цитата
As shown in Figure 16, a single-byte data-read transfer begins with the master device transmitting a start
condition followed by the I2C device address and the read/write bit. For the data-read transfer, both a write
followed by a read are actually done. Initially, a write is done to transfer the address byte or bytes of the internal
memory address to be read. As a result, the read/write bit is a 0. After receiving the address and the read/write
bit, the TAS5414B-Q1 or TAS5424B-Q1 responds with an acknowledge bit. In addition, after sending the internal
memory address byte or bytes, the master device transmits another start condition followed by the
TAS5414B-Q1 or TAS5424B-Q1 address and the read/write bit again. This time the read/write bit is a 1,
indicating a read transfer.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 12:58
Рейтинг@Mail.ru


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