Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
Шрифт:
SMP1:SMP0 | Время выборки (периоды ADTclock) | Полное время 8-разрядного преобразования (периоды ADTclock) |
---|---|---|
00 | 2 | 18 |
01 | 4 | 20 |
10 | 8 | 24 |
11 | 16 | 32 |
Рис. 4.87. Выбор времени аналого-цифрового преобразования в модуле ATD
Бит S10BM определяет разрядность аналого-цифрового преобразования. При S10BM=0, АЦП в составе модуля формирует 8-разрядный код измеряемого сигнала, при S10BM=1 разрядность кода равна 10.
Рис. 4.88. Формат регистра ATDCTL5
Регистр управления ATDCTL5 используется для выбора режима работы модуля ATD, его биты определяют номер канала измеряемого сигнала, а также осуществляют запуск АЦП на преобразование. Регистр ATDCTL5
S8CM:
Этот бит определяет число аналого-цифровых преобразований в одной последовательности. При S8CM = 0 число преобразований равно 4, при S8CM = 1 число преобразований составляет 8.
SCAN:
Бит включения сканирования. При SCAN = 0 производятся четыре или восемь последовательных измерений (одна измерительная последовательность) и заполняются четыре/восемь регистров результата. При SCAN = 1 измерения производятся непрерывно, после завершения одной последовательности автоматически запускается следующая. Регистры результата заполняются по мере поступления новых данных.
MULT:
Бит выбора многоканального или одноканального режима работы. При MULT = 0 АЦП выполняет четыре/восемь последовательных измерений по одному каналу, выбранному в зависимости от комбинации битов CD…CA. При MULT = 1 измерения производятся последовательно для группы из четырех/восьми каналов, выбираемых в зависимости от комбинации битов CD:CC. При этом каждому каналу соответствует определенный регистр результата.
CD, CC, CB, CA:
Эти биты предназначены для выбора каналов, подключаемых к АЦП. Соответствие различных комбинаций битов CD…CA и номеров каналов, подлежащих оцифровке, устанавливает таблица рис. 4.89.
S8CM | CD | CC | CB | CA | Номер канала | Регистр результата при MULT=1 |
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | AN0 | ADR0 |
0 | 1 | AN1 | ADR1 | |||
1 | 0 | AN2 | ADR2 | |||
1 | 1 | AN3 | ADR3 | |||
0 | 0 | 1 | 0 | 0 | AN4 | ADR0 |
0 | 1 | AN5 | ADR1 | |||
1 | 0 | AN6 | ADR2 | |||
1 | 1 | AN7 | ADR3 | |||
0 | 1 | 0 | 0 | 0 | Зарезервирован | ADR0 |
0 | 1 | Зарезервирован | ADR1 | |||
1 | 0 | Зарезервирован | ADR2 | |||
1 | 1 | Зарезервирован | ADR3 | |||
0 | 1 | 1 | 0 | 0 | VRH | ADR0 |
0 | 1 | VRL | ADR1 | |||
1 | 0 | (VRH+VRL)/2 | ADR2 | |||
1 | 1 | Зарезервирован | ADR3 | |||
1 | 0 | 0 | 0 | 0 | AN0 | ADR0 |
0 | 0 | 1 | AN1 | ADR1 | ||
0 | 1 | 0 | AN2 | ADR2 | ||
0 | 1 | 0 | AN3 | ADR3 | ||
1 | 0 | 0 | AN4 | ADR4 | ||
1 | 0 | 1 | AN5 | ADR5 | ||
1 | 1 | 0 | AN6 | ADR6 | ||
1 | 1 | 1 | AN7 | ADR7 | ||
1 | 1 | 0 | 0 | 0 | Зарезервирован | ADR0 |
0 | 0 | 1 | Зарезервирован | ADR1 | ||
0 | 1 | 0 | Зарезервирован | ADR2 | ||
0 | 1 | 1 | Зарезервирован | ADR3 | ||
1 | 0 | 0 | VRH | ADR4 | ||
1 | 0 | 1 | VRL | ADR5 | ||
1 | 1 | 0 | (VRH + VRL)/2 | ADR6 | ||
1 | 1 | 1 | Зарезервирован | ADR7 |
Рис. 4.89. Выбор
номера канала для оцифровкиАнализируя таблицу рис. 4.89, обратите внимание, что выделенные цветом разряды не оказывают влияния на номер выбранного канала, если бит 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, проверьте степень усвоения материала в процессе ответа на следующие вопросы.
1. Какой код должен быть записан в регистр управления ATDCTL2 для того, чтобы включить модуль ATD и назначить обычный способ сброса флагов событий в модуле?
Ответ: Для включения модуля флаг ADPU должен быть установлен в 1. Этот флаг располагается в разряде 7 регистра. Для назначения обычного способа сброса флагов событий модуля следует установить бит AFFC в 0. Бит AFFC располагается в разряде 6 регистра. Поэтому в регистр управления ATDCTL2, располагающийся по адресу $0062, должен быть записан код 10000000 b или $80.
2. Запишите выражение на Си для выполнения инициализации регистра ATDCTL2 кодом предыдущего вопроса.
Ответ:
ATDCTL2 = 0x80;
3. Какой код должен быть записан в регистр управления ATDCTL5 для того, чтобы назначить для модуля режим многократного преобразования, при этом измерительная последовательность должна производить оцифровку 8 входных сигналов.
Ответ: Для организации заказанного режима следует установить бит S8CM в 1 (бит 6 регистра ATDCTL5), бит SCAN также в 1 (бит 5), бит MULT в 1 (бит 4), бит CD в 0 (бит 3), остальные биты CC, CB и CA значения не имеют.
Обобщая, в регистр управления ATDCTL5, расположенный по адресу $0065, должен быть записан код 01110000 b или $70.
4. Запишите выражение на Си для выполнения инициализации регистра ATDCTL5 кодом предыдущего вопроса.
Ответ:
ATDCTL5 = 0x70;
5. Каковы преимущества использования АЦП в режиме преобразования с 10-разрядным выходным кодом относительно 8-разрядного кода оцифровки?
Ответ: При 10-разрядном выходном коде разрешающая способность АЦП выше. Она составляет 4,88 мВ по сравнению с 19,53 мВ для 8-разрядного кода. Численные значения разрешающей способности приведены для UREF=5,0 В.
Рис. 4.90. Формат регистра состояния ATDSTAT
Регистр состояния ATDSTAT — это двухбайтовый регистр, который располагается в памяти по адресам $0066 и $0067. Регистр содержит в себе группу флагов, которые отражают текущее состояние аналого-цифрового преобразования в модуле ATD. Формат регистра представлен на рис. 4.90.
Флаг SCF (Sequence Complete Flag) автоматически устанавливается в 1, если все преобразования назначенной измерительной последовательности завершены. Если модуль находится в режиме однократного преобразования, то бит SCF установится после завершения исполнения измерительной последовательности из 4 или 8 преобразований. При работе модуля в режиме многократного преобразования, бит SCF установится после завершения первой измерительной последовательности.