Параллельный программатор для микроконтроллеров Atmel серии АТ89

Адаптер параллельного интерфейса представляет собой набор регистров, расположенных в пространстве ввода/вывода. Регистры порта адресуются от­носительно базового адреса порта, стандартными значениями которого являются 3BCh, 378h и 278h. Порт имеет внешнюю 8-битную шину данных, 5-битную шину сигналов состояния и 4-битную шину управляющих сигналов. BIOS поддерживает до четырех LPT-портов (LPT1-LPT4) своим сервисом – прерыванием INT 17h, обеспечивающим через них связь с принтерами по интерфейсу Centronics. Этим сервисом BIOS осуществляет вывод символа, инициализацию интерфейса и принтера, а также опрос состояния принтера.

Традиционный порт SPP (Standard Parallel Port) является однонаправленным портом, на базе которого программно реализуется протокол обмена Centronics. Порт обеспечивает возможность вырабатывания запроса ап­паратного прерывания по импульсу на входе Аск#. Сигналы порта выводятся на разъем DB-25S (розетка), установленный непосредственно на плате адаптера (или системной плате) или соединяемый с ней плоским шлейфом.

Стандартный порт имеет три 8-битных регистра, расположенных по сосед­ним адресам в пространстве ввода/вывода, начиная с базового адреса порта (BASE).

Data Register (DR) – регистр данных, адрес = BASE. Данные, записанные в этот порт, выводятся на выходные линии интерфейса (контакты разъема: 2 – 9). Данные, считанные из этого регистра, в зависимости от схемотехники адаптера соответствуют либо ранее записанным данным, либо сигналам на тех же линиях.

Status Register (SR) – регистр состояния, представляющий собой 5-битный порт ввода сигналов состояния принтера (биты SR.4-SR.7), адрес = BASE+1. Бит SR.7 инвертируется – низкому уровню сигнала соответствует единичное значение бита в регистре, и наоборот.

Назначение бит регистра состояния (в скобках даны номера контактов разъема):

SR.7 – Busy – инверсные отображения состояния линии Busy (11);

SR.6 – АСК (Acknowledge) – отображения состояния линии Аск# (10);

SR.5 – РЕ (Paper End) – отображения состояния линии Paper End (12);

SR.4 – Select – отображения состояния линии Select (13). Единичное зна­чение соответствует сигналу о включении принтера;

SR.3–Error – отображения состояния линии Error (15);

SR.2 – PIRQ – флаг прерывания по сигналу Аск# (только для порта PS/2). Бит обнуляется, если сигнал Аск# вызвал аппаратное прерывание. Единичное значение устанавливается по аппаратному сбросу и после чтения регистра состояния.

SR[1-0] – зарезервированы.

Control Register (CR) – регистр управления, адрес = ВА5Е+2. Как и регистр данных, этот 4-битный порт вывода допускает запись  и чтение (биты 0-3), но  его  выходной  буфер  обычно  имеет  тип  открытый  коллектор.   Это позволяет   более   корректно   использовать   линии   данного   регистра   как входные  при  программировании  их  в  высокий уровень.  Биты 0, 1, 3 инвертируются – единичному значению в регистре соответствует низкий уровень сигнала, и наоборот.

Назначение бит регистра управления: CR[7-6] – зарезервированы.

CR.5 – Direction – бит управления направлением передачи (только для портов PS/2). Запись единицы переводит порт данных в режим ввода.

CR.4 – ACKINTEN (Ack Interrupt Enable) – единичное значение разрешает прерывание по спаду сигнала на линии Ackff – сигнал запроса следующего байта.

CR.3 – Select In – единичное значение бита соответствует низкому уровню на выходе Selecting (17) – сигналу, разрешающему работу принтера по интерфейсу Centronics.

CR.2 – Init – нулевое значение бита соответствует низкому уровню на выходе Imt# (16) – сигнал аппаратного сброса принтера.

CR.1 – Auto LF – единичное значение бита соответствует низкому уровню на выходе Auto LF# (14) – сигналу на автоматический перевод строки (LF – Line Feed) по приему байта возврата каретки (CR – Carriage Return).

CR.0 –Strobe – единичное значение бита соответствует низкому уровню на выходе Strobeff (1) – сигналу стробирования выходных данных. Запрос аппаратного прерывания (обычно IRQ7 или IRQ5) вырабатывается по отрицательному перепаду сигнала на выводе 10 разъема интерфейса (Аск#) при установке CR.4 = 1. Прерывание вырабатывается, когда принтер подтвер­ждает прием предыдущего байта.

Стандартный порт сильно асимметричен – при наличии 12 линий (и бит), нормально работающих на вывод, на ввод работает только 5 линий состояния. Если необходима симметричная двунаправленная связь, на всех стандартных портах работоспособен режим полубайтного обмена – Nibble Mode. В этом режиме, называемым также и Hewlett Packard Bitronics, одновременно передаются 4 бита данных, пятая линия используется для квитирования.

В процессе начального тестирования BIOS проверяет наличие парал­лельных портов по адресам 3BCh, 378h и 278h и помещает базовые адреса обнаруженных портов в ячейки BIOS DATA AREA 0:0408h, 040Ah, 040Сh, 040Еh. Эти ячейки хранят адреса портов с логическими именами LPT1-LPT4. В ячейки 0:0478h, 0479h, 047Аh, 047Вh заносятся константы, задающие выдержку тайм-аута для этих портов.

Поиск портов обычно ведется по базовому адресу. Если считанный байт совпал с записанным, считается, что найден LPT-порт, и его адрес помещают в ячейку BIOS DATA AREA. Адрес порта LPT4 BIOS самостоятельно установить не может, поскольку в списке стандартных адресов поиска имеются только три вышеуказанных.

Обнаруженные порты инициализируются – записью в регистр управления формируется и снимается сигнал Initff, после чего записывается значение 00h, соответствующее исходному состоянию сигналов интерфейса. Программное прерывание BIOS INT 17h обеспечивает следующие функции поддержки LPT-порта:

00h – вывод символа из регистра AL по протоколу Centronics. Данные помещаются в выходной регистр и после готовности принтера формируется строб.

01h – инициализация интерфейса и принтера.

02h – опрос состояния принтера.

При вызове INT 17h номер функции задается в регистре АН, номер порта – в регистре DX (0 – LPT1, 1 – LPT2...). При возврате после любой функции регистр АН содержит код состояния – биты регистра состояния SR[7:3] (биты 6 и 3 инвертированы) и флаг тайм-аута в бите 0. Флаг тайм-аута устанавливается при неудачной попытке вывода символа. Недостатки стандартного порта частично устраняют новые типы портов, поя­вившихся в компьютерах семейства PS/2.

Двунаправленный порт (Type 1 parallel port) – интерфейс, введенный с PS/2. Такой порт кроме стандартного режима может работать в режиме ввода или двунаправленном. Протокол обмена формируется программно, а для указания направления передачи в регистр управления порта введен специальный бит: при CR.5=0 буфер данных работает на вывод, при CR.5=1 – на ввод.

Порт с прямым доступом к памяти (Туре 3 DMA parallel port) применялся в PS/2 моделей 57, 90, 95. Этот тип был введен для повышения пропускной способности и разгрузки процессора при выводе на принтер. Программе, работающей с данным портом, требовалось только задать блок данных в памяти, подлежащих выводу, и вывод по протоколу Centronics производился без участия процессора.


1.4. Детали и конструкция.

Программатор собран на двусторон­ней печатной плате размерами 140x140 мм. Можно собрать программа­тор и на макетной плате навесным мон­тажом. Учтите, что конденсаторы С4, С5 и кварцевый резонатор ZQ1 должны быть расположены как можно ближе к контактам 18, 19 панели XS2. Свобод­ные входы микросхем DD1 (выводы 13–15), DD2 (вывод 8) и DD7 (выводы 15, 17) необходимо соединить с их об­щим выводом или выводом питания. Это повысит помехоустойчивость прибора.

Все цифровые микросхемы можно заменять их функциональными анало­гами серий К555, КР1533 или импорт­ными. Транзисторы VT1, VT2 – любые маломощные соответст­вующей структуры, желательно с мини­мальным падением напряжения на уча­стке коллектор–эмиттер открытого транзистора.

Подстроечные резисторы R19, R21 – СПЗ-19А. Наборы резисторов DR1–DR3 – НР1-4-9М могут быть за­менены на НР1-4-8М, на зарубежные серии 9А или на соответствующее чис­ло обычных малогабаритных резисто­ров указанных на схеме номиналов. Ре­зисторы R1–R12 можно разместить внутри корпуса вилки Х2.

Панели XS1 и ХS2 должны выдержи­вать многократную установку и изъятие микросхем. Лучше всего применить ZIF-панели (с нулевым усилием уста­новки), предназначенные для микро­схем с расстоянием между рядами кон­тактов 7,5 мм (XS1) и 15 мм (XS2). Годят­ся и универсальные панели, допускаю­щие установку как "узких", так и "широ­ких" микросхем.

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

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

Выбор серии ИС для селектора выбора программ будем производить по матрице параметров. Выделим 3 наиболее подходящие серии: К155, К531 и К555. Качество серий будем оценивать по следующим параметрам: время задержки, потребляемый ток, коэффициент разветвления, коэффициент помехоустойчивости, условия эксплуатации (диапазон температур, вибрации, многократные удары) и стоимости. Определим коэффициенты значимости параметров и сведем все данные в таблицу 3.

Таблица 3.

 

Серия

Тип логики

Параметры

 

tзад

Iпотр

Кразв.

Кпом

Условия эксплуатации

Стои­мость

 

DT

Вибрации

Удары

 

К155

ТТЛ

30

60

10

0.3

80

10

20

1.2

 

К531

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10



Реклама
В соцсетях
рефераты скачать рефераты скачать рефераты скачать рефераты скачать рефераты скачать рефераты скачать рефераты скачать