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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> AD7793, работает своеобразно, кто сталкивался
alexPec
сообщение Feb 3 2011, 13:43
Сообщение #16


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(Tolyaha @ Feb 1 2011, 14:22) *
Последовательный синхронный интерфейс, если по входу SCLK проскочит ложный импульс (помеха или програмно ошибочно) или наоборот нехватит, то все данные сдвинутся и пойдет ересь пока не сбросиш. Нада осцилом проконтролировать этот вход и устранить помеху или сбрасывать перед каждым циклом АЦП, посылая 4 байта FF FF FF FF в АЦП.

Кстати да, такая фигня была с dds-ом. Ткнешся тестером на ногу интерфейса - и привет, пока master reset не дернешь - ничего не прочитаешь и не запишешь. Там даже фреймовой синхронизации нет.
Go to the top of the page
 
+Quote Post
firstvald
сообщение Feb 4 2011, 16:14
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 580
Регистрация: 3-06-08
Пользователь №: 38 041



С чтением ID и калибровок нашел ошибку у себя - просто еще из прерывания проезжался по чтению (все время видел одну и туже картину, не мог понять почему, alexpEC подтолкнул, a14.gif ). А вот с чтением измеренного значения дела обстоят так. При запуске однократного преобразования, нужно как можно скорее, после завершения преобразования, прочитать данные.

Данные остаются годными для времени преобразования:
32 миллисекунды - надо прочитать в течении 32 мс
40 мс - в течение 24 мс
48 мс - в течение 18 мс
60 мс - в течение 8 мс
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Feb 4 2011, 17:11
Сообщение #18


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(firstvald @ Feb 4 2011, 19:14) *
Данные остаются годными для времени преобразования:
32 миллисекунды - надо прочитать в течении 32 мс
40 мс - в течение 24 мс
48 мс - в течение 18 мс
60 мс - в течение 8 мс
Всё более-менее логично.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
alexPec
сообщение Feb 4 2011, 18:42
Сообщение #19


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(firstvald @ Feb 4 2011, 19:14) *
Данные остаются годными для времени преобразования:
32 миллисекунды - надо прочитать в течении 32 мс
40 мс - в течение 24 мс
48 мс - в течение 18 мс
60 мс - в течение 8 мс

Похоже на то что входной sampling amplifier имеет свое УВХ, построенное наверняка на конденсаторах, кторые держат заряд примерно 60 мс, а преобразование наверняка начинается по клокам синхронного интерфейса. Не прочитали за 60 мс - все, заряд ушел...
Go to the top of the page
 
+Quote Post
firstvald
сообщение Feb 4 2011, 19:23
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 580
Регистрация: 3-06-08
Пользователь №: 38 041



Да не логично. Однократное преобразование. Закончилось - данные перенслись в дата регистр, в статусе сбросили занятость. А потом почему все это портится со временем? Все должно остановиться. Там видно автомат продолжает молотить и схема куда-то улетает. Какие то атавизмы от последовательного преобразования остались.
Go to the top of the page
 
+Quote Post
Tolyaha
сообщение Feb 7 2011, 09:58
Сообщение #21


Частый гость
**

Группа: Свой
Сообщений: 116
Регистрация: 2-03-07
Из: Украина
Пользователь №: 25 826



Цитата(firstvald @ Feb 4 2011, 21:23) *
Там видно автомат продолжает молотить и схема куда-то улетает. Какие то атавизмы от последовательного преобразования остались.

Специально проверил АЦП 7793, выполняя следующую последовательность действий:
SendByteAD (0xff); // сброс АЦП (4 посылки 0xff)
SendByteAD (0xff);
SendByteAD (0xff);
SendByteAD (0xff);
- пауза 1 ms для сброса АЦП;
SendByteAD (0x10); // настройка АЦП для записи в CONFIG регистр
SendByteAD (0x10); // запись в CONFIG регистр HB (однополярный режим, усиление 1)
SendByteAD (0x10); // запись в CONFIG регистр LB (1 канал c буфером)
SendByteAD (0x08); // настройка АЦП для записи в MODE регистр
SendByteAD (0x20); // запись в MODE регистр HB (Single Conversion)
SendByteAD (0x01); // запись в MODE регистр LB (Internal 64 kHz Clock, 4 ms conversion)
- пауза 5 s для проверки предположения об утрате данных АЦП;
SendByteAD (0x58); // настройка АЦП для чтения данных
ReadByteAD (); // чтение данных АЦП 1 байт
ReadByteAD (); // чтение данных АЦП 2 байт
ReadByteAD (); // чтение данных АЦП 3 байт
Данная последовательность дает правильное значение измерения, все работает как положено и данные не теряются.
Смотрите внимательнее свой алгоритм работы с АЦП.
Go to the top of the page
 
+Quote Post

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

 


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


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