Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика_зразок_звіт_2012.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
466.94 Кб
Скачать

Програматор мікроконтролерів avr / 89s сумісний з avr910

Програматор виконаний на основі драйвера від Objective Development і повністю сумісний по командах з оригінальним програматором AVR910 від ATMEL.

Будова. Схема програматора наведена на рис.3. Запобіжник F1 служить для захисту ліній живлення порту USB від випадкового замикання по ланцюгам живлення програматора. Діоди VD1, VD2 – звичайні випрямні, з прямим падінням напруги ~ 0,6 ... 0,7 В, призначені для зниження живлення мікроконтролера DD1 до 3,6 В. Згідно з документацією ATMEL на ATmega8 (L), мікроконтроллер може працювати при такій напрузі живлення до частоти трохи вище 14 МГц. Світлодіоди VL1 ("RD"), VL2 ("WR") сигналізують про поточні дії програматора, і, відповідно, позначають режими читання та запису. Світлодіод VL3 ("PWR") призначений для сигналізації подачі живлення на програматор.

Рис. 3. Програматор мікроконтролерів AVR / 89S сумісний з AVR910

Джампер J1 – (MODify) служить для початкового програмування керуючого МК програматора. При його замиканні, до гнізда ISP підключається зовнішній програматор і проводиться завантаження в МК керуючої програми. Після програмування керуючого МК програматора цей джампер необхідно розімкнути і замкнути джампер J2 - NORMal.

За допомогою джампера J3 LOW SCK можливо знижувати тактову частоту порту SPI МК програматора до ~ 20 кГц. За розімкнутого джампер частота SPI нормальна, при замкнутому – знижена. Перемикати джампер можна на ходу, так як керуюча програма МК програматора перевіряє стан лінії PB0 при кожному зверненні до порту SPI. Не рекомендується перемикати джампер при запущеному процесі запису / читання програмованого МК, тому що, швидше за все, це призведе до спотворення записуваних / зчитуваних даних. Джампер J3 введений для можливості програмування МК AVR, що тактуються від внутрішнього генератора 128 кГц.

Резистори R10 – R14 призначені для узгодження рівнів сигналів МК програматора та зовнішніх, підключених до програматора, ланцюгів (програмований МК або інший програматор).

Тактова частота порту SPI МК програматора за розімкнутого джампера J3 дорівнює 187,5 кГц. Це дозволяє програмувати контролери з тактовою частотою приблизно від 570 кГц для ATtiny / ATmega, 750 кГц для 90S і 7,5 МГц для 89S. Контролери програмуються від 10 до 30 секунд (при використанні утиліти AVRProg v.1.4 з пакету AVR Studio) разом з верифікацією залежно від обсягу FLASH пам'яті і тактової частоти.

На вивід LED роз'єму ISP виведений меандр з частотою 1 МГц для "пожвавлення" МК, у яких були помилково запрограмовані ф’юз-біти, що відповідають за тактування. Сигнал генерується постійно і не залежить від режиму роботи програматора.

Програматор тестувався з програмами AVRProg v.1.4 (входить в пакет AVRStudio), ChipBlasterAVR v.1.07 Evaluation, CodeVisionAVR, AVROSP (ATMEL AVR Open Source Programmer). Крім того, програматор тестувався з програмою AVRDUDE, однак, програма з даними програматором не сумісна, тому що не всі команди протоколу AVR910 відпрацьовує коректно.

На даний момент з перерахованими вище програмами протестовано програмування контролерів 89S53, 89S8252, 90S2313, 90S8515, ATtiny13, ATtiny26, ATtiny45, ATtiny2313, ATmega48, ATmega8, ATmega8515, ATmega8535, ATmega16, ATmega32, ATmega64, ATmega128, AT90CAN128.

Плата програматора розрахована на застосування наступних деталей:

  • мікроконтроллер Atmega8-16PI або Atmega8-16PU (Корпус PDIP-28).

  • діоди VD1 і VD2 – будь-які випрямні малогабаритні з прямим падінням напруги ~ 0,6 – 0,7 В (наприклад, КД522).

  • світлодіоди типу АЛ307БМ.

  • конденсатор С5 – електролітичний, з номінальною напругою не менше 10 вольт. Решта конденсатори - звичайні малогабаритні керамічні.

  • резистори – МЛТ-0,125.

  • роз'єм USB – типу USBB-1J (Роз'єм USB (м) на плату. Тип В).

  • роз'єм ISP – типу BH-10 (дворядний роз'єм IDC-Вилка 2х5 на плату.

Прошивка FUSE BITS . Для нормального функціонування контролера в схемі необхідно, щоб були запрограмовані (встановлені в "0") біти SPIEN, CKOPT, SUT0 і BODEN. Зазвичай мікроконтролери, що йдуть із заводу, тобто нові, мають вже запрограмований біт SPIEN. Решта бітів повинні бути незапрограмовані (встановлені в "1").

Налаштування . Як правило, правильно зібраний програматор з правильно запрограмованим МК налаштувань не потребує. Якщо у програмованого МК вхід RESET підтягнуть до напруги живлення резистором, то номінал резистора не повинен бути нижче 10 кОм – це пов'язано із зниженою напругою живлення керуючого МК програматора та введенням обмежувальних резисторів на шині ISP-роз'єму.

Якщо виникли проблеми, потрібно:

  1. Перевірити схему на відсутність помилок, обривів і коротких замикань.

  2. Перевірити напругу живлення на виводах живлення (7, 8) МК програматора – вони повинні бути в межах 3,5 - 3,8 вольт.

  3. Перевірити, чи запустився кварцовий генератор МК. Це можна зробити за допомогою осцилографа, підключивши його до виводу 10 МК. Якщо немає осцилографа, то можна визначити запуск генератора і за допомогою звичайного світлодіода. Для цього до виводу 10 МК через струмообмежувальний резистор номіналом 330 – 510 Ом підключається світлодіод, анодом до МК, катодом на землю. При подачі живлення світлодіод повинен слабо світитися. Слід зауважити, що програматор не буде визначатися жодною ОС, якщо номінальна частота кварцу відрізняється від 12 МГц. Це пов'язано з особливостями роботи USB:

  • тактова частота передачі даних по USB для Low Speed Device дорівнює 1, 5 МГц;

  • тактова частота керуючого МК програматора повинна бути рівно в 8 разів вищою.

  1. Перевірити, чи запустилася внутрішня програма в МК програматора. На контакті LED ISP-роз'єму повинен бути присутнім меандр частотою 1 МГц. Наявність меандру так само можна проконтролювати за допомогою осцилографа. Якщо немає осцилографа, можна провести перевірку за допомогою світлодіода. Світлодіод підключається анодом до контакту LED, катодом до будь-якого контакту GND ISP-роз'єму. При подачі живлення світлодіод повинен світиться в «півканалу». При замиканні пінцетом ніжок кварцового генератора світлодіод повинен або засвітиться в «повну силу», або свічення має бути відсутнім.

  2. Якщо операційна система знайшла невідомий пристрій і не хоче визначати його тип і ставити драйвера, потрібно перевірити установку ф’юзів. Можливо, мікроконтроллер тактується від внутрішнього генератора. Для даної реалізації USB в мікроконтролері важливо, щоб мікроконтроллер працював на частоті 12 МГц.

Інсталяція . Прошити контролер. Підключити програматор до РС через вільний роз'єм USB. Операційна система знайде новий пристрій – AVR910 USB Programmer, при пропозиції автоматично знайти драйвер, відмовитися, і вказати шлях до inf-файлу, в залежності від встановленої на вашому комп'ютері операційної системи.

У архіві з прошивкою є папка "AVR910.Driver" в якій розташовані три директорії для різних варіантів операційних систем:

  • "2k_xp_32" – для операційних систем Windows 2000/XP 32-bit (використовується штатний драйвер usbser.sys)

  • "Vista_xp_32" – для операційних систем Windows XP / Vista 32-bit (usbser.sys + lowbulk.sys [32-bit] від Osamu Tamura)

  • "Vista_xp_64" – для операційних систем Windows XP / Vista 64-bit (usbser.sys + lowbulk.sys [64-bit] від Osamu Tamura).

Особливості установки в Windows 2000.

У принципі, інсталяція не відрізняється від подібної для Windows XP, але є одне але – затримки в драйвері usbser.sys даної ОС псують ланцюжок команд від ПЗ на РС до програматора і, відповідно, ланцюг відповідей назад від програматора до ПЗ на РС. В такому випадку необхідно замінити файл usbser.sys в системних папках Windows 2000 на аналогічний від Windows XP. Це папки ... \ winnt \ system32 \ drivers \ і ... \ winnt \ system32 \ dllcashe \. Файл usbser.sys від Windows XP SP1 можна взяти за адресою http://prottoss.com/projects/AVR910.usb.prog/avr910_usb_programmer.files/usbser.sys. Природно, що драйвер доведеться підміняти, завантажившись під іншою ОС (наприклад, із завантажувального диска).

Особливості установки в Windows XP / Vista 64 bit.

Windows Vista 64-bit не приймає драйвери привілейованого режиму без цифрового підпису. Щоб використовувати даний драйвер на 64 бітної платформі, потрібно відключити перевірку цифрових підписів драйверів, натискаючи функціональну клавішу F8 під час початку завантаження системи.

Другий варіант, використання програми "Driver Signature Enforcement Overrider", яка підписує драйвер як "testdriver" і активізує "testmode", таким чином можна завантажити драйвер без реального цифрового підпису.

Установка:

  1. Завантажити "Driver Signature Enforcement Overrider";

  2. Запустити DSEO (інсталяція не потрібна).

  3. Виберати "Sign a System File", натиснути кнопку "Next" і вибрати файл avr910.usb.vista.xp.64.inf з директорії AVR910.Driver/vista_xp_64.

  4. Вибрати "Sign a System File" ще раз, натисніть кнопку "Next" і вибрати файл lowbulk.sys з директорії AVR910.Driver/vista_xp_64.

  5. Вибрати "Enable Testmode" та натиснути кнопку "Next".

  6. Перезапустити свій комп'ютер.

Оригінальні драйвера для AVR CDC від Osamu Tamura можна взяти за адресою http://www.recursion.jp/avrcdc/lowbulk.html.