Стивен Барретт - Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
- Название:Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
- Автор:
- Жанр:
- Издательство:Издательский дом «ДМК-пресс»
- Год:2007
- Город:Москва
- ISBN:5-9706-0034-2
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Стивен Барретт - Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С краткое содержание
В книге последовательно рассматриваются все этапы создания встраиваемых систем на микроконтроллерах с применением современных технологий проектирования. Задумав эту книгу, авторы поставили перед собой задачу научить читателя искусству создания реальных устройств управления на однокристальных микроконтроллерах.
Издание содержит материал, охватывающий все вопросы проектирования, включает множество заданий для самостоятельной работы, примеры программирования, примеры аппаратных решений и эксперименты по исследованию работы различных подсистем микроконтроллеров.
Данная книга является прекрасным учебным пособием для студентов старших курсов технических университетов, которые предполагают связать свою профессиональную деятельность с проектированием и внедрением встраиваемых микропроцессорных систем. Книга также будет полезна разработчикам радиоэлектронной аппаратуры на микроконтроллерах.
Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
//********************************************************************
void delay(void) {
int j;
for(j=0x0000; j<0x1000; j=j+0x01) {
asm("nop");
}
}
//********************************************************************
7.2.7. Испытания устройства
До подсоединения компонентов системы к МК 68HC12, мы должны полностью проверить схему. В главе 5 мы рассматривали методики проверки, позволяющие моделировать входы системы переключателями, а выходы светодиодами. Наше устройство уже содержит переключатели и светодиоды для такой проверки. Однако, как мы проверим аналоговые сигналы? Имеется два метода, позволяющих легко проверить связь друг с другом сигналов на каналах X и Y:
1) использование перьевого X-Y графопостроителя,
2) использование классической контрольно-измерительной методики, связанной с получением так называемых фигур Лиссажу.
При первой методике, выходной аналоговый сигнал, формируемый X-каналом ЦАП, переключается с X-канала гальванометра на X-канал перьевого X-Y графопостроителя, а сигнал с Y-канала гальванометра на Y-канал на графопостроителя. Сигнал управления затвором может быть подан на драйвер пера графопостроителя, смещающийся вверх и вниз. Необходим плоттер со специальными характеристиками, чтобы определить, требуется ли схема интерфейса между ТТЛ совместимым сигналом для управления затвором от 68HC12 и управления движением пера вверх и вниз. После подключения микроконтроллера 68HC12 к графопостроителю, каждое из изображений может быть полностью проверено.
Вторая методика испытаний использует классический метод фигур Лиссажу. Чтобы получить фигуры Лиссажу, выходные сигналы с X-канала и Y-канала ЦАП подаются на соответствующие каналы осциллографа.
После подключения 68HC12 к осциллографу, каждое из изображений также может быть полностью проверено. Дополнительную информация о фигурах Лиссажу можно найти в [2].
7.2.8. Заключительные испытания системы управления
После полной проверки программного обеспечения, оно может быть испытано совместно с устройством управления лазером. Реальные устройства описываются в литературе, выпускаемой изготовителями оптических устройств и в учебниках, посвященных оптическим блокам [3, 8].
7.3. Цифровой вольтметр
7.3.1. Описание проекта
Для этого проекта мы должны разработать цифровой вольтметр (ЦВ), способный измерять входной аналоговый сигнал в диапазоне от +10 до –10 В. Измеряемое напряжение, отображается на ЖК дисплее, число знакомест которого позволяет отображать числа от 0 до 100.
Диапазон входных измеряемых напряжений для модуля аналого-цифрового преобразования ATD МК 68HC12 составляет 0…5 В. Чтобы измерить входное напряжение в более широком диапазоне, необходим внешний интерфейс. Поэтому мы преобразуем входной сигнал ±10 В в сигнал, лежащий в диапазоне от 0 до 5 В.
7.3.2. Системы 68HC12 используемые в проекте
Для реализации проекта мы должны будем использовать следующие модули в составе МК 68HC12, внешние устройства и программы управления:
• Модуль ATD в составе МК 68HC12;
• Символьный ЖК индикатор;
• Интерфейс преобразователя диапазона входного сигнала;
• Алгоритм преобразования измеряемого напряжения в ASCII код для отображения на ЖК индикаторе.
Прежде чем разрабатывать программное обеспечение, рассмотрим некоторые аппаратные решения.
7.3.3. Расчет интерфейса модуля ATD
В разделе 5.9 мы описали, как подключить аналоговое устройство ввода данных к МК 68HC12, использовав методику расчета интерфейса преобразователя. Мы можем применить этот материал для разработки устройства, изменяющего диапазон входного напряжения от исходного ±10 В до диапазона от 0 до 5 В, совместимого с подсистемой аналого-цифрового преобразования для 68HC12.
Структурная схема согласующего устройства приводится на рис. 7.13. Это устройство должно сформировать напряжение 5 В на входе АЦП микроконтроллера, когда на вход вольтметра подается 10 В, и 0 В на входе АЦП при напряжении в –10 В на входе вольтметра. Чтобы выполнить такое преобразование, входной сигнал должен быть умножен на масштабирующий коэффициент, и, кроме того, должно быть создано напряжение смещения. В нашей схеме операцию масштабирования выполняет блок K, и его выходной сигнал суммируется с сигналом смещения B.

Рис. 7.13.К расчету согласующего устройства
По рассмотренной ранее методике составим два уравнения с двумя неизвестными, чтобы описать работу интерфейса преобразователя нашего проекта:
V2 max= V2 min* K + B
V1 max= V1 min* K + B
Нетрудно установить, что V1 min= –10 В, а V2 min= + 10 В, в то время как V1 max= 0 В, и V2 max= 5 В. Подставим эти значения в нашу систему уравнений:
5 = 10 * K + В
0 = (–10) * K + В
В результате решения системы получим масштабный множитель K = 0.25, и напряжение смещения B = 2.5 В. Cоздадим схему на ОУ с коэффициентом передачи 0.25, и добавим напряжение смещения в 2.5 В.
При работе вольтметра после преобразования входного напряжения встроенным в МК АЦП, мы должны выполнить пересчет кода оцифровки, чтобы получить фактически измеренное входное напряжение для вывода его на дисплей. Эта операция выполняется с помощью программного обеспечения.
7.3.4. Структура программы и блок-схема алгоритма
Мы приводили структуру программы и блок-схему алгоритма для каждого из рассматриваемых проектов. Для этого проекта мы оставляем разработку структуры и блок схемы читателю в качестве домашней работы (задание 17).
7.3.5. Программа управления
/********************************************************************/
/* Имя файла: voltmeter2.с */
/* Это программа для реализации простого вольтметра на базе АЦП, */
/* встроенного в МК HC12. Приведенный программный код выполняет */
/*одно преобразование и затем программа может вручную */
/* перезапускаться пользователем для измерения другого напряжения */
/********************************************************************/
#include <912b32.h>
#include
void delay_100us(void);
void ADC_convert(void);
void delay_5ms(void);
void main(void) {
asm(" .area vectors (abs)\n" /*код инициализации вектора reset B32 */
" .org 0xFFF8\n"
" .word 0x8000, 0x8000, 0x8000, 0x8000\n"
" .text");
initialize_LCD(); /*инициализация ЖК дисплея */
ATDCTL2 = 0x80; /*подача питания на АЦП, разрешение прерываний */
delay_5ms(); /*ожидание входа АЦП в рабочий режим */
ATDCTL3 = 0x00;
ATDCTL4 = 0x01; /*8-разрядный результат, время выборки 2 АЦП */
/*clk, коэффициент деления 4 */
ADC_convert(); /*АЦП преобразование */
Интервал:
Закладка: