Turinys:

Tekstas į kalbą Spustelėkite „ARMbasic Powered UChip“ir kitus „ARMbasic Powered SBC“: 3 žingsniai
Tekstas į kalbą Spustelėkite „ARMbasic Powered UChip“ir kitus „ARMbasic Powered SBC“: 3 žingsniai

Video: Tekstas į kalbą Spustelėkite „ARMbasic Powered UChip“ir kitus „ARMbasic Powered SBC“: 3 žingsniai

Video: Tekstas į kalbą Spustelėkite „ARMbasic Powered UChip“ir kitus „ARMbasic Powered SBC“: 3 žingsniai
Video: Дневник хранящий жуткие тайны. Переход. Джеральд Даррелл. Мистика. Ужасы 2024, Liepa
Anonim
Tekstas į kalbą Spustelėkite „ARMbasic Powered UChip“ir kitus „ARMbasic Powered SBC“
Tekstas į kalbą Spustelėkite „ARMbasic Powered UChip“ir kitus „ARMbasic Powered SBC“
Tekstas į kalbą Spustelėkite „ARMbasic Powered UChip“ir kitus „ARMbasic Powered SBC“
Tekstas į kalbą Spustelėkite „ARMbasic Powered UChip“ir kitus „ARMbasic Powered SBC“
Tekstas į kalbą Spustelėkite „ARMbasic Powered UChip“ir kitus „ARMbasic Powered SBC“
Tekstas į kalbą Spustelėkite „ARMbasic Powered UChip“ir kitus „ARMbasic Powered SBC“

Įvadas: Laba diena. Mano vardas Todas. Aš esu kosmoso ir gynybos profesionalas, kuris taip pat yra šiek tiek geikas.

Įkvėpimas: kilęs iš skambinimo BBS, 8 bitų mikrovaldiklių, „Kaypro“/„Commodore“/„Tandy“/TI-994A asmeninių kompiuterių eros, kai „Radio Shack“parduotuvių buvo gausu (geros dienos), vienas iš pirmųjų mano pomėgių įterptų projektų buvo dirbdamas su „MEK6800D2 Motorola“mikroprocesorių mokymo rinkiniu, kurį įsigijau dirbdamas kaip kooperatyvas MSU EE laboratorijose (baigęs vidurinės mokyklos elektronikos „VoTech“mokymus Pietų žemutinėje MI dalyje). Šis projektas apėmė mano prototipą „Radio Shack SP0256 NARRATOR ™ SPEECH PROCESSOR“ant MEK6800D2, prijungiau jį ir suprogramavau 6800, kad jis skleistų pseudo kalbą (tie, kurie dirbo su SP0256 pagrindu veikiančia HW, tiksliai žino, apie ką aš užsimenu)). Tai veikė nuostabiai, ir aš pažengiau dantų pjovimo keliu įterptųjų mikrovaldiklių ir surinkimo būdu. Baigęs vidurinę mokyklą gyvenimas sutrukdė, kariškiai, karas, sutuoktiniai, vaikai, įstojimas į pilietinį sektorių, karjeros pradžia ir tt visa tai papildė mano pomėgius, kad galėčiau siekti gyvenimo Vakarų kultūroje (čia, JAV).

Praleiskite 20 metų į priekį, atėjus neišvengiamam laikui, kai vaikai bręsta iki to momento, kad mes su nuotaka blaškomės, hipotekos/transporto priemonių/kolegijos sąskaitos lėtai apmokamos, o pajamos gerėja, kai pasiekiama pažanga. iki to laiko, kai galėjau pradėti sutelkti dėmesį į kai kuriuos savanaudiškus darbus, vėl pradėjau domėtis elektroniniu elektroniniu koncertu. Bet kokiu atveju, atsižvelgiant į mano kilmę ir istoriją, aš ieškojau ir radau kūrėjų aplinką, su kuria greitai susiejau - ARMbasic - BASIC buvo mano pirmoji meilė ir tai tiko, kad ne tik prisitaikiau prie programavimo, bet ir dirbdavau su įranga galingesnis už tai, nuo ko pradėjau prieš kelis dešimtmečius, ir taip prasidėjo kelionė.

Tai buvo maždaug 2006-2009 m. Tada dėl priežasčių, kurių mes nepriklausome, gyvenimas pasikeitė (kaip ir daugelį metų). Pomėgiai atidėti - sutelkti dėmesį į naują karjerą, atsigauti po finansinių kovų (labai priklausė nekilnojamojo turto sričiai, ir mes tai pasiėmėme su šortais, o jaunuoliai dar tik pasiekė tašką, kai koledžo finansavimas buvo būtinas). Iš esmės pasireiškė gyvenimo ir pirmojo pasaulio problemos (esame tikrai palaiminti, turint omenyje iššūkius ir sunkumus, su kuriais kasdien kovoja žmonės kitose pasaulio dalyse) ir … pomėgis buvo atidėtas. 2011–2012 m. Trumpai pakalbėjau apie tai, o tada įvyko dar vienas karjeros pakeitimas-pomėgiai vėl buvo atidėti.

Greitai pirmyn dar dešimtmetį ir … aš grįžau ir, Viešpatie valio, tikiuosi, kad visą tą laiką (kol nepadarysiu to patarlingo purvo snaudulio ir nepradėsiu stumti ramunėlių iš apačios). Taigi, štai mes. Oho - „Arduino“(koks tas keistas žodis?) Šturmavo rinką. Gamintojai ?? Kas, po velnių, jie ?! …:) Mano draugai „Coridium Corp“(„ARMbasic“ir ARM pagrįstų mikrovaldiklių kūrimo plokščių savininkai) liko tvirti ir tikri. Dabar vietoj LPC2xxx valdiklių serijos yra šis naujas (man) ARM ir „Cortex M0/M3/M4“, „Arduino“ir… WOW! Kultūra gana daug pasikeitė ir daugeliu atžvilgių puikiai. „Peeps“bendradarbiauja nuotoliniu būdu ir iš tikrųjų visame pasaulyje. Aparatūra tampa nepaprastai greita ir galinga, o ARMbasic, subrendęs ir nenutrūkstamai sukietėjęs įsidarbindamas daugelyje skirtingų silicio šeimų, yra grožis man ir daugeliui kitų.

Taigi, labai trumpai parašęs trumpą istoriją, neseniai atsitiktinai susidūriau su „MikroElectronika“TTS paspaudimu ir pajutau, kaip mane užplūsta nostalgija. Buvo užsisakęs per kelias minutes ir per ateinančias dienas nerimavo, kol padalinys atvyko į rankas. Taigi istorija prasideda…

Prekės

  • 1 „MikroElectronika“teksto į kalbą paspaudimas, yra „Epson S1V30120“- modulio TTS ASIC
  • 1 ea ARMbasic Target, atliekantis TTS prieglobos vaidmenį
  • 1 „Uno Breakout Shield“(arba duonos lentos prototipas, arba…)
  • 1 ea garsiakalbis arba garsiakalbių rinkinys siūlo kompiuterio stalinius garsiakalbius su 1/8 colio TRS kištuku
  • 1 partija Prototipų gaminių viela, lydmetalis, srautas, dagtis, lituoklis, antraštės, IC lizdai ir pan.
  • 1 partija įterptųjų kūrimo įrankių DMM, „Logic Probe“, „Logic Analyzer“, „Scope“ir kt. - naujiems TTS pagrindiniams MCU

1 žingsnis: Aparatūra jungiasi

Aparatinė jungtis
Aparatinė jungtis
Aparatinė jungtis
Aparatinė jungtis
Aparatinė jungtis
Aparatinė jungtis

Norint tai pakartoti naudojant „ARMbasic“taikinį „Uno“formos koeficiente arba naudojant „Itaca uChip“, greičiausiai geriausiai tiktų prototipų skydas, kaip tai padariau aukščiau esančiose nuotraukose (paprasta „Amazon“nuoroda)

Kai kurie pamatys susuktą vielos apvyniojimo vielą ir susimąstys, kodėl-paprasto režimo triukšmo atmetimas yra paprastas atsakymas. Taip, mes čia nesusiję su subalansuotais signalais, bet aš supratau, kad tai negali pakenkti (?), Todėl tai padariau, kai dariau lentos kaupimą.

Tai gana geranoriškas dizainas. Spaudiniai pridedami čia grafikos pavidalu („AutoCAD 2D“esu labiausiai įpratęs - dešimtmečius dirbdamas su juo kasdieniame darbe - vis dar kirpiu „KiCAD“dantis, ir tai buvo per daug paprasta pagrįsti mokymosi kreivę kaip pirmąjį KiCAD projektą). Bet kokiu atveju, aš nusprendžiau prijungti „uChip“lizdą tiesiai prie skydo, kad galėčiau naudoti atskirą naudojimo atvejį, kai naudojate „uChip“kaip pagrindinį kompiuterį. Pridėjau JST, kad galėčiau jį maitinti per akumuliatorių, jei to norėčiau, ir, kadangi turiu keletą priedų, sukomplektuojau „Adafruit SWD Breakout“, kad prireikus galėčiau naudoti „Segger J-Link EDU Debug Probe“. Taip nebuvo, bet aš laikau ant jo SWD i'face, kad galėčiau jį naudoti su būsimais projektais.

Šiame kontekste kastelizuotas reiškia nulenkti PCB kraštus taip, kad dengtos skylės būtų sumažintos iki pusės cilindrų, kad būtų galima lituoti ant nešiojamojo PCB - šiuo atveju skydo pertraukimo plokštės. Aš nusprendžiau tai padaryti, nes skydo plokščios ventiliatoriaus dalys visiškai neatitiko eilučių tarpų tarp dviejų SWD BOB antraščių eilučių. Sulaužė plokščią failą ir 5 minutes padavimo, o problema išspręsta.

2 žingsnis: programavimas ir testavimas

Programavimas ir testavimas
Programavimas ir testavimas
Programavimas ir testavimas
Programavimas ir testavimas
Programavimas ir testavimas
Programavimas ir testavimas

Sukūrus aparatūrą, reikės atlikti visišką išjungimą, kad patvirtintumėte, jog laidai yra geri. Tada aš visada tikrinu maitinimą ir pagrindus. Tai ne tik užtikrina, kad „Power“ir „Ground“yra ten, kur jie turėtų būti, bet ir to, kad nėra jokių kitų galinių įrenginių, kurie neturėtų turėti galios/žemės. Tai nėra varginantis uždavinys tokiam mažam projektui, kaip šis, tačiau naudojant didesnes sistemų sistemas tai, nors ir yra varginantis žingsnis, yra absoliučiai būtinas siekiant užtikrinti, kad jokie mazgai ar prijungtos sistemos nebūtų pašalintos dėl kvailos klaidos. galėjo ir turėjo būti pagautas. Aš paprastai pridedu minimalų prekių kiekį, kad plokštėje būtų sukurta elektros energija, ir prieš prijungdamas mazgus, mikroschemas ir pan., Patikrinu kiekvieno kaiščio/jungties maitinimą ir įžeminimą, įsitikindamas, kad maitinimas yra tinkamo lygio (atsižvelgiant į 5V netoleruojančius įrenginius/IO, 1v8 ir 3v3 reikalavimus ir pan.) ir ta žemė yra ten, kur ji turi būti, ir tik ten, kur turi būti. Mačiau orlaivio nesėkmių kaskadą, kai žmonės neatliko tinkamų išankstinio prisijungimo patikrinimų. Vienu atveju buvo atimta daugiau nei 100 000 USD LRU - tai nebuvo įdomus laikas būti atsakingam už projektą ir akimirksniu jį nuleisti į šoną, nes kažkas sutrumpino procesą. Kitas dalykas, dėl kurio esu kaltas, yra varginantis „apylinkių patikrinimas“- įsitikinimas, kad kontaktai/nutraukimai nėra sutrumpinti su gretimais kontaktais/nutraukimais. Tai tampa kritiška, jei kalbama apie bendraašius mazgus, kelių laidininkų/ekranuotus diržus ir tt Gerai, aš ne muilo dėžėje …

Užtikrinus saugumą, prijunkite dalykus, įjunkite ir pradėkite programuoti TTS pagrindinį kompiuterį (ARMbasic Target MCU), kaip ir naudojant daugelį įterptųjų MCU tikslų. Įrašiau vaizdo įrašą, kuriame pavaizduotas „TTS Click“programavimas ir paprastas naudojimas. Jį galite peržiūrėti čia.

„ARMbasic“šaltinio kodą galima atsisiųsti iš čia - forumo įrašo, kuriame yra papildomos informacijos. „Coridium“paskelbė tinklaraščio įrašą apie šias pastangas, kurį galite pasiekti spustelėję čia.

3 žingsnis: šaltinio keitimas kitiems ARMbasic tikslams ir įvairiems samprotavimams

Kito ARMbasic tikslų ir įvairių samprotavimų šaltinio keitimas
Kito ARMbasic tikslų ir įvairių samprotavimų šaltinio keitimas
Kito ARMbasic tikslų ir įvairių samprotavimų šaltinio keitimas
Kito ARMbasic tikslų ir įvairių samprotavimų šaltinio keitimas
Kito ARMbasic tikslų ir įvairių samprotavimų šaltinio keitimas
Kito ARMbasic tikslų ir įvairių samprotavimų šaltinio keitimas
Kito ARMbasic tikslų ir įvairių samprotavimų šaltinio keitimas
Kito ARMbasic tikslų ir įvairių samprotavimų šaltinio keitimas

Aš jums nepadarysiu veiksmų, kurių reikia norint pakeisti šaltinio kodą, kad jis veiktų su kitais „ARMbasic“tikslais, išskyrus tai, kad nurodysiu, jog apie tai darau daug komentarų apie šaltinio kodą. Skirkite laiko atidaryti failą tts.bas ir perskaitykite, kokių pakeitimų reikia, jei nuspręsite perkelti kodą į kitą ARMbasic valdomą valdiklį.

Čia pridedami keli vaizdai, kuriuos padariau kūrimo ciklo metu, kad tai veiktų.

Pamokos:

  1. Jei turite logikos analizatorių su nenaudojamais įėjimais ir turite papildomų tikslinių IO, kurie nenaudojami atliekamam darbui, nebijokite naudoti tų IO kaip derinimo įrankių - gali būti purškiamas IO svyravimas įvairiuose kodo taškuose. didžiulė pagalba nustatant, kas veikia ir neveikia taip, kaip tikėtasi, siekiant nustatyti kvailas laiko problemas (pvz., pertraukas, turinčias įtakos serijiniams komiksams), ir apskritai geriau suprasti visas jūsų pastangas.
  2. Ne visi ARM valdikliai yra vienodi. Tai akivaizdu. Tačiau aš gavau šiek tiek atlikdamas pradinį „LPC1765 Coridium SuperPRO“kūrimą. Žvelgiant į praeitį, tai buvo blogas pasirinkimas dėl to, kad šis ARM branduolio diegimas leido neprisijungti prie žodžių prie atminties. Perkeliant C kodą į „ARMbasic“, viskas klostėsi gana sklandžiai, kol nebandžiau jo naudoti su SAMD21 taikiniu - visas pragaras atsilaisvino ir viskas buvo užfiksuota neįtikėtinai dėl nesuderintos prieigos pildant buferius, manipuliuojant vėliavomis, dirbant su ARMbasic versija struktūrų/sąjungų, kurias sugalvojau ir tt Tai buvo skaudi pamoka. Išvada čia: jei norite turėti nešiojamąjį kodą, sukūręs labiausiai ribojantį tikslą kandidatą, kad įsitikintumėte, jog projekto pabaigoje nesusiduriate su drama, kai labiausiai tikėtina, kad naudositės jų pastangos..:)
  3. C kodo perkėlimas į ARMbasic NĖRA neįmanomas. Šios pastangos iš esmės buvo viena milžiniška perkėlimo mokymo raida. Jei reikia laiko palyginti originalius C šaltinius su mano sukurtu ARMbasic kodu, turėtumėte sugebėti pateikti keletą idėjų, kaip įgyvendinti dalykus, kurie gali būti ne ARMbasic pagrindinio dizaino dalis (t. Y. Struktūros).
  4. Spręskite tokius dalykus tvarkingai. Pagal nutylėjimą aš esu tas, kuris mėgsta reguliariai matyti pasitenkinimą. Tokias pastangas, kaip šios perkėlimo ir kūrimo pastangos, greičiausiai nepavyks pasiekti per vieną naktį. Nustatykite realius tikslus ir siekite to paties, stengdamiesi neapsunkinti „bendro vaizdo“.
  5. Loginis analizatorius buvo labai svarbus šiam darbui. Taip, aš turiu žemesnės ir vidutinės klasės DS-Logic+ įrenginį, tačiau galiu tvirtai pareikšti, kad pigios 12,50 USD vertės 24MHz dažnių juostos pločio LA iš „Amazonia“būtų daugiau nei pakankamai. Kartu su „Sigrok“„PulseView“(nemokama) (dekoduoja protokolą) ir turėsite labai tvirtą sistemą, kuri turėtų veikti daugelyje scenarijų, pvz., To, ką aš stengiausi įgyvendinti su šiuo projektu. Įsitikinkite, kad įsigijote įrenginį, kuriame yra bandymo spaustukai, arba užsisakykite bandomuosius spaustukus atskirai, nes jie yra nepaprastai naudingi (kaip „Trumpfeldian“).
  6. Paprastas loginis zondas taip pat yra labai naudinga priemonė. Apžvalginėje darbo vietos nuotraukoje apatiniame dešiniajame vaizdo kampe pastebėsite senovinį lankininko („Radio Shack“) loginį zondą. Nuoširdžiai nustebau sužinojęs, koks naudingas dalykas yra kasdien, net ir gerai įrengtoje laboratorijoje.

Galbūt jau anksčiau tai siejau, bet neprisimenu ir esu tingus ieškoti. Čia yra tinklaraščio įrašas, kuriame yra vaizdo įrašas apie veikiantį TTS modulį („Itaca uChip“tuo metu jį priglobė), ir „ARMbasic“forumo įrašas, iš kurio galima atsisiųsti perkeltą „ARMbasic“šaltinio kodą.

Būkite atsargūs ir smagiai įsilaužkite!

-MHz

Rekomenduojamas: