Sisukord:

Tekst kõneks Klõpsake ARMbasic Powered UChipil ja muudel ARMbasic Powered SBC -del: 3 sammu
Tekst kõneks Klõpsake ARMbasic Powered UChipil ja muudel ARMbasic Powered SBC -del: 3 sammu

Video: Tekst kõneks Klõpsake ARMbasic Powered UChipil ja muudel ARMbasic Powered SBC -del: 3 sammu

Video: Tekst kõneks Klõpsake ARMbasic Powered UChipil ja muudel ARMbasic Powered SBC -del: 3 sammu
Video: ESP8266 Беспроводной ЧМИ Nextion || Внешний ПЛК Arduino 2024, November
Anonim
Tekst kõneks Klõpsake ARMbasic Powered UChipil ja muudel ARMbasic Powered SBC -del
Tekst kõneks Klõpsake ARMbasic Powered UChipil ja muudel ARMbasic Powered SBC -del
Tekst kõneks Klõpsake ARMbasic Powered UChipil ja muudel ARMbasic Powered SBC -del
Tekst kõneks Klõpsake ARMbasic Powered UChipil ja muudel ARMbasic Powered SBC -del
Tekst kõneks Klõpsake ARMbasic Powered UChipil ja muudel ARMbasic Powered SBC -del
Tekst kõneks Klõpsake ARMbasic Powered UChipil ja muudel ARMbasic Powered SBC -del

Sissejuhatus: Tere päevast. Minu nimi on Tod. Olen lennundus- ja kaitsetöötaja, kes on ka hingelt natuke geek.

Inspiratsioon: pärineb sissehelistamise BBS-i, 8-bitiste mikrokontrollerite, Kaypro/Commodore/Tandy/TI-994A personaalarvutite ajastust, kui Radio Shacki poode oli palju (headel päevadel), oli üks minu esimesi hobi manustatud projekte töötades MEK6800D2 Motorola mikroprotsessorite koolituskomplektiga, mille olin ostnud MSU EE laborites ühistööna töötades (pärast keskkooli elektroonika VoTech koolituse läbimist Lõuna-Alam-MI-s). See projekt hõlmas minu raadiosaatja SP0256 NARRATOR ™ KÕNEPROTSESSI prototüüpimist MEK6800D2 külge, selle ühendamist ja 6800 programmeerimist, et see pseudokõnet tekitaks (need, kes on töötanud SP0256-põhise HW-ga, teavad täpselt, millele ma vihjan)). See töötas suurepäraselt ja liikusin hammaste lõikamise teed sisseehitatud mikrokontrollerites ja kokkupanekus. Pärast keskkooli sekkus elu, sõjavägi, sõda, abikaasad, lapsed, tsiviilsektorisse sisenemine, karjääri alustamine jne - need kõik lisasid mu riiulitele minu hobi, et pooldada elu püüdlusi Lääne kultuuris (siin USA -s).

Jätkake 20 aastat edasi, jõudes vältimatule ajale, kus lapsed küpsevad nii kaugele, et me pruudiga segame tähelepanu, hüpoteegi/sõidukite/kolledži arved makstakse aeglaselt maha, sissetulekud lähevad edusammudega paremaks ja mul on piisavalt varu. aega, mil võisin hakata keskenduma mõnele isekatele ettevõtmistele, võtsin hobi elektroonika kontserdile. Igatahes, arvestades oma suguvõsa ja ajalugu, otsisin ja leidsin arenduskeskkonna, millega kiiresti sidusin - ARMbasic - BASIC oli minu esimene armastus ja see sobis mitte ainult programmeerimisele, vaid ka riistvaraga, mis oli metsikult rohkem võimsam kui see, millega olin aastakümneid varem alustanud ja nii see teekond algas.

See oli umbes 2006-2009. Siis muutus elu meist sõltumatutel põhjustel (nagu paljudel neil aastatel). Hobid rippusid - keskenduge uuele karjäärile, finantsvõitlustest taastumisele (kuulus suuresti kinnisvaravaldkonda ja me võtsime selle lühikeste pükstega ja noored jõudsid just selleni, et kolledži rahastamine oli hädavajalik). Põhimõtteliselt ilmnesid elu ja esimese maailma probleemid (me oleme tõesti õnnistatud, arvestades väljakutseid ja vaeva, millega inimesed mujal maailmas igapäevaselt võitlevad). Võtsin selle lühidalt tagasi aastatel 2011-2012-siis kohtus teine karjäärimuutus-hobi jäi taas vahele.

Liikuge veel kümnendi võrra edasi ja… ma olen tagasi ja, Issand hea tahtmine, loodetavasti kogu selle aja (kuni ma võtan selle vanasõnalise mustuse uinaku ja hakkan karikakraid alt üles ajama). Niisiis, siin me oleme. Vau - Arduino (mis see imelik sõna on?) Oli turule tormanud. Tegijad ?? Mis kurat need on ?! …:) Minu sõbrad Coridium Corp-s (ARMbasicu ja ARM-põhiste mikrokontrollerite arendusplaatide omanikud) olid jäänud kindlaks ja tõeks. Nüüd on LPC2xxx kontrollerite seeria asemel see uus (minu jaoks) ARM -i üksus ja Cortex M0/M3/M4 ning Arduino ja… WOW! Kultuur on üsna palju muutunud ja paljudel juhtudel suurepäraselt. Peeps teeb koostööd eemalt ja tõepoolest kogu maailmas. Riistvara muutub hämmastavalt kiireks ja võimsaks ning ARMbasic, olles paljude erinevate räni perekondade tööga küpsenud ja vankumatult karastunud, on minu ja paljude teiste jaoks ilu.

Niisiis, tehes novelli väga pikaks, sattusin hiljuti MikroElectronika TTS -i klõpsu peale ja tundsin, kuidas minu kohal voolab nostalgialaks. Oli tellinud mõne minuti jooksul ja oli järgmistel päevadel mures, kuni üksus kätte jõudis. Siit algab lugu…

Tarvikud

  • 1 ea MikroElectronika Text to Speech Click, sisaldab mudelit Epson S1V30120 - mooduli TTS ASIC
  • 1 ea ARMbasic Target, mis täidab TTS -i hosti rolli
  • 1 ea Uno Breakout Shield (või leivalaua prototüüpimine või…)
  • Üks ea -kõlar või kõlarite komplekt soovitab arvuti lauaarvutiga kõlareid, millel on 1/8 "TRS -pistik
  • 1 partii prototüüpide valmistamise traati, jootet, voogu, taht, jootekolvi, päiseid, IC -pistikupesasid jms.
  • 1 partii sisseehitatud arendustööriistu DMM, loogikaandur, loogikaanalüsaator, ulatus jne - uute TTS -hostide MCU -de jaoks

Samm: riistvara ühendab

Riistvara ühendab
Riistvara ühendab
Riistvara ühendab
Riistvara ühendab
Riistvara ühendab
Riistvara ühendab

Selle kordamiseks, kasutades ARMbasic sihtmärki Uno vormiteguris või Itaca uChipiga, oleks tõenäoliselt kõige parem kasutada prototüüpimist, nagu olen teinud ülaltoodud piltidel (tavaline amazoni link)

Mõned näevad keerdtraadiga mähitud traati ja mõtlevad, miks-tavalises režiimis müra tagasilükkamine on lihtne vastus. Jah, me ei tegele siin tasakaalustatud signaalidega, kuid ma arvasin, et see ei saa haiget teha (?), Nii et ma tegin seda plaadi ülesehitamisel.

See on üsna healoomuline disain. Prindid on siia lisatud graafika kujul (AutoCAD 2D on see, millega olen kõige rohkem harjunud - olles sellega oma igapäevatööd teinud aastakümneid - lõikan endiselt oma KiCAD -hambaid ja see oli liiga lihtne ettevõtmine õigustada õppimiskõverat esimese projektina KiCADis). Igatahes otsustasin uChipi pistikupesa otse kilbi külge kinnitada, et võimaldada uChipi hostina kasutamisel eraldiseisvat kasutamist. Lisasin JST-i aku toiteks, kui ma seda soovin, ja kuna mul on mõned lisad, siis kastreerisin Adafruit SWD Breakouti, et saaksin vajadusel kasutada oma Segger J-Link EDU silumisandurit. Seda ei tehtud, kuid hoian sellel SWD i'face'i, et seda saaks kasutada tulevaste projektide jaoks.

Kastelleeritud tähendab selles kontekstis trükkplaadi servade viilimist nii, et kaetud aukud kahandati poolsilindriteks, võimaldades jootmist kandvale trükkplaadile - antud juhul varjestusplaadile. Ma otsustasin seda teha, kuna kilbi tasapinnalised ventilaatoriosad ei olnud täpselt kooskõlas SWD BOB kahe päise rea vahelise reavahega. Murdis välja lameda faili ja viis minutit viilimist ning probleem lahendati.

2. samm: programmeerimine ja testimine

Programmeerimine ja testimine
Programmeerimine ja testimine
Programmeerimine ja testimine
Programmeerimine ja testimine
Programmeerimine ja testimine
Programmeerimine ja testimine

Kui riistvara on üles ehitatud, peab juhtmestiku kinnitamiseks olema täielik väljalülitus. Seejärel kontrollin alati toite ja maanduse kontrolli. See mitte ainult ei taga, et Power ja Ground on seal, kus nad peaksid olema, vaid ka seda, et kõik muud lõpetamised, millel seal ei peaks olema võimsust/maad, ei ole. See ei ole sellise väikese projektiga tüütu ülesanne, kuid suuremate süsteemisüsteemide puhul on see, kuigi tõepoolest tüütu samm, hädavajalik, tagamaks, et alamkomplekte või ühendatud süsteeme ei eemaldata rumala vea tõttu. oleks saanud ja pidanuks tabama. Tavaliselt ühendan minimaalse hulga kaupu nii, et plaadile tekitatakse toite ning seejärel kontrollin enne iga alakoostude, kiipide jms ühendamist vooluvõrku ja maandust, et veenduda, et toide on õigel tasemel (arvestades mitte-5V taluvaid seadmeid/IO, 1v8 ja 3v3 nõudeid jne) ja see maapind on seal, kus see peab olema ja ainult seal, kus see peab olema. Olen olnud tunnistajaks lennukis ebaõnnestumiste kaskaadile inimestelt, kes ei ole korralikult ühendamiseelseid kontrolle teinud. Ühel juhul võttis see üle 100 000 dollari LRU -sid - see ei ole lõbus aeg projekti eest vastutada ja see hetkega külili minna, sest keegi tegi protsessi lühise. Teine asi, milles ma süüdi olen, on tüütu „läheduse kontrollimine” - veenduge, et kontakte/lõpetamisi ei ühendataks külgnevate kontaktide/lõpetamistega. See muutub kriitiliseks, kui tegemist on koaksiaalsete sõlmede, mitme juhtme/varjestatud rakmetega jne. Ok, ma olen seebikarbist väljas …

Kui turvalisus on tagatud, ühendage asjad, lülitage see sisse ja asuge seejärel programmeerima TTS -i hosti (ARMbasic Target MCU) nagu paljude manustatud MCU sihtmärkide puhul. Salvestasin video, mis kujutab TTS Click'i programmeerimist ja lihtsat kasutamist. Saate seda vaadata siit.

ARMbasicu lähtekoodi saab alla laadida siit - foorumi postitus, mis sisaldab lisateavet. Coridium tegi nende jõupingutuste kohta ajaveebi postituse, mille leiate siit klõpsates.

3. samm: allika muutmine muude ARMbasic eesmärkide ja erinevate mõtete jaoks

Allika muutmine muude ARMbasic eesmärkide ja erinevate mõtete jaoks
Allika muutmine muude ARMbasic eesmärkide ja erinevate mõtete jaoks
Allika muutmine muude ARMbasic eesmärkide ja erinevate mõtete jaoks
Allika muutmine muude ARMbasic eesmärkide ja erinevate mõtete jaoks
Allika muutmine muude ARMbasic eesmärkide ja erinevate mõtete jaoks
Allika muutmine muude ARMbasic eesmärkide ja erinevate mõtete jaoks
Allika muutmine muude ARMbasic eesmärkide ja erinevate mõtete jaoks
Allika muutmine muude ARMbasic eesmärkide ja erinevate mõtete jaoks

Ma ei salli teid sammudega, mis on vajalikud lähtekoodi muutmiseks, et see toimiks koos teiste ARMbasicu sihtmärkidega, välja arvatud juhul, kui viitan sellele, et jätkan sellega tegelemist arvukates lähtekoodi kommentaarides. Võtke aega tts.bas-faili avamiseks ja lugege, milliseid muudatusi on vaja teha, kui otsustate koodi teisaldada teisele ARMbasic-toega kontrollerile.

Siia on lisatud mõned pildid, mis tegin selle töö tegemiseks mõeldud arendustsükli jooksul.

Õppetunnid:

  1. Kui teil on kasutamata sisenditega loogikaanalüsaator ja teie käsutuses olevateks töödeks ei kasutata täiendavaid sihtmärkide IO -sid, ärge kartke neid IO -sid silumisvahenditena kasutada. suureks abiks, et jälgida, mis töötab ja mis ei tööta ootuspäraselt, tuvastada tobedad ajastusprobleemid (st katkestused, mis mõjutavad bittlöögiga jadakommusid) ja saada paremini aru teie jõupingutustest tervikuna.
  2. Kõik ARM -kontrollerid pole ühesugused. See on ilmne. Siiski sain natuke, tehes esialgse arenduse LPC1765 Coridium SuperPRO -l. Tagantjärele mõeldes tegi selle halvaks valikuks see, et selle ARM-i tuuma rakendamine võimaldas sõnadeta joondatud juurdepääsu mälule. C -koodi ARMbasicusse ülekandmisel sujusid asjad üsna sujuvalt, kuni proovisin seda kasutada SAMD21 sihtmärgiga - kõik põrgu läks lahti ja asjad olid uskumatult varjatud, kuna puhvrite täitmisel, lippudega manipuleerimisel ja ARMbasicu versiooniga töötamisel oli juurdepääs ebausutav struktuuridest/liitudest, mis ma välja mõtlesin jne. See oli valus õppetund. Võtame ära: kui soovite saada kaasaskantavat koodi, arendage kõige piiravama kandidaadi sihtmärki, et tagada, et projekti lõpus ei satutaks draamat, kui tõenäoliselt on kõige põnevil rakendada nende jõupingutused..:)
  3. C -koodi teisaldamine ARMbasicusse EI ole võimatu. See pingutus oli suuresti üks hiiglaslik teisaldamise koolituse areng. Kui võtta aega, et võrrelda esialgseid C -allikaid minu loodud ARMbasic -koodiga, peaks olema võimalik välja pakkuda mõned ideed, kuidas rakendada asju, mis ei pruugi olla ARMbasicu põhidisaini osad (st struktuurid).
  4. Tegele selliste asjadega hallatavate tükkidena. Vaikimisi olen mina selline, kellele meeldib rahulolu regulaarselt näha. Sellised ettevõtmised nagu need teisaldamis- ja arendustegevused ei ole tõenäoliselt midagi, mida suudetakse ühe ööga ära teha. Seadke realistlikud eesmärgid ja püüdke nende poole, püüdes mitte lasta end „suurest pildist” üle koormata.
  5. Loogikaanalüsaator oli selles püüdluses ülioluline. Jah, mul on madalama keskklassi DS-Logic+ seade, kuid võin kindlalt väita, et Amazonia 12,50 dollari suurusest 24MHz sagedusribast LA oleks rohkem kui piisanud. Paar, et Sigroki PulseView'ga (tasuta) (teeb protokolli dekodeerimise) ja teil on väga tugev süsteem, mis peaks töötama paljude stsenaariumide puhul, nagu see, mida ma selle projektiga püüdsin ette võtta. Hankige kindlasti üksus, millel on testklambrid, või tellige testklambrid eraldi, kuna need on tohutult (kui Trumpfeldi) kasulikud.
  6. Lihtne loogikasond on samuti väga kasulik tööriist. Tööruumi ülevaatlikul pildil märkate pildi paremas alanurgas iidset Archer (Radio Shack) loogikasondi. Olin tõeliselt üllatunud, kui avastasin, kui kasulik on midagi sellist igapäevaselt isegi hästi varustatud labori korral.

Võimalik, et olen nendega varem selles linkinud, kuid ei mäleta ja olen liiga laisk, et vaadata. Siin on ajaveebi postitus, millel on video TTS -moodulist tegevuses (Itaca uChip seda sel ajal majutas), ja ARMbasic Foorumi postitus, kust saab alla laadida teisaldatud ARMbasicu lähtekoodi.

Olge ettevaatlik ja nautige häkkimist!

-MHz

Soovitan: