Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Микропроцессорные системы управления электроприводами и технологическими комплексами. Учебное пособие

.pdf
Скачиваний:
5
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
ным, т. е. ухудшается разрешение. При этом реально достижимое раз­решение описывается эффективной разрядностью (effective number of bits, ENOB), которая меньше, чем реальная разрядность АЦП. При преобразовании сильно зашумлённого сигнала младшие разряды вы­ходного кода практически бесполезны, так как содержат шум. Для до­стижения заявленной разрядности отношение сигнал/шум входного сигнала должно быть примерно 6
дБ на каждый бит разрядности (6 дБ
соответствует двукратному изменению уровня сигнала).
Имеется несколько источников погрешности АЦП. Ошибки кван­тования и (считая, что АЦП должен быть линейным) нелинейности присущи любому аналого-цифровому преобразованию. Кроме того, существуют так называемые апертурные ошибки, которые являются следствием тактового генератора, они проявляются при преобразова­нии сигнала в
целом (а не одного отсчёта).
Эти ошибки измеряются в единицах, называемых МЗР – младший значащий разряд. В приведённом выше примере восьмибитного дво­ичного АЦП ошибка в 1 МЗР составляет 1/256 от полного диапазона сигнала, т. е. 0,4 %.
Рассмотрим работу микросхемы AD9200. Данные АЦП обладают следующими отличительными особенностями:
АЦП выполнена по технологии КМОП (комплементарная струк-
тура металл-оксид – полупроводник);
разрядность АЦП – 10 бит;
максимальная частота выборок – 20 MSPS;
микросхема AD920 совместима по выводам с АЦП AD876;
мощность рассеивания – 80 мВт при U
+3 В;
пит
напряжение питания от 2,7 В до 5,5 В;
дифференциальная нелинейность – 005 LSB;
наличие режима «Выключено»;
выход с тремя состояниями;
индикатор перегрузки;
встроенная функция памяти смещения;
встроенный регулируемый источник опорного напряжения;
скоростные выборки до 135 МГц.
Микросхема AD920 имеет встроенный усилитель выборок и хране­ния и источник опорного напряжения. Преобразователь имеет возмож­ность коррекции ошибок, обеспечивает необходимую производитель­ность и гарантирует код без пропусков во всём температурном диапа­зоне. Пользователь может выбрать широкий диапазон изменения ам-
61
плитуды и смещения входного сигнала, а также его вид – униполярный или дифференциальный.
Встроенные усилители выборок и хранения выполняют решение двух задач: подачу полной шкалы входных сигналов на последова­тельный преобразователь и выборки однополярных сигналов. Пере­менные входные сигналы могут быть сдвинутыми на определённую заранее величину с помощью встроенной фиксирующей цепи.
9200 располагает встроенным программируемым источником
AD
опорного напряжения. Внешний источник опорного напряжения мо­жет потребоваться для снижения ошибок по постоянному току и тем­пературной стабильности.
Вход тактовой частоты используется для управления циклами пре­образования. Сигнал перегрузки показывает, что входной сигнал нахо­дится за пределами допустимой шкалы, при этом специальный бит по­казывает
знак перегрузки, означающий, где лежит входной сигнал, а
именно ниже или выше допустимого диапазона.
АЦП специфицированы как для индустриального (от –40 °С до +85 °С) так и коммерческого (от 0 °С до +70 °С) диапазона температур.
Основные параметры АЦП типа AD9200 сведены в табл. 2.3.
Таблица 2.3
Параметры АЦП типа AD9200
Разрешающая способность, бит 10 Частота выборок (макс.), kSPS 20 000 Каналы, шт. 1 Интерфейс обмена информацией SPI Диапазон измеряемого напряжения VIN, В от 0,5 до 2,5 Источник опорного напряжения V
DNL (макс.),+/- LSB 1 INL (макс.),+/- LSB 2
Ослабление сигнала SNR, дБ 56 Ослабление сигнала THD, дБ –58 Напряжение питания: AVDD, В от 2,7 до 5,5 Ток потребления ICC, мА 26,6 Мощность рассеивания PD, Вт 0,08 Диапазон температур TA, °C от –40 до 85 Тип корпуса SSOP-28
Внешний
REF
62
Далее представлены разработанный фрагмент кода функции записи и функции чтения данных для микросхемы аналого-цифрового преоб­разователя AD7708 на языке Си. При этом был использован последо­вательный интерфейс SPI.
Функция чтения регистра АЦП
//Вход: name_reg – имя регистра АЦП
//Выход: значение прочитанного регистра
unsigned char ReadRegADC ( unsigned char name_reg )
{
SELECT_ADC();// Выбор микросхемы
ExchangeBySPI(name_reg | READ);//выбор регистра для работы
name_reg=ExchangeBySPI(0X00);
return name_reg;
DESELECT_ADC();/Отключение микросхемы
}
Функция инициализации микросхемы АЦП
//Выход: TRUE – инициализация прошла успешно
// FALSE – ошибка инициализации
unsigned char Init_ADC( void )
{
const unsigned char b1=0x45,c1=0b00001111,d1=0b00000011; unsigned char a,b,c,d;
SELECT_ADC();// Выбор микросхемы
ExchangeBySPI(IO_CONTROL_R | WRITE);//выбор регистра для
//работы
ExchangeBySPI(0x00);//запись данных в регистр, т.е
. ничего //там не меняем – нам он не интерисует ExchangeBySPI(FILTER_R | WRITE);//выбор регистра для
//работы
63
ExchangeBySPI(0x45);//запись данных в регистр//0b01000101 ExchangeBySPI(ADC_CONTROL_R | WRITE);//выбор регистра //для работы
ExchangeBySPI(0b00001111);//запись данных в
// регистр//0b00001111 1 канал, униполяр, 2,56В
ExchangeBySPI(MODE_R | WRITE);//выбор регистра для
// работы – непрерывное преобразование ExchangeBySPI(0b00000011);//запись данных в регистр ­ DESELECT_ADC( );/Отключение микросхемы //read for control
SELECT_ADC();// Выбор микросхемы
ExchangeBySPI(IO_CONTROL_R | READ);//выбор регистра для //работы a=(unsigned char)ExchangeBySPI(0x00);//запись данных в регистр
ExchangeBySPI(FILTER_R | READ);//выбор регистра для работы
b=(unsigned char)ExchangeBySPI(0x00);//
запись данных в //регистр//0b01000101 ExchangeBySPI(ADC_CONTROL_R | READ);//выбор регистра
//для работы c=(unsigned char)ExchangeBySPI(0x00);//запись данных в //регистр//0b00001111 1 канал, униполяр, 2,56В ExchangeBySPI(MODE_R | READ);//выбор регистра для работы
//- непрерывное преобразование d=(unsigned char)ExchangeBySPI(0x00);//запись данных в ре-
гистр
DESELECT_ADC();//Отключение микросхемы if ( (b1==b) & (c1==c) & (d1==d) ) return 1;//проверка
// настройки }
64
2.4. Жидкокристаллические индикаторы
Жидкокристаллические индикаторы (ЖКИ) предназначены для
отображения текстовой и графической информации. Существует мно­жество различных ЖКИ, но наиболее простыми в освоении являются текстовые дисплеи на основе контроллера HD44780, которые стали де­факто стандартом на символьные дисплеи.
Аналоги этого контроллера или совместимые с ним по интерфейсу
и командному языку микросхемы выпускает множество фирм, среди которых Epson, Toshiba, Samsung, Philips, Sanyo личество фирм выпускают ЖКИ-модули на базе данных контроллеров. Такие модули можно встретить в следующих устройствах: измери­тельные приборы, медицинское оборудование, промышленное и тех­нологическое оборудование, офисная техника – принтеры, факсы, те­лефоны и другие.
Текстовые ЖКИ являются недорогим и удобным решением, позво-
ляющим сэкономить время и ресурсы
при разработке новых изделий. При этом обеспечивается отображение большого объёма информации при хорошей различимости и низком энергопотреблении. ЖКИ, осна­щённые задней подсветкой, позволяют эксплуатировать их в условиях с пониженной или нулевой освещённостью, а исполнение с расширен­ным диапазоном температур (–20 °С… +70 °С) – в сложных эксплуа­тационных условиях, в том числе переносной, полевой бортовой аппаратуре.
Контроллер HD44780 может управлять двумя строками по сорок символов в каждой при матрице 5 символы с матрицей 5
 10 точек. Сегодня можно приобрести ЖКИ со
 7 точек. Также поддерживаются
следующим количеством соотношений символов и строк: 8 16
2, 16 4, 20 1, 20 2, 20 4, 24 2, 40 2, 40 4
и другие.
Для соединения ЖКИ-модуля с управляющей системой использу­ется параллельная синхронная шина, насчитывающая восемь или че­тыре (выбирается программно) вывода данных DB0…DB7, вывод вы­бора операции R/W, вывод выбора регистра RS и вывод стробирова­ния/синхронизации Е. Необходимо обеспечить напряжение питания дисплея V
и отдельно драйвера V0.
CC
[4]. Еще большее ко-
и даже иногда в
2, 16 1,
65
На первом этапе необходимо подать на ЖКИ-модуль питание и до­биться от него признаков работоспособности. Схема включения моду­ля, рассчитанного на стандартный диапазон, показана на рис. 2.13. Подстроечный резистор R1 позволят плавно задавать напряжение драйвера, что приводит к изменению угла поворота жидких кристал­лов. Этим резистором можно отрегулировать фактическую контраст-
при некотором преимущественном угле наблюдения (снизу-
ность вверх или сверху-вниз).
Дисплеи на основе контроллера hd44780 характеризуются:
– встроенным знакосинтезатором, для вывода символа достаточно записать его код в соответствующую область (DDRAM) памяти кон- троллера;
– параллельным интерфейсом с четырьмя или восьмью линиями данных, с тремя управляющими линиями;
– возможностью загружать в память знакосинтезатора
(CGRAM)
произвольные символы.
Рис. 2.13. Схема подключения ЖКИ модуля
В табл. 2.4 представлены коды команд.
66
Коды команд текстового дисплея
Таблица 2.4
№
п/п
1 Очистить дисплей 0 0 0 0 0 0 0 1 2 Переход в начало экра-
3 Выбирается направле-
4 Выбирается режим
5 Команда сдвига курсо-
6 Определение парамет-
7 Присвоение счетчику
8 Присвоение счетчику
Название команд Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0 0 0 0 0 0 1 0
на
0 0 0 0 0 1 I/D S
ние сдвига курсора или экрана
0 0 0 0 1 D C B
отображения
0 0 0 1 S/C R/L – –
ра / экрана
0 0 1 DL N F – –
ров развертки и шири­ны шины данных
0 1 AG AG AG AG AG AG
АС адреса в области CGRAM
1 AD AD AD AD AD AD AD
АС адреса в области DDRAM
Функциональная схема дисплея на основе контроллера HD44780 показана на рис. 2.14. На схеме отмечены: регистр данных (DR), ре- гистр команд (IR), видеопамять (DDRAM), ОЗУ знакогенератора (CGRAM), счётчик адреса памяти (АС), флаг занятости контроллера и др.
Управление контроллером ведётся посредством интерфейса управ­ляющей системы. Основными объектами взаимодействия являются регистры DR и IR.
Выбор адресуемого регистра производится лини­ей RS, если RS = 0 адресуется регистр команд IR, иначе – регистр дан­ных DR. Данные через регистр DR в зависимости от текущего режима могут помещаться в видеопамять DDRAM или в ОЗУ знакогенератора
67
CGRAM по текущему адресу, указываемому счётчиком адреса АС. Ин­формация, попадающая в регистр IR, интерпретируется устройством выполнения команд как управляющая последовательность. Прочтение регистра IR возвращает в семи младших разрядах текущее значение счётчика АС, а в старшем разряде – флаг занятости (BF).
Видеопамять, имеющая общий объём 80 байтов, предназначена для
хранения кодов символов, отображённых
на ЖКИ. Видеопамять орга­низована в две строки по сорок символов в каждой. Эта привязка явля­ется жёсткой и не подлежит изменению, т.е. независимо от того, сколько строк будет иметь каждый конкретный ЖКИ-модуль – 80 или 20
 4, адресация видеопамяти всегда производится как к двум
1
строкам по 40 символов.
Рис. 2.14. Функциональная схема дисплея на основе контроллера HD44780
По сути, ЖКИ-модуль является устройством с динамической инди­кацией и циклически производит обновление информации. Контроллер HD44780 содержит набор внутренних флагов, определяющих режимы работы различных элементов контроллера. В табл. 2.5 приведены зна-
68
чения управляющих флагов непосредственно после подачи напряже­ния питания. Переопределение значений флагов производится специ­альными командами, записываемыми в регистр IR, при этом комбина­ции старших битов определяют группу флагов или команду, а младшие содержат собственно флаги.
Таблица 2.5
Флаги, управляющие работой контроллера HD44780
Бит Назначение
I/D
S
S/C
R/L
D/L
N
F D Наличие изображения: 0 – выключен, 1 – включен C Курсор в виде подчёркивания: 0 – выключен, 1 – включен
B
Режим смещения счётчика адреса АС, 0 – уменьшение, 1 – уве­личение
Флаг режима сдвига содержимого экрана. 0 – сдвиг экрана не производится, 1 – после записи в DDRAM очередного кода экран сдвигается в направлении, определённом флагом I/D: 0 – вправо, 1 – влево. При сдвиге не производится изменение содержимого DDRAM, изменяются только внутренние указатели расположе­ния видимого начала строки в DDRAM
Флаг-команда, производящая вместе с флагом R/L операцию сдвига содержимого экрана (так же, как и в предыдущем случае, без изменений в DDRAM) или курсора. Определяет объект сме­щения: 0 – сдвигается курсор, 1 – сдвигается экран
Флаг-команда, производящая вместе с флагом S/C операцию сдвига экрана или курсора. Уточняет направление сдвига: 0 – влево, 1 – вправо
Флаг, определяющий ширину шины данных: 0 – четыре разряда, 1 – восемь разрядов
Режим развертки изображения на ЖКИ: 0 – одна строка, 1 – две строки
Размер матрицы символов 0 5  8 точек, 1 – 5  10 точек
Курсор в виде мерцающего знакоместа: 0 – выключен, 1 – вклю­чен
Контроллер HD44780 поддерживает как операции записи, так и операции чтения. Чтение регистра DR приводит к загрузке содержимо­го DDRAM или CGRAM в зависимости от текущего режима, при этом курсор смещается на одну позицию, как и при записи. Чтение регистра IR возвращает восемь значащих разрядов, причем в семи
69
младших содержится текущее значение счетчика АС (семь разрядов, если адресуется DDRAM, и шесть, если CGRAM), а в старшем флаг за­нятости BF. Этот флаг имеет значение 1, когда контроллер занят, и 0, когда контроллер свободен. Необходимо учитывать, что большинство операций, выполняемых контроллером, занимают значительное время, около 40 мкс, а время выполнения некоторых операций доходит
до единиц миллисекунд, поэтому цикл ожидания снятия флага BF должен обязательно присутствовать в программах драйвера ЖКИ-модуля и предшествовать совершению любой операции (кроме операций про­верки флага BF).
После совершения операции записи или чтения DDRAM и появле­ния после нее признака готовности (BF = 0) прочитанное в том же цик­ле (вместе
с флагом BF) значение АС, вероятнее всего, не будет досто­верным, поскольку между появлением признака готовности и вычис­лением контроллером нового значения АС существует некоторый вре­менной интервал (составляющий около 4 мкс при тактовой частоте контроллера 270 кГц). Поэтому, если необходимо получить истинное значение АС, нужно совершить повторную операцию чтения спустя 4 мкс.
Вывод на экран символа производится записью его кода в ре­гистр DR. При этом символ размещается в DDRAM по текущему адре­су, указанному АС, а значение АС увеличивается или уменьшается на единицу.
Для того чтобы произвести переустановку курсора на нужную по­зицию, необходимо присвоить АС соответствующее значение. При этом нужно учитывать
такую особенность: когда производится после­довательная запись символов и в результате заполняется вся строка, курсор автоматически переходит на вторую строку, но если необходи­мо принудительно установить курсор, например на начало второй строки, то будет неверным присвоить АС значение $28(40), правиль­ным является значение $40(64). Значения адресов DDRAM в диапазоне
$28…3FF и $68…$7F являются
неопределенными и результаты рабо-
ты с ними могут быть непредсказуемыми.
Кроме того, контроллеры, устанавливаемые на ЖКИ-модули, могут иметь различные наборы символов, причем это зависит как от произ­водителя контроллера, так и от модификации набора символов: япон­ской, европейской, русской и французской. Существует как минимум два варианта набора символов: контроллер
фирмы Hitachi (H2 – по маркировке фирмы Powertip) и контроллер фирмы Epson (EH – по маркировке фирмы Powertip). Недостаток контроллеров фирмы
70
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]