Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Ядро микропроцессорной системы




 

Несмотря на непрерывное развитие и появление все новых и новых 16-и 32-разрядных микроконтроллеров и микропроцессоров, наибольшая доля мирового микропроцессорного рынка и по сей день остается за 8-разрядными устройствами.

В настоящее время среди всех 8-разрядных микроконтроллеров - семейство MCS-51 является несомненным чемпионом по количеству разновидностей и количеству компаний, выпускающих его модификации. Оно получило свое название от первого представителя этого семейства - микроконтроллера 8051, выпущенного в 1980 году на базе технологии HMOS. Удачный набор периферийных устройств, возможность гибкого выбора внешней или внутренней программной памяти и приемлемая цена обеспечили этому микроконтроллеру успех на рынке. С точки зрения технологии микроконтроллер 8051 являлся для своего времени очень сложным изделием - в кристалле было использовано 128 тыс. транзисторов, что в 4 раза превышало количество транзисторов в 16-разрядном микропроцессоре 8086.

Важную роль в достижении такой высокой популярности семейства 8051 сыграла открытая политика фирмы Intel, родоначальницы архитектуры, направленная на широкое распространение лицензий, на ядро 8051 среди большого количества ведущих полупроводниковых компаний мира.

В результате на сегодняшний день существует более 200 модификаций микроконтроллеров семейства 8051, выпускаемых почти 20-ю компаниями. Эти модификации включают в себя кристаллы с широчайшим спектром периферии: от простых 20-выводных устройств с одним таймером и 1К программной памяти до сложнейших 100-выводных кристаллов с 10 - разрядными АЦП, массивами таймеров-счетчиков, аппаратными 16-разрядными умножителями и 64К программной памяти на кристалле. Каждый год появляются все новые варианты представителей этого семейства. Основными направлениями развития являются: увеличение быстродействия (повышение тактовой частоты и переработка архитектуры), снижение напряжения питания и потребления, увеличение объема ОЗУ и FLASH памяти на кристалле с возможностью внутрисхемного программирования, введение в состав периферии микроконтроллера сложных устройств типа системы управления приводами, CAN и USB интерфейсов и т.п.

Все микроконтроллеры из семейства MCS-51 имеют общую систему команд. Наличие дополнительного оборудования влияет только на количество регистров специального назначения.

Основными производителями клонов 51-го семейства в мире являются фирмы Philips, Siemens, Intel, Atmel, Dallas, Temic, Oki, AMD, MHS, Gold Star, Winbond, Silicon Systems и ряд других.

В рамках СССР производство микроконтроллера 8051 осуществлялось в Киеве, Воронеже (1816ВЕ31/51, 1830ВЕ31/51), Минске (1834ВЕ31) и Новосибирске (1850ВЕ31).

Микроконтроллеры данного семейства выпускаются в PLCC, DIP и QFP корпусах и могут работать в следующих температурных диапазонах:

· коммерческий (0°С - +70°С);

· расширенный (-40°С - +85°С):

· для военного использования (-55°С - +125°С).

Примерами микроконтроллеров семейства MCS-51 с расширенными возможностями могут Расширения микроконтроллеров МС8-51/52 служить 8XC51FA, 8XC51GB, 80С152

Основой разрабатываемой МПС является микропроцессор, который и является модулем обработки входной информации и модулем формирования выходных данных. Для работы данного устройства на основе вышеизложенных требований наиболее оптимальным ядром МПС является микроконтроллер МК51 (КМ1816ВЕ51). Ниже приведена краткая характеристика данного устройства.

Микроконтроллер выполнен на основе высокоуровневой п-МОП технологий и выпускается в корпусе БИС, имеющем 40 внешних выводов. Цоколевка корпуса МК51 и наименования выводов показаны на Рис. 3.1. Для работы МК51 требуется, один источник электропитания +5 В. Через четыре программируемых порта ввода / вывода МК51 взаимодействует со средой в стандарте ТТЛ-схем с тремя состояниями выхода.

Корпус МК51 имеет два вывода для подключения кварцевого резонатора, четыре вывода для сигналов, управляющих режимом работы МК1 и восемь линий порта 3, которые могут быть запрограммированы пользователем на выполнение специализированных (альтернативных) функций обмена информацией со средой.

 

 

Рисунок 3.1 - Цоколевка корпуса MK51 и наименования выводов

· GND - потенциал земли;

· EA/VPP - отключение резидентной памяти программ / напряжение программирования (21В)

· VCC - основное напряжение питания +5В;

· ALE/PROG - строб адреса внешней памяти/для подачи уровня GND при программировании;

· PSEN - разрешение внешней памяти программ;

· RD - стробирующий сигнал при чтении из внешней памяти данных или устройства ввода / вывода;

· WR - стробирующий сигнал при записи во внешнюю память данных или устройства ввода / вывода;

· ТО - входной сигнал, опрашиваемый по командам условного перехода, так же используется при программировании;

· Т1 - входной сигнал, опрашиваемый по командам условного перехода, используется в качестве входа внутреннего счетчика внешних событий;

· INTO, INT1 - сигнал запроса прерывания;

· RST/VPD - сигнал общего сброса / вход питания при пониженном энергопотреблении;

· RXD и TXD - входы последовательного интерфейса;

· XTAL1, XTAL2 - входы подключения кварцевого резонатора;

· ПОРТ 1 - восьми битный квази двунаправленный порт ввода / вывода: каждый разряд порта может быть запрограммирован как на ввод, так и на вывод информации, независимо от состояния других разрядов;

· ПОРТ 2 - восьми битный квази двунаправленный порт, аналогичный Р1; кроме того, выводы этого порта используются для выдачи адресной информации при обращении к внешней памяти программ или данных (если используется 16-битовая адресация последней). Выводы порта используются при программировании 8751 для ввода в микроконтроллер старших разрядов адреса:

· ПОРТ 3 - восьми битный квази двунаправленный порт, аналогичный. Р1; кроме того, выводы этого порта могут выполнять ряд альтернативных функций, которые используются при работе таймеров, порта последовательного ввода-вывода, контроллера прерывании, и внешней памяти программ и данных;

• ПОРТ 0 - восьми битный двунаправленный порт ввода-вывода информации: при работе с внешними ОЗУ и ПЗУ по линиям порта в режиме временного мультиплексирования выдается адрес внешней памяти, после чего осуществляется передача или прием данных.

 

Основу структурной схемы МК51 (Рис. 3.2) образует внутренняя двунаправленная 8-битная шина, которая связывает между собой воя основные узлы и устройства: резидентную память, АЛУ, блок регистров специальных функций, устройство управления и порты ввода / вывода.

 

Рисунок 3.2 - Структурная схема МК51

 

Основу структурной схемы микроконтроллера (Рис. 3.2) образует внутренняя двунаправленная 8 - разрядная шина, которая связывает между собой основные узлы и устройства микроконтроллера: резидентную память программ (RPM), резидентную память данных (RDM), арифметико-логическое устройство (ALU), блок регистров специальных функций, устройство управления (CU), параллельные порты ввода / вывода (Р0 - РЗ), а также программируемые таймеры и последовательный порт.

Рассмотрим основные элементы структуры и особенности организации вычислительного процесса в МК51.

Арифметико-логическое устройство

-битное АЛУ может выполнять арифметические операции сложения, вычитания, умножения и деления; логические операции И, ИЛИ, исключающее ИЛИ, а также операции циклического сдвига, сброса, инвертирования и т.п. В АЛУ имеются программно недоступные регистры Т1 и Т2, предназначенные для временного хранения операндов, схема десятичной коррекции и схема формирования признаков.

Резидентная память

Память программ и память данных, размещенные на кристалле МК511 физически и логически разделены, имеют различные механизмы адресации, работают под управлением различных сигналов и выполняют различные функции.

Память программ (ПЗУ или СППЗУ) имеет емкость 4 Кбайта и предназначена для хранения команд, констант, управляющих слов инициализации, таблиц перекодировки входных и выходных переменных и т. PI 111 имеет 16-битную шину адреса, через которую обеспечивается доступ из счетчика команд или из регистра-указателя данных. Последний выполняет функции базового регистра при косвенных переходах по программе или используется в командах, оперирующих с таблицами.

Память данных (ОЗУ) предназначена для хранения переменных в процессе выполнения прикладной программы, адресуется одним байтом и имеет емкость 128 байт. Кроме того, к адресному пространству РПД примыкают адреса регистров специальных функций (РСФ). Память программ, так же как и память данных, может быть расширена до 64 Кбайт путем подключения внешних БИС.

Устройство управления и синхронизации

Кварцевый резонатор, подключаемый к внешним выводам XI и Х2 корпуса МК51, управляет работой внутреннего генератора, который в свою очередь формирует сигналы синхронизации.

Порты ввода / вывода информации

Все четыре порта МК51 предназначены для ввода или вывода информации побайтно. Схемотехника портов ввода / вывода МК51 для одного бита, показана на рис. 3.3 (порты 1 и 2 имеют примерно такую же структуру, как и порт 3). Каждый порт содержит управляемые регистр-защелку, входной буфер и выходной драйвер.

Все выводы порта 3 могут быть использованы для реализации альтернативных функций. Альтернативные функции могут быть задействованы путем записи 1 в соответствующие биты регистра-защелки (РЗ.О-Р3.7) порта 3.

Порт 0 является двунаправленным, а порты 1, 2 и 3 - квазидвунаправленными. Каждая линия портов может быть использована независимо для ввода или вывода информации. Для того чтобы некоторая линия порта использовалась для ввода, в D-триггер регистра-защелки порта должна быть записана 1, которая закрывает МОП-транзистор выходной цепи.

По сигналу СБР в регистры-защелки всех портов автоматически записываются единицы, настраивающие их тем самым на режим ввода.

Все порты могут быть использованы для организации ввода / вывода информации по двунаправленным линиям передачи. Однако порты 0 и 2 не могут быть использованы для этой цели в случае, если МК-система имеет внешнюю память, связь с которой организуется через общую разделяемую шину адреса / данных, работающую в режиме временного мультиплексирования.


Рисунок 3.3 - Схемотехника портов ввода / вывода МК51 а) порт 0; б) порт 3

 

Модуль ввода информации

 

Данный модуль представлен двумя кнопками-переключателями и кнопкой с фиксацией. Для текущего проекта целесообразно использовать кнопочные переключатели производства стран СНГ, так как они имеют высокую надежность, и низкую себестоимость.

Модули подсчета числа перевезенных пассажиров и сброса информационного табло имеют аналогичные устройства. Устройство подсчета числа пассажиров монтируется непосредственно под резиновой накладкой второй ступени транспортного средства. Таким устройством является кнопка-переключатель ПКН-150-1 производства РФ (см. приложение А, рис. 3.4). Для детального описания данного устройства приведем основные параметры, необходимые для разрабатываемой МПС (табл. 3.4).

Функционирование данной кнопки-переключателя заключается в замыкании контактной группы 1 и 2 с группой 3 и 4 при нажатии на кнопку. После нажатия через данное устройство проходит электрический ток напряжением +5В. При отпускании данного устройства, кнопка возвращается в первоначальное состояние и тем самым размыкает приведенные выше контактные группы.

Аналогичный принцип поддерживается и устройством управления сброса информационного табло, предоставляющего информацию о количестве перевезенных пассажиров. Данная кнопка располагается на панели управления ТС и приводится в действие непосредственно водителем транспортного средства.

 

Таблица 3.4 - Технические параметры ПКН-150-1

Функциональное назначение Микропереключатель
Количество контактных групп 1
Количество контактов в контактной группе 4
Алгоритм работы OFF - (ON)
Сопротивление изолятора не менее, МОм 1000
Сопротивление контактов не более, Ом 0,1
Рабочее напряжение, В 4,9
Рабочий поток, А 0,1
Рабочая температура, С -50…55

 

Модуль вывода информации

 

В основе данного модуля являются светодиоды. В светодиодах используется свойство р-n перехода излучать свет в видимой части спектра при протекании через него прямого тока (1пр=5-20мА, и пр=2-ЗВ). Варианты включения индикаторов на Рис. 3.7.

Для отображения цифровой информации наибольшее распространение получили семисегментные индикаторы, в которых изображение цифры составляют из семи линейных светодиодных сегментов расположенных в виде цифры 8 (см. Приложение А, Рис. 3.6 в).

На основе светодиодов и семисегментных индикаторов строятся подсистемы отображения информации. При построении подсистем отображения информации различают два подхода - динамическая и статическая схема построения подсистемы индикации.

В разрабатываемой МПС в основу принята статическая индикация. Статическая индикация заключается в постоянной подсветке индикаторов HLl-n от одного источника информации (см. Приложение 1, Рис. 3.6, б). В такой системе каждый индикатор HLl-n подключен через собственный дешифратор DCl-n и регистр-защелку RGl-n к шине данных, выборка регистров RGl-n производится при помощи селектора адреса С А. Аппаратные затраты при такой организации составляют n пар регистр + дешифратор при n десятичных разрядов индикатора.

Для отображения полной информации о числе перевезенных пассажиров необходимо использовать минимум четыре разряда статической индикации, т.е. светодиодный индикатор должен состоять из четырёх семисегментных индикаторов HL1, HL2, HL3 и HL4 (см. Приложение 1, Рис. 3.6, б).

 

Рисунок 3.7 - Включение единичных индикаторов


Принципиальная схема МПС

 

Сопоставляя информационные данные модулей и их принципиальные устройства, составляется принципиальная схема МПС. Данная схема представлена в приложении Б, рис. 3.8. 4. КАРАТ ПАМЯТИ МПС

 


Форматы данных

Данный микроконтроллер имеет встроенную (резидентную) и внешнюю память программ и данных. Резидентная память программ (RPM) имеет объем 4 Кбайт, резидентная память данных (RDM) - 128 байт. В зависимости от модификации микроконтроллера RPM выполняется в виде масочного ПЗУ, однократно программируемого либо репрограммируемого ПЗУ.

При необходимости пользователь может расширять память программ установкой внешнего ПЗУ.

Доступ к внутреннему или внешнему ПЗУ определяется значением сигнала на выводе ЕА (External Access): ЕА = VCC (напряжение питания) - доступ к внутреннему ПЗУ; ЕА = VSS (потенциал земли) - доступ к внешнему ПЗУ.

Внешняя память программ и данных может составлять по 64 Кбайт и адресоваться с помощью портов РО и Р2. На рис. 4.1 представлена карта памяти микроконтроллера Intel 8051.

 

Рисунок 4.1 - карта памяти микроконтроллера Intel 805


Строб чтения внешнего ПЗУ - PSEN (Program Store Enable) генерируется при обращении к внешней памяти программ и является неактивным во время обращения к ПЗУ, расположенному на кристалле.

Область нижних адресов памяти программ (рис. 4.2) используется системой прерываний. Архитектура микросхемы INTEL 8051 обеспечивает поддержку пяти источников прерываний. Адреса, по которым передается управление по прерыванию, называются векторами прерывания.

 

Рисунок 4.2 - Карта нижней области программной памяти

 

Адреса векторов прерываний расположены с интервалом в 8 байт:

- 0003Н внешнее прерывание 0 (External Interrupt 0) - вывод INT 0;

- 000BH прерывание 0 таймера 0 (по флагу переполнения таймера - TF0);

- 0013Н внешнее прерывание 1 (External Interrupt 1) - вывод INT 1;

- 001ВН прерывание 0 таймера 1 (по флагу переполнения таймера - TF1);

0023Н прерывание от последовательного порта (Serial Interrupt = Receive Interrupt or Transmit Interrupt); и так далее.

Память данных отделена от памяти программ. В этой области возможна адресация 64К внешнего ОЗУ. При обращении к внешней памяти данных ЦП микроконтроллера генерирует соответствующие сигналы чтения (RD) или записи (W R), взаимодействие с внутренней памятью данных осуществляется на командном уровне, при этом сигналы RD и W R не вырабатываются.

Внешняя память программ и внешняя память данных могут комбинироваться путем Совмещения сигналов RD и PSEN по схеме «логического И» для получения строба внешней памяти (программ/ данных)

Нижние 128 байт внутренней памяти данных (lower 128) присутствуют на всех кристаллах MCS-51 и показаны на рис. 4.3.

Первые 32 байта представляют собой 4 банка (Register Bank) по 8 регистров (R7…R0). Регистры R0 и R1 в любом из банков могут использоваться в качестве регистров косвенного адреса.

Следующие за регистровыми банками 16 байт образуют блок побитно-адресуемого пространства. Набор инструкций MCS-51 содержит широкий выбор операций над битами, а 128 бит в этом блоке адресуются прямо и адреса имеют значения от ООН до 7FH.

Все байты в нижней 128-байтной половине памяти могут адресоваться как прямо, так и косвенно.

Верхняя 128 байтная половина памяти ОЗУ (upper 128) в микросхеме I-8051 отсутствует.

 

Побайтно-адресуемая область ОЗУ (direct, indirect)

7Fн 7Ен 7Dн 7Сн 7Вн 7Ан 79н 78н
77н 76н 75н 74н 73н 72н 71н 70н
 

Побайтно-адресуемая область ОЗУ (direct)

 
0Fн 0Eн ODн 0Cн 0Bн 0Aн 09н 08н
07н 06н O5н 04н 03н 02н 01н 00н

RB3

RB2

RB1

* SP после RESET RB0 (R7+R0)

Рисунок 4.3 - Нижние 128 байт внутреннего ОЗУ

 


Разработка программы МПС

Блок-схема программы МПС

 

Разрабатываемая МПС состоит из трёх основных модулей (см. раздел 2). Данные модули являются базовыми для разработки ПО МПС и на их основе строится блок-схема ПО. Исходя из пункта 2 первым блоком блок-схемы является модуль ввода информации. За нам следует модуль обработки и модуль вывода информации. Представим данное решение в виде схемы, представленной на рисунке 5.1

 

Рис. 5.1 - Блок-схема МПС по модулям

 

Далее рассмотрим назначение каждого из модулей:

Модуль ввода информации представлен кнопками-переключателями и кнопкой с фиксацией. Данный модуль предназначен для ввода данных о входящих пассажирах посредствам нажатий на кнопку последних (инкремент регистра подсчёта пассажиров) и осуществления операций по сбросу информации и выключению МПС

Модуль обработки информации представляет собой непосредственно МК. Данный модуль согласно разрабатываемому ПО ведёт выборку из значений последовательных сигналов, поступающих от модуля ввода, а также математические операции для подсчёта числа пассажиров и формирование входных данных для модуля вывода информации.

Модуль вывода информации представлен статическим индикатором. Данный модуль служит для вывода на цифровой дисплей индикатора числа пассажиров, использующих данное ТС. Он принимает данные от модуля обработки информации и преобразует их из 16-ричного вида в десятичный.

 

Программа МПС

 

Разработка ПО МПС ведётся на языке программирования высокого уровня С++. Данное решение было обосновано тем, что частот поступления входной информации не превышает 2 раз в секунду и Микроконтроллер способен обработать данную информацию задолго до поступления новой. Ниже приведены особенности реализации программных модулей представленных в разделе 5.1.

Модуль ввода

Функциональное описание данного модуля приведено в разделе 2.1. Его принципиальная схема представлена в приложении А, рис. 3.4 и рис. 3.5).

Данный модуль должен иметь собственные регистры работы с МК в зависимости от функционального назначения каждый из частей модуля (подсчёт пассажиров, сброс и т.д.). А также отдельный регистр для непосредственного учёта рабочих циклов данного устройства текущего модуля (нажатие на кнопку-переключатель). Работа в реальном времени текущего модуля заключается в опросе модулем обработки информации на срабатывание одного из устройств модуля ввода. Блок схема данного процесса представлена на рисунке 5.2.

Начальным этапом работы данного модуля является сброс всех флагов и регистров, задействованных в работе МПС. Далее ведётся опрос устройств ввода информации, на которые поступает входная информация, т.е. прохождение пассажиров по ступенькам ТС. Необходимо осуществлять проверку на нажатие первой кнопки и свободное положение кнопки второй ступени. Это следует из того, что пассажир при входе наступает на первую ступень ТС, а после на вторую. Далее следует заземление данного вывода МК (см. раздел 2.1).При наступлении данного события необходимо установить флаг входящего пассажира в 1. Данный регистр устанавливается в 1 только во время входа одного пассажира, далее происходит его сброс и вновь установка в 1 при прохождении нового пассажира. Этот регистр выбран для осуществления только подсчёта числа входящих пассажиров. После происходит установка флага входа в 2. Далее производится проверка на совместное совпадение событий флага входящего пассажира в 2, отпускание первой ступени ТС и нажатие на вторую ступень, т.е. пассажир вошел в ТС.

 


Рисунок 5.2 - Блок-схема ункционирования модуля вводаМодуль обработки


Данный модуль выполняет действия сложения, после - сброс флага входящих пассажиров и при числе пассажиров более 99 человек - происходит переход на старший разряд статического индикатора. Блок-схема данного модуля представлена на рисунке 5.3.

 

 

Рисунок 5.3 - Блок схема функционирования модуля обработки информации

 

Модуль вывода

Назначением данного модуля заключается в переводе шестнадцатеричной системы чисел МК для индикации на статическом индикаторе в десятичную систему. Кроме того, основным назначением его является индикация полученных данных от модуля обработки информации. В случае перебора пассажиров свыше 99 человек происходит переход из младших разрядов статического индикатора в старшую. Блок-схема данного модуля представлена на рисунке 5.4.

 

Рисунок 5.4 - Блок схема функционирования модуля вывода информации


Программа МПС приведена в приложении В.

 

 


Заключение

 

После выполнения всех требований и заданий, приведённых в разделе 1, был произведён анализ задачи и блок-схема МПС. Далее была разработана функциональная схема и приведена по трём основным модулям. Каждый из данных модулей описан как в физическом представлении, так и в отношении обработки информации. На основе данной информации был произведён выбор функциональных частей МПС и составлена функциональная схема всего устройства, приведённая в приложении. Для проектирования программного обеспечения была составлена отдельная функция и блок-схема для каждого из функциональных модулей. На основе данных блок-схем на языке программирования высокого уровня С++ было составлено ПО для функционирования всего устройства. Погрешность составляет лишь 4-8%.


Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...