ADS1248
Для изменения каких либо параметров необходимо произвести запись в внутренние регистры АЦП
описание регистров:
MUX0 - ADDRESS 00h регистр управления мультиплексором
Bits 7:6 BCS1:0
Биты управляет контролем за просадкой тока питания сенсора
00 = выключено (по умолчанию)
01 = 0.5μA
10 = 2μA
11 = 10μA
Bits 5:3 MUX_SP2:0
Биты определяют куда должен быть подключен + вход АЦП
000 = AIN0 (по умолчанию)
001 = AIN1
010 = AIN2
011 = AIN3
100 = AIN4 (ADS1248 only)
101 = AIN5 (ADS1248 only)
110 = AIN6 (ADS1248 only)
111 = AIN7 (ADS1248 only)
Bits 2:0 MUX_SN2:0 куда должен быть подключен - вход АЦП
Биты определяю
000 = AIN0
001 = AIN1 (default)
010 = AIN2
011 = AIN3
100 = AIN4 (ADS1248 only)
101 = AIN5 (ADS1248 only)
110 = AIN6 (ADS1248 only)
111 = AIN7 (ADS1248 only)
(кстати а таким макаром датчиков можно включитьаж 6 штук)
VBIAS - ADDRESS 01h регистр управленим делетиелем подключает к входу ацп делитель на 2 делитель запитан от пары AVDD + AVSS номер бита = номер AIN
1 записанны в бит подключает к соответствующему входу делитель.
MUX1 - ADDRESS 02h регистр управления мультиплексором
Bit 7 источник синхронизации ацп
0 = внутренний генератор
1 = внешний сигнал
Bits 6:5 управление внутренний источником опорного напряжения
00 = внутреннияя опора всегда выключена (по умолчанию)
01 = внутреннияя опора всегда выключена
10 or 11 = внутреннияя опора выключена в режиме остнова и включаеться по 0 на входе START
Bits 4:3 выбор источника опорного напряжения
00 = вход REF0(по умолчанию)
01 = вход REF1(ADS1248 only)
10 = внутренний ИОН
11 = внутренний ИОН подлюченный к ацп и REF0
Bits 2:0 мультиплексор особых режимов (калибровка итд)
000 = обычный режим (по умолчанию)
001 = проверка нуля ацп (AVDD + AVSS)/2
010 = проверка уселений VREFP – VREFN (full-scale)
011 = контроль температуры
100 = контроль входа REF1(ADS1248 only) (VREFP1 – VREFN1)/4
101 = контроль входа REF0 (VREFP0 – VREFN0)/4
110 = контроль входа AVDD (AVDD – AVSS)/4
111 = контроль входа DVDD (DVDD – DVSS)/4
SYS0 - ADDRESS 03h регистр управления АЦП
Bit 7 всегда в 0
Bits 6:4 установка коофициента усиления
000 = 1 (по умолчанию)
001 = 2
010 = 4
011 = 8
100 = 16
101 = 32
110 = 64
111 = 128
Bits 3:0 Скорорсть АЦП количество преобразований в секунду
0000 = 5SPS (по умолчанию)
0001 = 10SPS
0010 = 20SPS
0011 = 40SPS
0100 = 80SPS
0101 = 160SPS
0110 = 320SPS
0111 = 640SPS
1000 = 1000SPS
1001 to 1111 = 2000SPS
OFC0 - ADDRESS 04h Три регистра образуют 1 24 разрядный регистр калибровки 0
OFC1 - ADDRESS 05h
OFC2 - ADDRESS 06h
FSC0 - ADDRESS 07h Три регистра образуют 1 24 разрядный регистр калибровки масштаба шкалы (калибровка усиления)
FSC1 - ADDRESS 08h
FSC2 - ADDRESS 09h
IDAC0 - ADDRESS 0Ah Управления источником тока
Bits 7:4 заводской номер только для чтения
Bit 3 режим вывода DRDY
0 = DOUT/DRDY в режиме данных (по умолчанию)
1 = DOUT/DRDY сигнализирует о готовности данных низким уровнем на выходе DOUT
Bits 2:0 значение тока возбуждения датчиков
000 = выключено (по умолчанию)
001 = 50μA
010 = 100μA
011 = 250μA
100 = 500μA
101 = 750μA
110 = 1000μA
111 = 1500μA
IDAC1 - ADDRESS 0Bh Управления источником тока
Bits 7:4 биты определяют куда будет подлючен первый источник тока.
0000 = AIN0
0001 = AIN1
0010 = AIN2
0011 = AIN3
0100 = AIN4 (ADS1248 only)
0101 = AIN5 (ADS1248 only)
0110 = AIN6 (ADS1248 only)
0111 = AIN7 (ADS1248 only)
10x0 = IEXT1 (ADS1248 only)
10x1 = IEXT2 (ADS1248 only)
11xx = не подключен (по умолчанию)
Bits 3:0
0000 = AIN0
0001 = AIN1
0010 = AIN2
0011 = AIN3
0100 = AIN4 (ADS1248 only)
0101 = AIN5 (ADS1248 only)
0110 = AIN6 (ADS1248 only)
0111 = AIN7 (ADS1248 only)
10x0 = IEXT1 (ADS1248 only)
10x1 = IEXT2 (ADS1248 only)
11xx = не подключен (по умолчанию)
GPIOCFG - ADDRESS 0Ch регистр управления цифровым ввод выводом
0 аналоговый вход
1 цифровой вход-выход
GPIODIR - ADDRESS 0Dh регистр управления цифровым ввод выводом направление передачи данных
0 вход
1 выход
GPIODAT - ADDRESS 0Eh регистр данных цифрового вход выхода сюда пиши и читаем данные с которыми работаем через выходы GPIO
Команды SPI
таблица 22 SPI Commands
операторы
n = количество регистров для чтения или записи (количество байт - 1)
r = регистр (от 0 до 15)
x = неопределно
перевод команд
WAKEUP проснуться
SLEEP уснуть
SYNC синхронизация цикла преобразования
RESET сбросить к заводским установкам
NOP нет операции(холостая команда)
RDATA прочитать данные 1 раз
RDATAC чтение данных непрерывно
SDATAC прекратить читать данные непрерывно
RREG прочитать данные из регистра
WREG записать данные в регистр
SYSOCAL калибровка нуля шкалы
SYSGCAL калибровка усиления
SELFOCAL самостоятельная калибровка нуля шкалы
Проверять и исправлять орфографические ошибки лень
А теперь к вопросу об АБ. Зацените необходимое количество функций для работы с этим простым как космическая ракета АЦП. При этом ещё не похерить ни какой из важных регистров при возврате. + стековые операции. Это не считая индикации управления и программирования задач. К следующему столетию думаю закончите.
