Obsah:
- Zásoby
- Krok 1: Hardvérové prepojenia
- Krok 2: Programovanie a testovanie
- Krok 3: Úprava zdroja pre iné ciele ARM a rôzne úvahy
Video: Text na reč Kliknite na ARM základne poháňanú UChip a ďalšie ARM základne poháňané SBC: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
Úvod: Dobrý deň. Volám sa Tod. Som profesionál v oblasti letectva a obrany, ktorý je v jadre trochu blázon.
Inšpirácia: Pochádza z éry dial-up BBS, 8-bitových mikrokontrolérov, osobných počítačov Kaypro/Commodore/Tandy/TI-994A, keď bolo obchodov Radio Shack veľa (dobré časy), bol jedným z mojich prvých vstavaných projektov v oblasti hobby. pracovať s mikroprocesorovou školiacou súpravou MEK6800D2 Motorola, ktorú som si kúpil počas spolupráce v laboratóriách MSU EE (po absolvovaní školenia o stredoškolskej elektronike VoTech v južnom dolnom MI). Tento projekt zahŕňal moje prototypovanie SPEECH PROCESSORU Radio Shack SP0256 NARRATOR ™ na MEK6800D2, zapojenie a naprogramovanie 6800 tak, aby vysielal pseudo-reč (tí, ktorí pracovali s HW založeným na SP0256, presne vedia, na čo narážam.). Fungovalo to úžasne a ja som postupoval po ceste rezania zubov vo vstavaných mikrokontroléroch a zostave. Po strednej škole sa mi postavil do cesty život, armáda, vojna, manželia, deti, vstup do civilného sektora, rozbehnutie kariéry atď. To všetko znamenalo, že som odložil svoju záľubu v prospech snahy o život v západnej kultúre (tu v USA).
Preskočte o 20 rokov dopredu, blíži sa nevyhnutný čas, v ktorom deti dozrievajú natoľko, že nás Nevesta rozptyľuje, účty za hypotéku/vozidlá/vysokú školu sa pomaly vyplácajú, zisky sa zlepšujú s pokrokom a ja mám dostatok rezervy Čas do bodu, kedy som sa mohol začať opäť venovať sebeckým snahám, vrátil som sa k koncertu hobby elektroniky. Každopádne vzhľadom na moju líniu a históriu som hľadal a našiel prostredie vývojára, s ktorým som sa rýchlo spojil - ARMbasic - BASIC bola moja prvá láska a to sa hodilo nielen k tomu, aby som sa znova priostúpil k programovaniu, ale pracoval som s hardvérom, ktorý bol divoko mocnejší, než s akým som začal pred desaťročiami, a tým sa cesta začala.
Bolo to zhruba v rokoch 2006-2009. Potom sa z dôvodov, ktoré sme nemohli ovplyvniť, život zmenil (ako sa to mnohým za tie roky stalo). Záľuby odložené - zamerajte sa na novú kariéru, ktorá sa zotavuje z finančných bojov (bola silne zverená realitnej oblasti a vzali sme ju do kraťasov a mladí ľudia sa práve dostávali do bodu, keď bolo nevyhnutné financovanie vysokej školy). V zásade sa prejavili problémy života a prvého sveta (sme skutočne požehnaní, keď vezmeme do úvahy výzvy a driny, s ktorými sa ľudia v iných častiach sveta dennodenne stretávajú) a … hobby sa odložilo. Stručne som sa tomu venoval v rokoch 2011-2012 a potom som sa stretol s ďalšou zmenou kariéry-hobby sa opäť odložilo.
Rýchlo vpred o ďalšie desaťročie a … Som späť a, dobrý lord, ochotný, dúfajme, že na celé obdobie (kým si to príslovečné špinavé zdriemnutie nezačnem zospodu tlačiť sedmokrásky). Tak sme tu. Wow - Arduino (čo je to divné slovo?) Zaútočilo na trh. Výrobcovia ?? Čo to sakra sú ?! …:) Moji priatelia v spoločnosti Coridium Corp (majitelia vývojových dosiek mikrokontrolérov ARMbasic a ARM) zostali vytrvalí a pravdiví. Teraz namiesto série regulátorov LPC2xxx existuje táto nová (pre mňa) entita ARM a Cortex M0/M3/M4 a Arduino a … WOW! Kultúra sa dosť zmenila a v mnohých skvelým spôsobom. Peeps spolupracujú na diaľku a skutočne aj na celom svete. Hardvér sa stáva úžasne rýchlym a výkonným a ARMbasic, ktorý dospel a vytrvalo tvrdne zamestnaním v mnohých rôznych kremíkových rodinách, je pre mňa a pre mnoho ďalších krásou.
Keď som teda urobil krátky príbeh, nedávno som narazil na kliknutie TTS od MikroElectronika a cítil som, ako mnou prúdi prúd nostalgie. Jeden si objednal v priebehu niekoľkých minút a ďalšie dni bol nervózny, kým jednotka neprišla do ruky. Preto sa začína príbeh…
Zásoby
- 1 kus MikroElektronika, kliknutie na text na reč, obsahuje Epson S1V30120 - modul TTS ASIC modulu
- 1 ea ARMbasic Target, plní úlohu hostiteľa TTS
- 1 ea Uno Breakout Shield (alebo prototyp chlebovej dosky, alebo …)
- Jeden reproduktor alebo sada reproduktorov navrhujú stolné reproduktory pre počítač s konektorom 1/8 "TRS
- 1 dávka prototypového tovaru drôt, spájka, tavidlo, knôt, spájkovačka, hlavičky, zásuvky IC a podobne..
- 1 lot Embedded Dev Tools DMM, logická sonda, logický analyzátor, rozsah atď. - pre nové hostiteľské MCU TTS
Krok 1: Hardvérové prepojenia
Na replikáciu tohto cieľa pomocou základného cieľa ARM vo formáte Uno alebo pomocou čipu Itaca uChip by pravdepodobne najlepšie poslúžil prototypový štít, ako som to urobil na vyššie uvedených obrázkoch (jednoduchý odkaz na amazon)
Niektorí uvidia stočený drôt omotaný drôtom a budú sa čudovať, prečo-odmietnutie hluku v bežnom režime je jednoduchou odpoveďou. Áno, neriešime tu vyvážené signály, ale zistil som, že to nemôže uškodiť (?), Takže som to urobil, keď som robil zostavovanie dosky.
Je to celkom benígny dizajn. Výtlačky sú pripojené k tomuto dokumentu vo forme grafiky (AutoCAD 2D je to, na čo som najviac zvyknutý - pretože som s ním pracoval desaťročia v každodennej práci - stále si prerezávam zuby KiCAD a bolo príliš jednoduché snažiť sa ospravedlňte krivku učenia ako prvý projekt v KiCAD). Každopádne som sa rozhodol namontovať zásuvku uChip priamo na štít, aby som pri použití uChip ako hostiteľa povolil samostatný prípad použitia. Pridal som JST na napájanie z batérie, ak by som to chcel, a pretože mám niekoľko doplnkov, vypustil som Adafruit SWD Breakout, aby som mohol v prípade potreby použiť svoju ladiacu sondu Segger J-Link EDU. Nebolo, ale ponechávam na ňom SWD i'face pre použitie v budúcich projektoch.
Castellated znamená v tejto súvislosti opilovať okraje DPS tak, aby boli pokovované otvory redukované na polvalce, čo umožňuje spájkovanie na nosnú DPS - v tomto prípade dosku na prerušenie štítu. Rozhodol som sa to urobiť, pretože ploché časti fanoutu plochého balenia sa celkom nezhodovali s rozstupom riadkov medzi dvoma riadkami záhlavia na SWD BOB. Vylomil plochý súbor a 5 minút podávania a problém bol vyriešený.
Krok 2: Programovanie a testovanie
Akonáhle je hardvér vybudovaný, bude potrebné vykonať úplné zazvonenie, aby sa overilo, že zapojenie je dobré. Potom vždy vykonám kontrolu napájania a uzemnenia. To nielen zaisťuje, že napájanie a uzemnenie sú tam, kde majú byť, ale že akékoľvek iné ukončenia, ktoré by nemali mať napájanie/uzemnenie, tam nie sú. Nie je to únavná úloha na takom malom projekte, ako je tento, ale pri väčších systémoch systémov je napriek tomu, že je to únavný krok, absolútne nevyhnutné zabezpečiť, aby sa žiadne podzostavy alebo prepojené systémy nedostali von hlúpou chybou, že mohol a mal byť chytený. Obvykle zapojím nevyhnutné minimum tovaru, aby sa na doske generovalo napájanie, a potom pred zapojením podzostáv, čipov atď. Skontrolujem napájanie a uzemnenie všetkých pinov/koncoviek a uistím sa, že výkon je na správnej úrovni. (vzhľadom na zariadenia, ktoré netolerujú 5V/požiadavky na IO, požiadavky 1v8 a 3v3 atď.) a toto miesto je tam, kde má byť, a iba tam, kde musí byť. Bol som svedkom kaskády porúch v lietadle od ľudí, ktorí nerobili správne kontroly pred pripojením. V jednom prípade to bolo viac ako 100 000 dolárov LRU - nebol to zábavný čas na to, aby ste mali na starosti projekt a v okamihu ho nechali bokom, pretože niekto skrátil proces. Ďalšou vecou, ktorú mám na svedomí, je namáhavá kontrola okolia - uistenie sa, že kontakty/ukončenia nie sú skratované na susedné kontakty/ukončenia. Toto je kritické, ak ide o koaxiálne zostavy, viacvodičové/tienené zväzky atď. Ok, som mimo krabice od mydla …
Hneď ako je zaistená bezpečnosť, pripojte veci, zapnite ich a potom sa pustite do programovania hostiteľa TTS (ARMbasic Target MCU) rovnako, ako by ste to urobili s mnohými vstavanými cieľmi MCU. Nahral som video, ktoré zobrazuje programovanie a jednoduché používanie TTS Click. Pozrieť si ho môžete tu.
Zdrojový kód ARMbasic je možné stiahnuť tu - príspevok na fóre, ktorý obsahuje ďalšie podrobnosti. Coridium napísal o tomto úsilí blogový príspevok, ku ktorému sa dostanete kliknutím sem.
Krok 3: Úprava zdroja pre iné ciele ARM a rôzne úvahy
Nebudem vás informovať o krokoch potrebných na úpravu zdrojového kódu tak, aby fungoval s inými cieľmi základného ARM, okrem toho, aby som naznačil, že o tom robím veľké množstvo komentárov k zdrojovým kódom. Nájdite si čas na otvorenie súboru tts.bas a prečítajte si o tom, aké zmeny sú potrebné, ak sa rozhodnete preniesť kód na iný radič napájaný z ARMbasic.
Prikladáme niektoré obrázky, ktoré som urobil počas vývojového cyklu, ako to začať fungovať.
Ponaučenie:
- Ak máte analyzátor logiky s nepoužitými vstupmi a máte dodatočné cieľové IO, ktoré sa nepoužívajú na prácu, nebojte sa použiť tieto IO ako nástroje na ladenie - postrek kmitania IO v rôznych bodoch kódu môže byť obrovská pomoc pri sledovaní toho, čo funguje a nefunguje, ako sa očakávalo, pri identifikácii hlúpych problémov s načasovaním (tj. prerušenia, ktoré sa týkajú bitových sérií sériových komunikácií) a celkovo lepšie porozumenie vášmu úsiliu ako celku.
- Nie všetky ovládače ARM sú rovnaké. To je zrejmé. Trochu som sa však dostal tým, že som urobil počiatočný vývoj na LPC1765 Coridium SuperPRO. Pri spätnom pohľade bolo zlou voľbou to, že implementácia tohto jadra ARM umožňovala prístup do pamäte nezosúladený so slovami. Pri prenose kódu C do ARMbasic išlo všetko celkom hladko, kým som sa ho nepokúsil použiť s cieľom SAMD21 - začalo sa peklo a veci sa nedali veriť kvôli nezarovnanému prístupu pri plnení vyrovnávacích pamätí, manipulácii s vlajkami, práci s verziou ARMbasic štruktúr/odborov, s ktorými som prišiel atď. Bola to bolestivá lekcia. Tu je postup: Ak chce niekto mať prenosný kód, ktorý je zameraný na najprísnejší kandidátsky cieľ, len aby sa ubezpečil, že na konci projektu, keď je pravdepodobne najviac nadšený, využije ovocie ich úsilie …:)
- Prenesenie kódu C do ARMbasic NIE je nemožné. Toto úsilie bolo do značnej miery jednou z obrovských evolúcií výcviku portovania. Ak si niekto nájde čas na porovnanie pôvodných zdrojov C s kódom ARMbasic, ktorý som vytvoril, mal by byť schopný prísť s niektorými nápadmi na implementáciu vecí, ktoré nemusia byť súčasťou základného návrhu ARMbasic (t. J. Štruktúr).
- Vyrovnajte sa s takýmito vecami v zvládnuteľných kúskoch. Štandardne som človek, ktorý rád pravidelne vidí uspokojenie. Úsilie, ako je toto prenosové a vývojové úsilie, pravdepodobne nebude možné dosiahnuť za jedinú noc. Stanovte si realistické ciele a snažte sa ich dosiahnuť, snažte sa nenechať sa zahltiť „veľkým obrazom“.
- Logický analyzátor bol v tomto úsilí zásadný. Áno, mám jednotku DS-Logic+ s nižším a stredným rozsahom, ale môžem dôrazne vyhlásiť, že lacná 12,50 dolárová 24MHz šírka pásma LA od Amazonia by viac než stačila. Pár s programom Sigrok's PulseView (bezplatný) (robí dekódovanie protokolov) a jeden bude mať veľmi robustný systém, ktorý by mal fungovať v mnohých scenároch, ako napríklad v tom, čo som sa snažil realizovať s týmto projektom. Uistite sa, že získate jednotku s testovacími klipmi, alebo si objednajte testovacie klipy oddelene, pretože sú veľmi prospešné (ako Trumpfeldian).
- Jednoduchá logická sonda je tiež veľmi užitočný nástroj. Na prehľadnom obrázku pracovného priestoru si všimnete starodávnu logickú sondu Archer (Radio Shack) v pravom dolnom rohu obrázku. Bol som skutočne prekvapený, keď som zistil, aké užitočné je niečo také denne, dokonca aj s dobre vybaveným laboratóriom.
Možno som s nimi v minulosti niečo také spájal, ale nepamätám si a som lenivý sa na to pozerať. Tu je blogový príspevok, ktorý obsahuje video z modulu TTS v prevádzke (v tom čase ho hosťuje Itaca uChip), a príspevok na fóre ARMbasic, kde si môžete stiahnuť prenesený zdrojový kód ARMbasic.
Buďte opatrní a bavte sa hackovaním!
-MHz
Odporúča:
Rukavice na prevod gesta na reč/text: 5 krokov
Rukavice na prevod gesta na reč/text: Myšlienka/snaha implementovať tento projekt mala pomôcť ľuďom, ktorí majú problémy s komunikáciou pomocou reči a komunikácie pomocou gest ruky alebo známejšie ako americký znakový jazyk (ASL). Tento projekt môže byť krokom k poskytnutiu
Kliknite na tehlový spínač pre Makey Makey: 4 kroky (s obrázkami)
Kliknite na tehlový prepínač pre Makey Makey: Tento 3D tlačený prepínač umožní užívateľovi zmeniť Makey Makey na " posúvanie prstov " pre " kliknutie " v hrách alebo to môžu byť šípky doprava/doľava na posúvanie sa v prezentáciách. Pridanie pravého a ľavého držiaka terminálu pre
Ako prepojiť maticu LED poháňanú MAX7219 8x8 s mikrokontrolérom ATtiny85: 7 krokov
Ako prepojiť maticu LED riadenú MAX7219 s mikrokontrolérom ATtiny85: Ovládač MAX7219 vyrába spoločnosť Maxim Integrated je kompaktný, sériový vstupno-výstupný ovládač so spoločnou katódou, ktorý môže prepojiť mikrokontroléry so 64 individuálnymi LED diódami, 7-segmentovými numerickými LED displejmi a až 8 číslic, zobrazenie stĺpcového grafu
Text na reč Bullhorn: 4 kroky
Bullhorn na prevod textu na reč: Toto je najľahší spôsob, akým som našiel účinný bullhorn na prevod textu na reč pre hluchého priateľa. Pretože, vieš, robí to z nich ešte viac rad. Nie je to obzvlášť uspokojivý ani vzdelávací stavebný projekt a vyžaduje si, aby ste si kúpili
Postavte hovoriacu robotickú hlavu poháňanú Arduinom!: 26 krokov (s obrázkami)
Zostavte Talking Robot Head poháňanú Arduinom !: Táto robotická hlava bola pôvodne postavená ako projekt na konci roka pre moju triedu fyzických počítačov, ale cez leto sa „naučila“ako hovoriť. Hlavu poháňajú dva Freeduinos, 3 čipy TLC5940NT a Adafruit Industries