Стивен Барретт - Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
- Название:Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
- Автор:
- Жанр:
- Издательство:Издательский дом «ДМК-пресс»
- Год:2007
- Город:Москва
- ISBN:5-9706-0034-2
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Стивен Барретт - Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С краткое содержание
В книге последовательно рассматриваются все этапы создания встраиваемых систем на микроконтроллерах с применением современных технологий проектирования. Задумав эту книгу, авторы поставили перед собой задачу научить читателя искусству создания реальных устройств управления на однокристальных микроконтроллерах.
Издание содержит материал, охватывающий все вопросы проектирования, включает множество заданий для самостоятельной работы, примеры программирования, примеры аппаратных решений и эксперименты по исследованию работы различных подсистем микроконтроллеров.
Данная книга является прекрасным учебным пособием для студентов старших курсов технических университетов, которые предполагают связать свою профессиональную деятельность с проектированием и внедрением встраиваемых микропроцессорных систем. Книга также будет полезна разработчикам радиоэлектронной аппаратуры на микроконтроллерах.
Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
void delay_100us(void);
void initialize_lcd(void);
void putchars(unsigned char с);
void putcommands(unsigned char d);
void lcdprint(char *string);
char keypad(unsigned int keypress, int row);
//Функция, которая приведена ниже
void initialize_key(void)
/*------------------------------------------------------------------------*/
/* Функция initialize_key устанавливает направление передачи линий портов */
/* для обслуживания клавиатуры */
/*------------------------------------------------------------------------*/
void initialize_key(void) {
DDRB = 0x0F; //линии PORTB[0]…PORTB[3] на вывод
//линии PORTB[4]…PORTB[7] на ввод
PORTB = 0х00; //четыре младших линии порта PORTB в 0
}
/*-------------------------------------------------------------------------*/
5.9. Интерфейс МК с аналоговыми датчиками
Датчик — это устройство, которое преобразует некоторую физическую величину в электрический сигнал. Существуют датчики температуры, давления, ускорения, напряженности электрического поля, механического момента, и т.д. В главе 2 мы рассмотрели пример метеостанции, в которой выходы датчиков, поставляющих информацию о погоде, были подключены к МК семейства 68HC12. В том примере мы по умолчанию предположили, что датчики допускают непосредственное подключение ко входам МК. Однако на практике это условие почти всегда не выполняется. Поэтому необходимо разрабатывать дополнительную схему сопряжения, которая, в общем случае, состоит из усилителя со смещением уровня и фильтра. Подробное изучение способов преобразования аналоговых сигналов выходит за рамки данного раздела. Читатель может познакомиться с ними по книгам, приведенным в параграфе дополнительной литературы для данной главы. Мы остановимся только на общем рассмотрении масштабирования сигнала с выхода датчика.
На рис. 5.24 приведена обобщенная функциональная схема интерфейса для подключения аналогового датчика ко входу встроенного АЦП микроконтроллера. Датчик преобразует некоторую величину X в напряжение на выходе электронного преобразователя датчика. В последующих рассуждениях мы предположим, что электронный преобразователь имеет линейную передаточную характеристику. Если на входе присутствует некоторая физическая величина X 1, то на выходе электронного преобразователя формируется напряжение V 1min. При этом величина X 1соответствует минимальному значению, которое может преобразовать рассматриваемый датчик. Если на входе датчика присутствует величина X 2, то на выходе электронного преобразователя формируется напряжение V 2min. И X 2соответствует максимальному значению датчика. Все промежуточные значения величины X могут быть восстановлены по величине напряжения на выходе преобразователя V 1min< V < V 2min.

Рис. 5.24.Обобщенная функциональная схема интерфейса для подключения аналогового датчика ко входу встроенного АЦП МК
Для того чтобы значение напряжения на выходе датчика могло быть использовано в управляющей программе, его необходимо преобразовать в цифровой код при помощи модуля АЦП. Преобразование будет выполнено с максимально возможным разрешением, если V 1minбудет равно 0 В, а V 2min — 5,0 В. Поэтому между выходом датчика и входом АЦП следует установить дополнительный электронные усилитель со смещением уровня (рис. 5.24). Обозначим коэффициент усиления этого усилителя K, напряжение смещения — B. Для определения численных значений K и B составим два уравнения:
V 2max= V 2min × K + B
V 1max= V 1min × K + B,
где V 2maxи V 1maxнапряжения верхнего и нижнего уровня шкалы на выходе усилителя со смещением. Решив уравнения, можно получить численные значения коэффициента усиления и напряжения смещения, а затем реализовать необходимую схему на операционных усилителях.
Пример.Представьте себе, что Вам необходимо подключить барометр метеостанции к микроконтроллеру 68HC12 для автоматизированного учета показаний прибора. Диапазон допустимых напряжений сигнала АЦП микроконтроллера составляет 0…5,0 В. Минимальная величина показаний барометра равна 64 см ртутного столба, максимальная — 81 см. Барометр снабжен электронной схемой преобразования сигнала, которая формирует на выходе для показания 64 см напряжение –100 мВ, а для показания 81 см — напряжение +300 мВ. Передаточная характеристика этой электронной схемы преобразования линейная. Необходимо определить параметры дополнительного электронного преобразователя для сопряжения предоставленного барометра с МК семейства 68HC12.
В соответствие с ранее введенными обозначениями, можно записать: V 1min= –100 мВ, V 2min= 300 мВ, V 1max= 0 В, V 2max= 5,0 В. Подставим эти численные значения в уравнения для определения коэффициента усиления и напряжения смещения дополнительного электронного преобразователя сигнала:
5 В = 300 мВ × K + B
0 В = –100 мВ × K + B
Решив два уравнения совместно, получим, что коэффициент усиления K = 12,5, напряжение смещения B = 1,25 В. Проверьте полученный результат, подставив полученные значения в исходные уравнения. Составьте схему на операционном усилителе, реализующую необходимые преобразования.
Применяя рассмотренный метод преобразования входного сигнала, помните, что реальная схема сопряжения может потребовать установки дополнительных фильтров с целью подавления нежелательных гармоник сигнала датчика.
5.10. Интерфейс RS-232
В главе 4 мы рассмотрели периферийные модули МК семейства 68HC12/HCS12, в том числе контроллеры последовательного обмена. Напомним, что МК 68HC12/HCS12 имеют в своем составе, как минимум, один контроллер асинхронного последовательного обмена SCI и один контроллер синхронного последовательного обмена SPI. Каждый из этих контроллеров формирует на выходе логические сигналы с напряжением около 5 В для логической 1 и около 0 В для логического 0. Однако если систему с МК необходимо соединить с другим устройством посредством интерфейса RS-232, то обмен с использованием логических уровней сигналов уже невозможен, и необходимо дополнительное согласование уровней.
Стандарт EIA-232-D устанавливает правила организации последовательного обмена данными для интерфейса RS-232 (EIA — Electronic Industries Alliance). Стандарт определяет число линий связи и их функциональное назначение, электрические характеристики сигналов в линиях, формат кадра обмена и механические соединители.
Переход от логических уровней сигналов к сигналам стандарта RS-232 может быть выполнен с использованием всего одной ИС трансивера RS-232. На рис. 5.25 приведен пример такой ИС компании MAXIM-IC. Трансивер позволяет выполнить преобразования двух сигналов с логическими уровнями TTL/CMOS к уровням сигналов интерфейса RS-232 и наоборот. Логическая 1 преобразуется этой ИС в отрицательное напряжение –10 В, логический 0 — в положительное напряжение +10 В. И при этом ИС требует всего одного источника питания для своей работы с напряжением 5,0 В ± 10%.
Читать дальшеИнтервал:
Закладка: