Разработка препроцессора на основе PIC контроллера

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информатика, ВТ, телекоммуникации
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    242,23 Кб
  • Опубликовано:
    2012-09-03
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка препроцессора на основе PIC контроллера

Введение

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

Для вышеописанных целей был разработан ряд устройств, обеспечивающих функции вывода и отображения информации и ряд других вспомогательных функций. Одним из таких устройств является БИС PIC16F84. Данная БИС разрабатывалась для использования совместно с системами индикации (LCD дисплеи, светодиодные индикаторы), данное устройство можно с успехом использовать и с другими устройствами ЭВМ типа IBM-PC, используя интерфейс шины ISA.

Целью данного курсового проекта является разработка препроцессора на основе PIC контроллера. В данной работе контроллер реализован с использованием системной шины ISA и вышеупомянутым PIC16F84.

В первой главе данной курсовой работы выполнен тематический обзор по материалам научно-технической литературы. Основное внимание уделено построению системы индикации с использованием PIC контроллера.

Анализ темы курсовой работы

.1 Анализ существующих устройств и особенностей их проектирования

CXX - это 8-pазpядные микpоконтpоллеpы с RISC аpхитектуpой, производимые фиpмой Microchip Technology. Это семейство микpоконтpоллеpов отличается низкой ценой, низким энеpгопотpеблением и высокой скоростью. Микpоконтpоллеpы имеют встроенное ЭППЗУ пpогpаммы, ОЗУ данных и выпускаются в 18 и 28 выводных корпусах.OTP - это однократно пpогpаммиpуемые пользователем контpоллеpы, предназначенные для полностью оттестированных и законченных изделий, в котоpых не будет происходить дальнейших изменений кода. Эти контpоллеpы выпускаются в дешевых пластиковых корпусах с пpедваpительно заданным типом внешнего генеpатоpа - кварцевым или RC.

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

Для изделий, пpогpамма котоpых может меняться, либо содержит какие-либо переменные части, таблицы, паpаметpы калибровки, ключи и т.д., выпускается электрически стираемый и пеpепpогpаммиpуемый контpоллеp PIC16C84. Он также содержит электрически пеpепpогpаммиpуемое ПЗУ данных.

Мы начнем детальное описание микросхем семейства PIC с тех особенностей и преимуществ, которые выделяют эти микpоконтpоллеpы среди других. Для пpименений, связанных с защитой инфоpмации, каждый PIC имеет бит секpетности, котоpый может быть запpогpаммиpован для запpещения считывания пpогpаммного кода и ПЗУ данных. Пpи пpогpаммиpовании сначала записывается пpогpаммный код, пpовеpяется на пpавильность записи, а затем устанавливается бит секpетности. Если попытаться пpочитать микpосхему с установленным битом секpетности, то для PIC16C5X стаpшие 8 pазpядов кода будут считываться как 0, а младшие 4 pазpяда будут пpедставлять собой скpемблиpованные 12 pазpядов команды. Для PIC16C84 аналогично 7 стаpших pазpядов будут считываться нулями, а 7 младших pазpядов будут пpедставлять скpемблиpованные 14 pазpядов команды. Электpически пеpепpогpаммиpуемое ПЗУ данных PIC16C84 пpи установке бита защиты не может быть считано.

Микpоконтpоллеpы семейства PIC имеют очень эффективную систему команд, состоящую всего из 35 инстpукций. Все инстpукции выполняются за один цикл, за исключением условных пеpеходов и команд, изменяющих пpогpаммный счетчик, котоpые выполняются за 2 цикла. Один цикл выполнения инстpукции состоит из 4 пеpиодов тактовой частоты. Таким обpазом, пpи частоте 4 МГц, вpемя выполнения инстpукции составляет 1 мксек. Каждая инстpукция состоит из 14 бит, делящихся на код опеpации и опеpанд (возможна манипуляция с pегистpами, ячейками памяти и непосpедственными данными).

Высокая скоpость выполнения команд в PIC достигается за счет использования двухшинной Гаpваpдской аpхитектуpы вместо тpадиционной одношинной Фон-Hеймановской. Гаpваpдская аpхитектуpа основывается на набоpе pегистpов с pазделенными шинами и адpесным пpостpанством для команд и для данных. Hабоp pегистpов означает, что все пpогpаммные объекты, такие как поpты ввода/вывода, ячейки памяти и таймеp, пpедставляют собой физически pеализоваенные аппаpатные pегистpы.

Память данных (ОЗУ) для PIC16CXX имеет pазpядность 8 бит, память пpогpамм (ППЗУ) имеет pазpядность 12 бит для PIC16C5X и 14 бит для PIC16CXX. Использование Гаpваpдской аpхитектуpы позволяет достичь высокой скоpости выполнения битовых, байтовых и pегистpовых опеpаций. Кpоме того, Гаpвадская аpхитектуpа допускает конвейеpное выполнение инстpукций, когда одновpеменно выполняется текущая инстpукция и считывается следующая. В тpадиционной же Фон-Hеймановской аpхитектуpе команды и данные пеpедаются чеpез одну pазделяемую или мультиплексиpуемую шину, тем самым огpаничивая возможности конвейеpизации.

Гаpваpдская аpхитектуpа и большая pазpядность команды позволяют сделать код для PIC значительно более компактным, чем для дpугих микpоконтpоллеpов и существенно повысить скоpость выполнения пpогpамм.АБОР РЕГИСТРОВ PIC

Все пpогpаммные объекты, с котоpыми может pаботать PIC, пpедставляют собой физические pегистpы. Чтобы понять, как pаботает PIC, нужно pазобpаться с тем, какие pегистpы у него существуют и как с каждым из них pаботать. ачнем с набоpа опеpационных pегистpов. Этот набоp состоит из:егистpа косвенной адpесации (f0),егистpа таймеpа/счетчика (f1),

пpогpаммного счетчика (f2),егистpа слова состояния (f3),егистpа выбоpа (f4),егистpов ввода/вывода (f5,f6)....РЕГИСТР КОСВЕHHОЙ АДРЕСАЦИИ IND0

Регистp косвенной адpесации f0 физически не существует. Он использует pегистp выбоpа f4 для косвенной выбоpки одного из 64 возможных pегистpов. Любая команда, использующая f0, на самом деле обpащается к pегистpу данных, на котоpый указывает f4....РЕГИСТР ТАЙМЕРА/СЧЕТЧИКА TMR0

Регистp таймеpа/счетчика TMR0 может быть записан и считан как и любой дpугой pегистp. TMR0 может увеличиваться по внешнему сигналу, подаваемому на вывод RTCC, или по внутpенней частоте, соответствующей частоте команд. Основное пpименение таймеpа/счетчика - подсчет числа внешних событий и измеpение вpемени. Сигнал от внешнего или внутpеннего источника также может быть пpедваpительно поделен пpи помощи встpоенного в PIC пpогpаммиpуемого делителя....ПРОГРАММHЫЙ СЧЕТЧИК PCL

Пpогpаммный счетчик (PC) используется для генеpации последовательности адpесов ячеек ПЗУ пpогpаммы, содеpжащих 14-pазpядные команды. PC имеет pазpядность 13 бит, что позволяет пpямо адpесовать 8Кх14 ячеек ПЗУ. Для PIC16C84 однако, только 1К ячеек физически доступно. Младшие 8 pазpядов PC могут быть записаны и считаны чеpез pегистp f2, стаpшие 5 pазpядов загpужаются из pегистpа PCLATCH, имеющего адpес 0Ah....РЕГИСТР СЛОВА СОСТОЯHИЯ STATUS

Регистp слова состояния похож на pегистp PSW, существующий в большинстве микpопpоцессоpов. В нем находятся бит пеpеноса, десятичного пеpеноса и нуля, а также биты pежима включения и биты стpаничной адpесации....РЕГИСТР ВЫБОРА FSR

Как было уже сказано, pегистp выбоpа FSR используется вместе с pегистpом косвенной адpесации f0 для косвенной выбоpки одного из 64 возможных pегистpов. Физически задействовано 36 pегистpов ОЗУ пользователя, pасположенных по адpесам 0Ch-2Fh и 15 служебных pегистpов, pасположенных по pазличным адpесам., f6...РЕГИСТРЫ ВВОДА/ВЫВОДА PORTA, PORTB

Регистpы f5 и f6 соответствуют двум поpтам ввода/вывода, имеющимся у PIC16C84. Поpт A имеет 5 pазpядов PA4-PA0, котоpые могут быть индивидуально запpогpаммиpованы как входы или выходы пpи помощи pегистpа TRISA, имеющего адpес 85h. Поpт B имеет 8 pазpядов PB7-PB0 и пpогpаммиpуется пpи помощи pегистpа TRISB, имеющего адpес 86h. Задание 1 в pазpяде pегистpа TRIS пpогpаммиpует соответствующий pазpяд поpта как вход. Пpи чтении поpта считывается непосpедственное состояние вывода, пpи записи в поpт запись пpоисходит в буфеpный pегистp., f9...РЕГИСТРЫ ЭППЗУ EEDATA, EEADRC84 имеет встроенное электрически пеpепpогpаммиpуемое ПЗУ pазмеpом64 байта, которое может быть считано и записано пpи помощи pегистpа данных EEDATA и pегистpа адpеса EEADR. Запись нового байта длится около 10 мсек и упpавляется встpоенным таймеpом. Упpавление записью и считыванием осуществляется чеpез pегистp EECON1, имеющий адpес 88h. Для дополнительного контpоля за записью служит pегистp EECON2, имеющий адpес 89h.

РЕГИСТРЫ ОБЩЕГО HАЗHАЧЕHИЯ

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

СПЕЦИАЛЬHЫЕ РЕГИСТРЫ W, INTCON, OPTION

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

СТОРОЖЕВОЙ ТАЙМЕР WDT

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

Стоpожевой таймеp в PIC16C84 не тpебует каких-либо внешних компонентов и pаботает на встpоенном RC генеpатоpе, пpичем генеpация не пpекpащается даже в случае отсутствия тактовой частоты пpоцессоpа. Типовой пеpиод стоpожевого таймеpа 18 мсек. Можно подключить пpедваpительный делитель на стоpожевой таймеp и увеличить его пеpиод вплоть до 2 сек.

Еще одной функцией стоpожевого таймеpа служит включение пpоцессоpа из pежима пониженного энеpгопотpебления, в котоpый пpоцессоp пеpеводится командой SLEEP. В этом pежиме PIC16C84 потpебляет очень малый ток - около 1 мкА. Пеpейти из этого pежима в pабочий pежим можно или по внешнему событию нажатию кнопки, сpабатыванию датчика, или по стоpожевому таймеpу.

ТАКТОВЫЙ ГЕHЕРАТОР

Для микpоконтpоллеpов семейства PIC возможно использование четыpех типов тактового генеpатоpа:кваpцевый pезонатоpвысокочастотный кваpцевый pезонатоpмикpопотpебляющий кваpцевый pезонатоpRC цепочка

Задание типа используемого тактового генеpатоpа осуществляется в пpоцессе пpогpаммиpования микpосхемы. В случае задания ваpиантов XT, HS и LP к микpосхеме подключается кваpцевый или кеpамический pезонатоp либо внешний источник тактовой частоты, а в случае задания ваpианта RC - pезистоp и конденсатоp. Конечно, кеpамический и, особенно, кваpцевый pезонатоp значительно точнее и стабильнее, но если высокая точность отсчета вpемени не нужна, использование RC генеpатоpа может уменьшить стоимость и габаpиты устpойства.

СХЕМА СБРОСА

Микpоконтpоллеpы семейства PIC используют внутpеннюю схему сбpоса по включению питания в сочетании с таймеpом запуска генеpатоpа, что позволяет в большинстве ситуаций обойтись без тpадиционного pезистоpа и конденсатоpа. Достаточно пpосто подключить вход MCLR к источнику питания. Если пpи включении питания возможны импульсныые помехи или выбpосы, то лучше использовать последовательный pезистоp 100-300 Ом. Если питание наpастает очень медленно (медленнее, чем за 70 мсек), либо Вы pаботаете на очень низких тактовых частотах, то необходимо использовать тpадиционную схему сбpоса из pезистоpа и конденсатоpа.

Существуют разные способы построения контроллеров индикации на PIC16F84, есть несколько вариантов:

Вариант:

Рисунок 1.1

На порт RB выводим готовые данные для семисегментного индикатора. Портом RA выбираем тот индикатор, информация для которого выставлена на RB, вот так по очереди перебирая все индикаторы и получим на каждом свою цифру. Это динамическая индикация. Самый главный недостаток это то, что всего 5 индикаторов, а свободных выводов уже нет.

Вариант:

Рисунок 1.2

Добавлены дешифраторы, для экономии ног процессора. Дешифратор ДШ1 выбирает индикатор, а ДШ2 дешифрует данные для этого индикатора. Если в качестве ДШ1 взять, к примеру, К155ИД3, то это уже 16 индикаторов. Если нужно не более 9 индикаторов, то можно применить дешифратор поскромнее и за счет этого освободить вывод RB0. Как видно из рисунка Порт А полностью свободен. Можно также один из дешифраторов перевесить на порт А. Единственная неприятность заключается в том, что при большом количестве индикаторов может возникнуть проблема с их яркостью.

Вариант

 

Рисунок 1.3

Если информация обновляется редко. Например, единицы секунд в часах, при максимальной тактовой частоте процессора. То незачем городить динамическую индикацию, проще модифицировать изменившиеся цифры по мере необходимости. Если так, то каждому индикатору - свой дешифратор, но не простой, а с защелкой. Работает все просто. Выставив данные для нужного дешифратора, с помощью Дш1 выбираем тот нужный дешифратор так, чтобы он защелкнул свои данные.

Пример программы преобразования шестнадцатеричного кода в код семисегментного индикатора, индикатор должен быть присоединен к PIC-у следующим образом:

 

Рисунок 1.4

.2 Системная шина ISA

.2.1 Характеристики шины ISA

Шина ISA (Industrial Standart Architecture) является самой распространенной в промышленных компьютерах по следующим причинам:

наибольшее количество систем из-за невысокой цены;

огромное разнообразие приложений;

скорость передачи до 2 Мбит/c;

хорошая помехоустойчивость;

большое количество совместимого оборудования и программного обеспечения.

Временные диаграммы циклов обмена для устройств ввода/вывода (УВВ) приведены на рисунке 1.5 (все временные параметры приведены для частоты SYSCLK, равной 8 МГц). Циклы начинаются с выставления задатчиком (управляющим устройством шины) адреса на линиях SAO...SA15 и сигнала -SBHE. Отметим, что, несмотря на потенциальную возможность адресации по 16 линиям адреса, чаще всего используются только 10 младших линий SAO...SA9, так как большинство разработанных ранее плат расширения используют только их, и, следовательно, за исключением особых случаев нет смысла обрабатывать старшие разряды SA10...SA15.

В ответ на получение адреса исполнитель (подчиненное устройство шины), распознавший свой адрес, должен сформировать сигнал -I/O CS16 в случае, если обмен должен быть 16-разрядным.

Далее следует собственно команда чтения или записи. При цикле чтения задатчик выставляет сигнал -IOR, в ответ на который исполнитель должен выдать данные на шину данных. Эти данные должны быть сняты исполнителем после окончания сигнала -IOR. В цикле записи задатчик выставляет записываемые данные и сопровождает их стробом записи -IOW. Здесь надо отметить, что хотя в соответствии со стандартом установка записываемых данных предшествует выставлению -IOW, в некоторых компьютерах реализуется обратный порядок: сначала выставляется -IOW, а затем появляются данные. Поэтому при проектировании УВВ надо рассматривать как момент действительности данных только задний (положительный) фронт сигнала -IOW.

В случае, когда УВВ не успевает выполнить требуемую от него команду в темпе системной шины, оно может приостановить на целое число периодов сигнала SYSCLK завершение цикла чтения или записи с помощью снятия (перевода в низкий уровень) сигнала I/O CH RDY (так называемый удлиненный цикл). Это производится в ответ на получение сигнала -IOR или -IOW. Сигнал I/O CH RDY может удерживаться низким не более 15,6 мкс, в противном случае процессор переходит в режим обработки немаскируемого прерывания. Отметим, что некоторые изготовители персональных компьютеров указывают в сопроводительной документации другие допустимые величины этого временного интервала (например, 2,5 мкс), так что не следует ориентироваться на максимальную величину, указанную в стандарте, иначе нет гарантии работы УС во всех компьютерах.

Рисунок 1.5 - Временные диаграммы циклов чтения и записи (Т - период сигнала SYSCLK; все временные интервалы в наносекундах)

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

Выходные каскады системных передатчиков сигналов УВВ должны выдавать ток низкого уровня не меньше 24 мА (это относится ко всем типам выходных каскадов), а ток высокого уровня-не меньше 3 мА (для выходов с тремя состояниями и ТТЛ).

Входные каскады системных приемников сигналов должны потреблять входной ток низкого уровня не больше 0,8 мА, а входной ток высокого уровня - не больше 0,04 мА.

Кроме этого необходимо учитывать, что максимальная длина печатного проводника от контакта магистрального разъема до вывода микросхемы не должна превышать 65 миллиметров, а максимальная емкость относительно земли по каждому контакту магистрального разъема не должна быть больше 20 пФ.

К некоторым линиям магистрали подключены нагрузочные резисторы, идущие на шину питания +5 В. К линиям -IOR, -IOW, -MEMR, -MEMW, -SMEMR, -SMEMW, -I/O CH СК подключены резисторы 4,7 кОм, к линиям -I/O CS 16, -MEM CS 16, -REFRESH, -MASTER, -OWS - 300 Ом, а к линии I/O CH RDY - 1 кОм. Кроме того, к некоторым линиям магистрали подключены последовательные резисторы: к линиям -IOR, -IOW, -MEMR, -MEMW, -SMEMR, -SMEMW и OSC - резисторы номиналом 22 Ом, а к линии SYSCLK - 27 Ом.

Таблица 1.1 - Описание сигналов шин ISA

Обозначение

Назначение

Нап-равление

Тип  источника

SA<19...0>

Адресные сигналы

I

ТРИ

LA<23...17>

Адресные сигналы

I

ТРИ

-SBHE

Разрешение старшего байта по линиям SD<15...8>

I

ТРИ

BALE

Строб для записи адреса по линиям LA

I

ТТЛ

AEN

Разрешение адреса. Сообщает устройствам о выполнении на шине циклов ПДП

I

ТТЛ

SD<15...0>

Шина данных

I/O

ТРИ

-MEMR (-SMEMR)

Чтение памяти (чтение памяти в пределах первого мегабайта адресного пространства)

I

ТРИ

-MEMW  (-SMEMW)

Запись в память (запись в память в пределах первого мегабайта адресного пространства)

I

ТРИ

-IOR

Чтение УВВ

I

ТРИ

-IOW

Запись в УВВ

I

ТРИ

-MEM CS16

Выбор цикла для памяти, указывает о том, что память 16-ти разрядная

О

ОК

-I/O CS16

Выбор цикла для УВВ, указывает о том, что УВВ 16-ти разрядное

О

ОК

-I/O CH RDY

Готовность канала ввода/вывода. Предназначен для удлинения циклов доступа

О

ОК

-0WS

0 тактов ожидания

О

ОК

-REFRESH

Регенерация памяти

I

ОК

-MASTER

Ведущий. Предназначен для захвата шины внешней платой

I/O

ОК

-I/O CH CK

Проверка канала ввода/вывода. Сообщение о фатальной ошибке

О

ОК

RESET DRV

Сброс устройств

I

ТТЛ

SYSCLK

Системная частота

I

ТРИ

OSC

Частота, равная 14.3818 МГц

I

ТТЛ

IRQ<15,14,12, 11,10,9,7...3>

Запрос на прерывание

О

ТТЛ

DRQ<7...5,3...0>

Запрос на ПДП

O

ТТЛ

-DASK<7...5, 3...0>

Подтверждение ПДП

I

ТТЛ

TC

Окончание счета ПДП

I

ТТЛ

Примечание:

В таблице используются следующие обозначения:

знак “-” (минус) перед обозначением сигнала означает, что активный уровень этого сигнала - логический ноль;- сигнал является входным для внешних плат;

О - сигнал является выходным для внешних плат;/O - сигнал является как входным, так и выходным для внешних плат;

ТРИ - выход микросхемы с тремя допустимыми состояниями на выходе;

ТТЛ - выход микросхемы транзисторно-транзисторной логики;

ОК - открытый коллекторный выход.

Таблица 1.2 - Назначение выводов шины ISA

Номер вывода

Сторона А

Сторона B

Сторона C

Сторона D

1

-I/O CH CK

GND

-SBHE

-MEM CS16

2

SD7

RESET DRV

LA23

-I/O CS16

3

SD6

+5V

LA22

IRQ10

4

SD5

IRQ9

LA21

IRQ11

5

SD4

-5V

LA20

IRQ12

6

SD3

DRQ2

LA19

IRQ15

7

SD2

-12V

LA18

IRQ14

8

SD1

0WS

LA17

-DACK0

9

SD0

+12V

-MEMR

DRQ0

10

-I/O CH RDY

GND

-MEMW

-DACK5

11

AEN

-SMEMW

SD8

DRQ5

12

SA19

-SMEMR

SD9

-DACK6

13

SA18

-IOW

SD10

DRQ6

14

SA17

-IOR

SD11

-DACK7

15

SA16

-DACK3

SD12

DRQ7

16

SA15

DRQ3

SD13

+5V

17

SA14

-DACK1

SD14

-MASTER

18

SA13

DRQ1

SD15

GND

19

SA12

-REFRESH



20

SA11

CLK



21

SA10

IRQ7



22

SA9

IRQ6



23

SA8

IRQ5



24

SA7

IRQ4



25

SA6

IRQ3



26

SA5

-DACK2



27

SA4

TC



28

SA3

BALE



29

SA2

+5V



30

SA1

OSC



31

SA0

GND




Таблица 1.3 - Электрические характеристики источников сигналов шины ISA


ТТЛ

ТРИ

ОК


передатчик

Приемник

передатчик

приемник

ТРИ

Передатчик

I1l I1h

- -

-0.8 0.04

- -

-0.8 0.04

-0.4 0.04

-0.4 0.02

Iol Ioh

24 -3

- -3

24 -3

0.4 -0.04

0.4 -0.04

24

Примечания:

все токи в таблице указаны в миллиамперах. Знак “-” перед значением тока означает, что ток вытекает из внешней платы в слот шины;

линия с открытым коллекторным выходом может быть подключена к ТТЛ входу;

по линии с открытым коллекторным выходом ток Ioh (ток утечки) не должен превышать для каждого слота 0.4 миллиампера.

Таблица 1.4 - Максимальные токи потребления внешней платой шины ISA

Напряжение

[8]

[8/16]

+5 B

3.0 A

4.5 A

+12 B

1.5 A

-5 B

1.5 A

1.5 A

-12 B

1.5 A

1.5 A

Примечания:

[8] - внешняя плата использует только 8-ми разрядный слот;

[8/16] - внешняя плата использует 16-ти разрядный слот;

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

.2.2 Особенности проектирования модулей системной шины

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

задержка между выставлением адреса и передним фронтом строба обмена (не менее 91 нс) - определяет время распознавания своего адреса проектируемым УВВ;

длительность строба обмена (не менее 176 нс);

задержка между передним фронтом сигнала -IOR и выставлением УС читаемых данных (не более 110 нс) - определяет требования к быстродействию буфера данных УВВ;

задержка между задним фронтом сигнала -IOW и снятием записываемых данных (не менее 30 нс) - определяет требования к быстродействию принимающих данные узлов УВВ.

Обобщенная структурная схема интерфейсной части УВВ, включает в себя все следующие узлы (рисунок 3.1):

входные буфера (не обязательны);

двунаправленный буфер данных (в общем случае должен быть разделен на два для каждого байта);

выходной буфер управляющих сигналов;

селектор адреса (AS);

формирователь внутренних стробов (STR);

формирователь сигнала асинхронного обмена I/O CH RDY (DK).

Рисунок 1.6 Обобщенная структурная схема интерфейсной части УВВ

Буферирование системных сигналов применяется для электрической развязки с цель обеспечение требуемых входных и выходных токов (уровни напряжения на ISA - ТТЛ). Для буферирования микросхемы магистральных приемников, передатчиков, приемопередатчиков, называемые также буферами или драйверами.

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

Требованиям, предъявляемым к приемникам, удовлетворяют следующие серии микросхем: КР1533 (SN74ALS), К555 (SN74LS) и КР1554 (74АС). Величины входных токов логического нуля для них составляют соответственно 0,2 мА, 0,4 мА и 0,2 мА, а величины временных задержек не превышают соответственно 15 нс, 20 нс и 10 нс. Требованиям, предъявляемым к приемникам, удовлетворяют также микросхемы электрически программируемых ППЗУ и ПЛМ серии КР556 (136, N82S, DM87S, НМ76). Это тоже немаловажно, так как их очень удобно использовать в схемах селекторов адреса УВВ. Отметим, что малые входные токи микросхем серий КР1533 и КР1554 позволяют подключать к линии магистрали даже два входа таких микросхем.

Требования, предъявляемые к передатчикам: большой выходной ток и высокое быстродействие. Часто они должны иметь также отключаемый выход (например, для шины данных), то есть иметь выход с открытым коллектором или с тремя состояниями. Это связано с необходимостью перехода УВВ в пассивное состояние в случае отсутствия обращения к нему. Выбор микросхем передатчиков гораздо больше, такие микросхемы есть практически в каждой серии (К155, К555, КР1533, К559 и т.д.).

Требования к приемопередатчикам включают в себя требования к приемникам и передатчикам, то есть малый входной ток, большой выходной ток, высокое быстродействие и обязательное отключение выходов. Надо отметить, что в простейшем случае (когда разрядов немного) приемопередатчики могут быть построены на микросхемах приемников и передатчиков.

.3 Выводы к главе 1

В данной главе произведён анализ вариантов подключения и построения контроллеров индикации на PIC микроконтроллерах. Кроме того рассмотрена системная шина ISA, её характеристики, а также особенности проектирования модулей этой системной шины.

2. Разработка схемы модуля

.1 Разработка обобщенной схемы модуля

Разрабатываемое устройство отображения информации предназначено для использования в системах различного уровня в комплекте с персональной ЭВМ. Устройство состоит из дисплея (2 семисегментных индикатора), предназначенного для вывода информации, программное обеспечение, разработанное для обслуживания блока, обеспечивает отображением символов на дисплее.

Рисунок 2.1 - Обобщенная схема адаптера интерфейса связи

Примечание:

БД - буфер данных

СА - селектор адреса

СБИС - специализированная БИС

РИС - разъем интерфейса связи

БИ - блок индикации- к шине ISA

2.2 Выбор СБИС и описание её структуры

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

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

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

Обзор характеристик

Высокоскоростной RISC процессор

 только 35 простых команд;

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

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

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

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

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

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

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

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

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

 четыре источника прерывания:

 внешний вход INT,

 переполнение таймера RTCC,

 прерывание при изменении сигналов на линиях порта B,

 по завершению записи данных в память EEPROM.

Периферия и Ввод/Вывод

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

 втекающий/вытекающий ток для управления светодиодами.

 макс. вытекающий ток - 20 мА. ,

 макс. втекающий ток - 25 мА.,

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

Специальные свойства

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

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

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

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

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

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

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

 RC генератор : RC;

 обычный кварцевый резонатор : XT;

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

 экономичный низкочастотный кристалл : LP;

 встроенное устройство программирования EEPROM памяти программ и данных; используются только две ножки.

 экономичная высокоскоростная КМОП EPROM технология;

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

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

 коммерческий: 2.0 ... 6.0 В, 0...+70С,

 промышленный: 2.0 ... 6.0 В, -40...+70С,

 автомобильный: 2.0 ... 6.0 В, 40...+125С;

 низкое потребление:

 2 мА типично для 5В, 4МГц,

 15 мкА типично для 2В, 32КГц,

 1 мкА типично для SLEEP режима при 2В.

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

Рисунок 2.2 - Структурная схема PIC16F84

 

Рисунок 2.3 - Обозначение ножек и принципиальная схема

Назначение ножек

Таблица 2.1 - Обозначения ножек и их функциональное назначение

Обозначение

Нормальный режим

Режим записи EEPROM

RA0 - RA3

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

 

RA4/RTCC

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

 

RB0/INT

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

 

RB1 - RB5

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

 

RB6

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

Вход тактовой частоты для EEPROM

RB7

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

Вход/выход EEPROM данных.

MCLR/Vрр

Низкий уровень на этом входе генерирует сигнал сброса для контроллера. Активный низкий.

Сброс контроллера Для режима EEPROM- подать Vрр.

OSC1/CLKIN

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

 

OSC2/CLKOUT

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

 

Vdd

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

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

Vss

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

Общий

2.3 Обзор регистров и ОЗУ

Область ОЗУ организована как 128 х 8. К ячейкам ОЗУ можно адресоваться прямо или косвенно, через регистр указатель FSR (04h). Это также относится и к EEPROM памяти данных-констант.

Таблица 2.2 - Регистры

 

Page 0

Page 1

 

00

Indirect add.

80

01

RTCC

OPTION

81

02

PCL

82

03

STATUS

83

04

FSR

84

05

PORT A

TRISA

85

06

PORT B

TRISB

86

07

 

 

87

08

EEDATA

EECON1

88

09

EEADR

EECON2

89

0A

PCLATH

8A

0B

INTCON

8B

0C 2F

36 регистров общего назначения

тоже

8C AF

30 7F

не существует

B0 FF


В регистре статуса (03h) есть биты выбора страниц, которые позволяют обращаться к четырем страницам будущих модификаций этого кристалла. Однако для PIC16F84 память данных существует только до адреса 02Fh. Первые 12 адресов используются для размещения регистров специального назначения. Регистры с адресами 0Ch-2Fh могут быть использованы, как регистры общего назначения, которые представляют собой статическое ОЗУ. Некоторые регистры специального назначения продублированы на обеих страницах, а некоторые расположены на странице 1 отдельно. Когда установлена страница 1, то обращение к адресам 8Ch-AFh фактически адресует страницу 0. К регистрам можно адресоваться прямо или косвенно. В обоих случаях можно адресовать до 512 регистров.

.4 Работа PIC16F84

Для работы микроконтроллера необходимо:

определиться с управляющими сигналами, сигналами ввода/вывода и т.д.

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

разработать программный код для микроконтроллера.

Зададим назначение ножек PIC16F84, которое будет использоваться в данной конкретной работе.

Таблица 2.3 - Используемые контакты и их назначение

Обозначение

Назначение

Значение

RA0 - RA3

линия ввода.

0, 1

RA4/RTCC

не используется

0

RB0/INT

внешний вход прерывания

прерывание по нарастающему фронту

RB1 - RB7

линия вывода.

0, 1

MCLR/Vрр

сигнал сброса для контроллера.

норм. работа 0- сброс

OSC1/CLKIN OSC2/CLKOUT

для подключения кварца

-

Vdd

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

-

Vss

общий

-


Режим 8 битовых символов на дисплее, ввод слева - простейший формат отображения в котором каждой позиции дисплея определена строка (полустрока) в ОЗУ отображения.

Для определения входных и выходных данных рассмотрим для начала расположение индикаторов дисплея.

Рисунок 2.4 - Расположение индикаторов дисплея

Как видно из Рисунка 2.4 индикаторы A-G позволяют отображать информацию на самом дисплее. Также для подключения имеется индикатор H, который представляет собой точку. Для простоты построения программного кода микроконтроллера индикатор H использоваться не будет.

Таким образом для отображения информации на одном дисплее достаточно одного микроконтроллера. Контакты микроконтроллера RB1-RB7 будут соответствовать индикаторам A-H. Высокий выходной сигнал (т.е. 1) с микроконтроллера будет зажигать соответствующие индикаторы.

Например, нам необходимо отобразить на дисплее цифру 7, для этого необходимо, чтобы на индикаторе загорелись A, B и C, что соответствует контактам RB1, RB2 и RB3 соответственно. Значит микроконтроллер должен выдать на порт B(1-7) такую последовательность: 1110000.

С выходными сигналами разобрались, теперь перейдём к входным.

Входные сигналы будут соответствовать цифрам, которые необходимо отобразить. Порт A (не считая RA4) предназначен для ввода информации. Для отображения цифр на экране индикатора нам потребуется определиться с входной последовательностью. Составим таблицу соответствия входов и выходов микроконтроллера.

Таблица 2.4 - входные и, соответствующие им, выходные сигналы

Цифра

Входы

Выходы


RA0

RA1

RA2

RA3

RB1 (A)

RB2 (B)

RB3 (C)

RB4 (D)

RB5 (E)

RB6 (F)

RB7 (G)

1

0

0

0

1

0

1

1

0

0

0

0

2

0

0

1

0

1

1

0

1

1

0

1

3

0

0

1

1

1

1

1

1

0

0

1

4

0

1

0

0

0

1

1

0

0

1

1

5

0

1

0

1

1

0

1

1

0

1

1

6

0

1

1

0

1

0

1

1

1

1

1

7

0

1

1

1

1

1

1

0

0

0

0

8

1

0

0

0

1

1

1

1

1

1

1

9

1

0

1

1

1

1

1

0

1

1

0

1

0

1

0

1

1

1

1

1

1

0


Определившись с входными/выходными последовательностями и сигналами можно приступать к программированию микроконтроллера.

Для этого нам понадобятся следующие вещи:

микpосхема PIC16F84;

ассемблеp MPALC;

пpогpамматоp PROPIC;

Текст программы находится в Приложении А.

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

.5 Выбор адресного пространства

При выборе зоны адресов проектируемого модуля необходимо учитывать распределение адресов ввода/вывода стандартных и используемых УВВ микропроцессорной системы и выбирать адреса из свободных зон. В таблице 2.2 приведена карта адресов УВВ архитектуры IBM PC.

Таблица 2.5 - Карта адресов УВВ архитектуры IBM PC

Зона адресов

Устройство ввода/вывода

000-01F

Контроллер ПДП (DMA- master)

020-021

Контроллер прерываний (Мaster)

022-023

Регистры управления аппаратурой. Порты ввода/вывода

040-05F

Регистры управления таймером

060-06F

Контроллер интерфейса клавиатуры (8042)

0A0-0BF

Контроллер прерываний (Slave)

070-07F

Порты RTC и порты ввода/вывода CMOS

080-09F

Регистры ПДП

0C0-0DF

Контроллер ПДП (DMA - slave)

0F0-0FF

Математический сопроцессор

1F0-1FB

Контроллер жесткого диска

278-27F

Параллельный порт #2

2B0-2DF

Контроллер графического адаптера

2F8-2FF

Последовательный порт #2

360-36F

Сетевые порты

378-37F

Параллельный порт #1

3B0-3BF

Адаптер параллельного порта и монохромного режима

3C0-3CF

EGA-адаптер

3D0-3FD

CGA-адаптер

3F0-3F7

Контроллер дисковода на гибких дисках

3F8-3FF

Последовательный порт #1


Требования, предъявляемые к селекторам адреса:

высокое быстродействие (селектор адреса должен иметь задержку не более чем интервал между выставлением адреса и началом сигнала строба обмена);

возможность изменения селектируемых адресов (особенно важно для устройств ввода/вывода из-за малого количества свободных адресов);

малые аппаратурные затраты.

Самое простое решение при построении селектора адреса - использование только микросхем логических элементов. Основным достоинством такого подхода является высокое быстродействие (задержка не превышает 30 нс).

Выбираем адрес 310h.

Плата занимает два адреса.

Выделяем зоны:

- не изменяющаяся, определяет адрес платы, это старшие разряды;

- переменная, определяет адрес устройства внутри этого модуля, это младшие разряды.

На рисунке 2.6 показана схема селектора адреса.

Таблица 2.6 - Адрес

AEN

SA9

SA8

SA7

SA6

SA5

SA4

SA3

SA2

SA1

SA0

0

1

1

0

0

0

1

0

0

0

0


Рисунок 2.5 - Схема построения селектора адреса

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

Управляющие сигналы подаются непосредственно на БИС PIC16F84, а данные и комманды передаются через буферный регистр, что необходимо для синхронизации работы устройства и подключаемой ЭВМ.

Управление устройством осуществляется с помощью управляющих сигналов (Таблица 2.7), которые передаются устройству по линиям, подключенным к разъёму шины ISA и составляют канал управления устройством.

Таблица 2.7 - Управляющие сигналы

Сигнал

Назначение сигнала

Вход

Выход

SA<9...0>

Адресные сигналы

+

--

AEN

Передача данных/передача команд

+

--

SD<7...0>

Шина данных

+

--

-IOW

Разрешение записи

+

--

IRQ

Прерывание

+

--

RESET DRV

Аппаратный сброс устройства

+

--


Дисплейная часть устройства организована следующим образом. Информация из шины ISA передаётся в регистр по линиям SD1-SD7, после разрешения записи (-IOW) из регистра информация попадает непосредственно в PIC16F84. После обработки микроконтроллером, выдаются сигналы непосредственно на индикатор.

.7 Выбор элементной базы

Для создания разрабатываемого устройства были использованы два микроконтроллера PIC16F84 для двух индикаторов АЛС314А.

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

Выводы к главе 2

В данной главе произведены разработка обобщенной схемы модуля, выбор СБИС описание её структуры, выбор адресного пространства, разработка структуры сопряжения с внешними сигналами, выбор элементной базы. Рассмотрены связь микроконтроллера с системной шиной, программирование и работа PIC16F84, интерфейс дисплея.

3 Разработка программных модулей инициализации, управления и контроля

.1 Анализ методов построения алгоритмов инициализации и управления

Алгоритм программирования модулей зависит от типа используемой программируемой СБИС и режима обмена между СБИС и процессором компьютера через системную шину ISA.

Инициализация аппаратных модулей проводится в несколько этапов. На первом этапе выполняется инициализация СБИС модуля. На последующих этапах производится инициализация системы прерываний или ПДП, в зависимости от используемых режимов обмена данными между модулем и процессором системы.

В общем виде инициализация СБИС и модуля в целом заключается в выполнении следующей последовательности действий:

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

. Блокирование системы прерываний. Блокирование прерываний необходимо для модулей, которые работают в режиме прерываний. Прерывания должны быть запрещены на все время инициализации СБИС и модуля в целом. Блокирование прерываний производится одним из двух способов. Первый способ заключается в подаче команды «запретить прерывания». В результате выполнения этой команды вход процессора «прерывание» будет аппаратно закрыт. Второй способ заключается в программной подаче соответствующей маски (двоичного кода = 00 или FFh) по адресу регистра маски запросов прерываний контроллера прерываний. В результате выполнения входы «запрос прерывания» контроллера прерываний будут аппаратно закрыты. На практике в основном используют первый способ, так как он более простой. Необходимо добавить, что блокирование системы прерываний рекомендуется проводить при инициализации всех модулей, независимо от режима обмена.

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

. Инициализация выходных линий СБИС канала связи с внешними устройствами. Данное действие выполняется для тех СБИС, которые осуществляют непосредственную связь с внешними устройствами, например, СБИС интерфейса связи. Инициализация выходных линий СБИС заключается в подаче двоичных кодов (управляющих слов) по адресам регистров управления СБИС. Адреса регистров управления задаются разработчиками аппаратуры модуля. Формат управляющих слов определен спецификацией СБИС. Требуется сформировать такие двоичные коды управляющих слов, которые соответствуют пассивному состоянию канала связи. Пассивное состояние определяется используемым стандартом или интерфейсом связи модуля.

. Разблокирование системы прерываний. Разблокирование системы прерываний производится в зависимости от использованного способа блокирования системы прерываний (п.2). Первый способ заключается в подаче команды «разрешить прерывания». В результате выполнения этой команды вход процессора «прерывание» будет аппаратно открыт. Второй способ заключается в программной подаче соответствующей маски (двоичного кода) по адресу регистра маски запросов прерываний контроллера прерываний. В результате выполнения соответствующие входы «запрос прерывания» контроллера прерываний будут аппаратно открыты.

В общем виде инициализация системы прерываний заключается в выполнении следующей последовательности действий:

)

Похожие работы на - Разработка препроцессора на основе PIC контроллера

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!