Мазмұны:

AVR/Arduino Raspberry Pi көмегімен жыпылықтайды: 3 қадам (суреттермен)
AVR/Arduino Raspberry Pi көмегімен жыпылықтайды: 3 қадам (суреттермен)

Бейне: AVR/Arduino Raspberry Pi көмегімен жыпылықтайды: 3 қадам (суреттермен)

Бейне: AVR/Arduino Raspberry Pi көмегімен жыпылықтайды: 3 қадам (суреттермен)
Бейне: Marlin Firmware - VScode PlatformIO Install - Build Basics 2024, Қараша
Anonim
AVR/Arduino Raspberry Pi көмегімен жыпылықтайды
AVR/Arduino Raspberry Pi көмегімен жыпылықтайды

Жүйелік бағдарламашы (ISP)-бұл көптеген микроконтроллерлерді бағдарламалау үшін қолдануға болатын құрылғы, мысалы ATMega328p-бұл Arduino Uno-ның миы. Сіз USBtinyISP сияқты нәрсені сатып ала аласыз немесе тіпті Arduino -ны қолдана аласыз. Бұл нұсқаулық сізге Raspberry Pi -ді провайдер ретінде қалай пайдалану керектігін көрсетеді.

Arduino IDE чиптерді жыпылықтау үшін сорғыш астында қолданатын avrdude бағдарламасы көптеген бағдарламашылармен бірге қолданыла алады. Оның нұсқаларының бірі - Pi кеңейту портындағы SPI түйреуіштерін пайдалану. Мен чипті жыпылықтаған сайын сымдарды қайта қосудың қажеті жоқ, сонымен қатар avrdude қалай орнату және пайдалану керектігін, перформат тақтасына қарапайым тізбекті қалай қосу керектігін түсіндіремін. Мен сізге осы әдісті қолдана отырып ATmega немесе ATtiny сияқты AVR чипіне Arduino IDE көмегімен құрастырылған бағдарламаларды қалай алу керектігін көрсетемін.

Қажетті заттар:

  • Raspbian ең соңғы орнатылған Raspberry Pi
  • 40 істікшелі ерлердің жоғарғы розеткасы (немесе егер сізде үлкенірек Pi болса, 26 істікшелі)
  • Pi -ге қосылу үшін IDE кабелі
  • 16 МГц кристалды резонатор
  • 22 пФ конденсаторлар (2)
  • Жарықдиодты (1) бағдарламашының күйін көрсетеді
  • 8, 14 және/немесе 28 істікшелі IC розеткалары, фишкалардың пішініне байланысты жыпылықтағысы келеді
  • Кейбір перфоратор, сымдар, дәнекер

1 -қадам: Cobbler тіркемесін құру

Cobbler қондырмасын құру
Cobbler қондырмасын құру
Cobbler қондырмасын құру
Cobbler қондырмасын құру
Cobbler қондырмасын құру
Cobbler қондырмасын құру

Төрт сымды сериялық деп аталатын сериялық перифериялық интерфейс (SPI)-бір басты құрылғы мен бір немесе бірнеше қосалқы құрылғылар арасындағы байланыс әдісі. Біз мұны фишкаларды жарқылдату үшін қолданамыз, Pi - шебер, ал чип - құл. Сіз Pi мен сіздің чиптің арасында келесі байланыстарды орнатасыз (әр түрлі AVR мен Pi кеңейту порттары үшін жоғарыдағы түйіндерді қараңыз, бұл түйреуіштердің қайсысы екенін білу үшін):

  • MOSI (master-out-slave-in) түйреуіштерін бірге жалғаңыз
  • SCLK (ортақ сағат) түйреуіштерін бірге жалғаңыз
  • Пиді микросхеманың кез келген күтпеген жоғары кернеуінен қорғау үшін MISO (құлдықта жұмыс істейтін) түйреуіштерін 220 Ом резисторымен бірге қосыңыз.
  • Pi -дегі GPIO 25 -ті чиптегі RESET түйреуішіне тікелей қосыңыз. Пи бағдарламалау кезінде бұл түйреуішті төмен тартады, сондықтан біз бағдарламалау кезінде оны жоғары ұстап тұру үшін 10К резисторды қолданамыз, ал бағдарламалау кезінде бізге жақсы визуалды кері байланыс беру үшін оң кернеуге 1К қорғаныс резисторы бар жарық диоды қолданылады.

Біз жерге және қуат (3.3V) түйреуіштерін Pi мен біз бағдарламалайтын чиптердің арасына қосамыз. Егер сіз әлі білмесеңіз, Raspberry Pi түйреуіштері 5В төзімді емес - егер оларда 3,3В артық болса, олар зақымдалады. Егер қандай да бір себептермен бағдарламаланатын чиптерге 5В қуаты қажет болса, біз Pi түйреуіштерін қорғау үшін деңгейлік ауыстырғыш микросхеманы қолдана аламыз, бірақ мен 3.3В қолдана отырып ешқандай проблемаға тап болған жоқпын - сондықтан мен оны қауіпсіз ойнауды және компоненттерді үнемдеуді ұсынамын.

Ақырында, біз чиптің XTAL түйреуіштері арқылы 16 МГц кристалды осцилляторды қосамыз, біз оны жерге 22 пФ конденсаторлар арқылы қосамыз. AVR чиптерін әр түрлі жиілікте жұмыс істеуге орнатуға болады, сонымен қатар жиілікті анықтау үшін ішкі немесе сыртқы көзді пайдалануға орнатуға болады. Егер сіздің чип жиілік көзі ретінде сыртқы кристалды қолданатын болса, сіз онсыз қайта бағдарламалай алмайсыз. Әйтпесе, оның бар болғаны маңызды емес.

Сіз соңғы суреттегі тізбекті конструкцияны перфордқа жинауға арналған нұсқаулық ретінде пайдалана аласыз. Сізде IC розеткаларының қалауы бойынша әр түрлі немесе көп болуы мүмкін, тек тиісті түйреуіштерді Pi мен кристаллға параллель жалғаңыз. Н. Б. егер сіз менің прототипімнің бейнесін нұсқаулық ретінде қолдансаңыз, мен байланыспаған себептермен Пи түйреуіштеріне қол жеткізе алатын қосымша тақырыптар мен розеткаларды қосқанымды ескеріңіз.

2 -қадам: Avrdude орнату және пайдалану

Avrdude орнату және пайдалану
Avrdude орнату және пайдалану
Avrdude орнату және пайдалану
Avrdude орнату және пайдалану
Avrdude орнату және пайдалану
Avrdude орнату және пайдалану
Avrdude орнату және пайдалану
Avrdude орнату және пайдалану

Pi -ге avrdude орнату үшін теріңіз

sudo apt-get install avrdude

Содан кейін SPI интерфейсін қосу қажет, егер ол әлі қосылмаған болса. Мұны істеудің командалық жолы бар, бірақ Raspberry Pi конфигурация құралын пайдалану әлдеқайда оңай. Түрі

sudo raspi-config

SPI қосу үшін интерфейс опцияларына өтіңіз.

Чипті жарқылдау үшін Pi таспасының кабелін перформат схемасының қосқышына қосыңыз және чипті тиісті IC розеткасына салыңыз (оның дұрыс бағытта тұрғанына көз жеткізіңіз).

Бағдарламаны жыпылықтаған кезде, сіз чиптегі сақтандырғыштарды дұрыс орнатқаныңызға көз жеткізуіңіз керек. Бұл микросхеманың биттері, олар сізге сағаттың қандай жылдамдығында жұмыс істеу керектігін, чипті жазу кезінде EEPROM өшіруді және т. engbedded.com/fusecalc сайтында берілген сақтандырғыш калькуляторын пайдалану әлдеқайда оңай. Қолданылатын AVR бөлігінің атауын таңдаңыз және «Мүмкіндіктерді таңдау» аймағында қажетті опцияларды таңдаңыз. Мен әдетте сағат параметрлерінің дұрыстығына көз жеткіземін және басқа заттарды әдепкі бойынша қалдырамын. Сіз әрқашан «Сериялық бағдарламалау қосылған» CHECKED және «Reset Disabled» ӨҢІРСІЗ қалдырылғыңыз келеді, әйтпесе сіз чипті қайта бағдарламалай алмайсыз. Дұрыс параметрлер болған кезде, сіз «Ағымдағы параметрлер» аймағын төмен қарай айналдырып, AVRDUDE аргументтерін суретте көрсетілгендей көшіре аласыз.

Сақтандырғыштарды орнату үшін пәрменді енгізіңіз

sudo avrdude -c linuxspi -P /dev/spidev0.0 -p

мұнда бөліктің аты сіз қолданатын чипке сәйкес келеді. Бөлік атауларының тізімін sudo ardude -c linuxspi -p? Түрін енгізу арқылы табуға болады. Бағдарламаны жыпылықтау үшін оның ағымдағы каталогта екеніне көз жеткізіңіз және енгізіңіз

sudo avrdude -c linuxspi -P /dev/spidev0.0 -p -U жарқыл: w:: i

Екі пәрменнен кейін чипті өзгерту кезінде жарық диоды жанады.

3 -қадам: Arduino бағдарламаларын AVR -ге қосу

Arduino бағдарламаларын AVR -ге қосу
Arduino бағдарламаларын AVR -ге қосу
Arduino бағдарламаларын AVR -ге қосу
Arduino бағдарламаларын AVR -ге қосу
Arduino бағдарламаларын AVR -ге қосу
Arduino бағдарламаларын AVR -ге қосу

Бұл нұсқаулықтың негізгі бағыты-құрастырылған бағдарламаларды фишкаларға қалай жазу немесе құрастыру емес, жыпылықтау. Дегенмен, мен Arduino IDE көмегімен екілік файлдарды қалай құрастыруға болатынын түсіндіргім келді, және оларды осы әдіс арқылы жалаң AVR чиптеріне қалай алуға болатынын түсіндіргім келді, өйткені Arduino -ны үйрену салыстырмалы түрде оңай және көптеген оқулықтар мен мысалдар бар.

Алдымен, IDE олар үшін компиляцияны білуі үшін, сіз жыпылықтайтын AVR чиптері туралы ақпаратты қосуыңыз қажет. Джеймс Слиман github -да қол жетімді кейбір орнату файлдарын өте жақсы жинады. Оларды пайдалану үшін Arduino IDE ішіндегі «Параметрлер» мәзірін ашып, «Қосымша тақта менеджерінің URL мекенжайлары» өрісінің жанындағы құсбелгіні басыңыз. Пайда болған тілқатысу терезесінде келесі URL мекенжайларын көшіріп, қойыңыз:

Содан кейін «Құралдар» мәзіріне өтіп, «Басқару тақтасы» ішкі мәзірінде «Тақталар менеджері …» опциясын табыңыз. Тақталар менеджері тілқатысу терезесіндегі тізімнің төменгі жағына жылжып, DIY ATmega және DIY ATtiny тақталарын орнатыңыз.

Бағдарламаларды құрастыру үшін алдымен «Процессор» мәзірінде дұрыс чипті таңдағаныңызға көз жеткізіңіз, сонымен қатар процессордың дұрыс жылдамдығына. «Жүктеу құралын қолдану: Жоқ» опциясын таңдаңыз, өйткені біз тікелей Pi арқылы жүктейміз және осылайша Arduino жүктеушісі алатын қосымша орынды пайдалана аламыз. Енді «Тексеру» түймесін басыңыз (құсбелгі). Бұл сіздің бағдарламаңызды жүктемей -ақ құрастырады (себебі сіз бұл қадамды өзіңіз жасайсыз).

Барлығы ойдағыдай болады деп ойласаңыз, енді сіз құрастырылған бағдарламаны Pi -ге жеткізуіңіз керек. IDE оларды уақытша жерде жасырады, себебі ол бағдарламаларды өзі жүктеуге арналған. Windows жүйесінде ол «arduino_build» деп басталатын қалтадағы пайдаланушы каталогындағы AppData/Local/Temp ішінде.. Hex файлын іздеңіз - бұл сіздің бағдарламаңыз! Оны Pi -ге FTP арқылы немесе USB -таяқшамен жіберіңіз, сонда сіз бизнесте боласыз.

Бұл әрекетті орындау үшін бағдарламаларды құрастыру үшін Windows компьютері немесе Mac болуы қажет, оны Pi -ге жібересіз. Мұны Pi -де жасау өте керемет болар еді, бірақ, өкінішке орай, Raspbian репозиторийінде бар Arduino IDE -нің ресми нұсқасы ескірген және басқарма менеджері жоқ. Онсыз, жалаң AVR үшін компиляцияға сәйкес параметрлерді қосу біршама қиын. Сіздің Pi -де Arduino -ның соңғы нұсқасын құрастыруға арналған оқулықтар бар - егер сіз мұны істегіңіз келсе, оларды табыңыз! Мен IDE -ді чипті IDE ішінен жыпылықтау үшін linuxspi бағдарламашысының көмегімен алуға болады деп ойлаймын (яғни «жүктеу» батырмасы арқылы), бірақ бұл менің шыдамдылығым мен біліктілік деңгейімнен тыс - егер сіз білсеңіз тәсілі, оны түсініктемелерде жазыңыз! Ақырында, сіз бағдарламаларды AVR-C-де тікелей жаза аласыз және оларды Raspberry Pi-де AVR әзірлеудің толық платформасын беретін avr-gcc көмегімен Pi-де құрастыра аласыз. Мен мұны жасадым, егер сіз осы жолмен жүргіңіз келсе, мен сізге сәлем жолдаймын. Жарқылдаңыз!

Ұсынылған: