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

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> AD7738 как ее правильно сконфигурировать
Herz
сообщение Dec 26 2006, 17:05
Сообщение #31


Гуру
******

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



Цитата(Pat @ Dec 17 2006, 12:37) *
Далее произвожу однократное измерение канала 0 в MODE регистр (0x38) записываю 0x40.

Просьба если можно выложить, как вы производите настройку этого АЦП.

Что то я с ним совсем замучился.


Что-то я с MODЕ-регистром разобраться не могу. Вот цитата из PDF:
Цитата
Mode Register
8 Bits Read/Write Register, Address 38h–3Fh, Default Value 00h
The Mode register configures the part and determines the part’s operating mode. Writing to the Mode register will clear the ADC
Status register, set the RDY pin to logic high level, exit all current operations, and start the mode specified by the Mode bits.
The AD7738 contains only one Mode register. The three LSBs of the address used for writing to the Mode register specify the channel
selected for operation determined by the MD2 to MD0 bits. The address 38h only must be used for reading from the Mode register.

Если MODE-регистр только один, то почему адресов восемь (0х38 - 0х3F)?
Если эти адреса соответствуют каналам, то почему только адрес 0х38 можно читать? И можно ли в него писать? И как это делать правильно? Как понимать фразу о трёх младших битах адреса? Являются ли они одновременно страшими битами самого MODE-регистра? Я понял так, что запись в MODE-регистр инициирует начало конверсии. Следует ли понимать, что режим конверсии будет зависеть от того, по какому адресу я записываю в MODE-регистр данные (пять младших бит)?
Где я должен указать о том, что только нулевой канал будет использоваться?
Go to the top of the page
 
+Quote Post
DS
сообщение Dec 29 2006, 20:33
Сообщение #32


Гуру
******

Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250



Если Вы запускаете continuous conversion, то начинается с оцифровки канала, по которому записан режим.
Разрешение канала ставится в channel setup, если надо работать только с первым каналом, то ставите 1 в 3 разряд setupа и ьщву пишете по 38 адресу. Кроме этого, еще запуск калибровок на соответствующий канал определяется адресом записи.


--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
Go to the top of the page
 
+Quote Post
Herz
сообщение Dec 30 2006, 00:22
Сообщение #33


Гуру
******

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



Цитата(DS @ Dec 29 2006, 19:33) *
Если Вы запускаете continuous conversion, то начинается с оцифровки канала, по которому записан режим.
Разрешение канала ставится в channel setup, если надо работать только с первым каналом, то ставите 1 в 3 разряд setupа и ьщву пишете по 38 адресу. Кроме этого, еще запуск калибровок на соответствующий канал определяется адресом записи.

Не очень-то понял, если честно. Но ничего, разберусь. По крайней мере, однократный запуск и continius conversion включить получилось. Дело упрощается одним каналом. smile.gif Нет ли у Вас кусочка кода на С с подпрограммой обслуживания АЦП?
Go to the top of the page
 
+Quote Post
DS
сообщение Dec 30 2006, 11:09
Сообщение #34


Гуру
******

Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250



Да, как то я витиевато выразился. Адрес регистра mode, по которому пишется команда, определяет канал, с которого начинается преобразование в continuous режиме. Во всех остальных случаях (однократное преобразование, калибровка канала) адрес определяет канал, к которому относится команда.

Для управления АЦП я ассемблером пользуюсь. Программа не откомментирована, так что толку от нее для Вас немного. Если опишите, в какой режим надо его загнать, я последовательностькоманд напишу. Тактируете от кварца или генератора ? AINCOMом пользуетесь ?


--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
Go to the top of the page
 
+Quote Post
Herz
сообщение Dec 30 2006, 12:45
Сообщение #35


Гуру
******

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



Спасибо, теперь понятнее. Я в общем-то, так и делаю:
- после сброса записываю по адресу 0х28 число 0х09 (AIN0 - AINCOM, range 0-1,25V, Continius conversion Enable)
- в регистры с адресами с 0х30 по 0х37 записываю число 0хAD (CHOP Enabled, FW=45) В принципе, наверное, достаточно было бы ограничиться лишь первым из адресов.
- запускаю конверсию записью в Mode Register по адресу 0х38 числа 0х20 (Continius conversion, channel 0, и т.д.)
Вроде работает, все остальные каналы у меня не задействованы, поэтому на этом пока остановился. Меня просто смутила фраза в DS:
Цитата
The AD7738 contains only one Mode register.

А также то, что существуют комбинации битов MD2-MD0, отвечающие за режимы АЦП в целом, например, 011 - Power Down. Такую комбинацию нет вроде смысла записывать по всем адресам 0х38 - 0x3F.
Go to the top of the page
 
+Quote Post
DS
сообщение Dec 30 2006, 13:07
Сообщение #36


Гуру
******

Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250



Да, можно в Conversion time писать только для используемого канала. Также неплохо перед работой запустить Zero-scale calibration, и, если есть возможность обеспечить нулевой сигнал на входе, Zero scale channel calibration.

Если функция относится ко всему АЦП, а не к конкретному каналу, адрес в mode неважен. Обратите также внимание на p0/1 - если Вы ими не пользуетесь, программируйте их выходами. Если тактирование идет от внешнего генератора, в mode надо также ставить clkdis.


--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
Go to the top of the page
 
+Quote Post
Herz
сообщение Dec 30 2006, 23:04
Сообщение #37


Гуру
******

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



Ещё раз спасибо, кажется, разобрался. И ещё вопросик, если позволите: как Вы боретесь с сетевой наводкой? Усредняете замеры за 20 мс, "привязываетесь" ли к фазе сетевого? Подстраиваете ли частоту сэмплирования?
Go to the top of the page
 
+Quote Post
DS
сообщение Dec 31 2006, 12:15
Сообщение #38


Гуру
******

Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250



Да у меня почему-то нет сетевой наводки. Я больше шишек набил с шумами активных элементов перед АЦП. Правда у меня нигде нет фотодиодов, которые смотрят "в комнату", где 100 Гц неизбежно.

С наступающим ! santa2.gif


--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 1st September 2025 - 16:18
Рейтинг@Mail.ru


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