Предыдущая Следующая

Запись в регистр связи выбора канала и выбор следующей операции — запись в регистр синхронизации

Запись в регистр синхронизации битов синхронизации, определяющих заданный синхросигнал и выбор скорости обновления выхода для выбранного канала

^ Начало ^

Включение питания/сброс AD7705

Конфигурирование и инициализация последовательного порта

J

Запись 8 регистр связи выбора канала и выбор следующей операции — запись в регистр установок

Запись в регистр установок очистки SYNC, установка усиления, эксплуатационных режимов и инициализация внутр. калибровки на выбранном канале

Запись в регистр связи выбора следующей операции — чтения из регистра данных

Чтение из регистра данных |

Запись в регистр связи выбора следующей операции — чтения регистра связи

I

j Чтение регистра связи

Опрос бита DRDY регистра связи

Запись в регистр связи выбора следующей операции — чтения из регистра данных

| Чтение из регистра данных |

Рис. 33.10. Блок-схема получения результатов АЦП AD7705

Работа программы (main.c) осуществляется следующим образом. После начальной инициализации системы LPC2129 и контроллера ЖКИ, производится инициализация модуля SPIO LPC2129 (функция SPIOinitQ), затем инициализация линий CS и RES, в качестве которых используются, соответственно, линии Р0.8 и Р0.9 LPC2129 (функция AD7705_CS_RES()). Затем производится сброс AD7705 по линии RESET (функция AD7705resetQ) и инициализация AD7705 через SPI (функция AD7705init()). Далее начинается основной цикл программы, состоящий из процедуры опроса кнопки «О», небольшой программной задержки, чтения результата преобразования AD7705 и вывода его на индикацию в десятичном виде в дискретах АЦП и в вольтах (функция AD7705izm_ind()) в формате Х.ХХХХ В. AD7705 программно конфигурируется для выполнения внутренней калибровки с последующим автоматическим переходом в нормальный режим преобразований с частотой обновления выходных данных 25 Гц.

Вычисление результата преобразования Res_AD7705_V в единицах 0.0001В производится в программе по следующей формуле:

Res_AD7705_V= (H_rez_AD7705 х Uref_V) / 65536,

где H_rez_AD7705 — результат АЦП в дискретах,

UrefV— калибровочная константа-множитель, равная 25000.

При необходимости, нажав на кнопку «О», можно произвести повторный сброс и инициализацию AD7705, вызвав последовательно функции AD7705reset() viAD7705init(). На время передачи управления этим функциям загорается светодиод «1». Для удобства пользователя, вызов этих функций по нажатию кнопки отмечается короткой вспышкой светодиода.

Аппаратную поддержку интерфейса SPIO LPC2129 в программе реализует функция SPIOrx_tx_byte(tx_byte). Она осуществляет запись в ведомое устройство SPI одного байта данных (tx_byte), с одновременным чтением из ведомого устройства одного байта данных, который и возвращает (rxjbyte). Функция возвращает управление по окончании обмена байтами.


Предыдущая Следующая



НА ГЛАВНУЮ | ЧТО ТАКОЕ PIC ? | ПРОГРАММАТОР | ПРОЕКТЫ | СТАТЬИ | ССЫЛКИ | КАРТА САЙТА
Hosted by uCoz