Меню
Поиск



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

 Питающее напряжение на разъем Х1 программатора подают от внешнего ис­точника. Им может быть, например, се­тевой адаптер видеоприставки "SEGA Mega Drive-II". Хотя при номинальной нагрузке (1 А) его выходное напряже­ние не превышает 11В, при токе 70...90мА, потребляемом программа­тором, оно возрастает до 14...15 В.

Напряжение 5 В для питания микро­схем (в том числе программируемой) получают с помощью интегрального стабилизатора DA1. Напряжение на вы­ходе стабилизатора DA2 при низком ло­гическом уровне на выводе 18 шинного формирователя DD7 – 12 В. Точное значение устанавливают подстроечным резистором R21. При высоком логичес­ком уровне на выводе 18 открывшийся транзистор VT2 подключает параллель­но R21 еще один подстроечный резис­тор R19, что уменьшает выходное на­пряжение стабилизатора DA2 до 5 В.

Скорость нарастания напряжения на выходе стабилизатора после смены вы­сокого уровня на выводе 18 DD7 на низкий зависит от емкости конденсатора С14. При слишком большой его емкости и высокой скорости работы управляю­щего компьютера несколько младших ячеек FLASH-памяти микроконтроллера могут оказаться запрограммированны­ми с ошибками.

Выходное напряжение стабилизато­ра DA2 поступает на вывод 31 (EA/VPP) панели XS2 непосредственно, а на вы­вод 1 панели XS1 (RST/VPP) – через ключ на транзисторе VT1. При напряже­нии 12 В ключ открыт независимо от ло­гического уровня на выводе 16 регист­ра DD2. а при 5 В – только в случае, ес­ли этот уровень низкий.

Пониженная яркость свечения све­тодиода HL2 свидетельствует о напря­жении 5 В на выходе DA2 и о том, что программируемая микросхема нахо-

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

Вилку Х2 программатора соединяют с розеткой LPT-порта IBM-совместимо­го компьютера кабелем длиной до 2 м. В компьютере должен быть включен расширенный режим работы LPT-порта (ЕСР/ЕРР). В современных системных блоках он действует по умолчанию. Ес­ли это не так, режим порта можно изме­нить, запустив при начальной загрузке компьютера программу BIOS SETUP (пункты меню "Integrated Peripherals"– "Parallel Port Mode").


1.2. Модернизация схемы.

При питании от маломощного сете­вого адаптера и пониженном сетевом напряжении на программатор может поступать всего 12...13 В. Для стабили­затора DA1 такая ситуация благоприят­на (на нем рассеивается меньшая мощ­ность). А вот стабилизатор DA2 может выйти из рабочего режима, в результа­те чего напряжение, подаваемое на программируемый микроконтроллер, упадет ниже допустимых 11,5 В. Опыт показывает, что микросхемы фирмы Atmel успешно программируются и при 10,5 В. Однако гарантировать этого нельзя.

Если применить в стабилизаторе микросхему КР1184ЕН2 или ее прото­тип LP2951CL фирмы National Semiconductor (имеется на многих ма­теринских платах компьютеров), можно добиться надежной работы программа­тора при уменьшении напряжения пита­ния до 11,8 В.

Стабилизатор собирают по схеме, изображенной на рис. 2, и подключа­ют к показанным на рис. 1 точкам А, Б и В. Микросхема DA2, транзистор VT2, резисторы R18–R21 и конденсатор С14 из программатора должны быть исключены.

Диод VD1 (см. рис. 2) при высоком логическом уровне в точке А закрыт, и выходное напряжение 5±0,03 В задает прецизионный делитель напряжения, находящийся внутри микросхемы DA1. При низком уровне в точке А диод открыт, резисторы R1 и R2 шунтируют од­но из плеч внутреннего делителя. Вы­ходное напряжение возрастает до 12 В (его регулируют подстроечным резистором R2). Конденсатор С1 подавля­ет выбросы напряжения при переход­ных процессах. Его емкость (аналогично конденсатору С14 на рис. 1) не должна быть слишком большой.

Микросхема КР1184ЕН2 имеет вну­тренний детектор понижения выходно­го напряжения, который срабатывает при его уменьшении более чем на 5 % от установленного значения. В резуль­тате открывается транзистор VT1 и включается светодиод HL1. Нагру­зочная способность выхода невелика, поэтому номинал резистора R4 умень­шать нельзя.


1.3. Параллельный интерфейс: LPT-порт.

Порт параллельного интерфейса был введен в PC для подключения принтера –LPT-порт (Line PrinTer – построчный принтер).

Адаптер параллельного интерфейса представляет собой набор регистров, расположенных в пространстве ввода/вывода. Регистры порта адресуются от­носительно базового адреса порта, стандартными значениями которого являются 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

ТТЛШ

9

70

10

0.4

80

5

15

1.5

 

К555

ДТЛШ

20

14

20

0.5

100

5

15

2.1

S

Весовой коэф.

0.05

0.3

0.05

0.05

0.05

0.15

0.2

0.15

1.00

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




Новости
Мои настройки


   рефераты скачать  Наверх  рефераты скачать  

© 2009 Все права защищены.