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

 
 
> AD778x
ysb
сообщение Jun 24 2008, 18:09
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 3-11-05
Пользователь №: 10 436



Народ, кто-нибудь работал с этими АЦП? Вроде все банально, обычный SPI, но по какой-то причине не запускается.. Вроде все в соответствии с описанием делаю, прямо печаль какая-то.. Если есть проверенный алгоритм работы, напишите пожалуйста. Завтра осциллограммы выложу, может поможете разобраться.

спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ysb
сообщение Jun 25 2008, 07:27
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 3-11-05
Пользователь №: 10 436



void Read_ADC(void) //AD7789
{
unsigned a,b,c;
ADC_sel = 0; //CS ADC
while (ADC_BUSY); //RDY=0
spi(0xFF);
spi(0xFF);
spi(0xFF); //Reset ADC
spi(0xFF);
while (ADC_BUSY);
spi(0x38); //Continuous converstion mode
a=spi(0x00);
b=spi(0x00);
c=spi(0x00);
ADC_sel = 1;
}

вот диаграмма из ДШ
Прикрепленное изображение


Делаем ему reset. Непонятно, что значит повышение напряжения на 0,5В на линии MISO и почему на этой линии устанавливается 1 после 30 тактов(ресет происходит по 1 на линии MOSI в течение 32 тактов)
Прикрепленное изображение


Записываем 0x38 в communication register и читаем 3 байта данных. Все единицы. Если после записи в регистр поставить while (ADC_BUSY), то он там и остается, т.е. 0 там не устанавливается вообще.
Прикрепленное изображение


сигналы: clock(yellow), MOSI(blue), MISO(purple), CS(green)
Go to the top of the page
 
+Quote Post



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

 


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


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