Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Если при тестировании, какой-либо сигнал не проходит, следует тщательно проверить весь путь прохождения этого сигнала, включая кабель соединения с COM-портом компьютера




Тестирование канала данных программатора EXTRAPIC:
1. 13 вывод микросхемы DA1: напряжение от -5 до -12 вольт. При установке «галочки»: от +5 до +12 вольт.
2. 12 вывод микросхемы Da1: напряжение +5 вольт. При установке «галочки»: 0 вольт.
3. 6 вывод микросхемы DD1: напряжение 0 вольт. При установке «галочки»: +5 вольт.
3. 1 и 2 вывод микросхемы DD1: напряжение 0 вольт. При установке «галочки»: +5 вольт.
4. 3 вывод микросхемы DD1: напряжение +5 вольт. При установке «галочки»: 0 вольт.
5. 14 вывод микросхемы DA1: напряжение от -5 до -12 вольт. При установке «галочки»: от +5 до +12 вольт.
Если все тестирование прошло успешно, то программатор готов к эксплуатации.
Для подключения микроконтроллера к программатору можно использовать подходящие панельки или же сделать адаптер на основе ZIF панельки (с нулевым усилием прижатия).

Теперь несколько слов про ICSP — Внутрисхемное программирование
PIC-контроллеров.
При использовании ICSP на плате устройства следует предусмотреть возможность подключения программатора. При программировании с использованием ICSP к программатору должны быть подключены 5 сигнальных линий:
1. GND (VSS) — общий провод.
2. VDD (VCC) — плюс напряжение питания
3. MCLR' (VPP)- вход сброса микроконтроллера / вход напряжения программирования
4. RB7 (DATA) — двунаправленная шина данных в режиме программирования
5. RB6 (CLOCK) Вход синхронизации в режиме программирования
Остальные выводы микроконтроллера не используются в режиме внутрисхемного программирования.
Вариант подключения ICSP к микроконтроллеру PIC16F84 в корпусе DIP18:

1.Линия MCLR' развязывается от схемы устройства перемычкой J2, которая в режиме внутрисхемного программирования (ICSP) размыкается, передавая вывод MCLR в монопольное управление программатору.
2.Линия VDD в режиме программирования ICSP отключается от схемы устройства перемычкой J1. Это необходимо для исключения потребления тока от линии VDD схемой устройства.
3.Линия RB7 (двунаправленная шина данных в режиме программирования) изолируется по току от схемы устройства резистором R1 номиналом не менее 1 кОм. В связи с этим максимальный втекающий/стекающий ток, обеспечиваемый этой линией будет ограничен резистором R1. При необходимости обеспечить максимальный ток, резистор R1 необходимо заменить (как в случае c VDD) перемычкой.
4.Линия RB6 (Вход синхронизации PIC в режиме программирования) так же как и RB7 изолируется по току от схемы устройства резистором R2, номиналом не менее 1 кОм. В связи с этим максимальный втекающий/стекающий ток, обеспечиваемый этой линией будет ограничен резистором R2. При необходимости обеспечить максимальный ток, резистор R2 необходимо заменить (как в случае с VDD) перемычкой.
Расположение выводов ICSP у PIC-контроллеров:

Прошиваем контроллер PIC12F629. Данный микроконтроллер для своей работы использует константу osccal — представляет собой 16-ти ричное значение калибровки внутреннего генератора МК, с помощью которого МК отчитывает время при выполнении своих программ, которая записана в последней ячейке данных пика. Подключаем данный микроконтроллер к программатору.
Ниже на сриншоте красными цифрами показана последовательность действий в программе IC-prog.

1. Выбрать тип микроконтроллера

2. Нажать кнопку «Читать микросхему»
В окне «Программный код» в самой последней ячейке будет наша константа для данного контроллера. Для каждого контроллера константа своя!Не сотрите ее, запишите в отчет по ПР.

 

3. Нажимаем кнопку «Открыть файл...», выбираем нашу прошивку. В окне программного кода появится код прошивки.
4. Спускаемся к концу кода, на последней ячейке жмем правой клавишей мыши и выбираем в меню «править область», в поле «Шестнадцатеричные» вводим значение константы, которую записали, нажимаем «ОК».
5. Нажимаем «программировать микросхему».
Пойдет процесс программирования, если все прошло успешно, то программа выведет соответствующее уведомление.
Вытаскиваем микросхему из программатора и вставляем в собранный макет. Включаем питание. Нажимаем кнопку пуск. Процесс работы прогрмматора сопровождается миганием контрольных ламп записи и поверки записи.

Прошивка микроконтроллера из файла исходника

При наличии файла исходного кода на ассемблере asm, а для прошивки нужен файл прошивки hex, необходим компилятор, например Mplab. В этой программе можно как писать прошивки так и компилировать. Вот окно компилятора:

В окне (4) Browse находим наш исходник (1).asm, в окне (5) Processor выбираем наш микроконтроллер, нажимаем Assemble и в той же папке где вы указали исходник появится ваша прошивка.HEX


 

Прошивка AVR микроконтроллера

Микроконтроллер AVR имеет следующие основные выводы программирования:
MOSI — вход данных
MISO — выход данных
SCK — вход синхронизирующих импульсов
REST — сигнал сброса
Технологии «пять проводков» заключается в том, что выводы программирования
контроллера подключаются напрямую к LPT порту компьютера. Пяты проводок — это общий провод.
Вот схема подключения:

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

Обратите внимание на перемычки между контактами 2-12, 3-11. По наличию этих перемычек программа «прошивальщик» определяет подключение к LPT порту программатора.

Кабель соединяющий компьютер и программатор должен быть экранированный, проводки, соединяющие контроллер должны быть минимальной длины, иначе, посыпятся ошибки при прошивке контроллера.

Это, конечно самый простой способ прошить AVR контроллер. Но у него есть и много недостатков. Самый большой недостаток — это очень большая возможность «спалить» LPT порт, да и всю материнскую плату, так как никакой защиты для порта не предусмотрено. Но, не все еще потеряно.

Вариант 2. Существуют программаторы, в которых предусмотрена защита.

Программатор STK200/300.

Этот программатор получил свое название от комплектующихся им отладочных плат фирмы Atmel для быстрого начала работы с микроконтроллерами At90s8515 и Atmega103. Но, им можно прошивать и другие типы контроллеров.

Схема:

На входе защитные резисторы от перегрузки по току, далее идет микросхема 74HC244. Это не инвертирующий буфер. Микросхема содержит два независимых четырехразрядных буфера. Каждый буфер имеет свой сигнал разрешения выхода (низкий активный уровень). На входах нет триггеров Шмитта. Микросхема выполнена по технологии “быстрый” КМОП, что обеспечивает высокое быстродействие. Мощный токовый выход делает возможным сохранение высокого быстродействия даже при емкостной нагрузке. Быстродействие 74HC244 сравнимо с быстродействием микросхем, основанных на диодах Шоттки, при этом 74HC244 сохраняет достоинства микросхем КМОП, т.е. высокая помехозащищенность и низкая потребляемая мощность.Входы микросхемы защищены от повреждения статическим электричеством при помощи диодов. Вот блок схема данной микросхемы:

На плате было выведено +5 вольт с USB порта для питания программируемого контроллера.

Светодиоды HL1 и HL2 загораются при чтении/записи контроллера, светодиод HL3 сигнализирует о подачи питания с USB порта. Перемычкой J1 LOW возможно понижать тактовую частоту порта SPI МК программатора до ~20 кГц. При разомкнутомджампере частота SPI нормальная, при замкнутом — пониженная. Cкорость работы порта SPI МК программатора при разомкнутом джампере J1 равна 187,5 кГц. Это позволяет программировать контроллеры с тактовой частотой примерно от 570 кГц для tiny/mega, 750 кГц для 90S и 7,5 МГц для 89S.

На вывод LED разъема выведен меандр с частотой 1 МГц для „оживления“ МК, у которых были ошибочно запрограммированы фьюзы, отвечающие за тактирование. Сигнал генерируется постоянно и не зависит от режима работы программатора.

Программатор позволяет программировать все контроллеры AVR, поддерживающие ISP (InSystemProgramming — Программирование В Системе), а так же МК серии 89S — 89S53 и 89S8252.

Джампер J2-J3 служит как для начального программирования микроконтроллера (замкнут J2 — MOD), так и для использования в качестве разъема программатора (замкнут J3 — NORM)

 

CodeVision AVR. В основном меню нажимаем кнопку „Setting“, в выпадающем меню нажимаем „Programmer“:

В самой первой строчке из списка выбираем наш AVR910, во второй строчке выставляем номерCom порта, который смотрели в диспетчере оборудования. Остальное оставляем без изменений. Программатор настроен.

Теперь немного о том как прошить контроллер в CodeVision AVR.

Итак, в основном меню выбираем „Tools“, далее нажимаем „ChipProgrammer“,

Рассмотрим, что тут есть и как это работает.

Программатор уже должен быть подключен к Usb, а к программатору подключен контроллер, в моем случае это будет Atmega 8.

В списке Chip выбираем наш контроллер, теперь нажимаем в меню сверху Read.

 

В этом меню мы можем запустить чтение содержимого контроллера. Пока, что нас интересуют два пункта, это FLASH и FuseBit(s). Если нажать на FLASH, то начнется чтение содержимого

FLASH памяти контроллера, на программаторе будет мигать зеленый светодиод. Итак, FLASH прочитана, а где же глянуть, что же там прочиталось. А вот где. Нажимаем в главном меню

Edit, а выпавшем списке FLASH.

Появится вот такое окно:

На рисунке все содержимое FLASH памяти контроллера, тут можно и отредактировать, если нужно определенные блоки. Но, пока тут все чисто, во всех ячейка — FFFF.

Для считкиFuseBit(s), то делаем следующее — Read — FuseBit(s). Пройдет чтение и вот в таком окошке появятся заводскиефьюзы контроллера (если он новый):

Загрузка прошивки в контроллер осуществляется следующим методом:

Указать сам файл прошивки, которым будем загружать в контроллер. Делается это так.выбираем в меню File, далее выбираем Load FLASH.

Жмем Load FLASH и в появившемся окне выбираем файл прошивки.

Нажимаем Открыть.

Теперь заходим в меню Program.

Если в контроллере были какие-то данные, то сперва стираем его, нажав на EraseChip, если контроллер новый, то стирать не надо. Теперь нажимаем на FLASH. Программа спросит, действительно ли хотите запрограммировать, на что ответьте ОК. Пойдет процесс прошивки.

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

Запомните, если в квадратике, напротив названия фьюз бита стоит галочка, то фьюзбит не запрограммирован, если не стоит, то запрограммирован.

Когда выставили необходимые фьюз биты, то в пункте меню ProgramнажимаемFuseBit(s). Можно еще раз прочитать содержимое FLASH и удостовериться, что все за программировалось.

 




Поделиться с друзьями:


Дата добавления: 2015-07-13; Просмотров: 2457; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.025 сек.