Чтение онлайн

ЖАНРЫ

Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 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.

Регистр управления ATDCTL5

Рис. 4.88. Формат регистра ATDCTL5

Регистр управления ATDCTL5 используется для выбора режима работы модуля ATD, его биты определяют номер канала измеряемого сигнала, а также осуществляют запуск АЦП на преобразование. Регистр ATDCTL5

располагается в памяти по адресу $0065, его формат представлен на рис. 4.88. Назначение отдельных битов регистра следующее:

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 В.

Регистр состояния ATDSTAT

Рис. 4.90. Формат регистра состояния ATDSTAT

Регистр состояния ATDSTAT — это двухбайтовый регистр, который располагается в памяти по адресам $0066 и $0067. Регистр содержит в себе группу флагов, которые отражают текущее состояние аналого-цифрового преобразования в модуле ATD. Формат регистра представлен на рис. 4.90.

Флаг SCF (Sequence Complete Flag) автоматически устанавливается в 1, если все преобразования назначенной измерительной последовательности завершены. Если модуль находится в режиме однократного преобразования, то бит SCF установится после завершения исполнения измерительной последовательности из 4 или 8 преобразований. При работе модуля в режиме многократного преобразования, бит SCF установится после завершения первой измерительной последовательности.

Поделиться с друзьями: