Проектирование микропроцессорной системы на основе микроконтроллера К1816ВЕ31

Автор: Пользователь скрыл имя, 10 Апреля 2011 в 01:09, реферат

Краткое описание

За последние годы в микроэлектронике бурное развитие получило направление, связанное с выпуском микроконтроллеров, которые предназначены для «интеллектуализации» оборудования различного назначения. Микроконтроллеры представляют собой приборы, конструктивно выполненные в виде БИС и включающие в себя все основные части «голой» микроЭВМ: микропроцессор, память программ и память данных, а также программируемые интерфейсные схемы для связи с внешней средой.

Файлы: 1 файл

Проектирование микропроцессорной системы на основе микроконтроллера К1816ВЕ31.docx

— 166.02 Кб (Скачать)

     При любом обращении к внешней  памяти устройство управления КР1816ВЕ31 загружает в регистр защелку  порта 0 код 0FFH, стирая тем самым информацию, которая могла в нем храниться.

     Доступ  к ВПП возможен при выполнении двух условий: либо на вход отключения резидентной памяти программ ( ) подается активный сигнал, либо содержимое счетчика команд превышает значение 0FFFH. Наличие сигнала необходимо для обеспечения доступа к младшим 4К адресам адресного пространства ВПП при использовании КР1816ВЕ31.

     Основная  функция сигнала САВП – обеспечить временное согласование передачи из порта 0 на внешний регистр младшего байта адреса в цикле чтения из ВПП. Сигнал САВП приобретает значение 1 дважды в каждом машинном цикле. Это происходит даже тогда, когда в цикле выборки нет обращения к ВПП. Доступ к ВПД возможен только в том случае, если сигнал САВП отсутствует. Первый сигнал САВП во втором машинном цикле команды MOVX блокируется. Следовательно, в любой МК-системе, не использующей ВПД, сигнал САВП генерируется с постоянной частотой, равной 1/16 частоты резонатора, и может быть использован для синхронизации внешних устройств или для реализации различных временны функций.

     При обращении к РПП сигнал не генерируется, а при обращении к ВПП он выполняет функцию строб-сигнала чтения. Полный цикл чтения ВПД, включая установку и снятия сигнала , занимает 12 периодов резонатора.

     Особый  режим работы КР1816ВЕ31. Содержимое памяти программ КР1816ВЕ31 заполняется единожды на этапе разработки МК-системы и не может быть модифицировано в завершенном изделии. По этой причине микроконтроллеры не являются машинами классической «фон-неймановской» архитектуры. Оперативная память данных не может быть использована для хранения кодов программы. Эта особенность архитектуры МК объясняется тем, что в большинстве применений МК требуется наличие одной неизменяемой прикладной программы, хранимой в ПЗУ, наличие ОЗУ небольшой емкости для временного хранения переменных и эффективных, а следовательно, разных методов адресации памяти программ и памяти данных.

     Микроконтроллер КР1816ВЕ31 не имеет внутренней памяти программ и поэтому пользуется только внешней памятью, которую можно  модифицировать путем перепрожига внешней микросхемы ПЗУ.

     Тип микропроцессора К1816ВЕ31. Объем внешнего ОЗУ – 4Кбайт. В данном микропроцессоре (в соответствии со структурой команд) внешняя адресация памяти данных позволяет адресовать 64Кбай внешней  памяти. Для разработки подсистемы памяти выбираем микросхему в соответствии с перечнем элементов, приведенных  в приложении Г.

     Разработка  подсистемы временных  характеристик

     Регистры  специальных функций. Регистры с символическими именами IP, IE, TMOD, TCON, SCON и PCON используются для фиксации и программного изменения управляющих бит и бит состояния схемы прерывания, таймера / счетчика, приемопередатчика последовательного порта и для управления мощностью электропитания КР1816ВЕ31

     Последовательный  порт К1816ВЕ31 может работать в четырех  различных режимах.

     Режим 0. В этом режиме информация и передается и принимается через внешний вывод входа приемника (RXD). Принимаются или передаются восемь бит данных. Через внешний вывод выхода передатчика (ТXD), выдаются импульсы сдвига, которые сопровождают каждый бит. Частота передачи бита информации равна 1/12 частоты резонатора.

     Режим 1. В этом режиме передаются через ТXD или из RXD принимаются десять бит информации: старт-бит (0), восемь бит данных и стоп-бит. Скорость приема / передачи – величина переменная и задается таймером.

     Режим 2. В этом режиме передаются через ТXD или из RXD принимаются одиннадцать бит информации: старт-бит, восемь бит данных, программируемый девятый бит и стоп-бит. При передаче девятый бит данных может принимать значение 0 или 1, или, например, для повышения достоверности передачи путем контроля по четности в него может быть помещено значение признака паритета из слова состояния программы (PSW.0). Частота приема / передачи выбирается программой и может быть равна либо 1/32, либо 1/64 частоты резонатора в зависимости от управляющего бита SMOD.

     Режим 3. Совпадает с режимом 2 во всех деталях, за исключением частоты приема / передачи, которая является величиной переменной и задается таймером.

     Управление  режимом работы УАПП осуществляется через специальный регистр SCON. Этот регистр содержит не только управляющие биты, определяющие режим работы последовательного порта, но и девятый бит принимаемых или передаваемых (RB8 и TB8) и биты прерывания приемопередатчика (RI и TI).

     Прикладная  программа путем загрузки в старшие  биты спецрегистра SCON 2-битного кода определяет режим работы УАПП. Во всех четырех режимах работы передача из УАПП инициируется любой командой, в которой буферный регистр SBUF указан как получатель байта. Прием в УАПП в режиме 0 осуществляется при условии, что RI=0 и RЕN=1. В режиме 1,2,3 прием начинается с приходом старт-бит, если RЕN=1.

     В бите ТВ8 программно устанавливается  значение девятого бита данных, который  будет передан в режиме 2 или 3. В бите RВ8 фиксируется в режимах 2 и 3 девятый принимаемый бит данных. В режиме 1, если SМ2=0, в бит RВ8 заносится стоп-бит. В режиме 0 бит RВ8 не используется.

     Флаг  прерывания передатчика TI устанавливается аппаратно в конце периода передачи восьмого бита в режиме 0 и в начале передачи стоп-бита в режиме 1,2 и 3. Соответствующая подпрограмма обслуживания должна сбрасывать бит ТI.

     Флаг  прерывания приемника RI устанавливается аппаратно в конце периода передачи восьмого бита в режиме 0 и в середине приема стоп-бита в режиме 1,2 и 3. Подпрограмма обслуживания прерывания должна сбрасывать бит RI.

     Скорость  приема / передачи информации по линии связи определяется в начале работы над курсовым проектом и равна 600 бод.

     Программируемый таймер находится внутри микроконтроллера К1816ВЕ31.

     Таймер/счетчик. В составе средств КР1816ВЕ31 имеются регистровые пары с символическими именами TH0, TL0 и TH1, TL1, на основе которых функционируют два независимых программно-управляемых 16-битных таймера / счетчика событий.

     Два программируемых 16-битных таймера / счетчика (Т/С0 и Т/С1) могут быть использованы в качестве таймеров или счетчиков внешних событий. При работе в качестве таймера содержимое Т/С инкрементируется в каждом машинном цикле, т.е. через каждые 12 периодов резонатора. При работе в качестве счетчика содержимое Т/С инкрементируется под воздействием перехода из 1 в 0 внешнего входного сигнала, подаваемого на соответствующий (Т0, Т1) вывод К1816ВЕ31. Опрос значения внешнего входного сигнала выполняется в момент времени S5P2 каждого машинного цикла. Содержимое счетчика будет увеличено на 1 в том случае, если в предыдущем цикле был считан входной сигнал высокого уровня (1), а в следующем – сигнал низкого уровня (0). Новое значение счетчика будет сформировано в момент S3P1 в цикле в следующем за тем, в котором был обнаружен переход сигнала из 1 в 0. Так как на распознавание перехода требуется два машинных цикла, то максимальная частота подсчета входных сигналов равна 1/24 частоты резонатора. На длительность периода входных сигналов ограничений сверху нет. Для гарантированного прочтения входного считаемого сигнала он должен удерживать значение 1 как минимум в течении одного машинного цикла К1816ВЕ31.

     Для управления режимами работы Т/С и  для организации взаимодействия таймеров с системой прерывания используются два регистра специальных функций (РРТС и РУСТ). Как следует из описания управляющих бит РРТС, для обоих  Т/С режимы работы 0, 1 и 2 одинаковы. Режимы 3 для Т/С0 и Т/С1 различны. Рассмотрим кратко работу Т/С во всех четырех  режимах.

     Режим 0. Перевод любого Т/С в режим 0 делает его похожим на таймер МК48 (8-битный счетчик), на вход которого подключен 5-битный предделитель частоты на 32. В этом режиме таймерный регистр имеет разрядность 13 бит. При переходе из состояния» все единицы» в состояние «все нули» устанавливается флаг прерывания от таймера TF1. Входной синхросигнал таймера 1 разрешен (поступает на вход Т/С), когда управляющий бит TR1 установлен в 1 и либо управляющий бит GATE (блокировка) равен 0, либо выход запроса прерывания поступает уровень 1.

     В таблице 8 приведены регистры режима работы таймера / счетчика, а в таблице 9 регистры управления / статуса таймера.

     Установка бита GATE в 1 позволяет использовать таймер для измерения длительности импульсного сигнала, подаваемого на вход запроса прерывания. 

     Таблица 4.2.1

    
Символ Позиция Имя и назначение
GATE TMOD.7 для T/С1 и TMOD.3 для T/C0 Управление  блокировкой. Если бит установлен, то таймер / счетчик «х» разрешен до тех пор, пока на входе «INTx» высокий уровень и бит управления «TRx» установлен. Если бит сброшен, то Т/С разрешается, как только бит управления «TRx» устанавливается.
TMOD.6 для T/С1 и TMOD.2 для T/C0 Бит выбора режима таймера / счетчика событий. Если бит сброшен, то работает таймер от внутреннего источника сигналов синхронизации. Если бит установлен, то работает счетчик от внешних сигналов на входе «Тх».
М1 TMOD.5 для T/С1 и TMOD.1 для T/C0 Режим работы (см. примечание).
М0 TMOD.4 для T/С1 и TMOD.0 для T/C0  
М1 М0 Режим работы
0 0 Таймер МК48. «TLx» работает как 5-битный предделитель.
0 1 16-битный таймер / счетчик. «THx» и «TLx» включены последовательно.
1 0 8-битный автоперезагружаемый таймер / счетчик. «THx» хранит значение, которое должно быть перезагружено в «TLx» каждый раз по переполнению.
1 1 Таймер/счетчик1 останавливается. Таймер/счетчик0: TL0 работает как 8-битный таймер / счетчик, и его режим определяется управляющими битами таймера0.TH0 работает только как 8-битный таймер, и его режим определяется управляющими битами таймера1.
 

     Режим 1. Работа любого Т/С в режиме 1 такая же, как и в режиме 0, за исключением того, что таймерный регистр имеет разрядность 16 бит.

     Режим 2. В режиме 2 работа организована таким образом, что переполнение (переход из состояния» все единицы» в состояние «все нули») 8-битного счетчика TL1 приводит не только к установке флага TF1, но и автоматически перезагружает в TL1 содержимое старшего байта (TH1) таймерного регистра, которое предварительно было задано программным путем.

     Перезагрузка  оставляет содержимое TH1 неизменным. В режиме 2 Т/С0 и Т/С1 работают совершенно одинаково.

     Режим 3. В режиме 3 Т/С0 и Т/С1 работают по разному. Т/С 1 сохраняет неизменным свое текущее содержимое. Иными словами, эффект такой же как и при сбросе управляющего бита TR1 в ноль.

     В режиме 3 TL0 и TH0 функционируют как два независимых 8-битных счетчика. Работу TL0 определяет управляющие биты Т/С 0 ( , GATE, TR0), входной сигнал и флаг переполнения TF0. Работу ТН0, который может выполнять только функции таймера (подсчет машинных циклов МК), определяет управляющий бит TR1. При этом ТН0 использует флаг переполнения TF1.

     Разработка  подсистемы связи с центральной ЭВМ

     Проектируемое устройство должно выдавать содержимое памяти в центральную ЭВМ, а также  принимать информацию от центральной  ЭВМ.

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

     В состав УАПП, называемого часто последовательным портом, входят принимающий и передающий сдвигающий регистры, а также специальный  буферный регистр (SBUF) приемопередатчика. Запись байта в буфер приводит к автоматической переписи байта в сдвигающий регистр передатчика и инициирует начало передачи байта. Наличие буферного регистра приемника позволяет совмещать операцию чтения ранее принятого байта с приемом очередного байта. Если к моменту окончания приема байта предыдущий байт не был считан из SBUF, то он будет потерян.

Информация о работе Проектирование микропроцессорной системы на основе микроконтроллера К1816ВЕ31