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

 
 
> ad7730, не могу прочитать..
shuric80
сообщение Apr 15 2009, 05:42
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 14-04-09
Пользователь №: 47 671



Здравствуйте. кто нибудь сталкивался с такой проблемой...при попытки прочитать регистры состояния ad7730 +AT91sam7s256 . выдает на все запросы-- 0xFFFF. Осцилографом проверял , данные приходят на АЦП-на выходе. проскакивают импульсы, очень похоже на нагрузке как емкостни. (эспоненциалные). длина соединительных поводов 20 см. частота тактирования 500 кГц.питание АЦП 5в(и аналоговой и цифровой части). микроконтроллера 3.3 В. сигнал CS снимал так и МК так и на землю вешал. POL- вешал и на землю и на питание -тоже самое.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Herz
сообщение Apr 23 2009, 11:47
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(shuric80 @ Apr 23 2009, 09:42) *
сейчас кидаю коды чтения регистров, из даташита( 0x10....0x17). а как на аппаратном spi-счиатывать одновременно? din-можно удерживать посылая (0xff)??

Очень просто - буфер-то кольцевой. Действительно, нужно посылать единицы.

Цитата(shuric80 @ Apr 23 2009, 10:45) *
так тоже не получается....что-то идет. а что нинаю. ..просьба. можете дать кусочек кода для работы с ad7730, как пример. в инете мало что нашел

С ad7730 не работал, а для AD7738 (принцип, думаю, тот же) делал примерно так:

CODE
/*--------------функция обмена байтом по SPI----------------*/
unsigned char WriteSPI(unsigned char ByteToSend)
{
unsigned char TempVariable;
BF = 0;
TempVariable = SSPBUF; // Reads from SSPBUF, ensures BF bit is clear before
SSPBUF = ByteToSend; // sending the next byte.
while(!BF); // Wait until the transmission is complete.
return SSPBUF; // The data received should be valid.
}

/*----------функция сброса внешнего АЦП-----------------*/
void Reset7738 (void)
{
CSA=0; // выбор кристалла для внешнего АЦП
DelayUs(2);
WriteSPI(0); //
WriteSPI(0xFF); //
WriteSPI(0xFF); //
WriteSPI(0xFF); //
WriteSPI(0xFF); //
CSA=1; // отключить внешний АЦП
DelayMs(1);
}

/*-------функция записи байта в регистр AD7738----------*/
/* (ADREG - адрес регистра, DATA - данные) */

void WR_to_ADC (ADREG, DATA)
unsigned char ADREG, DATA;
{
CSA=0; // выбор кристалла для внешнего АЦП
DelayUs(2);
WriteSPI(ADREG); //
WriteSPI(DATA); //
CSA=1; // отключить внешний АЦП
DelayMs(1);
}

/*-----функция чтения выбранного регистра AD7738-------*/
/* (ADREG - адрес регистра, ln - длина данных в байтах)*/

unsigned int READ_ADC (ADREG, ln)
unsigned char ADREG, ln;
{
unsigned int BUFDAT; // 16-bit data buffer
CSA=0; // выбор кристалла для внешнего АЦП
DelayUs(2);
BUFDAT=0; // очистить буфер
WriteSPI(ADREG+0x40); // установить бит чтения
BUFDAT=WriteSPI(0); // читать при низком DIN первый байт
if (ln==2) // если данные 16-разрядные
{
BUFDAT=BUFDAT<<8; // сдвинуть байт в старший
BUFDAT=BUFDAT+WriteSPI(0); // и дописать в буфер младший байт
}
CSA=1; // отключить внешний АЦП
DelayUs(2);
return BUFDAT;
}


Сообщение отредактировал Herz - Apr 23 2009, 11:50
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- shuric80   ad7730   Apr 15 2009, 05:42
- - Евгений Германович   Цитата(shuric80 @ Apr 15 2009, 09:42) Здр...   Apr 15 2009, 08:00
- - shuric80   сейчас я запитал цифровую часть 3.3 вольта. аналог...   Apr 15 2009, 08:27
- - Herz   А как SPI настроен? Изложенному на стр. 35 - 36 да...   Apr 15 2009, 11:25
- - shuric80   да. сооотвествует. пробывал пример алгоритма пред...   Apr 15 2009, 11:49
- - xemul   Проверьте состояние CS' (д.б. 0) и RESET' ...   Apr 15 2009, 11:56
- - shuric80   reset "1"-заведен на +питания. cs-снача...   Apr 15 2009, 12:32
- - Евгений Германович   Попробуйте отсоединить вых данных от ацп и посадит...   Apr 15 2009, 15:28
- - shuric80   провод вешал на землю и на питание-выдавало (0х00 ...   Apr 16 2009, 05:43
|- - Tanya   Цитата(shuric80 @ Apr 16 2009, 09:43) на ...   Apr 16 2009, 12:31
- - Евгений Германович   А может вы команды неправильно подаете? Вы разводк...   Apr 16 2009, 12:28
- - shuric80   постоянная присутсвует, и иногда дергается.точно н...   Apr 17 2009, 05:40
|- - Евгений Германович   Цитата(shuric80 @ Apr 17 2009, 09:40) пос...   Apr 17 2009, 06:59
- - shuric80   подключил другое ацп с spi...тоже самое. значит ош...   Apr 17 2009, 11:52
- - shuric80   опять подскажите. контроллер настроил, spi работае...   Apr 23 2009, 07:09
- - Herz   Так ведь запись и чтение в SPI выполняются одновре...   Apr 23 2009, 07:32
- - shuric80   сейчас кидаю коды чтения регистров, из даташита( 0...   Apr 23 2009, 07:42
- - shuric80   так тоже не получается....что-то идет. а что нинаю...   Apr 23 2009, 08:45
- - Евгений Германович   Я извиняюсь но где вы обнаружили,что это SPI,я для...   Apr 23 2009, 12:09
- - shuric80   не очень уверен. я сигнал cs-от ноги отдельно выв...   Apr 23 2009, 12:48
- - Евгений Германович   На другое-это другого типа?   Apr 23 2009, 13:00
- - shuric80   попала из запасов mcp3204 (простенькая ацп с спи) ...   Apr 23 2009, 13:07
- - shuric80   Herz, большое спсибо за пример. завтра попробую н...   Apr 23 2009, 14:17
- - shuric80   не работает. выдает код какой то один и тот же. к...   Apr 24 2009, 11:08
|- - Herz   Цитата(shuric80 @ Apr 24 2009, 13:08) не ...   Apr 24 2009, 12:38
- - shuric80   частота тактовых импульсов spi сейчас стоит 1 МГц....   Apr 24 2009, 13:40
|- - Herz   Цитата(shuric80 @ Apr 24 2009, 15:40) час...   Apr 24 2009, 15:41
- - shuric80   SPI аппаратный. Сигнал-СS отдельно дергаю. а какую...   Apr 27 2009, 05:21
- - shuric80   по даташиту чтобы просмотреть содержимое регистра ...   Apr 28 2009, 07:36
|- - 777777   Для начала: для обращения к регистрам у меня напис...   Apr 29 2009, 12:54
|- - 777777   Да, еще при старте проц делает ему программный сбр...   Apr 29 2009, 14:29
- - sptes   Всем привет, я пишу на mikro C for AVR. Не использ...   Jul 2 2014, 07:18


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

 


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


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