Kazalo:

Besedilo v govor Kliknite na UChip z napajanjem ARMbasic in druge SBC s pogonom na ARMbasic: 3 koraki
Besedilo v govor Kliknite na UChip z napajanjem ARMbasic in druge SBC s pogonom na ARMbasic: 3 koraki

Video: Besedilo v govor Kliknite na UChip z napajanjem ARMbasic in druge SBC s pogonom na ARMbasic: 3 koraki

Video: Besedilo v govor Kliknite na UChip z napajanjem ARMbasic in druge SBC s pogonom na ARMbasic: 3 koraki
Video: Ako imate iPhone, OVO MORATE ISPROBATI! 2024, Julij
Anonim
Besedilo v govor Kliknite na UChip z napajanjem ARMbasic in druge SBC s pogonom na ARMbasic
Besedilo v govor Kliknite na UChip z napajanjem ARMbasic in druge SBC s pogonom na ARMbasic
Besedilo v govor Kliknite na UChip z napajanjem ARMbasic in druge SBC s pogonom na ARMbasic
Besedilo v govor Kliknite na UChip z napajanjem ARMbasic in druge SBC s pogonom na ARMbasic
Besedilo v govor Kliknite na UChip z napajanjem ARMbasic in druge SBC s pogonom na ARMbasic
Besedilo v govor Kliknite na UChip z napajanjem ARMbasic in druge SBC s pogonom na ARMbasic

Uvod: Dober dan. Moje ime je Tod. Sem vesoljski in obrambni strokovnjak, ki je po srcu tudi malo geek.

Navdih: izvira iz dobe klicnih BBS, 8-bitnih mikrokrmilnikov, osebnih računalnikov Kaypro/Commodore/Tandy/TI-994A, ko je bilo trgovin Radio Shack v izobilju (dobrih dni), je bil eden mojih prvih projektov, vgrajenih v hobi delo z kompletom za usposabljanje za mikroprocesorje Motorola MEK6800D2, ki sem ga kupil, ko sem delal kot zadruga v laboratorijih MSU EE (po opravljenem srednjem šolanju za elektrotehniko VoTech v južni spodnji MI). Ta projekt je vključeval mojo izdelavo prototipa radijskega sprejemnika SP0256 NARRATOR ™ SPEECH PROCESSOR na MEK6800D2, ga povezal in programiral 6800, da bi lahko oddajal psevdogovor (tisti, ki so delali s HW na osnovi SP0256, natančno vedo, na kaj mislim). Čudovito je delovalo in napredoval sem po poti rezanja zob v vgrajenih mikrokontrolerjih in montaži. Po srednji šoli se mi je življenje postavilo na pot, vojska, vojna, zakonci, otroci, vstop v civilni sektor, začetek kariere itd., Vse skupaj pa je k mojemu hobiju pripomoglo tudi k iskanju življenjskih prizadevanj v zahodni kulturi (tukaj v ZDA).

Preskočite 20 let naprej, prihaja do neizogibnega časa, ko otroci dozorevajo do te mere, da sva z nevesto moteči, hipotekarni/avtomobilski/fakultetni računi se počasi odplačujejo, zaslužek se z napredovanjem izboljšuje, jaz pa imam dovolj rezerve čas do točke, ko sem se lahko začel osredotočati na nekaj sebičnih prizadevanj, sem se vrnil na koncert hobi elektronike. Kakorkoli že, glede na moj rod in zgodovino sem poiskal in našel razvojno okolje, s katerim sem se hitro povezal - ARMbasic - BASIC je bila moja prva ljubezen in to je ustrezalo zakonu, da se ne samo ponovno prilagajam programiranju, ampak tudi delu s strojno opremo, ki je bila precej bolj močnejši od tistega, kar sem začel z desetletji prej, in tako se je potovanje začelo.

To je bilo okoli 2006-2009. Potem se je iz razlogov, na katere nismo mogli vplivati, življenje spremenilo (kot se je v teh letih dogajalo mnogim). Hobiji odloženi - osredotočenost na novo kariero, okrevanje od finančnih spopadov (bilo je močno v lasti nepremičninske domene, mi pa smo jo vzeli v kratke hlače, mladi pa so šele prišli do točke, ko je bilo financiranje fakultete nujno). V bistvu so se izkazale težave v življenju in v prvem svetu (res smo blagoslovljeni, če upoštevamo izzive in trud, s katerim se ljudje v drugih delih sveta vsak dan spopadajo) in … hobi je odložil. Na kratko sem se tega lotil v letih 2011–2012, nato pa me je doletela še ena sprememba poklica-hobi je bil spet odložen.

Hitro naprej še eno desetletje in … Vrnil sem se in, dobri bog volja, upam, da bo trajalo (dokler ne vzamem tistega pregovornega umazanega dremanja in začnem potiskati marjetice od spodaj). Torej, tukaj smo. Wow - Arduino (kaj je ta čudna beseda?) Je vdrl na trg. Ustvarjalci ?? Kaj za vraga so ?! …:) Moji prijatelji v Coridium Corp (lastniki razvojnih plošč za mikrokontrolerje ARMbasic in ARM) so ostali trdni in resnični. Zdaj je namesto serije krmilnikov LPC2xxx ta nova (zame) entiteta ARM, Cortex M0/M3/M4 in Arduino ter … WOW! Kultura se je precej spremenila in v marsičem odličen način. Peeps sodelujejo na daljavo in celo po vsem svetu. Strojna oprema postaja neverjetno hitra in zmogljiva, ARMbasic, ki je dozorel in se vztrajno utrjeval pri zaposlovanju v številnih različnih družinah silicija, je zame in za mnoge druge lepota.

Tako, da kratka zgodba traja zelo dolgo, sem pred kratkim naletel na klik TTS MikroElectronike in začutil, kako me je preplavila nostalgija. Če bi se naročil v nekaj minutah, je bil v naslednjih dneh zaskrbljen, dokler ni prišla enota. Tako se zgodba začne …

Zaloge

  • 1 ea MikroElectronika Click to Speech Click, vsebuje Epson S1V30120 - TTS ASIC modula
  • 1 ea ARMbasic Target, ki opravlja vlogo gostitelja TTS
  • 1 ea Uno Breakout Shield (ali izdelava prototipne plošče za kruh ali …)
  • 1 zvočnik ea ali komplet zvočnikov predlaga namizne zvočnike z namiznim računalnikom s priključkom 1/8 "TRS
  • 1 serija Prototipnih izdelkov žica, spajkanje, fluks, stenj, spajkalnik, glave, IC vtičnice in podobno.
  • 1 serija vgrajenih orodij za razvijalce DMM, logična sonda, logični analizator, obseg itd. - za nove gostiteljske MCU -je TTS

1. korak: Strojna medsebojna povezava

Strojna medsebojna povezava
Strojna medsebojna povezava
Strojna medsebojna povezava
Strojna medsebojna povezava
Strojna medsebojna povezava
Strojna medsebojna povezava

Če želite to ponoviti z uporabo ARMbasic tarče v faktorju Uno ali z Itaca uChip, bi bilo najbolje, če bi uporabili prototipni ščit, kot sem to storil na zgornjih slikah (navadna amazonska povezava)

Nekateri bodo videli zvito žico, ovijeno z žico, in se spraševali, zakaj-zavračanje hrupa v običajnem načinu je preprost odgovor. Ja, tukaj ne obravnavamo uravnoteženih signalov, vendar sem mislil, da ne more škoditi (?), Zato sem to storil, ko sem ustvarjal ploščo.

To je precej benigna oblika. Odtisi so priloženi k temu v obliki grafike (AutoCAD 2D je tisto, česar sem najbolj vajen - z njim sem desetletja delal pri svojem vsakodnevnem delu - še vedno si režem zobe KiCAD in to je bilo preveč preprosto prizadevanje utemelji krivuljo učenja kot prvi projekt v KiCAD -u). Kakorkoli, odločil sem se, da vtičnico uChip namestim neposredno na ščit, da omogočim samostojen primer uporabe pri uporabi uChipa kot gostitelja. Če bi to želel, sem dodal JST za napajanje prek baterije, in ker imam nekaj dodatkov, sem vstavil Adafruit SWD Breakout, ki mi je omogočil uporabo sonde za odpravljanje napak Segger J-Link EDU. Ni, vendar shranjujem SWD i'face za uporabo pri prihodnjih projektih.

V tem kontekstu kastelirano pomeni, da se robovi tiskanega vezja spustijo navzdol, tako da se skoznje luknje zmanjšajo na pol valje, kar omogoča spajkanje na nosilno tiskano vezje - v tem primeru ploščo za prelom ščita. Odločil sem se za to, ker se deli ščitnika z ravnim pakiranjem niso popolnoma uskladili z razmikom med vrsticami med dvema vrsticama glave na SWD BOB. Prelomila je ravno datoteko in 5 minut vložitve in problem je bil rešen.

2. korak: Programiranje in testiranje

Programiranje in testiranje
Programiranje in testiranje
Programiranje in testiranje
Programiranje in testiranje
Programiranje in testiranje
Programiranje in testiranje

Ko je strojna oprema zgrajena, bo treba preveriti, ali je ožičenje dobro. Nato vedno preverim moč in podlago. To ne zagotavlja le, da sta Power in Ground tam, kjer naj bi bila, ampak da nobena od drugih priključkov, ki tam ne bi smela imeti moči/tal, ne. Pri majhnem projektu, kot je ta, ni dolgočasna naloga, vendar je pri večjih sistemih sistemov, čeprav je res dolgočasen korak, nujno potreben za zagotovitev, da zaradi neumne napake ne pride do odstranitve podsklopov ali povezanih sistemov. bi lahko in morali biti ujeti. Običajno dobim najmanjšo količino blaga, tako da se na plošči ustvari moč, nato pa pred vklopom podsklopov, čipov itd. Preveri napajanje in ozemljitev vsakega zatiča/zaključka in se prepriča, da je moč ustrezne. (glede na naprave, ki ne prenašajo 5V/IO, zahteve 1v8 in 3v3 itd.) in ta tla so tam, kjer morajo biti in samo tam, kjer morajo biti. Bil sem priča kaskadi napak na letalu, ki jih povzročijo ljudje, ki niso opravili ustreznih preverjanj pred povezovanjem. V enem primeru je bilo porabljenih več kot 100 tisoč dolarjev LRU -jev - ni zabavno, da bi bili vodja projekta in da bi v trenutku šel postrani, ker je nekdo na kratko priklopil postopek. Še ena stvar, za katero sem kriv, je, da opravljam dolgočasne "preglede bližine" - poskrbim, da stiki/zaključki ne bodo kratki na sosednje stike/zaključke. To postane kritično, če se ukvarjamo s koaksialnimi sklopi, večprevodniškimi/oklopljenimi snopi itd. V redu, sem brez mila …

Ko je varnost zagotovljena, povežite stvari, jih vklopite in nato preidite na programiranje gostitelja TTS (ARMbasic Target MCU), tako kot bi to storili z mnogimi vgrajenimi cilji MCU. Posnel sem video, ki prikazuje programiranje in preprosto uporabo TTS Click. Ogledate si ga lahko tukaj.

Izvorno kodo ARMbasic lahko prenesete tukaj - objava na forumu, ki vsebuje dodatne podrobnosti. Coridium je o teh prizadevanjih objavil blog, do katerega lahko pridete s klikom tukaj.

Korak 3: Spreminjanje vira za druge cilje ARMbasic in različna razmišljanja

Spreminjanje vira za druge cilje na osnovi ARM in različna razmišljanja
Spreminjanje vira za druge cilje na osnovi ARM in različna razmišljanja
Spreminjanje vira za druge cilje na osnovi ARM in različna razmišljanja
Spreminjanje vira za druge cilje na osnovi ARM in različna razmišljanja
Spreminjanje vira za druge cilje na osnovi ARM in različna razmišljanja
Spreminjanje vira za druge cilje na osnovi ARM in različna razmišljanja
Spreminjanje vira za druge cilje na osnovi ARM in različna razmišljanja
Spreminjanje vira za druge cilje na osnovi ARM in različna razmišljanja

Ne bom vam govoril o korakih, potrebnih za spremembo izvorne kode, da bi delovala z drugimi cilji ARMbasic, razen da bi navedel, da o tem neumorno razmišljam v številnih komentarjih izvorne kode. Vzemite si čas, da odprete datoteko tts.bas in preberete, katere spremembe so potrebne, če se odločite za prenos kode na drug krmilnik, ki ga poganja ARMbasic.

V priponki je nekaj slik, ki sem jih posnel med ciklom razvijalcev, ko sem začel delati.

Naučena lekcija:

  1. Če imate Logic Analyzer z neuporabljenimi vhodi in nimate dodatnih ciljnih IO, ki bi jih uporabljali pri svojem delu, se ne bojte uporabiti teh IO kot orodja za odpravljanje napak - škropljenje IO na različnih točkah kode je lahko velika pomoč pri odkrivanju, kaj deluje in ne deluje po pričakovanjih, pri odkrivanju trapastih časovnih težav (tj. prekinitvah, ki vplivajo na serijsko komunikacijo, ki jih pretrgajo bitovi), in na splošno za boljše razumevanje vaših prizadevanj kot celote.
  2. Vsi krmilniki ARM niso enaki. To je očitno. Vendar sem dobil ugriz, ko sem opravil začetni razvoj na LPC1765 Coridium SuperPRO. Če pogledamo nazaj, je bila to slaba izbira, ker je izvedba tega jedra ARM omogočila dostop do pomnilnika brez besed. Ko sem prenašal kodo C v ARMbasic, je šlo vse precej gladko, dokler je nisem poskusil uporabiti s ciljem SAMD21 - ves pekel se je sprostil in stvari so bile zaradi neverjetnega dostopa pri polnjenju vmesnih pomnilnikov, manipulaciji zastavic, delu z različico ARMbasic razburjene struktur/sindikatov, do katerih sem prišel, itd. To je bila boleča lekcija. Odvzem tukaj: Če želite imeti prenosno kodo, razvijte najbolj omejen cilj kandidata, samo zato, da se prepričate, da se na koncu projekta, ko je verjetno najbolj navdušen nad delovanjem sadov, ne boste soočili z dramo. njihova prizadevanja..:)
  3. Prenos kode C v ARMbasic NI nemogoč. Ta prizadevanja so bila v veliki meri ena velikanska evolucija usposabljanja za prenos. Če si vzamemo čas za primerjavo izvirnih virov C s kodo ARMbasic, ki sem jo izdelal, bi morali imeti nekaj idej, kako uresničiti stvari, ki morda niso del osrednje zasnove ARMbasic (tj. Struktur).
  4. Lotite se takšnih stvari v obvladljivih delih. Privzeto sem tisti, ki bi rad redno videl zadovoljstvo. Podvig, kot sta ta prenos in razvoj, najverjetneje ne bo uspel v eni sami noči. Postavite si realne cilje in si prizadevajte za isto, pri tem pa se poskušajte izogniti "veliki sliki".
  5. Pri tem je bil ključnega pomena logični analizator. Da, imam enoto DS-Logic+ nižjega in srednjega razreda, vendar lahko odločno trdim, da bi poceni 24,5 MHz pasovne širine LA iz Amazonije za 12,50 USD več kot dovolj. To povežite s Sigrokovim PulseView (brezplačno) (dekodiranje protokola) in eden bo imel zelo robusten sistem, ki bi moral delovati v številnih scenarijih, kot je tisto, kar sem si prizadeval za ta projekt. Prepričajte se, da dobite enoto, ki ima preskusne posnetke, ali jih naročite ločeno, saj so zelo koristni (kako Trumpfeldovski).
  6. Preprosta logična sonda je tudi zelo uporabno orodje. Na pregledni sliki delovnega prostora boste v spodnjem desnem kotu slike zabeležili starodavno logično sondo Archer (Radio Shack). Resnično sem bil presenečen, ko sem ugotovil, kako koristno je kaj takega vsak dan, tudi v dobro opremljenem laboratoriju.

Morda sem se v tem že povezal s temi, vendar se ne spomnim in sem len, da bi pogledal. Tu je objava v spletnem dnevniku, ki prikazuje videoposnetek delovanja modula TTS (takrat ga gosti Itaca uChip) in objavo na forumu ARMbasic, kjer lahko prenesete preneseno izvorno kodo ARMbasic.

Pazite nase in uživajte v krampanju!

-MHz

Priporočena: