Sadržaj:

Tekst u govor Kliknite na UMhip s ARMbasic pogonom i ostale SBC sa pogonom na ARMbasic: 3 koraka
Tekst u govor Kliknite na UMhip s ARMbasic pogonom i ostale SBC sa pogonom na ARMbasic: 3 koraka

Video: Tekst u govor Kliknite na UMhip s ARMbasic pogonom i ostale SBC sa pogonom na ARMbasic: 3 koraka

Video: Tekst u govor Kliknite na UMhip s ARMbasic pogonom i ostale SBC sa pogonom na ARMbasic: 3 koraka
Video: Туннельный текст за 20 сек #photoshop #photoshoptutorial #design #art #фотошоп 2024, Studeni
Anonim
Tekst u govor Kliknite na ARMbasic Powered UChip i druge SBC -ove na ARMbasic pogonu
Tekst u govor Kliknite na ARMbasic Powered UChip i druge SBC -ove na ARMbasic pogonu
Tekst u govor Kliknite na UChip s ARMbasic pogonom i druge SBC -ove s ARMbazičnim pogonom
Tekst u govor Kliknite na UChip s ARMbasic pogonom i druge SBC -ove s ARMbazičnim pogonom
Tekst u govor Kliknite na UChip s ARMbasic pogonom i druge SBC -ove s ARMbazičnim pogonom
Tekst u govor Kliknite na UChip s ARMbasic pogonom i druge SBC -ove s ARMbazičnim pogonom

Uvod: Dobar dan. Moje ime je Tod. Ja sam svemirski i obrambeni profesionalac koji je također pomalo štreber u duši.

Nadahnuće: Potiču iz ere dial-up BBS-a, 8-bitnih mikrokontrolera, osobnih računala Kaypro/Commodore/Tandy/TI-994A, kada je bilo dosta trgovina u Radio Shacku (dobri dani), jedan od mojih prvih projekata s ugrađenim hobijem bio je radeći s kompletom za obuku mikroprocesora Motorola MEK6800D2, koji sam kupio radeći kao zadruga u laboratorijima MSU EE (nakon što sam završio srednju elektrotehničku VoTech obuku u južnom donjem MI). Taj je projekt uključivao moju izradu prototipa radio shacka SP0256 NARRATOR ™ PROCESORA GOVORA na MEK6800D2, ožičenje i programiranje 6800 kako bi emitirao pseudo-govor (oni koji su radili sa HW-om zasnovanim na SP0256 točno znaju na što aludiram). To je izvrsno funkcioniralo i ja sam napredovao putem rezanja zubi u ugrađenim mikrokontrolerima i montaži. Nakon srednje škole život mi se našao na putu, vojska, rat, supružnici, djeca, ulazak u civilni sektor, započinjanje karijere itd. Sve je to dodalo moj hobi u odlaganje u korist nastavka života u zapadnoj kulturi (ovdje u SAD -u).

Preskočite 20 godina unaprijed, došavši u neizbježno vrijeme u kojem djeca sazrijevaju do te mjere da mladenka i ja ometamo, hipoteka/vozila/računi za fakultete polako se isplaćuju, zarada postaje sve bolja s napredovanjem, a ja imam dovoljno viška vrijeme do točke u kojoj sam se mogao početi fokusirati na neke sebične pothvate, vratio sam se na svirku iz hobi elektronike. U svakom slučaju, s obzirom na moju lozu i povijest, tražio sam i pronašao razvojno okruženje s kojim sam se brzo povezao - ARMbasic - BASIC je bila moja prva ljubav i to je odgovaralo zakonu ne samo da sam se ponovno aklimatizirao na programiranje, već i radio s hardverom koji je bio iznimno više moćniji od onoga s čime sam započeo desetljećima ranije, pa je tako i putovanje počelo.

Bilo je to oko 2006.-2009. Zatim se, iz razloga koji su bili izvan naše kontrole, život promijenio (kao što se mnogima dogodio tijekom tih godina). Hobiji odloženi - usredotočite se na novu karijeru, oporavljajući se od financijskih poteškoća (bilo je u velikoj mjeri povjereno domenu nekretnina, a mi smo to uzeli u kratkim hlačama, a mladi su tek došli do točke u kojoj je financiranje fakulteta imperativ). U osnovi, problemi u životu i Prvom svijetu (zaista smo blagoslovljeni, s obzirom na izazove i muke s kojima se ljudi u drugim dijelovima svijeta svakodnevno bore) pokazali su se i … hobi je odložen. Nakratko sam to ponovio u razdoblju od 2011. do 2012. godine, a zatim me je dočekala još jedna promjena u karijeri-hobi je opet odložen.

Brzo naprijed još jedno desetljeće i … Vratio sam se i, dobri Bože voljni, nadam se da će trajati toliko dugo (dok ne uzmem onaj poslovični prljavi drijem i počnem gurati tratinčice odozdo). Dakle, tu smo. Wow - Arduino (koja je to čudna riječ?) Provalio je na tržište. Proizvođači ?? Koji su oni vrag ?! …:) Moji prijatelji iz Coridium Corp-a (vlasnici ARMbasic i razvojnih ploča mikrokontrolera zasnovanih na ARM-u) ostali su postojani i istiniti. Sada, umjesto serije kontrolera LPC2xxx, postoji ovaj novi (za mene) entitet ARM -a, i Cortex M0/M3/M4, i Arduino, i … WOW! Kultura se prilično promijenila, a na mnoge i sjajan način. Peeps surađuju na daljinu i, doista, globalno. Hardver postaje nevjerojatno brz i moćan, a ARMbasic, sazrijevajući i uporno otvrdnuvši zaposlenje u mnogim različitim silicijskim porodicama, stvar je ljepote za mene i mnoge druge.

Tako da, čineći kratku priču jako dugo, nedavno sam naletio na TTS klik MikroElectronike i osjetio kako me obuzima nostalgija. Da je netko naredio u roku od nekoliko minuta, i bio je zabrinut sljedećih dana dok jedinica nije stigla u ruke. Tako priča počinje…

Pribor

  • 1 ea MikroElectronika Text to Speech Click, sadrži Epson S1V30120 - TTS ASIC modula
  • 1 ea ARMbasic Target, ispunjavajući ulogu TTS domaćina
  • 1 ea Uno Breakout Shield (ili prototipna ploča za kruh, ili …)
  • 1 ea zvučnik ili skup zvučnika sugeriraju stolne zvučnike na računaru s priključkom od 1/8 "TRS
  • 1 lot Prototipiranje proizvoda žica, lemljenje, fluks, fitilj, lemilica, zaglavlja, IC utičnice i slično.
  • 1 lot Ugrađeni razvojni alati DMM, Logic Probe, Logic Analyzer, Scope itd. - za nove TTS host MCU -ove

Korak 1: Hardversko povezivanje

Hardverske veze
Hardverske veze
Hardverske veze
Hardverske veze
Hardverske veze
Hardverske veze

Da biste ovo replicirali pomoću ARMbasic mete u faktoru Uno, ili s Itaca uChip -om, vjerojatno bi bilo najbolje poslužiti se pomoću štita za izradu prototipova, kao što sam učinio na gornjim slikama (obična amazonska veza)

Neki će vidjeti upletenu žicu omotanu žicom i zapitati se zašto-odbijanje buke uobičajenog načina je jednostavan odgovor. Da, ovdje se ne radi o uravnoteženim signalima, ali zaključio sam da ne može naštetiti (?) Pa sam to učinio dok sam pravio ploču.

To je prilično benigni dizajn. Otisci su u privitku u obliku grafike (AutoCAD 2D je ono na što sam najviše navikao - s njim sam desetljećima radio na svom svakodnevnom poslu) i dalje režem KiCAD zube, a to je bio previše jednostavan pokušaj opravdati krivulju učenja kao prvi projekt u KiCAD -u). U svakom slučaju, odlučio sam uChip utičnicu montirati izravno na štit kako bih omogućio samostalnu upotrebu kada se uChip koristi kao host. Dodao sam JST za napajanje putem baterije, ako to poželim i, budući da imam nekoliko dodataka, postavio sam Adafruit SWD Breakout kako bih mogao koristiti svoju Segger J-Link EDU Debug sondu, ako se ukaže potreba. Nije, ali čuvam SWD i'face na njemu za upotrebu u budućim projektima.

U tom kontekstu kastelirano znači turpiranje rubova PCB -a tako da su presvučene rupe svedene na polucilindre, što omogućuje lemljenje na nosivu PCB - u ovom slučaju ploču za probijanje štita. Odlučio sam to učiniti jer se dijelovi štitnika s ravnim pakiranjem nisu potpuno poravnali s razmakom između dva reda zaglavlja na SWD BOB-u. Izvadio je ravnu datoteku i 5 minuta podnošenja i problem riješen.

Korak 2: Programiranje i testiranje

Programiranje i testiranje
Programiranje i testiranje
Programiranje i testiranje
Programiranje i testiranje
Programiranje i testiranje
Programiranje i testiranje

Nakon što se hardver izgradi, morat će se izvršiti potpuno zvonjenje kako bi se potvrdilo da je ožičenje dobro. Zatim, uvijek provjeravam napajanje i tlo. Ovo ne samo da osigurava da su napajanje i uzemljenje tamo gdje bi trebali biti, već i da bilo koji drugi priključak koji ne bi trebao imati napajanje/uzemljenje nema. To nije dosadan zadatak na malim projektima poput ovoga, ali s većim sustavima sustava, iako je uistinu dosadan korak, apsolutno je nužan kako bi se osiguralo da se podsklopovi ili povezani sustavi ne uklone glupom greškom koja mogao i trebao biti uhvaćen. Obično pričvrstim najmanji minimum robe tako da se na ploči generira snaga, a zatim provjeravam svaki pin/završetak za napajanje i masu prije nego što priključim podsklopove, čipove itd., Pazeći da je snaga odgovarajuće razine (uzimajući u obzir uređaje koji ne toleriraju 5V/IO, zahtjeve 1v8 i 3v3 itd.) i to tlo je tamo gdje treba biti i samo tamo gdje treba. Svjedočio sam nizu kvarova na zrakoplovu od ljudi koji nisu izvršili odgovarajuće provjere prije povezivanja. U jednom slučaju, potrošeno je više od 100 tisuća USD LRU -ova - nije bilo zabavno biti zadužen za projekt i učiniti da u trenu krene postrance jer je netko kratko spojio proces. Još jedna stvar za koju sam kriv je to što provodim dosadne 'provjere blizine' - pazeći da kontakti/terminali ne budu kratki na susjedne kontakte/terminale. To postaje kritično ako se radi o koaksijalnim sklopovima, viševodičkim/oklopljenim kabelskim snopovima itd. U redu, nemam sapuna …

Nakon što je sigurnost zajamčena, spojite stvari, uključite ih, a zatim krenite u programiranje TTS domaćina (ARMbasic Target MCU) baš kao što biste to učinili s mnogim ugrađenim MCU ciljevima. Snimio sam video koji prikazuje programiranje i jednostavnu upotrebu TTS Click -a. Možete ga pogledati ovdje.

Izvorni kod ARMbasic možete preuzeti ovdje - post na forumu koji ima dodatne pojedinosti. Coridium je o tim nastojanjima objavio blog na koji možete doći klikom ovdje.

Korak 3: Izmjena izvora za druge ARMosnovne ciljeve i različita razmišljanja

Izmjena izvora za druge ARMosnovne ciljeve i različita razmišljanja
Izmjena izvora za druge ARMosnovne ciljeve i različita razmišljanja
Izmjena izvora za druge ARMosnovne ciljeve i različita razmišljanja
Izmjena izvora za druge ARMosnovne ciljeve i različita razmišljanja
Izmjena izvora za druge ARMosnovne ciljeve i različita razmišljanja
Izmjena izvora za druge ARMosnovne ciljeve i različita razmišljanja
Izmjena izvora za druge ARMosnovne ciljeve i različita razmišljanja
Izmjena izvora za druge ARMosnovne ciljeve i različita razmišljanja

Neću vas opterećivati koracima potrebnim za izmjenu izvornog koda za rad s drugim ciljevima ARMbasic -a, osim da naznačim da o tome lutam u obilju komentara izvornog koda. Odvojite vrijeme za otvaranje datoteke tts.bas i pročitajte koje su promjene potrebne ako odaberete prijenos koda na drugi kontroler s ARMbasic pogonom.

U privitku su neke slike koje sam snimio tijekom ciklusa razvoja kako sam ovo uspio.

Naučene lekcije:

  1. Ako imate Logic Analyzer s neiskorištenim ulazima i imate dodatne ciljane IO -e koji se ne koriste za rad, nemojte se bojati koristiti te IO -e kao alate za otklanjanje pogrešaka - prskanje IO -a na različitim točkama koda može biti ogromna pomoć u pronalaženju onoga što radi, a što ne radi prema očekivanjima, identificiranju glupih vremenskih problema (tj. prekida koji utječu na serijske komunikacije s malo bita) i ukupnom boljem razumijevanju vaših napora u cjelini.
  2. Nisu svi ARM kontroleri isti. To je očito. Međutim, ugrizao sam se radeći početni razvoj na LPC1765 Coridium SuperPRO. Gledajući unatrag, ono što je ovo učinilo lošim izborom je to što je implementacija ove jezgre ARM-a omogućila pristup memoriji bez riječi. Prilikom prenošenja C koda na ARMbasic, stvari su išle prilično glatko sve dok ga nisam pokušao upotrijebiti sa SAMD21 metom - pakao se razbio i stvari su nastale izvan vjerovanja zbog neusklađenog pristupa prilikom punjenja međuspremnika, manipuliranja zastavama, rada s verzijom ARMbasic struktura/sindikata do kojih sam došao, itd. To je bila bolna lekcija. Zaključak ovdje: Ako netko želi imati prijenosni kôd, razviti najristriktivniji cilj kandidata, samo kako bi se osiguralo da se ne suoči s dramom na kraju projekta, kada je vjerojatno da će biti uzbuđen što će koristiti plodove njihov trud..:)
  3. Prijenos C koda u ARMbasic NIJE nemoguć. Taj je napor u velikoj mjeri bio jedna ogromna evolucija treninga prenošenja. Ako neko odvoji vrijeme za usporedbu izvornih C izvora s ARMbasic kodom koji sam izradio, trebao bih imati priliku doći do nekih ideja kako implementirati stvari koje možda nisu dio osnovnog dizajna ARMbasica (tj. Struktura).
  4. Uhvatite se u koštac s ovakvim stvarima. Prema zadanim postavkama, ja volim redovito uživati u zadovoljstvu. Pothvat poput ovih prenošenja i napora za razvoj vjerojatno neće biti nešto što biste mogli postići u jednoj noći. Postavite realne ciljeve i radite prema istom, nastojeći da vas ne preplavi 'velika slika'.
  5. Logički analizator bio je presudan u ovom nastojanju. Da, imam jedinicu DS-Logic+ nižeg srednjeg raspona, ali mogu odlučno ustvrditi da bi jeftina LAW iz Amazonije od 12,50 USD, 24MHz, bila više nego dovoljna. Spojite to sa Sigrok -ovim PulseView (besplatno) (radi dekodiranje protokola) i imat ćete vrlo robustan sustav koji bi trebao funkcionirati u velikom broju scenarija, poput onoga što sam nastojao poduzeti s ovim projektom. Pobrinite se da nabavite jedinicu koja ima ispitne isječke ili ih zasebno naručite jer su izuzetno korisni (koliko je Trumpfeldovski).
  6. Jednostavna logička sonda također je vrlo koristan alat. Na preglednoj slici radnog prostora primijetit ćete drevnu Archer (Radio Shack) logičku sondu u donjem desnom kutu slike. Bio sam iskreno iznenađen kad sam otkrio koliko je tako nešto korisno na dnevnoj bazi, čak i u dobro opremljenom laboratoriju.

Možda sam se u ovome već povezao s ovim, ali ne mogu se sjetiti i lijen sam za pogledati. Ovdje je post na blogu koji ima video zapis TTS modula na djelu (Itaca uChip ga je u to vrijeme držao), te post na forumu ARMbasic gdje se može preuzeti preneseni izvorni kod ARMbasic.

Čuvajte se i zabavite se hakirajući!

-MHz

Preporučeni: