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

 
 
> Помогите разобраться с АЦП ADS1216, Глючит, не хочет инициализироваться
Dimk
сообщение Feb 1 2012, 06:15
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 31-01-12
Пользователь №: 69 989



Связь с МК PIC18F4320 по SPI. Добился чтения и записи регистров АЦП. НУжна помощь в стартовой инициализации..калибровке..
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
GetSmart
сообщение Feb 1 2012, 12:27
Сообщение #2


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Типичная функция обмена с ADS1216
Код
static void WRITE_ADS1218(uInt cmd, uInt cnt, const u08 *ptr)
{
    ON_CS_ADS1218;
    txByteSPI(cmd);
    if (cnt)
    { rxtxByteSPI(cnt-1);
      while (cnt--)
        rxtxByteSPI(*ptr++);
    }
    rxtxByteSPI(-1);                        // ожидание конца передачи байта
    WAIT(_16Tosc);
    OFF_CS_ADS1218;
    if (cmd != ads_RREG)  WAIT(_16Tosc); // ads_RREG = холостая команда
}
...
    WRITE_ADS1218(ads_WREG+0, len, &ADS_buf[0]);
    WRITE_ADS1218(ads_DSYNC,0,0);
    READ_ADS1218(ads_RREG+0, len, &ADS_readed[0]);
    if (cmd != ads_RREG)  WRITE_ADS1218(cmd,0,0);     // здесь может быть команда калибровки


Но функции работы с SPI у меня в каком-то смысле нестандартные. rxtxByteSPI - сначала ждёт готовности, потом читает принятый байт из SPDR, потом передаёт новый байт и выходит. Если аргумент -1, то всё то же, но без передачи байта. Так я выжимал максимум быстродействия без пауз между передачей байт.

Цитата(Dimk @ Feb 1 2012, 17:20) *
все перепроверил..регистры пишутся нормально, читаются тоже. Ощущение, что калибровка вообще не работает..из FSR1,2,3 (регистры 14-16) читаются дефолтные значения..

ИМХО косяк в проге или схеме. У меня за время общения с этой штукой были косяки в которых я подозревал чип, но в итоге оказывалось косяки были в другом месте.

ADS1216 и ADS1218 почти одно и то же. Протокол одинаковый.

Сообщение отредактировал GetSmart - Feb 1 2012, 12:58


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Dimk   Помогите разобраться с АЦП ADS1216   Feb 1 2012, 06:15
- - GetSmart   Стартовая инициализация и есть прописывание всех 1...   Feb 1 2012, 07:19
- - Dimk   Спасибо за ответ. Калибровку смещения и усиления (...   Feb 1 2012, 07:47
- - GetSmart   Я делал всё согласно даташиту и у меня всё работае...   Feb 1 2012, 08:38
- - Dimk   В том то и дело, что 0 строб на DRDY не появляется...   Feb 1 2012, 09:14
- - GetSmart   ~CS-ом дёргаете после каждой команды? Попробуйте ...   Feb 1 2012, 09:17
- - Dimk   Да, конечно. а Вы делали автокалибровку после зап...   Feb 1 2012, 09:26
- - GetSmart   Всё понятно. ~CS нужно дрыгать перед передачей ком...   Feb 1 2012, 09:32
- - Dimk   Косяяяяяк!! спасибо, щас попробую..а про...   Feb 1 2012, 09:32
- - Dimk   какой Вы кварц использовали для АЦП?   Feb 1 2012, 10:32
- - GetSmart   4,9 mHz   Feb 1 2012, 10:37
- - Dimk   Все равно не получается. У вас остался фрагмент ко...   Feb 1 2012, 11:56
- - GetSmart   У меня на LPC213x Начальное состояние регистров, ...   Feb 1 2012, 12:17
- - Dimk   все перепроверил..регистры пишутся нормально, чита...   Feb 1 2012, 12:20
- - Dimk   Запись работает нормально у меня,пользуюсь встроен...   Feb 1 2012, 12:30
|- - GetSmart   Цитата(Dimk @ Feb 1 2012, 17:30) Запись р...   Feb 1 2012, 12:34
- - Dimk   ага, это я в даташите тоже видел..мне б сейчас хот...   Feb 1 2012, 12:41
- - GetSmart   А как на счёт стробов DRDY без калибровки? То есть...   Feb 1 2012, 12:45
- - Dimk   я вот чего тревогу и забил то..DRDY всегда в 1..чт...   Feb 1 2012, 13:15
- - GetSmart   PWDN и RESET в состоянии лог 1 ? Кварц точно генер...   Feb 1 2012, 13:33
- - Dimk   Еще раз перепроверил схему..оказалось, что я ранее...   Feb 2 2012, 12:35
|- - GetSmart   Цитата(Dimk @ Feb 2 2012, 17:35) Еще раз ...   Feb 2 2012, 13:07
- - Dimk   да. теперь другой вопрос стоит. DRDY падает, все н...   Feb 2 2012, 14:07
- - GetSmart   Ну судя по тем значениям регистров там мультиплекс...   Feb 2 2012, 15:39
- - Dimk   то было давно. я отключил этот темп. датчик, подав...   Feb 2 2012, 16:14
- - Dimk   после тщательной проверки печатной платы выяснилос...   Feb 4 2012, 18:09


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

 


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


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