Читаем Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С полностью

Генерация запроса на прерывание с собственным вектором особенно полезна при работе модуля ATD в режиме измерительной сессии. В этом режиме АЦП выполняет несколько последовательных преобразований после единственного запуска под управлением программы. При использовании прерывания МК в течение всего времени преобразования может исполнять другие действия прикладной программы управления. Когда многократное аналого-цифровое преобразование будет завершено, установится флаг окончания преобразования ASCIF, будет выставлен запрос на прерывание, и МК, исполняя подпрограмму прерывания, считает коды оцифровки из регистров результата в память МК. Альтернативой такой организации взаимодействия прикладной программы с модулем ATD является многократный опрос флага ASCIF после программного запуска АЦП. Когда программа обнаружит, что флаг установился, регистры результата как и в предыдущем случае будут считаны. Однако в течение всего времени преобразования МК будет занят обслуживанием АЦП и не сможет исполнять других фрагментов прикладной программы.

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

Регистр управления ATDCTL3 располагается в памяти по адресу $0063. Этот регистр содержит два бита FRZ1:FRZ0, которые используются для организации работы АЦП в отладочном режиме работы.

Регистр управления ATDCTL4Формат регистра ATDCTL4

Рис. 4.85.


Регистр управления ATDCTL4 располагается в памяти по адресу $0064. Формат регистра управления ATDCTL4 приведен на рис. 4.85. Этот регистр позволяет регулировать время выборки для устройства выборки и хранения на входе АЦП последовательного приближения. Полное время преобразования 8-разрядного АЦП в составе модуля ATD складывается из четырех интервалов:

• Интервал начального запуска, состоит из 2 периодов частоты тактирования модуля ATD;

• Неизменяемый интервал выборки аналогового сигнала, состоит из 4 периодов частоты тактирования модуля ATD;

• Регулируемый интервал выборки аналогового сигнала, его длительность программируется посредством установки битов SMP1:SMP0 в регистре управления ATDCTL4;

• Интервал преобразования напряжения на выходе устройства выборки и хранения аналого-цифровым преобразователем, состоит из 10 периодов частоты тактирования модуля ATD.

Рис. 4.86. Структура системы тактирования модуля ATD


Структурная схема подсистемы тактирования модуля ATD представлена на рис. 4.86. На вход подсистемы поступает импульсная последовательность PCLK с частотой fBUS. Эта импульсная последовательность поступает на вход программируемого делителя частоты.

Частота тактирования модуля аналого-цифрового преобразования ATDclock формируется из PCLK путем деления двумя делителями частоты. Коэффициент деления первого делителя переменный, определяется пятью битами PRS4…PRS0 регистра ATDCTL4. Численное значение коэффициента равно десятичному эквиваленту пятиразрядного двоичного кода PRS4…PRS0 плюс 1.

Например, если в разрядах PRS4…PRS0 записан код 00101b, то коэффициент деления равен шести (5+1). Коэффициент деления второго делителя равен двум. Поэтому в рассматриваемом примере частота тактирования модуля ATD составит fBUS/12.

Биты SMP1:SMP0 определяют регулируемый интервал выборки аналогового сигнала. Мы уже установили, что полное время одного аналого-цифрового преобразования равно 16 периодов частоты модуля ATD плюс регулируемый интервал выборки. На рис. 4.87 представлены четыре возможные комбинации кодов в разрядах SMP1:SMP0 и соответствующие им времена регулируемого интервала выборки и полного времени преобразования. Из рис. 4.87 следует, что минимальное время одного аналого-цифрового преобразования составляет 18 периодов, а максимальное — 32 периода частоты тактирования модуля ATD. 

SMP1:SMP0Время выборки (периоды ADTclock)Полное время 8-разрядного преобразования (периоды ADTclock)
00218
01420
10824
111632

Рис. 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:

Перейти на страницу:

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьёрн Страуструп , Ирина Сергеевна Козлова , Бьерн Страуструп , Валерий Федорович Альмухаметов

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT