Разработка контроллера - Курсовая работа

бесплатно 0
4.5 43
Обзор характеристик контроллера по сбору аналоговой информации и преобразовании ее в цифровую, типы корпусов и исполнений, функциональное назначение выводов. Описание регистров PIC, тактовых генераторов. Система команд, блок ввода аналоговых данных.


Аннотация к работе
Для выполнения проекта необходимо решить две задачи: разработать аппаратную часть контроллера и разработать программное обеспечение. контроллер корпус команда Отличается тем, что имеет внутреннее 1K x 14 бит EEPROM для программ, 8-битовые данные и 64байт EEPROM памяти данных. Все команды состоят из одного слова (14 бит шириной) и исполняются за один цикл (400 нс при 10 МГЦ), кроме команд перехода, которые выполняются за два цикла (800 нс). Шина данных и память данных (ОЗУ) - имеют ширину 8 бит, а программная шина и программная память (ПЗУ) имеют ширину 14 бит. Любая команда, использующая f0, на самом деле обращается к регистру данных, на который указывает f4. f1 регистр таймера/счетчика TMR0 Регистр таймера/счетчика TMR0 может быть записан и считан как и любой другой регистр.Каждая команда PIC16С84 - это 14-битовое слово, которое разделено по смыслу на следующие части: - 1. код операции,-2. поле для одного и более операндов, которые могут участвовать или нет в этой команде. Для байт-ориентированных команд “f” обозначает собой регистр, с которым производится действие; “d” - бит определяет, куда положить результат. Если “d” =0, то результат будет помещен в W регистр, при “d”=1 результат будет помещен в “f”, упомянутом в команде. Для бит-ориентированных команд “b” обозначает номер бита, участвующего в команде, а “f”-это регистр , в котором этот бит расположен. В двух случаях исполнение команды занимает два командных цикла:-1 проверка условия и переход,-2.изменение программного счетчика как результат выполнения команды.В данной курсовой работе было спроектировано и разработано микропроцессорное устройство. Его функции заключаются в сборе аналоговой информации, преобразование ее в цифровую, обработка собранной информации по программе и выдача этой информации на индикаторы в десятичном виде.

Введение
Развитие микроэлектроники и широкое применение ее изделий в промышленном производстве, в устройствах и системах управления самыми разнообразными объектами и процессами является в настоящее время одним из основных направлений научно-технического прогресса.

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

Микроконтроллеры представляют собой эффективное средство автоматизации разнообразных объектов и процессов. Все это определяет необходимость изучения микропроцессорных систем.

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

Постановка задачи

Контроллер, который разрабатывается в этой курсовой работе, должен обеспечивать: периодический опрос Р аналоговых датчиков и преобразование их сигналов с заданной точностью в цифровой код;

обработку цифровых кодов с целью вычисления заданной функциональной зависимости Y(t) в реальном масштабе времени;

отображение вычисленных значений функции Y(t) на дискретных индикаторах;

Номер варианта 18;

Количество аналоговых датчиков, Р 13;

Максимальное напряжение на выходе датчиков, Umax 5 В;

Требуемый период коммутации датчиков, Т 160 мкс;

Требуемая точность преобразования, ??????????? 0.08;

Разрешенные номера портов ввода/вывода, 48 - 63;

Функция Y(t) = N(2)/1 N(3)/(2) … N(Р)/(Р-1) N(1)

Для выполнения проекта необходимо решить две задачи: разработать аппаратную часть контроллера и разработать программное обеспечение. контроллер корпус команда

1. Выбор контроллера

PIC16C84 относится к семейству КМОП микроконтроллеров. Отличается тем, что имеет внутреннее 1K x 14 бит EEPROM для программ, 8-битовые данные и 64байт EEPROM памяти данных. При этом отличаются низкой стоимостью и высокой производительностью. Все команды состоят из одного слова (14 бит шириной) и исполняются за один цикл (400 нс при 10 МГЦ), кроме команд перехода, которые выполняются за два цикла (800 нс). PIC16C84 имеет прерывание, срабатывающее от четырех источников, и восьмиуровневый аппаратный стек. Периферия включает в себя 8-битный таймер/счетчик с 8-битным программируемым предварительным делителем (фактически 16 - битный таймер) и 13 линий двунаправленного ввода/вывода. Высокая нагрузочная способность (25 МА макс. втекающий ток, 20 МА макс. вытекающий ток) линий ввода/вывода упрощают внешние драйверы и, тем самым, уменьшается общая стоимость системы. Разработки на базе контроллеров PIC16C84 поддерживается ассемблером, программным симулятором, внутрисхемным эмулятором (только фирмы Microchip) и программатором.

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

Малые размеры корпусов, как для обычного, так и для поверхностного монтажа, делает эту серию микроконтроллеров пригодной для портативных приложений. Низкая цена, экономичность, быстродействие, простота использования и гибкость ввода/вывода делает PIC16C84 привлекательным даже в тех областях, где ранее не применялись микроконтроллеры. Например, таймеры, замена жесткой логики в больших системах, сопроцессоры.

Следует добавить, что встроенный автомат программирования EEPROM кристалла PIC16C84 позволяет легко подстраивать программу и данные под конкретные требования даже после завершения ассемблирования и тестирования. Эта возможность может быть использована как для тиражирования, так и для занесения калибровочных данных уже после окончательного тестирования.

Архитектура основана на концепции раздельных шин и областей памяти для данных и для команд (Гарвардская архитектура). Шина данных и память данных (ОЗУ) - имеют ширину 8 бит, а программная шина и программная память (ПЗУ) имеют ширину 14 бит. Такая концепция обеспечивает простую, но мощную систему команд, разработанную так, что битовые, байтовые и регистровые операции работают с высокой скоростью и с перекрытием по времени выборок команд и циклов выполнения. 14- битовая ширина программной памяти обеспечивает выборку 14-битовой команды в один цикл. Двухступенчатый конвейер обеспечивает одновременную выборку и исполнение команды.

Все команды выполняются за один цикл, исключая команды переходов. В PIC16C84 программная память объемом 1К х 14 расположена внутри кристалла. Исполняемая программа может находиться только во встроенном ПЗУ.

Обзор характеристик: только 35 простых команд;

все команды выполняются за один цикл(400ns), кроме команд перехода - 2 цикла;

рабочая частота 0 Гц ... 10 МГЦ (min 400 нс цикл команды)

14 - битовые команды;

8 - битовые данные;

1024 х 14 электрически перепрограммируемой программной памяти на кристалле (EEPROM);

36 х 8 регистров общего использования;

15 специальных аппаратных регистров SFR;

64 x 8 электрически перепрограммируемой EEPROM памяти для данных;

восьмиуровневый аппаратный стек;

прямая, косвенная и относительная адресация данных и команд;

четыре источника прерывания: внешний вход INT переполнение таймера RTCC прерывание при изменении сигналов на линиях порта B по завершению записи данных в память EEPROM

13 линий ввода-вывода с индивидуальной настройкой;

втекающий/вытекающий ток для управления светодиодами макс втекающий ток - 25 МА макс вытекающий ток - 20 МА

8 - битный таймер/счетчик RTCC с 8-битным программируемым предварительным делителем;

автоматический сброс при включении;

таймер включения при сбросе;

таймер запуска генератора;

Watchdog таймер WDT с собственным встроенным генератором, обеспечивающим повышенную надежность;

EEPROM бит секретности для защиты кода;

экономичный режим SLEEP;

выбираемые пользователем биты для установки режима возбуждения встроенного генератора: RC генератор:RC обычный кварцевый резонатор:XT высокочастотный кварцевый резонатор:HS экономичный низкочастотный кристалл:LP встроенное устройство программирования EEPROM памяти программ и данных; используются только две ножки. экономичная высокоскоростная КМОП EPROM технология;

статический принцип в архитектуре;

широкий диапазон напряжений питания и температур;

низкое потребление тока: 3 МА при Uпит.- 5В, F - 4МГЦ

50 МКА при Uпит.- 2В, F - 32КГЦ

26 МКА SLEEP режим, при Uпит.- 2В

2. Техническое описание контроллера

2.1 Типы корпусов и исполнений

Обозначения корпусов для кристаллов PIC16F84. Тип корпуса указывается в Маркировке при заказе микросхем. Корпуса бывают только с 18 Выводами.

PDIP - Обычный пластмассовый двухрядный корпус

SOIC - Малогабаритный DIP корпус для монтажа на поверхность

Рисунок 1 - Внешний вид РІС 16С84, PDIP корпус

Структурная схема контроллера РІС 16С84 приведена на рисунке 2

Рисунок 2 - Структурная схема контроллера РІС 16С84

Цоколевка РІС 16С84 приведена на рис. 3. Типы корпусов - PDIP .

Рисунок 3 Цоколевка РІС 16С84

Обозначения ножек и их функциональное назначение выводов приведено в таблице 1

Таблица 1 - функциональное назначение выводов РІС 16С84

Обозначение Нормальный режим Режим записи EEPROM

RA0 - RA3 Двунаправленные линии ввода/вывода. Входные уровни ТТЛ

RA4/T0CKI Вход через триггер Шмитта. Ножка порта ввода/вывода с открытым стоком или вход частоты для таймера/счетчика TMR0

RB0/INT Двунаправленная линия порта ввода/ вывода или внешний вход прерывания Уровни ТТЛ

RB1 - RB5 Двунаправленные линии ввода/ вывода. Уровни ТТЛ

RB6 Двунаправленные линии ввода/ вывода. Уровни ТТЛ. Вход тактовой частоты для EEPROM

RB7 Двунаправленные линии ввода/ вывода. Уровни ТТЛ. Вход/выход EEPROM данных.

/VРРНИЗКИЙ уровень на этом входе генерирует сигнал сброса для контроллера. Активный низкий.Сброс контроллера Для режима EEPROM- подать Vpp.

OSC1/CLKIN Для подключения кварца, RC или вход внешней тактовой частоты

OSC2/CLKOUT Генератор, выход тактовой частоты в режиме RC генератора, в остальных случаях - для подкл.кварц

Vdd Напряжение питания Напряжение питания

Vss Общий(земля) Общий

2.2 Описание регистров PIC

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

Начнем с набора операционных регистров. Этот набор состоит из регистра косвенной адресации (f0), регистра таймера/счетчика (f1), программного счетчика (f2), регистра слова состояния (f3), регистра выбора (f4) и регистров ввода/вывода (f5,f6). f0 регистр косвенной адресации IND0 Регистр косвенной адресации f0 физически не существует. Он использует регистр выбора f4 для косвенной выборки одного из 64 возможных регистров. Любая команда, использующая f0, на самом деле обращается к регистру данных, на который указывает f4. f1 регистр таймера/счетчика TMR0 Регистр таймера/счетчика TMR0 может быть записан и считан как и любой другой регистр. TMR0 может увеличиваться по внешнему сигналу, подаваемому на вывод RTCC, или по внутренней частоте, соответствующей частоте команд. Основное применение таймера/счетчика - подсчет числа внешних событий и измерение времени. Сигнал от внешнего или внутреннего источника также может быть предварительно поделен при помощи встроенного в PIC программируемого делителя. f2.программный счетчик PCL. Программный счетчик (PC) используется для генерации последовательности адресов ячеек ПЗУ программы, содержащих 14-разрядные команды. PC имеет разрядность 13 бит, что позволяет прямо адресовать 8Кх14 ячеек ПЗУ. Для PIC16C84 однако, только 1К ячеек физически доступно. Младшие 8 разрядов PC могут быть записаны и считаны через регистр f2, старшие 5 разрядов загружаются из регистра PCLATCH, имеющего адрес 0h. f3 регистр слова состояния STATUS. Регистр слова состояния похож на регистр PSW, существующий в большинстве микропроцессоров. В нем находятся бит переноса, десятичного переноса и нуля, а также биты режима включения и биты страничной адресации.

Размещение флагов в регистре статуса приведено в таблице 2.

Таблица 2 - Размещение флагов в регистре статуса b7 b6 b5 b4 B3 b2 b1 b0

03h= IRP RP1 RP0 ZDCC

f4 регистр выбора FSR. Как было уже сказано, регистр выбора FSR используется вместе с регистром косвенной адресации f0 для косвенной выборки одного из 64 возможных регистров. Физически задействовано 36 регистров ОЗУ пользователя, расположенных по адресам 0Ch-2Fh и 15 служебных регистров, расположенных по различным адресам. f5, f6 регистры ввода/вывода PORTA, PORTB. Регистры f5 и f6 соответствуют двум портам ввода/вывода, имеющимся у PIC16C84. Порт A имеет 5 разрядов PA4-PA0, которые могут быть индивидуально запрограммированы как входы или выходы при помощи регистра TRISA, имеющегоадрес 85h. Порт B имеет 8 разрядов PB7-PB0 и программируется при помощи регистра TRISB, имеющего адрес 86h. Задание 1 в разряде регистра TRIS программирует соответствующий разряд порта как вход. При чтении порта считывается непосредственное состояние вывода, при записи в порт запись происходит в буферный регистр. f8, f9 регистры ЭППЗУ EEDATA, EEADR. PIC16C84 имеет встроенное электрически перепрограммируемое ПЗУ размером 64 байта, которое может быть считано и записано при помощи регистра данных EEDATA и регистра адреса EEADR. Запись нового байта длится около 10 мсек и управляется встроенным таймером. Управление записью и считыванием осуществляется через регистр EECON1, имеющий адрес 88h. Для дополнительного контроля за записью служит регистр EECON2, имеющий адрес 89h.

Регистры общего назначения. Регистры общего назначения представляют собой статическое ОЗУ, расположенное по адресам 0Ch-2Fh. Всего в PIC16C84 можно использовать 36 ячеек ОЗУ.

Специальные регистры W, INTCON, OPTION В завершение рассмотрим специальные регистры PIC. К ним относятся рабочий регистр W, используемый в большинстве команд в качестве регистра аккумулятора и регистры INTCON и OPTION. Регистр прерываний INTCON (адрес 0Bh) служит для управления режимами прерывания и содержит биты разрешения прерываний от различных источников и флаги прерываний. Регистр режимов OPTION (адрес 81h) служит для задания источников сигнала для предварительного делителя и таймера/счетчика, а также для задания коэффициента деления предварительного делителя, активного фронта сигнала для RTCC и входа прерывания. Кроме того при помощи регистра OPTION могут быть включены нагрузочные резисторы для разрядов порта B, запрограммированных как входы.

Сторожевой таймер WDT. Сторожевой таймер WDT предназначен для предотвращения катастрофических последствий от случайных сбоев программы. Он также может быть использован в приложениях, связанных со счетом времени, например, в детекторе пропущенных импульсов. Идея использования сторожевого таймера состоит в регулярном его сбрасывании под управлением программы или внешнего воздействия до того, как закончится его выдержка времени и не произойдет сброс процессора. Если программа работает нормально, то команда сброса сторожевого таймера CLRWDT должна регулярно выполняться, предохраняя поцессор от сброса. Если же микропроцессор случайно вышел за пределы программы (например, от сильной помехи по цепи питания) либо зациклился на каком-либо участке программы, команда сброса сторожевого таймера скорее всего не будет выполнена в течение достаточного времени, и произойдет полный сброс процессора, инициализирующий все регистры и приводящий систему в рабочее состояние. Сторожевой таймер в PIC16C84 не требует каких-либо внешних компонентов и работает на встроенном RC генераторе, причем генерация не прекращается даже в случае отсутствия тактовой частоты роцессора. Типовой период торожевого таймера 18 мсек. Можно подключить предварительный делитель на торожевой таймер и увеличить его период вплоть до 2 сек. Еще одной функцией сторожевого таймера служит включение процессора из режима пониженного энергопотребления, в который процессор переводится командой SLEEP. В этом режиме PIC16C84 потребляет очень малый ток - около 1 МКА. Перейти из этого режима в рабочий режим можно или по внешнему событию нажатию кнопки, срабатыванию датчика, или по сторожевому таймеру.

2.3 Описание тактовых генераторов

Для микроконтроллеров семейства PIC возможно использование четырех типов тактового генератора: XT кварцевый резонатор;

HS высокочастотный кварцевый резонатор;

LP микропотребляющий кварцевый резонатор;

RC RC цепочка.

Задание типа используемого тактового генератора осуществляется в процессе программирования микросхемы. В случае задания вариантов XT, HS и LP к микросхеме подключается кварцевый или керамический резонатор либо внешний источник тактовой частоты, а в случае задания варианта RC - резистор и конденсатор. Конечно, керамический и особенно, кварцевый резонатор значительно точнее и стабильнее, но если высокая точность отсчета времени не нужна, использование RC генератора может уменьшить стоимость и габариты устройства. Пользователь может запрограммировать два конфигурационных бита (FOSC1 и FOSC0) для выбора одного из четырех режимов: RC, LP, XT, HS. Кристаллы PIC16... могут также тактироваться и от внешних источников. Генератор, построенный на кварцевых или керамических резонаторах, требует периода стабилизации после включения питания. Для этого, встроенный таймер запуска генератора держит устройство в состоянии сброса примерно 18 мс после того, как сигнал на ножке кристалла достигнет уровня логической единицы. Таким образом, внешняя цепочка RC, связанная с ножкой во многих случаях не требуется.

Встроенные генераторы работоспособны при определенных номиналах питающего напряжения.

Таблица 3 - Частоты генераторов

Vdd OSC mode Max Freq

2..3 V RC LP 2 MHZ 200 KHZ

3..6 V RC XT,LP 4 MHZ 200 KHZ

4,5...5,5 V HS 10 MHZ

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

Карта памяти контроллера приведена в таблице 4

Таблица 4 - Карта памяти котроллера

Page 0 Page 1

00 Indirect add. 80

01 TMR0 OPTION_REG 81

02 PCL 82

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

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

Список литературы
1.Методические указания к курсовому проекту «Микропроцессорный контроллер» по курсу «»Микропроцессорная техника»/Составитель А.В. Дорошков. - Сумы: «Ризоцентр» СУМГУ, 1999.

2.Гуртовцев А.П., Гудыменко С.В. Программы для микропроцессоров. - Минск .: Выш. шк., 1989.

3.Цифровые и аналоговые интегральные микросхемы: Справочник / под ред. С. В. Якубовского. - М.: Энергия, 1990.

4.http://pic16f84.city.tomsk.net/aboutpic.html

5.http://pic16f84.city.tomsk.net/shemmpic.html
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?