|
|
  |
Режим SPI для делта-сигма АЦП, конкретно ADS1252 |
|
|
|
May 4 2008, 18:27
|
Знающий
   
Группа: Свой
Сообщений: 754
Регистрация: 29-06-06
Из: Volgograd
Пользователь №: 18 458

|
Всем привет!
Народ, что-то в даташите не нашел, в каком режиме SPI интерфейс работает у дельа сигма АЦП'шки ADS1252 - master или slave?
Соответственно, как я понимаю в первом случае SCLK будет генерить ADS'ка, а во втором SCLK будет генерить процессор.
К стати, судя по описанию, - хороший АЦП: 24 бита, 40 кГц (19 бит), правда вся обвязка внешня: опора, clock, вход только один, стоит не дорого, 300р.
|
|
|
|
|
May 5 2008, 05:52
|
Частый гость
 
Группа: Свой
Сообщений: 116
Регистрация: 2-03-07
Из: Украина
Пользователь №: 25 826

|
Цитата(AndreyVN @ May 4 2008, 21:27)  Народ, что-то в даташите не нашел, в каком режиме SPI интерфейс работает у дельа сигма АЦП'шки ADS1252 - master или slave? Обратите внимание на то, что готовность преобразования он генерит импульсом по цепи передачи данных (что порой не очень удобно).
|
|
|
|
|
May 5 2008, 17:12
|
Знающий
   
Группа: Свой
Сообщений: 754
Регистрация: 29-06-06
Из: Volgograd
Пользователь №: 18 458

|
Цитата Читайте внимательно datasheet. SCLK это вход (Digital input), а не выход. К тому же интерфейс там не совсем SPI. Скорее даже совсем не SPI. Да, синхронный интерфейс, но не SPI. Да, действительно, не SPI. Ну и фиг с ним, будем другой ногой данные хапать.  К стати, поскольку про частоту SCLK сказано только то, что она independently от мастер clock'а я так понимаю, единственнное условие по частоте SCLK - успеть выбрать содержимое регистра до готовности следующего цикла? Цитата(Tolyaha @ May 5 2008, 09:52)  Обратите внимание на то, что готовность преобразования он генерит импульсом по цепи передачи данных (что порой не очень удобно). Ну да, Texas Instruments предлагает этот импульс (DRDY) использовать для запроса прерывания, а пока на этом же проводе пляшут данные прерывание замаскировано обработчиком. Хотя мне это тоже не нравиться. Есть еще один минус, выборки довольно трудно привязать к абсолютному времени. После спада имульса синхронизации нужно отсчитать ни много ни мало 314 +6 +6 клоков. А потом еще, наверное, выкинуть первые несколько измерений (это мои личные опасения).
Сообщение отредактировал AndreyVN - May 5 2008, 17:30
|
|
|
|
|
May 5 2008, 18:54
|

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

|
Цитата(AndreyVN @ May 5 2008, 19:12)  Да, действительно, не SPI. Ну и фиг с ним, будем другой ногой данные хапать.  К стати, поскольку про частоту SCLK сказано только то, что она independently от мастер clock'а я так понимаю, единственнное условие по частоте SCLK - успеть выбрать содержимое регистра до готовности следующего цикла? Всё правильно. Цитата Ну да, Texas Instruments предлагает этот импульс (DRDY) использовать для запроса прерывания, а пока на этом же проводе пляшут данные прерывание замаскировано обработчиком. Хотя мне это тоже не нравиться.
Есть еще один минус, выборки довольно трудно привязать к абсолютному времени. После спада имульса синхронизации нужно отсчитать ни много ни мало 314 +6 +6 клоков. А потом еще, наверное, выкинуть первые несколько измерений (это мои личные опасения). Ничего страшного нет. После синхронизации и привязки к сигналу всё идет своим чередом. Не слишком красивая реализация, но это - плата за малоножечность. У меня по 3 работают синхронно - никаких проблем.
|
|
|
|
|
May 6 2008, 15:37
|
Знающий
   
Группа: Свой
Сообщений: 754
Регистрация: 29-06-06
Из: Volgograd
Пользователь №: 18 458

|
Цитата(forever failure @ May 6 2008, 09:28)  Про частоту SCLK, кстати, могу сказать из собственного опыта, что она должна быть равной CLK. Этот вопрос даже где-то на форуме болтается, так и нерешённый. Почему-то в даташите одно указано, а фактически - другое. Тоже хотел сделать выборку данных с частотой, независимой от CLK, но так ничо и не получилось. Может у Вас со стобом что-то не так? Чуть левее, чуть правее, по фронту, по спаду... Хотя, столь скудное описание последовательного интерфейса настораживает. Так всетаки, товарищ Herz, скажите, pls, у Вас совпадают частоты сигналов SCLK и CLK? А то мне еще не поздно на другую микруху переметнуться.
Сообщение отредактировал AndreyVN - May 6 2008, 15:40
|
|
|
|
|
May 6 2008, 16:17
|

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

|
Цитата(AndreyVN @ May 6 2008, 17:37)  Может у Вас со стобом что-то не так? Чуть левее, чуть правее, по фронту, по спаду... Хотя, столь скудное описание последовательного интерфейса настораживает.
Так всетаки, товарищ Herz, скажите, pls, у Вас совпадают частоты сигналов SCLK и CLK? А то мне еще не поздно на другую микруху переметнуться. Нет, конечно. У меня это совершенно разные частоты. Тройка АЦП тактируется от внешнего генератора постоянной частотой 19200 Гц, сигнал же SCLK - поступает от контроллера и никак с первой не связан. Не помню нынешнюю скорость опроса, но я её свободно варьировал программно. "Проблема" эта давно решена  , хотел сечас найти ту ветку - не получилось почему-то.
|
|
|
|
|
May 8 2008, 11:29
|
Частый гость
 
Группа: Свой
Сообщений: 116
Регистрация: 2-03-07
Из: Украина
Пользователь №: 25 826

|
Цитата(Herz @ May 5 2008, 21:54)  Ничего страшного нет. После синхронизации и привязки к сигналу всё идет своим чередом. Не слишком красивая реализация, но это - плата за малоножечность. У меня по 3 работают синхронно - никаких проблем. Если постоянно синхронизировать, то получаем потерю в скорости, если синхронизировать один раз (при запуске) то при наличии помех (например статические разряды) АЦП могут разбежаться во времени. Кроме того пичек от помехи вызовет ложное срабатывание прерывания (тригера) и отследить была готовность или нет очень трудно (если их кпримеру 16 штук) и экономии ног нету по сравнению с AD у них готовность тоже передается по линии данных но в отличае от TI не импульсом, а изменением логического уровня, который всегда можно проконтролировать. Вот почему я раньше сказал что иногда и не удобно.
|
|
|
|
|
May 8 2008, 14:33
|

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

|
Цитата(Tolyaha @ May 8 2008, 13:29)  Если постоянно синхронизировать, то получаем потерю в скорости, если синхронизировать один раз (при запуске) то при наличии помех (например статические разряды) АЦП могут разбежаться во времени. При наличии достаточно мощных помех разбежаться может всё.  Синхроницзировать всё время, естественно, нерационально. Для подстраховки можно делать это периодически. Цитата Кроме того пичек от помехи вызовет ложное срабатывание прерывания (тригера) и отследить была готовность или нет очень трудно (если их кпримеру 16 штук) и экономии ног нету по сравнению с AD у них готовность тоже передается по линии данных но в отличае от TI не импульсом, а изменением логического уровня, который всегда можно проконтролировать. Вот почему я раньше сказал что иногда и не удобно. Да не стоит драматизировать. Да, не очень удобно, но никаких таких ложных срабатываний не замечал пока. И совсем не сложно отследить готовность (даже если их 16), ведь тайминги известны и весьма стабильны.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|