Подключение adau1467v2 к usbi по spi

Дюжбан

Well-known member
Добрый день. USBi G>G, miso out>miso, sclk clk>scl, mosi data>mosi, ss latch 1,2,3>ss, 3V3>3V3 adau1467v2, проводники идут не подряд!. На adau1467v2 отпаиваем R11 и R14 (i2c адрес платы изменится с 0х70 на 0х68!). Делаем настройку адреса spi SPI 0x1ADDR0. Всё. Согласно доташит можно писать eeprom такого же типа как интерфейс иначе можно после записи словить глюк и плата перестанет нормально работать. Если что поправте, долго разбирался, а иногда этого не очень охото делать.
 

igrushkin

Well-known member
А если отппаять резисторы, то сохранится возможность связи по i2c?
 

Дюжбан

Well-known member
Тут ошибочка у меня i2c адрес измениться с 0х70 на 0х76, видать с другой платой перепутал или еще по какой причине, уж простите великодушно. В любом случае в диапазоне перебора из списка. Тут бьюсь с подключением к ардуине.
 

igrushkin

Well-known member
Тут ошибочка у меня i2c адрес измениться с 0х70 на 0х76, видать с другой платой перепутал или еще по какой причине, уж простите великодушно. В любом случае в диапазоне перебора из списка. Тут бьюсь с подключением к ардуине.

а что с ардуиной не получается?
 

Дюжбан

Well-known member
Вечера Вам. Тружусь в данном направлении. Подключил ардуино уно через преобразователь уровней в slave (наверно) i2c adau1467, насканировал адрес 0x3B, почему-то, а ведь программатор пишет по 0x76. Пытаюсь записывать данные в адау. Также пытался получить их с i2c master, но пока безуспешно, видать подтянуть нужно. Примерно так. Изобретаю интерфейс.
 

igrushkin

Well-known member
Не мучайтесь и скачайте мой проект с Гитхаба. Там даже вебморда есть
 

Дюжбан

Well-known member
Не мучайтесь и скачайте мой проект с Гитхаба. Там даже вебморда есть
Было бы интересно поглядеть. Как найти его? Хочу воплотить свои идеи. А это: выборочная загрузка проектов под нужные частоты. Дисплей. Управление 2 энкодерами с кнопками. Замахнул конечно, но думаю все возможно.
 

Евгений

Administrator
Команда форума
насканировал адрес 0x3B, почему-то, а ведь программатор пишет по 0x76.
Объяснение этого сообщение 2

 

Дюжбан

Well-known member
Объяснение этого сообщение 2

Евгений спасибо. И все же я так и не понял еще какой правильный адрес 03B, а в сигме не верно 0х76 (0х70)?
 

Евгений

Administrator
Команда форума
Евгений спасибо. И все же я так и не понял еще какой правильный адрес 03B, а в сигме не верно 0х76 (0х70)?
Они оба верные, это разное отображение. 0x3B - это адрес микросхемы без учета нулевого бита операции, т.е. биты 7 - 1. 0х76 - это адрес микросхемы с учетом нулевого бита операции, равного нулю, т.е. биты 7 - 0, или адрес 0x3B, смещенный влево на 1. 0х76 = 0x3B << 1. В SigmaStudio отображается адрес микросхемы с учетом нулевого бита операции, предполагая операцию записи, т.е. нулевой бит равен 0. Поэтому получается значение 0х76. Можно в калькуляторе в виде "Программист" записать эти значения и видно будет, почему так получается.
В описании на ADAU1452 на странице 44, раздел "I2C Slave Port" приведена таблица адресов. Из нее тоже видно, откуда получаются такие значения.
Если вы используете какую-то библиотеку для Ардуино, нужно смотреть ее, чтобы узнать, какое значение она предполагает в качестве входного параметра, собственно адрес 0x3B или адрес с битом операции: 0х76 - для записи и 0х77 - для чтения.
 

Дюжбан

Well-known member
Они оба верные, это разное отображение. 0x3B - это адрес микросхемы без учета нулевого бита операции, т.е. биты 7 - 1. 0х76 - это адрес микросхемы с учетом нулевого бита операции, равного нулю, т.е. биты 7 - 0, или адрес 0x3B, смещенный влево на 1. 0х76 = 0x3B << 1. В SigmaStudio отображается адрес микросхемы с учетом нулевого бита операции, предполагая операцию записи, т.е. нулевой бит равен 0. Поэтому получается значение 0х76. Можно в калькуляторе в виде "Программист" записать эти значения и видно будет, почему так получается.
В описании на ADAU1452 на странице 44, раздел "I2C Slave Port" приведена таблица адресов. Из нее тоже видно, откуда получаются такие значения.
Если вы используете какую-то библиотеку для Ардуино, нужно смотреть ее, чтобы узнать, какое значение она предполагает в качестве входного параметра, собственно адрес 0x3B или адрес с битом операции: 0х76 - для записи и 0х77 - для чтения.
Благодарю Вас Евгений. Всё предельно ясно.
 

igrushkin

Well-known member
Кстати, если вы хотите по двум кнопкам загружать два проекта, то это делается элементарно. Но памяти Уно может не хватить
 
Верх