Sadržaj:

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

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

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

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

Inspiracija: Potiču iz ere dial-up BBS-a, 8-bitnih mikrokontrolera, ličnih računara Kaypro/Commodore/Tandy/TI-994A, kada je bilo dosta trgovina u Radio Shacku (dobri dani), jedan od mojih prvih projekata sa ugrađenim hobijem bio je radeći sa kompletom za obuku mikroprocesora Motorola MEK6800D2, koji sam kupio radeći kao zadruga u laboratorijama MSU EE (nakon što sam završio srednju elektrotehničku VoTech obuku u južnom donjem MI). Taj projekt je uključivao moju izradu prototipa Radio Shacka SP0256 NARRATOR ™ PROCESORA GOVORA na MEK6800D2, povezivanjem i programiranjem 6800 da emitira pseudo-govor (oni koji su radili sa HW zasnovanom na SP0256 znaju na šta aludiram). To je odlično funkcioniralo i ja sam napredovao putem rezanja zuba u ugrađenim mikrokontrolerima i sklopu. 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 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, računi za hipoteku/vozila/fakultete polako se isplaćuju, zarada postaje sve bolja s napredovanjem, a ja imam dovoljno rezerve vrijeme do trenutka kada sam se mogao početi fokusirati na neke sebične poduhvate, vratio sam se na svirku elektronike iz hobija. U svakom slučaju, s obzirom na moju lozu i istoriju, tražio sam i pronašao razvojno okruženje sa kojim sam se brzo povezao - ARMbasic - BASIC je bila moja prva ljubav i ovo je odgovaralo zakonu ne samo da sam se ponovo aklimatizovao na programiranje, već i radio sa hardverom koji je bio mnogo više moćniji od onoga s čim sam započeo decenijama ranije, i tako je putovanje počelo.

To je bilo oko 2006-2009. Zatim se, iz razloga koji su bili izvan naše kontrole, život promijenio (kao što je to bio slučaj mnogih tokom tih godina). Hobiji odloženi - usredotočite se na novu karijeru, oporavljajući se od financijskih teš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 (mi smo zaista 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 se na to osvrnuo u periodu 2011-2012, a onda me je dočekala još jedna promjena u karijeri-hobi je ponovo odložen.

Brzo naprijed još jednu deceniju i … Vratio sam se i, dobri Bože voljni, nadam se da će to trajati dugo (dok ne odspavam onu poslovičnu prljavštinu i ne počnem gurati tratinčice odozdo). Dakle, tu smo. Wow - Arduino (kakva je to čudna riječ?) Provalio je na tržište. Proizvođači ?? Šta su dođavola oni ?! …:) Moji prijatelji u Coridium Corp (vlasnici ARMbasic i ARM zasnovanih razvojnih ploča za mikrokontrolere) 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 odličan način. Peeps surađuju na daljinu i, zaista, globalno. Hardver postaje nevjerojatno brz i moćan, a ARMbasic, sazrijevajući i uporno otvrdnjavajući zaposlenje u mnogim različitim silikonskim 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 neko naredio u roku od nekoliko minuta, i bio je zabrinut narednih dana dok jedinica nije stigla u ruke. Otuda počinje priča…

Supplies

  • 1 ea MikroElectronika Text to Speech Click, sadrži Epson S1V30120 - TTS ASIC modula
  • 1 ea ARMbasic Target, koji ispunjava 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 sa priključkom od 1/8 "TRS
  • 1 lot Prototipiranje robe žica, lemljenje, fluks, fitilj, lemilica, zaglavlja, IC utičnice i slično.
  • 1 lot Ugrađeni razvojni alati DMM, logička sonda, logički analizator, opseg itd. - za nove TTS host MCU -ove

Korak 1: Hardverske veze

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

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

Neki će vidjeti upletenu žičanu žicu i zapitati se zašto-odbijanje šuma uobičajenog načina je jednostavan odgovor. Da, ovdje se ne bavimo 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 prilogu, u obliku grafike (AutoCAD 2D je ono na šta sam najviše navikao - s njim sam decenijama 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 projekat u KiCAD -u). U svakom slučaju, odlučio sam montirati uChip utičnicu 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, a 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 ovom kontekstu kastelirano znači turpijanje 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 ravni dijelovi štitnika s ravnim pakiranjem nisu bili potpuno usklađeni s razmakom između dva reda zaglavlja na SWD BOB-u. Izvadio je ravnu datoteku i 5 minuta podnošenja i problem je 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 završetak 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 zaista dosadan korak, apsolutno je neophodan kako bi se osiguralo da nijedan podskup ili povezani sistem ne bude uklonjen 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 na odgovarajućem nivou (uzimajući u obzir uređaje koji ne tolerišu 5V/IO, zahtjeve 1v8 i 3v3, itd.) i to tlo je tamo gdje treba i samo tamo gdje treba. Bio sam svedok kaskade kvarova na avionu od ljudi koji nisu izvršili odgovarajuće provere pre povezivanja. U jednom slučaju, potrošeno je više od 100.000 USD LRU -ova - nije zabavno biti na čelu projekta i odjednom otići postrance jer je neko 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. Ovo postaje kritično ako se radi o koaksijalnim sklopovima, viševodičkim/oklopljenim kabelskim snopovima itd. U redu, nemam kutiju za sapun …

Nakon što je sigurnost zajamčena, povežite 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 detalje. Coridium je objavio blog o tim naporima, do kojeg 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 se trudim o tome 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 koji pokreće ARMbasic.

U prilogu su neke slike koje sam snimio tokom ciklusa razvijanja kako bih 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 - posipanje IO -a na različitim mjestima u kodu može biti ogromna pomoć u praćenju onoga što funkcionira, a što ne radi, kako bi se identificirali glupi vremenski problemi (tj. prekidi koji utječu na serijske komunikacije s malo bita) i kako biste u cjelini stekli bolje razumijevanje vaših napora u cjelini.
  2. Nisu svi ARM kontroleri isti. To je očigledno. 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 bafera, 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, razvijte najristričniju metu kandidata, samo kako biste bili sigurni da se neće suočiti s dramom na kraju projekta, kada je vjerojatno da ćete biti uzbuđeni što ćete upotrijebiti plodove njihov trud..:)
  3. Prijenos C koda na ARMbasic NIJE nemoguć. Ovaj napor je 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 bi biti u mogućnosti doći do nekih ideja kako implementirati stvari koje možda nisu dio osnovnog dizajna ARMbasica (tj. Strukture).
  4. Uhvatite se u koštac sa ovakvim stvarima. Podrazumevano, ja volim da redovno vidim zadovoljstvo. Pothvat poput ovih prenošenja i napora za razvoj vjerovatno neće biti nešto što biste mogli postići u jednoj noći. Postavite realne ciljeve i radite na istom, pokušavajući da vas ne preplavi „velika slika“.
  5. Logički analizator bio je ključan u ovom nastojanju. Da, imam jedinicu nižeg srednjeg opsega DS-Logic+, ali mogu odlučno ustvrditi da bi jeftina 12,50 USD 24MHz bandwidth LA iz Amazonije bila više nego dovoljna. Spojite to sa Sigrok -ovim PulseView (besplatno) (radi dekodiranje protokola) i imat ćete vrlo robustan sistem koji bi trebao raditi u velikom broju scenarija, poput onoga što sam nastojao poduzeti s ovim projektom. Pobrinite se da nabavite jedinicu koja sadrži ispitne isječke ili naručite ispitne isječke zasebno jer su oni izuzetno korisni (koliko je Trumpfeldovsko).
  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 opremljenoj laboratoriji.

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

Čuvajte se i zabavite se sjeckanjem!

-MHz

Preporučuje se: