Регистр управления ATDCTL5
Рис. 9.Формат регистра ATDCTL5
Регистр управления ATDCTL5 используется для выбора режима работы модуля ATD, его биты определяют номер канала измеряемого сигнала, а также осуществляют запуск АЦП на преобразование. Регистр ATDCTL5 располагается в памяти по адресу $0065, его формат представлен на рис. 9. Назначение отдельных битов регистра следующее:
S8CM:
Этот бит определяет число аналого-цифровых преобразований в одной последовательности. При S8CM = 0 число преобразований равно 4, при S8CM = 1 число преобразований составляет 8.
SCAN:
Бит включения сканирования. При SCAN = 0 производятся четыре или восемь последовательных измерений (одна измерительная последовательность) и заполняются четыре/восемь регистров результата. При SCAN = 1 измерения производятся непрерывно, после завершения одной последовательности автоматически запускается следующая. Регистры результата заполняются по мере поступления новых данных.
S8CM | CD | CC | CB | CA | Номер канала | Регистр результата при MULT=1 |
AN0 | ADR0 | |||||
AN1 | ADR1 | |||||
AN2 | ADR2 | |||||
AN3 | ADR3 | |||||
AN4 | ADR0 | |||||
AN5 | ADR1 | |||||
AN6 | ADR2 | |||||
AN7 | ADR3 | |||||
Зарезервирован | ADR0 | |||||
Зарезервирован | ADR1 | |||||
Зарезервирован | ADR2 | |||||
Зарезервирован | ADR3 | |||||
VRH | ADR0 | |||||
VRL | ADR1 | |||||
(VRH+VRL)/2 | ADR2 | |||||
Зарезервирован | ADR3 | |||||
AN0 | ADR0 | |||||
AN1 | ADR1 | |||||
AN2 | ADR2 | |||||
AN3 | ADR3 | |||||
AN4 | ADR4 | |||||
AN5 | ADR5 | |||||
AN6 | ADR6 | |||||
AN7 | ADR7 | |||||
Зарезервирован | ADR0 | |||||
Зарезервирован | ADR1 | |||||
Зарезервирован | ADR2 | |||||
Зарезервирован | ADR3 | |||||
VRH | ADR4 | |||||
VRL | ADR5 | |||||
(VRH + VRL)/2 | ADR6 | |||||
зарезервирован | ADR7 |
Рис. 10Выбор номера канала для оцифровки
MULT:
Бит выбора многоканального или одноканального режима работы. При MULT = 0 АЦП выполняет четыре/восемь последовательных измерений по одному каналу, выбранному в зависимости от комбинации битов CD…CA. При MULT = 1 измерения производятся последовательно для группы из четырех/восьми каналов, выбираемых в зависимости от комбинации битов CD:CC. При этом каждому каналу соответствует определенный регистр результата.
CD, CC, CB, CA:
Эти биты предназначены для выбора каналов, подключаемых к АЦП. Соответствие различных комбинаций битов CD…CA и номеров каналов, подлежащих оцифровке, устанавливает таблица
рис. 10.
Анализируя таблицу рис. 10, обратите внимание, что выделенные цветом разряды не оказывают влияния на номер выбранного канала, если бит MULT установлен в 1. Таким образом, при MULT = 1 измерения проводятся для последовательности из четырех каналов, если S8CM = 0. Номера каналов определяются комбинацией битов CD:CC. Если S8CM = 1, то при MULT = 1 измерения проводятся для последовательности из восьми каналов. Номера каналов определяются значением бита CD.
Если бит MULT установлен в 0, то все CD…CA определяют номер канала, для которого будут произведены четыре (при S8CM = 0) или восемь (при S8CM = 1) последовательных преобразований.
Также обратите внимание, что при S8CM:CD = 01/10b ко входу АЦП подключаются сигналы линий VHL и VRL, что позволяет измерить текущее значение опорного напряжения и тем самым повысить точность аналого-цифрового преобразования.
Перед рассмотрением следующих групп регистров специальных функций модуля ATD, проверьте степень усвоения материала в процессе ответа на следующие вопросы.
Регистр состояния ATDSTAT
Рис. 11.Формат регистра состояния ATDSTAT
Регистр состояния ATDSTAT — это двухбайтовый регистр, который располагается в памяти по адресам $0066 и $0067. Регистр содержит в себе группу флагов, которые отражают текущее состояние аналого-цифрового преобразования в модуле ATD. Формат регистра представлен на рис 11.
Флаг SCF (SequenceCompleteFlag) автоматически устанавливается в 1, если все преобразования назначенной измерительной последовательности завершены. Если модуль находится в режиме однократного преобразования, то бит SCF установится после завершения исполнения измерительной последовательности из 4 или 8 преобразований. При работе модуля в режиме многократного преобразования, бит SCF установится после завершения первой измерительной последовательности.
Бит AFFC в регистре управления ATDCTL2 определяет способ сброса всех флагов в регистре состояния, в том числе и бита SCF. Если бит AFFC установлен в 0, то бит SCF обнуляется автоматически при выполнении операции записи в регистр управления ATDCTL5 для запуска новой измерительной последовательности. Если же бит AFFC установлен в 1, то бит SCF также сбрасывается автоматически при чтении одного из регистров результата.
Биты CC2…CC1 вместе составляют трехразрядный двоичный счетчик, который показывает номер текущего аналого-цифрового преобразования и, как следствие, номер регистра результата, в который будет занесен код очередного преобразования.
Каждый из восьми флагов завершения преобразования CCF7…CCF0 соответствует одноименному регистру результата ADR7H…ADR0H (бит CCF7 регистру ADR7H, бит CCF6 регистру ADR6H и т.д.). Биты CCF7…CCF0 устанавливаются автоматически, когда в процессе выполнения измерительной последовательности произошла запись в одноименный регистр результата. Если флаг AFFC установлен в 1, то биты CCF7…CCF0 сбрасываются автоматически при чтении одноименного регистра результата. При AFFC = 0 биты CCF7…CCF0 сбрасываются при чтении регистра состояния ATDSTAT, т.е. регистра с этими битами. Биты CCF7…CCF0 предназначаются для программного опроса с целью выяснения, завершилось или нет определенное аналого-цифровое преобразование в составе измерительной последовательности.