Мазмұны:

Dragon Rider 500 -ді AVR айдаһарымен қалай қолдануға болады: 10 қадам
Dragon Rider 500 -ді AVR айдаһарымен қалай қолдануға болады: 10 қадам

Бейне: Dragon Rider 500 -ді AVR айдаһарымен қалай қолдануға болады: 10 қадам

Бейне: Dragon Rider 500 -ді AVR айдаһарымен қалай қолдануға болады: 10 қадам
Бейне: Внутрисистемный программатор AVR DRAGON 2024, Шілде
Anonim
Dragon Rider 500 -ді AVR айдаһарымен қалай пайдалануға болады
Dragon Rider 500 -ді AVR айдаһарымен қалай пайдалануға болады

Бұл нұсқаулық - Ecros Technologies компаниясының Dragon Rider 500 кейбір мүмкіндіктерін пайдалану бойынша апаттық курс. Ecros веб -сайтында өте егжей -тегжейлі пайдаланушы нұсқаулығы бар екенін біліңіз.

Dragon Rider - бұл AVR Dragon by Atmel деп аталатын AVR микроконтроллер бағдарламашысымен қолдануға арналған интерфейс тақтасы. Қосымша ақпарат алу үшін: Atmel's Wesite: https://www.atmel.com/ AVR Dragon сілтемесі: https://www.atmel.com/dyn/products/tools_card.asp? Tool_id = 3891 Ecros Technology бойынша Dragon Rider 500: https://www.ecrostech.com/AtmelAvr/DragonRider/index.htm Dragon Rider 500 құрастыру Нұсқау: https://www.instructables.com/id/Assembling-the-Dragon-Rider-500-for-use-with- the-A/AVR микроконтроллері туралы бәрін біліңіз: https://www.avrfreaks.net Бұл нұсқаулық уақыт өте келе өсуі мүмкін, сондықтан қайта-қайта тексеріңіз!

1 -қадам: AVR Dude

AVR Dragon бағдарламалау үшін сізге кейбір бағдарламалық қамтамасыз ету қажет. Мен AVRdude -ді Ubuntu операциялық жүйесімен (linux) қолданамын, мен нәтижеге өте ризамын, бұл нұсқаулық бағдарламалық қамтамасыз етудің күрделілігіне қатысты болмайды. Егер сіз бағдарламалық қамтамасыз етуді қалай орнатуды немесе қолдануды білмесеңіз, жылдамдыққа жету үшін осы нұсқаулықты тексеріңіз: https://www.instructables.com/id/Getting-started-with-ubuntu-and-the- AVR-айдаһар/Менің болжауымша, егер сіз Dragon Rider 500-ді сатып алып, жинасаңыз, сіз AVR Dragon-мен чипті қалай бағдарламалауды білесіз.

2 -қадам: ATtiny2313 - Жарық диодтарын жыпылықтаңыз

ATtiny2313 - Жарық диодтарын жыпылықтаңыз
ATtiny2313 - Жарық диодтарын жыпылықтаңыз
ATtiny2313 - Жарық диодтарын жыпылықтаңыз
ATtiny2313 - Жарық диодтарын жыпылықтаңыз
ATtiny2313 - Жарық диодтарын жыпылықтаңыз
ATtiny2313 - Жарық диодтарын жыпылықтаңыз

ATtiny2313 бағдарламасын 20-істікшелі микроконтроллерге бағдарламалайық, Dragon Rider 500-де бірнеше түрлі AVR микроконтроллерлерінің розеткалары бар. Оларға: 8, 20, 28 және 40 істікшелі розеткалар жатады. Сіз қолданатын розеткаға байланысты, Dragon Rider тақтасындағы секіргіштер басқаша орнатылуы керек.

Jumper параметрлері

Шунттар келесі түйреуіштерді байланыстыратын етіп секіргіштерді айдаһар шабандозына орнатыңыз. (pin4 - J22 -J -24 үшін орталық түйреуіш) түйреуіштер: J5 - 23J6 - 23J7 - 12J16 - 23J22 - 41J23 - 41J24 - 41Бұл ISP (жүйелік бағдарламалауда) мүмкіндік беретін негізгі қондырғы.

Блинки Блинки

Бағдарламалауға ештеңе болмаса, бағдарламалаудың пайдасы жоқ. Мен Dragon Rider светодиодын бір мезгілде жыпылықтау үшін өте қысқа код үлгісін жаздым. Жарық диодты (J29) портбелгі портына (J2) жалғау үшін таспалы кабельді қолданыңыз.

Бағдарламалау

Мен C файлын, сондай -ақ makefile мен hex файлын қостым. Кіріспеде айтқанымдай, мен нұсқаулықта бағдарламалаудың бағдарламалық жағын қамти алмаймын. AVR Dragon бағдарламасына ұқсас бағдарлама, өйткені Dragon Rider бағдарламалық жасақтаманы мүлдем өзгертпейді.

3-қадам: СКД қондырмасын пайдалану

СКД қондырмасын пайдалану
СКД қондырмасын пайдалану

Міне, СКД қондырмасын қолданудың қарапайым әдісі. Бұл СКД экранына «Dragon Rider» деп жазады.

Жабдық:

  • 233
  • R/W Jumper: R/W Dragon Rider тақтасындағы «BIT1» -ге жалғануы керек (Құралға нұсқаулықты қараңыз).
  • J23: Бұл қосқышты провайдер бағдарламалау үшін орнату керек, бірақ СКД дұрыс жұмыс істеуі үшін оны алып тастау керек.
  • Сұйық кристалды B портына таспалы кабель арқылы қосыңыз (J31 - J2)

Бағдарламалық қамтамасыз ету

Мен Питер Флердің СКД кітапханасын 4 биттік режимде басқару үшін қолданамын. Кітапхананы жүктеу үшін Петірдің басты бетін қараңыз.

Біз ішкі RC осцилляторын қолданамыз, сондықтан XTAL 1 МГц үшін орнатылуы керек:

#XTAL 1000000 анықтаңыз

  • Порт параметрлерін PORTB күйіне келтіру қажет:
  • #LCD_PORT PORTB анықтаңыз

  • 4 деректер жолының түйреуішін бейімдеу қажет:
  • #LCD_DATA0_PIN 4 анықтау #LCD_DATA1_PIN 5 анықтау #LCD_DATA2_PIN 6 анықтау #LCD_DATA3_PIN 7 анықтау

  • RS, RW және E үшін түйреуіш бейімделуі керек:
  • #LCD_RS_PIN 3 анықтау #LCD_RW_PIN 1 анықтау #LCD_E_PIN 2 анықтау

    Питер Флури өзінің LCD кітапханасында жасаған жұмысының арқасында негізгі бағдарлама өте қарапайым. КОД:

    #include #include «lcd.h» int main (void) {lcd_init (LCD_DISP_ON); // lcd_clrscr () курсоры өшірілгенде СКД инициализациялаңыз; // СКД экранды тазалаңыз lcd_gotoxy (5, 0); // Курсорды осы орынға жылжытыңыз lcd_puts («Айдаһар»); // Бұл жолды LCD lcd_gotoxy (6, 1) қойыңыз; // Курсорды осы орынға жылжытыңыз lcd_puts («Rider»); // Бұл жолды СКД -ге қойыңыз (;;) {// Ештеңе жасамаңыз (хабарлама СКД -да көрсетілген)}}

    Код тіркелді

    Қосылған кодқа оның рұқсатымен Питер Флуридің LCD кітапханасы (lcd.c және lcd.h) кіреді. Рахмет Петер! Мен жасаған жалғыз өзгеріс - бұл анықтамаларда тиісті түйреуіштерді орнату. Пакетті жүктеу үшін оның сайтына кіріңіз: https://www.jump.to/fleury Мен сондай -ақ Эрик Б. Тайлдтон мен Джорг Вунш жазған макияфайлды енгіздім. Мен PM -ді avrfreaks.net сайтында Джоргқа жібердім, бірақ одан жауап алған жоқпын. Linux пен айдаһарды қолдануға бейімдеу үшін макияж файлында бірнеше өзгерістер бар. Екеуіңізге де рахмет, маған өз жұмысыңызбен бөлісуге қатысты өз қалауыңызды біліңіз.

    4-қадам: 28 істікшелі UC ISP бағдарламалау (ATmega8)

    28 істікшелі UC ISP бағдарламалау (ATmega8)
    28 істікшелі UC ISP бағдарламалау (ATmega8)
    28 істікшелі UC ISP бағдарламалау (ATmega8)
    28 істікшелі UC ISP бағдарламалау (ATmega8)

    Жобаның келесі демонстрациясында 28 істікшелі орташа ATmega8 пайдаланылады. Міне, 28 істікшелі микроконтроллерді провайдерлердің бағдарламалауына арналған негізгі қосқыш.

    Jumper параметрлері

    Шунттар келесі түйреуіштерді байланыстыратын етіп секіргіштерді айдаһар шабандозына орнатыңыз. (pin4 - J22 -J -24 үшін орталық түйреуіш) түйреуіштер: J11 - 23J12 - 23J13 - 12J16 - 23J22 - 42J23 - 42J24 - 42

    Техникалық ақпарат

    • J11 мен J12 -ді осылайша жалғау осы түйреуіштерді енгізу -шығару түйреуіштері ретінде пайдалануға мүмкіндік береді. Балама - бұл түйреуіштерді сыртқы кристаллмен байланыс жасау үшін бағыттау.
    • J13 -ті осылайша қосу оны қалпына келтіру түйреуі ретінде пайдалануға мүмкіндік береді. Балама бұл түйреуішті енгізу -шығару түйіні ретінде пайдалану үшін PORTC тақырыбына бағыттайды. (бұл көптеген кемшіліктерге ие болады, соның ішінде бұл чипті ISP көмегімен бағдарламалау мүмкін еместігі).
    • J16 және J22-J24 сәйкес түйреуіштерді (Reset, MISO, MOSI және SCK) AVR Dragon провайдерлік провайдеріне бағыттау үшін осылайша қосылған.

    5 -қадам: СКД мен түймелердің кеңейтілген қолданылуы: Үлкен сағат

    СКД мен түймелердің кеңейтілген қолданылуы: Үлкен сағат
    СКД мен түймелердің кеңейтілген қолданылуы: Үлкен сағат

    Бұл СКД экраны мен түймелерін қолданатын қызықты жоба. Біз СКД -де нақты уақыттағы сағат функциялары мен таңдамалы таңбалармен айналысатын боламыз. Төмендегі суретте СКД экранында 19:26:07 кешкі уақытта үлкен сандармен көрсетілген уақытты көруге болады. Әр сан үлкен санды көрсету үшін таңбалардың 2x2 торын қолданады. Бұл XBMC жобасы үшін бастапқыда Xtinus жазған қаріпті қолданады. Түймелер сағатты орнату үшін қолданылады. Сол жақта сағатты жоғарылатады, минутты жоғарылатады, оңға 12 мен 24 сағат аралығында ауысады, ал Enter секундтарды нөлге қайтарады. Сағат өте жақсы уақытты сақтамайды, өйткені біз дәл емес ішкі осцилляторды қолданамыз, бірақ бұл бағдарламаны әлдеқайда дәл сыртқы кристалды қолдану үшін оңай өзгертуге болады. Мұны төмендегі бейнеден іс жүзінде қараңыз. Бұл кодтың қалай жұмыс істейтіні туралы түсініктеме бар, бірақ менде дәл қазір уақыт жоқ. Әзірше, СКД колонкасын (J31) PORTD (J4) пен түйме тақырыбын (J30) PORTB (J2) жалғаңыз. SW1 және SW2 екеуінің де өшірілген күйде екеніне көз жеткізіңіз. AVR Dragon -ды USB кабеліне жалғап, кабельдің екінші ұшын компьютерге қосыңыз. SW2 қосыңыз және ATmega8 бағдарламасын өзіңіз қалаған бағдарламалық жасақтамамен бағдарламалаңыз (төмендегі он алтылық файл; сақтандырғыштар зауыттық күйге келтірілген). бұл қуат өшірілген кезде.

    6 -қадам: жоғары вольтты бағдарламалау

    Мен қате сақтандырғыш параметрлерін орнатқан ATtiny2313 тірілту үшін жоғары вольтты параллель бағдарламалауды қолдандым. Бұл нұсқаулықпен жұмыс істеу кезінде маған екінші рет қажет болды, өйткені мен кездейсоқ lfuse параметрін hfuse регистріне жаздым … ooops. Жоғары кернеулі параллельді бағдарламалау - бұл сіздің қолыңызда болатын ыңғайлы құрал! Төменде менің секіргіш параметрлерімнің тізімі берілген: ӨЗ ҚАУІПТІЛІГІҢІЗДІ ПАЙДАЛАНЫҢЫЗ, БҰЛ БАҒДАРЛАМАЛЫҚ ТІРЛІГІ ӨЗІҢІЗДІҢ ЗАҢЫЗДЫ ЗАҢДАЙ АЛАДЫ !! Жоғары вольтты параллель бағдарламалау: U3 ұяшығында ATtiny2313: SW1 - OFFSW2 - ONJ5, J6, J7 - pin1 мен pin2XTAL1 жалғау - pin1 мен pin2J16 жалғау - pin1 мен pin22x5 IDC кабельдерін жалғау: PROG_CTRL портқа D, PROG_DATA портқа қосылады BA (барлық басқа қосқыштар) J8-J13, J18, J19, J20, J22-J28, J24) Басқа чиптер үшін сізге STM500 үшін Atmel пайдаланушы нұсқаулығынан қажетті параметрлерді анықтау қажет.

    7 -қадам: Басқармадан тыс кеңейту

    Кеңестен тыс кеңею
    Кеңестен тыс кеңею

    Менің ойымша, тақтамен интерфейс оңай. Бұл бір уақытта кодты прототиптеу мен әзірлеуге әлдеқайда икемділік береді. Төменде сіз Dragon Rider -ге қосылған бірнеше тақтаны көресіз. Мен таспалы кабельдерді тиісті порттарға бір шетіне қосамын. Екінші жағынан, ICD тиісті өткізгішін тақталарға қосу үшін мен секіргіш сымдарды қолданамын.

    8 -қадам: Қорытынды

    Нұсқаулыққа бұдан да көп нәрсені қосуға болады. Мен дәл бүгін кешке айдаһарды айдаһарды алып тастамай, 6 істікшелі бағдарламалау тақырыбын пайдалануға мүмкіндік беретін адаптерді аяқтадым. Мен оны қалай салу керектігі туралы ақпарат беремін … жақында. Егер сізде басқа нәрселер болса, оларды қосу керек деп пікір қалдырыңыз.

    9-қадам: 6 істікшелі провайдер қосу

    6 істікшелі провайдер қосу
    6 істікшелі провайдер қосу
    6 істікшелі провайдер қосу
    6 істікшелі провайдер қосу
    6 істікшелі провайдер қосу
    6 істікшелі провайдер қосу

    Мен әдетте барлық жобаларыма 6 істікшелі Интернет-провайдер тақырыбын құрамын, сондықтан қажет болған жағдайда чипті қайта бағдарламалай аламын және оны жоба тақтасынан алып тастамаймын. Өкінішке орай, айдаһар шабандозында 6 істікшелі провайдер тақырыбы жоқ, бірақ мен оны қалай қолжетімді ету керектігін түсіндім.

    Ескерту !

    Бұл бұзу. Егер сіз бұл қалай жұмыс істейтінін білмесеңіз, оны жасамаңыз

    Сізге 6-істікшелі isp тақырыбын беру үшін адаптер тақтасы мен 3 істікшелі секіргіш жасадым. Сіз не істейсіз-бұл Dragon Rider бағдарламасына және 8 істікшелі микроконтроллерге. 3-істікшелі розетканы қолдана отырып, мен J8 секіргішімен 1 және 3-ші түйреуіштерді қосамын. Бұл сағат сигналын PortB коннекторына бағыттайды. Содан кейін мен PortB тақырыпшасынан адаптер тақтасына және voila -ға секіргіш кабелін жүргіземін! Төменде суреттер бар …. өтінемін, өтінемін, өтінемін, егер сіз не істеп жатқаныңызды шынымен түсінбесеңіз, мұны жасамаңыз, себебі сіз AVR айдаһарына зиян келтіре аласыз, егер сіз бұл әрекетті дұрыс жасамасаңыз.

    Түйін: PortB ISP1 42 13 34 NC5 NC6 57 NC8 NC9 610 2

    10 -қадам: RSS оқу құралы сериялық қосылым мен СКД көмегімен

    Сериялық қосылым мен СКД көмегімен RSS оқу құралы
    Сериялық қосылым мен СКД көмегімен RSS оқу құралы
    Сериялық қосылым мен СКД көмегімен RSS оқу құралы
    Сериялық қосылым мен СКД көмегімен RSS оқу құралы

    Мен осы даму тақтасымен ойнауды жалғастырамын. Бұл жолы мен түстен кейін RSS оқуын дамытуға жұмсадым (көбінесе заттардың питон жағында). Менің ойымша, бұл өзінің нұсқаулығына кепілдік бермейді, сондықтан мен оны осында қосамын.

    Аппараттық құрал

    Біз Dragon Rider 500 -ді даму тақтасы ретінде қолданамыз. Бұл сізге қажет барлық жабдықты береді (егер сізде барлық қондырмалар жиынтығы болса). Әрине, сіз мұны өзіңіздің жеке аппараттық қондырғыңызбен жасай аласыз:

    • ATmega8 микроконтроллері (немесе USART бар және барлық қосылулар үшін жеткілікті түйреуіштері бар кез келген
    • Микроконтроллерді бағдарламалау әдісі (мен AVR Dragon қолданамын)
    • MAX232 чипі сериялық байланысқа арналған
    • DB9 қосқышы
    • HD44780 СКД экраны
    • Кристалл (мен 8 МГц кристалды қолдандым)
    • Түрлі конденсаторлар мен резисторлар

    Төменде схема берілген, айдаһар шабандозында қосылымдарды бағыттау үшін кейбір шығармашылықты қолдану қажет болады. Әдетте D портына СКД тақырыбына тікелей қосуға болады. Бұл жерде олай емес, себебі USART сериялық қосылым үшін қажет PD0 және PD1 пайдаланады. Сонымен қатар, В портын пайдалану мүмкін емес, себебі PB6 және PB7 сыртқы кристалл үшін қолданылады. Төменде бұл мәселенің шешімі көрсетілген. Мен таспалы кабельді СКД, В портына және D портына тақырыптарға қосамын, содан кейін дұрыс бағыттарды жасау үшін өтпелі сымдарды қолданыңыз. СКД тақырыбына кернеу мен жерге қосуды ұмытпаңыз.

    Бағдарламалық қамтамасыз ету

    Бұл жобаның бағдарламалық жасақтамасы екі бөліктен тұрады: микроконтроллерге арналған микробағдарлама және RSS арналарын қиып алуға және оларды сериялық қосылымға жіберуге арналған python сценарийі. /ұн). Бұл қуатты және қысқа, әмбебап және сіздің аппараттық қондырғыңызды өзгертуге оңай. Егер сіз бекітілген тақырып файлына (lcd.h) қарасаңыз, мен 4-разрядты режимде жұмыс істеп жатқанымды көресіз, бұл деректер порттары ретінде D портында, ал басқару нүктелері ретінде В портында. Бұл микробағдарлама туралы түсінік өте қарапайым.:

    • Микроконтроллер қосылғаннан кейін «RSS Reader» көрсетіледі, содан кейін сериялық деректерді күтеді.
    • Қабылданған сериялық деректердің әрбір байты 16 таңбадан тұратын буферді солға жылжытады және байтты буферге қосады, содан кейін буферді көрсетеді.
    • Микроконтроллер үш арнайы команданы қабылдайды: 0x00, 0x01 және 0x02. Бұл таза экран, сәйкесінше 0 жолға жылжу және 1 жолға өту.

    Python ScryptI RSS деректерін қиып алу және оны сериялық байланыс арқылы жіберу үшін питон сценарийін жазды. Бұл жұмыс істеу үшін жүйеге орнату қажет болатын «pyserial» питон модулін қажет етеді. RSS арнасын pyton файлының жоғарғы жағында конфигурациялауға болады. Назар аударыңыз, арна атауын, сонымен қатар арна URL мекенжайын енгізу қажет. Мұнда үш мысал бар, мен олардың синтаксисін дұрыс орындауға болатынына сенімдімін

    • Жабдықты жинаңыз
    • Микроконтроллерді бағдарламалаңыз (егер сіз оны өзіңіз құрастырғыңыз келмесе, dragon_rss.hex қолдануға болады). ATmega8 үшін 8 МГц кристалды қолданатын сақтандырғыш параметрлері: lfuse = 0xEF hfuse = 0xD9
    • Айдаһар шабандозын қосыңыз және сериялық кабельдің қосылғанын тексеріңіз (СКД: «RSS оқу құралы» деп оқылуы керек)
    • Python бағдарламасын орындаңыз (python serial_rss.py)
    • Ләззат алыңыз

    Ұсынылған: