Рефераты. Организация обмена информацией между микроконтроллером семейства MCS-51 фирмы Intel и персональным компьютером p>2. РАЗРАБОТКА ВОПРОСОВ АППАРАТНОГО И ПРОГРАММНОГО СОПРЯЖЕНИЯ

2.1 Аппаратное сопряжение ПК и микроконтроллера

Для решения задачи сопряжения ПК и микроконтроллера было решено использовать интерфейс RS-232C.

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

Последовательный интерфейс микроконтроллера МК-51 может работать в следующих четырех режимах: o Режим 0. Информация передается и принимается через вход RxD приемника (вывод P3.0). Через выход передатчика TxD (вывод P3.1) выдаются импульсы синхронизации, стробирующие каждый передаваемый или принимаемый бит информации. Формат посылки – 8 бит. Частота приема и передачи – тактовая частота микроконтроллера. o Режим 1. Информация передается через выход передатчика TxD, а принимается через вход приемника RxD. Формат посылки – 10 бит: старт-бит (ноль), восемь бит данных, программируемый девятый бит и стоп-бит (единица). Частота приема и передачи задается таймером/счетчиком 1. o Режим 2. Информация передается через выход передатчика TxD, а принимается через вход приемника RxD. Формат посылки – 11 бит: старт-бит (ноль), восемь бит данных, программируемый девятый бит и

2 стоп-бита (единицы). Передаваемый девятый бит данных принимает значение бита ТВ8 из регистра специальных функций SCON. Бит ТВ8 в регистре SCON может быть программно установлен в «0» или в «1», или в него, к примеру, можно поместить значение бита Р из регистра

PSW для повышения достоверности принимаемой информации (контроль по паритету). При приеме девятый бит данных принятой посылки поступает в бит RB8 регистра SCON. Частота приема и передачи в режиме 2 задается программно и может быть равна тактовой частоте микроконтроллера деленной на 32 или на 64. o Режим 3. Режим 3 полностью идентичен режиму 2 за исключением частоты приема и передачи, которая в режиме 3 задается таймером/счетчиком 1.

Для реализации обмена информацией между ПК и микроконтроллером наиболее удобным является режим 2, т.к. для работы в этом режиме не требуется таймер/счетчик. Этот режим полностью удовлетворяет предъявленным требованиям.

2.1.1 Скорость приема/передачи

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

Частота передачи определяется выражением: f=(2SMOD/64)fрез.

Иными словами, при SMOD=0 частота передачи равна (1/64)fрез, а при
SMOD=1 равна (1/32)fрез.

Скорость приема/передачи должна быть кратна 115,2 Кбод [6].

Исходя из вышеизложенного, выберем частоту приема данных при SMOD=1.
Если fрез=1,8432 МГц, тогда частота приема данных будет 57,6 КБод.

Другие значения частот кварца могут быть выбраны из таблиц в приложении 1 и приложении 2.

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

Формат принимаемых и передаваемых данных почти полностью описан режимом 2 работы последовательного интерфейса.

Формат должен состоять из 11 бит:

. стартовый бит – ноль;

. восемь бит данных;

. девятый бит – контроль по паритету, для повышения достоверности принимаемой информации;

. два стоповых бита – единицы.

2.1.3 Разработка схемы подключения микроконтроллера

При сопряжении интерфейса RS-232 со входами последовательного интерфейса микроконтроллера MCS-51, необходимо обеспечить согласование уровней сигналов. Стандартный уровень сигналов RS-232C – +12 и –12 В.
Стандартный уровень сигналов асинхронного интерфейса микроконтроллера MCS-
51 – +5 В.

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

Приемники и передатчики выполненные на дискретных элементах имеют ряд недостатков:

. большие массогабаритные характеристики;

. высокая потребляемая мощность;

. недостаточная надежность;

. необходимость в дополнительных источниках питания;

. стоимость.

Рис. 1. Схема подключения микроконтроллера MCS-51 фирмы Intel к портам персонального компьютера.

Исходя из этих соображений, для организации сопряжения уровней портов
ПК и микроконтроллера можно воспользоваться микросхемой ADM202 фирмы
Analog Devices. Данная микросхема позволяет согласовать уровни сигналов, не требуя дополнительных источников питания [4].

Микроконтроллер принимает данные через вход приемника (вывод P3.0), а передает данные через выход передатчика (вывод P3.1). Микроконтроллер может запретить прием данных из ПК с помощью сигналов на выводе Р2.6. Это необходимо для сигнализации ПК о приеме ошибочных данных. В свою очередь ПК может запретить передачу данных из микроконтроллера с помощью сигналов на выводе Р2.7.

2.1.4 Выбор источника питания

В зависимости от места установки, источником питания может служить либо блок питания ПК, либо отдельный блок питания, специально предназначенный для данной установки. В связи с тем, что данную установку планируется использовать в компьютерном классе, наиболее оптимальным вариантом является использование блока питания ПК. Напряжение источника питания +5V, необходимое для лабораторной установки, можно взять с внешнего разъема клавиатуры. Подключение контактов этого разъема представлено на рисунке 2.

Рис. 2. Разъем клавиатуры персонального компьютера.

Реализация подключения потребует изготовления специального переходного кабеля, входящего в состав лабораторной установки.

2.2 Подключение внешней памяти программ

Как уже отмечалось ранее, для организации обмена информацией между ПК и микроконтроллером целесообразно использовать в качестве внешней памяти программ ОЗУ. ОЗУ позволит быстро и многократно перепрограммировать микроконтроллер, что позволит использовать его как отладочный модуль, или как часто перепрограммируемое устройство управления (например, для управления различными лабораторными установками).

В качестве микросхемы ОЗУ можно использовать микросхему КР537РУ8.
Объем памяти данной микросхемы составляет 2К. В связи с тем, что данная установка планируется как УМК в курсе «Микропроцессоры», то этого объема памяти вполне достаточно для размещения программы пользователя, т.к. программы, реализуемые в процессе лабораторных работ, как правило не превышают 100 команд. Объем таких программ не превышает 300 байт.

При записи программы пользователя в память программ, обращение к ОЗУ осуществляется как к памяти данных. Во время работы программы, как к памяти программ.

Рис. 3. Схема подключения внешней памяти программ к микроконтроллеру.

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

2.3 Программное сопряжение микроконтроллера и ПК

2.3.1 Начальная установка MCS-51

Инициализация (сброс) микросхемы осуществляется подачей сигнала RST
(высокий уровень напряжения) при подключенном кварце. Вход RST – внутренний триггер Шмидта. Состояние RST проверяется в фазе S5P2 каждого машинного цикла. Пока уровень RST высокий, ALE и PME тоже имеют высокий уровень. Их установка происходит после установки «0» на RST. Внутренний алгоритм при подаче сигнала «СБРОС» производит следующие действия:

V устанавливает счетчик команд и все регистры специальных функций, кроме портов – защелок Р0 – Р3, указателя стека и регистра SBUF в ноль;

V указатель стека принимает значение равное 07Н;

V запрещает все источники прерываний, работу таймеров – счетчиков и последовательного порта;

V выбирает БАНК 0 памяти данных, подготавливает порты Р0 – Р3 для приема данных и определяет выводы ALE и PME, как входы для внешней синхронизации;

V в регистрах специальных функций PCON, IP и IE резервные биты принимают случайные значения;

V устанавливает фиксаторы – защелки портов Р0 – Р3 в «1».

Сигнал RST не влияет на внутреннюю память данных микроконтроллера.
После включения питания содержимое ячеек внутренней памяти данных принимает случайные значения.

2.3.2 Программное обеспечение организации обмена информацией между МК и ПК

2.3.2.1 Программа «Монитор»

Как уже отмечалось, программное обеспечение организации обмена информацией между микроконтроллером и ПК должно обеспечивать:

. запись программы пользователя в память программ МК;

. запись информации в программно – доступные узлы МК;

. чтение информации из памяти программ МК;

. чтение информации из программно – доступных узлов МК;

. запуск программы пользователя в режиме реального времени;

. запуск программы пользователя в пошаговом режиме.

Все эти функции выполняет программ «Монитор».

В начале работы программы «Монитор» происходит начальная установка.
Эту установка должна произвести следующие действия:

V выбрать БАНК 2 памяти данных микроконтроллера, для хранения временных переменных, необходимых для работы программы «Монитор»;

V установить значение управляющего бита SMOD в регистре специальных функций в 1;

V выдать сообщение ПК о начале работы программы «Монитор».

Рис. 4. Алгоритм программы «Монитор»

Программа «Монитор» принимает от ПК код выполняемой операции, декодирует его и запускает соответствующую подпрограмму.

Подпрограмма приема одного байта данных ожидает прихода информации, проверяет правильность данных и заносит принятый байт в регистр R0. Если данные были приняты не верно, то подпрограмма приема одного байта данных заносит в регистр R4 нулевое значение.

В случае не верно принятого кода операции микроконтроллер предлагает
ПК повторно передать команду.

Рис. 5. Алгоритм декодирования кода операции в программе «Монитор»

После выполнения выбранной подпрограммы, программа «Монитор» снова переходит к режиму ожидания очередного кода операции.

Алгоритм выбора подпрограммы показан на рисунке 5.

В программе «Монитор» зарезервированы следующие коды операций: o 01h - подпрограмма 1 - подпрограмма запуска программы пользователя в режиме реального времени; o 02h - подпрограмма 2 - подпрограмма запуска программы пользователя в пошаговом режиме; o 03h - подпрограмма 3 - подпрограмма записи программы пользователя в память программ МК; o 04h - подпрограмма 4 - подпрограмма записи информации в программно – доступные узлы МК; o 05h - подпрограмма 5 - подпрограмма чтения из памяти программ МК; o 06h - подпрограмма 6 - подпрограмма чтения программно – доступных узлов МК; o другие - подпрограмма 7 - зарезервированные коды операций для запуска подпрограмм пользователя.

2.3.2.2 Подпрограмма запуска программы пользователя в режиме реального времени

Страницы: 1, 2, 3, 4



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.