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

 
 
 
Reply to this topicStart new topic
> работа с ADS1100
Br.Misha
сообщение Oct 31 2010, 14:17
Сообщение #1


Местный
***

Группа: Validating
Сообщений: 253
Регистрация: 21-12-08
Пользователь №: 42 646



Привет!
Уже целый день не могу рабобраться с АЦП ADS1100. Паралельно на линии стоит AT24c64, он работает нормально, а вот АЦП даже не откликается(программа виснет при ожидании ответа от него).
Мож у кого нить есть пример работы/либа с этим АЦП? Прошу поделитсяsmile.gif.
Спасибо!

Сообщение отредактировал IgorKossak - Oct 31 2010, 15:56
Причина редактирования: искусственное поднятие темы ЗАПРЕЩЕНО!
Go to the top of the page
 
+Quote Post
rezident
сообщение Oct 31 2010, 16:58
Сообщение #2


Гуру
******

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



На страничке продукта у производителя на сайте имеется Application Notes под названием Interfacing the ADS1100 to the MSP430F413. К этим "запискам" приложен исходник (см. в архиве).
Go to the top of the page
 
+Quote Post
kovigor
сообщение Oct 31 2010, 17:21
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Br.Misha @ Oct 31 2010, 18:17) *
...

Надеюсь, PullUps на линиях шины присутствуют ? Адрес микросхемки правильный ?

Сообщение отредактировал IgorKossak - Oct 31 2010, 18:10
Причина редактирования: бездумное цитирование
Go to the top of the page
 
+Quote Post
Br.Misha
сообщение Oct 31 2010, 19:00
Сообщение #4


Местный
***

Группа: Validating
Сообщений: 253
Регистрация: 21-12-08
Пользователь №: 42 646



резисторы по 8к2 стоят, адрес 1001000
Go to the top of the page
 
+Quote Post
rezident
сообщение Oct 31 2010, 19:49
Сообщение #5


Гуру
******

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



Цитата(Br.Misha @ Nov 1 2010, 00:00) *
резисторы по 8к2 стоят, адрес 1001000
Внимательно вчитываемся в datasheet.

Цитата
ADS1100 I2C ADDRESSES
The ADS1100 I2C address is 1001aaa, where ”aaa” are bits set at the factory. The ADS1100 is available in eight different verisons, each having a different I2C address. For example, the ADS1100A0 has address 1001000, and the ADS1100A3 has address 1001011. See the Package/Ordering Information table for a complete listing.

Маркировка на корпусе м/с какая?
Go to the top of the page
 
+Quote Post
Br.Misha
сообщение Oct 31 2010, 20:05
Сообщение #6


Местный
***

Группа: Validating
Сообщений: 253
Регистрация: 21-12-08
Пользователь №: 42 646



AD0, тоесть его адресс будет 1001000.
тот пример с msp430 какой та запутаный так как сделан в смешке asm и Си
Go to the top of the page
 
+Quote Post
rezident
сообщение Oct 31 2010, 21:15
Сообщение #7


Гуру
******

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



Цитата(Br.Misha @ Nov 1 2010, 01:05) *
AD0, тоесть его адресс будет 1001000.
Тогда ок. Для закрепления материала. Указанный адрес - 7 бит, но после старт-условия передается 8 бит, где младший бит означает режим запись/чтение. Т.е. нужно передавать для чтения ADS1100AD0 - 0x91, а для записи 0x90. Вы в курсе этого факта?
Цитата(Br.Misha @ Nov 1 2010, 01:05) *
тот пример с msp430 какой та запутаный так как сделан в смешке asm и Си
Дык вы же не уточняли, какой именно пример и на каком именно языке вам нужен laughing.gif

Update. Кстати, а от какого напряжения у вас запитан ADS1100 и к какому именно напряжению заpull-upлена шина I2C?

Сообщение отредактировал rezident - Oct 31 2010, 21:32
Go to the top of the page
 
+Quote Post
Br.Misha
сообщение Oct 31 2010, 21:39
Сообщение #8


Местный
***

Группа: Validating
Сообщений: 253
Регистрация: 21-12-08
Пользователь №: 42 646



Цитата
Тогда ок. Для закрепления материала. Указанный адрес - 7 бит, но после старт-условия передается 8 бит, где младший бит означает режим запись/чтение. Т.е. нужно передавать для чтения ADS1100AD0 - 0x91, а для записи 0x90. Вы в курсе этого факта?
от блин, вот про это я как раз и забыл))))) .
Пишу в Avrstudio на Си.
Запитан от ИОН на 4,8В. Подтяжка на основное питание схемы (5,4В)
Go to the top of the page
 
+Quote Post
Br.Misha
сообщение Nov 1 2010, 06:29
Сообщение #9


Местный
***

Группа: Validating
Сообщений: 253
Регистрация: 21-12-08
Пользователь №: 42 646



люди, скинте плиз кто нить либу для работы с twi, просто я этот интерфейс использовал раньше только чтобы подцепить 24с64 и щас трудновато с ним разобраться(время поджимает).
Спасибо!
Go to the top of the page
 
+Quote Post
Br.Misha
сообщение Nov 1 2010, 15:28
Сообщение #10


Местный
***

Группа: Validating
Сообщений: 253
Регистрация: 21-12-08
Пользователь №: 42 646



оказывается, что АЦП нужно вначале проинициализировать, сделал я это вот так:

Код
    ADS1100_TwiInit();

    ADS1100_I2CStart();
    ADS1100_I2CWrite(0X90);
    ADS1100_I2CWrite(0X0f);
    TWCR=(1<<TWINT)|(1<<TWSTO)|(1<<TWEN);
    
    ADS1100_I2CStart();
    ADS1100_I2CWrite(0x91);
    bu[0] = ADS1100_I2CRead(1);
    bu[1] = ADS1100_I2CRead(1);
    bu[2] = ADS1100_I2CRead(0);
    TWCR=(1<<TWINT)|(1<<TWSTO)|(1<<TWEN);


теперь работаетsmile.gif

Сообщение отредактировал Br.Misha - Nov 1 2010, 15:28
Go to the top of the page
 
+Quote Post

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

 


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


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