Բովանդակություն:

Խոսքի տեքստ Սեղմեք ARMbasic Powered UChip- ի և ARMbasic Powered SBC- ի վրա ՝ 3 քայլ
Խոսքի տեքստ Սեղմեք ARMbasic Powered UChip- ի և ARMbasic Powered SBC- ի վրա ՝ 3 քայլ

Video: Խոսքի տեքստ Սեղմեք ARMbasic Powered UChip- ի և ARMbasic Powered SBC- ի վրա ՝ 3 քայլ

Video: Խոսքի տեքստ Սեղմեք ARMbasic Powered UChip- ի և ARMbasic Powered SBC- ի վրա ՝ 3 քայլ
Video: Հանրային խոսքը և դրա 7 հիմնական էլեմենտները 2024, Հուլիսի
Anonim
Խոսքի տեքստ Սեղմեք ARMbasic Powered UChip- ի և ARMbasic Powered SBC- ի վրա
Խոսքի տեքստ Սեղմեք ARMbasic Powered UChip- ի և ARMbasic Powered SBC- ի վրա
Խոսքի տեքստ Սեղմեք ARMbasic Powered UChip- ի և ARMbasic Powered SBC- ի վրա
Խոսքի տեքստ Սեղմեք ARMbasic Powered UChip- ի և ARMbasic Powered SBC- ի վրա
Խոսքի տեքստ Սեղմեք ARMbasic Powered UChip- ի և ARMbasic Powered SBC- ի վրա
Խոսքի տեքստ Սեղմեք ARMbasic Powered UChip- ի և ARMbasic Powered SBC- ի վրա

Ներածություն: Բարի օր: Իմ անունը Թոդ է: Ես տիեզերագնացության և պաշտպանության մասնագետ եմ, որը նաև հոգու խորքում մի տեսակ գիժ է:

Ոգեշնչում. Շնորհիվ dial-up BBS- ի, 8-բիթանոց միկրոկոնտրոլերների դարաշրջանից, Kaypro/Commodore/Tandy/TI-994A անհատական համակարգիչներից, երբ Radio Shack խանութները առատ էին (լավ օրերը), իմ առաջին հոբբիի ներդրված նախագծերից մեկը: MEK6800D2 Motorola միկրոպրոցեսորային վերապատրաստման հավաքածուի հետ աշխատելը, որը ես գնել էի MSU EE լաբորատորիաներում որպես համագործակցող աշխատելիս (Southern Lower MI- ում իմ High School Electronics VoTech դասընթացն ավարտելուց հետո): Այդ նախագիծը ներառում էր Radio Shack SP0256 NARRATOR ™ SPEECH PROCESSOR- ի իմ նախատիպը MEK6800D2- ի վրա, միացնելով այն և ծրագրավորելով 6800-ը, որպեսզի այն թողարկեր կեղծ-խոսք (նրանք, ովքեր աշխատել են SP0256- ի վրա հիմնված HW- ով, հստակ գիտեն, թե ինչի եմ ակնարկում): Այն հիանալի աշխատեց, և ես առաջ ընկա ատամներս ներկառուցված միկրոկոնտրոլերների և հավաքման մեջ կտրելու ճանապարհով: Ավագ դպրոցից հետո կյանքը խոչընդոտեց ՝ ռազմական, պատերազմական, ամուսիններ, երեխաներ, քաղաքացիական հատված մտնելը, կարիերա սկսել և այլն: Դրանք ավելացրեցին իմ հոբբին ՝ ի նպաստ արևմտյան մշակույթում կյանքի ջանքեր գործադրելու (այստեղ ՝ ԱՄՆ -ում):

Անցեք 20 տարի առաջ ՝ գալով այն անխուսափելի ժամանակաշրջանին, երբ երեխաները հասունանում են այն աստիճան, որ ես և Հարսը շեղում ենք ուշադրությունը, հիփոթեքի/տրանսպորտային միջոցների/քոլեջի հաշիվները դանդաղ մարվում են, առաջընթացը վաստակում է ավելի լավ, և ես բավականաչափ պահեստ եմ ունենում: ժամանակն այն աստիճանի, երբ ես կարող էի սկսել կենտրոնանալ որոշ եսասեր ջանքերի վրա, ես նորից սկսեցի զբաղվել էլեկտրոնիկայի հոբբիով: Ինչևէ, հաշվի առնելով իմ տոհմն ու պատմությունը, ես փնտրեցի և գտա dev միջավայր, որի հետ ես արագ կապվեցի - ARMbasic - BASIC- ը իմ առաջին սերն էր, և դա համապատասխանում էր ոչ միայն ծրագրավորման, այլև սարքի հետ աշխատելու օրինագծին: ավելի հզոր, քան սկսել էի տասնամյակներ առաջ, և այսպես սկսվեց ճանապարհորդությունը:

Սա մոտավորապես 2006-2009թթ. Հետո, մեր վերահսկողությունից դուրս գտնվող պատճառներով, կյանքը փոխվեց (ինչպես դա եղավ շատերի համար այդ տարիներին): Հոբբիներն ընդհատվել են. Կենտրոնանալ նոր կարիերայի վրա, ֆինանսական պայքարից ապաքինվելը (մեծապես օժտված էր անշարժ գույքի տիրույթով, և մենք այն վերցրեցինք շորտերով, իսկ երիտասարդները պարզապես հասնում էին այն կետին, երբ քոլեջի ֆինանսավորումը հրամայական էր): Հիմնականում, կյանքի և առաջին աշխարհի խնդիրները (մենք իսկապես օրհնված ենք ՝ հաշվի առնելով այն մարտահրավերներն ու ջանքերը, որոնցով աշխարհի այլ մասերում մարդիկ ամեն օր պայքարում են) իրենց դրսևորեցին և… հոբբին փակվեց: Ես համառոտ վերագտա դրա մասին 2011-2012 թվականներին, այնուհետև հանդիպեցի կարիերայի մեկ այլ փոփոխության.

Շտապեք ևս մեկ տասնամյակ… և ես վերադարձել եմ, և, լավ Տեր, կամենամ, հուսով եմ, որ ամբողջ ընթացքում (մինչև որ ես վերցնեմ այդ առածավոր կեղտոտ քունը և չսկսեմ երիցուկները ներքևից հրել): Այսպիսով, մենք այստեղ ենք: Վաու - Արդուինոն (ո՞րն է այդ տարօրինակ բառը) ներխուժել էր շուկա: Ստեղծողներ ?? Ինչպիսի՞ն են նրանք: …:) Coridium Corp- ի իմ ընկերները (ARMbasic և ARM- ի վրա հիմնված միկրոկառավարիչների մշակման տախտակների սեփականատերերը) մնացել են հաստատուն և ճշմարիտ: Այժմ, LPC2xxx կարգավարների շարքի փոխարեն, կա ARM- ի այս նոր (ինձ համար), և Cortex M0/M3/M4, և Arduino- ն, և… WOW! Մշակույթը բավականին ձևափոխվել է և շատ մեծ առումով: Peeps- ը համագործակցում է հեռակա և, իրոք, գլոբալ մակարդակում: Սարքավորումը դառնում է զարմանալիորեն արագ և հզոր, և ARMbasic- ը, հասունանալով և հաստատունորեն կարծրացած լինելով սիլիցիումի տարբեր ընտանիքներում, ինձ և շատ ուրիշների համար գեղեցկություն է:

Այսպիսով, շատ կարճ պատմվածք պատրաստելով, ես վերջերս պատահաբար հանդիպեցի MikroElectronika- ի TTS սեղմակին և զգացի, որ կարոտի մի լվացում հոսում է ինձ վրա: Եթե մեկը պատվիրեր րոպեների ընթացքում, և հաջորդ օրերին անհանգստացած էր, մինչև որ ստորաբաժանումը ձեռքը հասավ: Այսպիսով, պատմությունը սկսվում է…

Պարագաներ

  • 1 ea MikroElectronika Text To Speech Click, պարունակում է Epson S1V30120 - մոդուլի TTS ASIC
  • 1 ea ARMbasic Target ՝ կատարելով TTS հաղորդավարի դերը
  • 1 e Uno Breakout Shield (կամ հացի տախտակի նախատիպավորում, կամ …)
  • 1 բարձրախոս կամ բարձրախոսների մի շարք առաջարկում են համակարգչից աշխատող բարձրախոսներ ՝ դրանց վրա 1/8 դյույմանոց TRS միակցիչով
  • 1 լոտ Իրերի նախատիպերի պատրաստում մետաղալար, զոդ, հոսք, ֆիտիլ, զոդող երկաթ, վերնագրեր, IC վարդակներ և այլն:
  • 1 լոտ ներդրված Dev Tools DMM, Logic Probe, Logic Analyzer, Scope և այլն - նոր TTS ընդունող MCU- ների համար

Քայլ 1: Սարքավորումների փոխկապակցումներ

Ապարատային փոխկապակցումներ
Ապարատային փոխկապակցումներ
Ապարատային փոխկապակցումներ
Ապարատային փոխկապակցումներ
Ապարատային փոխկապակցումներ
Ապարատային փոխկապակցումներ

Սա կրկնելու համար ՝ օգտագործելով ARMbasic թիրախը Uno ձևի գործոնով, կամ Itaca uChip- ով, ամենայն հավանականությամբ, ամենալավը կսպասարկվեր ՝ օգտագործելով նախատիպի վահանը, ինչպես դա արել եմ վերը նկարներում (պարզ amazon հղում)

Ոմանք կտեսնեն ոլորված մետաղալարով փաթաթված մետաղալարերը և կմտածեն, թե ինչու. Սովորական ռեժիմի աղմուկի մերժումը պարզ պատասխանն է: Այո, մենք այստեղ գործ չունենք հավասարակշռված ազդանշանների հետ, բայց ես հասկացա, որ դա չի կարող վնասել (?), Այնպես որ ես դա արեցի, երբ ես անում էի տախտակի կառուցումը:

Դա բավականին բարենպաստ ձևավորում է: Տպումները կցվում են այստեղ ՝ գրաֆիկայի տեսքով (AutoCAD 2D- ն այն է, ինչին ես ամենաշատն եմ սովորել ՝ տասնյակ տարիներ աշխատելով դրա հետ ամենօրյա աշխատանքի ընթացքում, ես դեռ կտրում եմ KiCAD ատամներս, և դա չափազանց պարզ փորձ էր հիմնավորել ուսուցման կորը ՝ որպես առաջին ծրագիր KiCAD- ում): Համենայն դեպս, ես ընտրեցի uChip- ի վարդակից ուղղակիորեն ամրացնել վահանը, որպեսզի uChip- ը որպես հյուրընկալող օգտագործելիս օգտագործվի առանձին գործ: Ես ավելացրի JST մարտկոցի միջոցով այն սնվելու համար, եթե ցանկանամ դա անել, և քանի որ ես ունեմ մի քանի հավելումներ, ես ամրացրեցի Adafruit SWD Breakout- ը, որպեսզի կարողանամ օգտագործել իմ Segger J-Link EDU Debug Probe- ը, անհրաժեշտության դեպքում: Դա չեղավ, բայց ես դրա վրա պահում եմ SWD դեմքը ՝ հետագա նախագծերի համար օգտագործելու համար:

Castellated- ը նշանակում է, որ այս համատեքստում պետք է փակցնել PCB- ի եզրերը այնպես, որ անցքերով պատված հատվածները կրճատվեն մինչև կիսաբալոններ, ինչը հնարավորություն է տալիս զոդել կրող PCB- ի վրա `այս դեպքում վահանի ճեղքման տախտակի վրա: Ես ընտրեցի դա անել, քանի որ վահանի հարթ փաթաթված մասերը այնքան էլ չեն համընկնում SWD BOB- ի երկու վերնագրերի շարքերի միջև ընկած տողերի հետ: Կոտրվեց հարթ ֆայլը և ներկայացվեց 5 րոպե և խնդիրը լուծվեց:

Քայլ 2: Programրագրավորում և փորձարկում

Mingրագրավորում և թեստավորում
Mingրագրավորում և թեստավորում
Mingրագրավորում և թեստավորում
Mingրագրավորում և թեստավորում
Mingրագրավորում և թեստավորում
Mingրագրավորում և թեստավորում

Ապարատային սարքավորումների կառուցումից հետո անհրաժեշտ կլինի ամբողջովին անջատել ՝ էլեկտրամոնտաժը լավ աշխատելու համար: Հետո, ես միշտ Power and Grounds ստուգում եմ կատարում: Սա ոչ միայն երաշխավորում է, որ Power- ը և Ground- ը այնտեղ են, որտեղ պետք է լինեին, այլև որևէ այլ դադարեցում, որը չպետք է ուժ/հիմք ունենար այնտեղ: Սա նման փոքր նախագծի հոգնեցուցիչ խնդիր չէ, բայց համակարգերի ավելի մեծ համակարգերի դեպքում դա, չնայած իսկապես հոգնեցուցիչ քայլ է, բացարձակապես անհրաժեշտ է, որպեսզի ապահովվի, որ ոչ մի ենթահավաք կամ համակցված համակարգ չվերանա հիմար սխալի պատճառով, որը կարող էր և պետք է բռնվեր: Ես սովորաբար ստանում եմ այն նվազագույն ապրանքները, որոնք կցվում են այնպես, որ էլեկտրաէներգիան արտադրվի տախտակի վրա, այնուհետև ստուգում եմ յուրաքանչյուր քորոց/հոսանք հոսանքի և հոսանքի համար `նախքան ենթահավաքների, չիպսերի և այլնի միացումը, համոզվելով, որ հզորությունը պատշաճ մակարդակի է: (հաշվի առնելով ոչ 5V- հանդուրժող սարքերը/IO, 1v8 և 3v3 պահանջները և այլն), և այդ հիմքն այնտեղ է, որտեղ անհրաժեշտ է և միայն այնտեղ, որտեղ պետք է լինի: Ես ականատես եմ եղել ինքնաթիռի խափանումների կասկադին այն մարդկանցից, ովքեր չեն կատարել համապատասխան նախնական միացման ստուգումներ: Մի դեպքում, այն վերցրեց ավելի քան 100 հազար ԱՄՆ դոլար LRU, ինչը ոչ թե զվարճալի ժամանակ էր ՝ ղեկավարելու նախագիծը և այն միանգամից շեղվելու, քանի որ ինչ -որ մեկը կարճ շրջափակեց գործընթացը: Մեկ այլ բանի համար, որի մեջ ես մեղավոր եմ, հոգնեցուցիչ «շրջակայքի ստուգումներ» կատարելն է ՝ համոզվելը, որ կոնտակտները/դադարեցումները չեն կարճեցվում հարակից շփումներին/դադարեցումներին: Սա վճռորոշ է դառնում, եթե մեկը զբաղվում է կոաքսիալ հավաքույթներով, բազմահաղորդչային/պաշտպանված ամրակներով և այլն: Լավ, ես դուրս եմ գալիս օճառի տուփից…

Անվտանգության ապահովումից հետո միացրեք իրերը, միացրեք այն և անցեք TTS սերվերի (ARMbasic Target MCU) ծրագրավորմանը, ինչպես դա կարող էր անել MCU- ի բազմաթիվ ներդրված թիրախների դեպքում: Ես ձայնագրեցի մի տեսանյութ, որը պատկերում է TTS Click- ի ծրագրավորումը և պարզ օգտագործումը: Այն կարող եք դիտել այստեղ:

ARMbasic- ի սկզբնական կոդը կարելի է ներբեռնել այստեղից ՝ ֆորումի գրառում, որն ունի լրացուցիչ մանրամասներ: Այս ջանքերի վերաբերյալ Coridium- ը բլոգային գրառում կատարեց, որին կարող եք հասնել ՝ կտտացնելով այստեղ:

Քայլ 3. Աղբյուրի փոփոխություն այլ ARMbasic նպատակների և տարբեր զույգերի համար:

Այլ ARM- ի հիմնական նպատակների և տարբեր զույգերի աղբյուրի փոփոխում
Այլ ARM- ի հիմնական նպատակների և տարբեր զույգերի աղբյուրի փոփոխում
Այլ ARM- ի հիմնական թիրախների աղբյուրի փոփոխություն և տարբեր զույգեր
Այլ ARM- ի հիմնական թիրախների աղբյուրի փոփոխություն և տարբեր զույգեր
Այլ ARM- ի հիմնական նպատակների և տարբեր զույգերի աղբյուրի փոփոխում
Այլ ARM- ի հիմնական նպատակների և տարբեր զույգերի աղբյուրի փոփոխում
Այլ ARM- ի հիմնական նպատակների և տարբեր զույգերի աղբյուրի փոփոխում
Այլ ARM- ի հիմնական նպատակների և տարբեր զույգերի աղբյուրի փոփոխում

Ես ձեզ չեմ ծանոթացնի այն քայլերին, որոնք անհրաժեշտ են աղբյուրի կոդը փոփոխելու համար ՝ ARM- ի հիմնական թիրախների հետ աշխատելու համար, այլ ոչ թե նշելու, որ ես անելու եմ դա անելու մեջ `այնտեղ առկա աղբյուրի կոդի մեկնաբանությունների առատությամբ: Խնդրում ենք ժամանակ հատկացնել ՝ բացելու tts.bas ֆայլը և կարդալու այն մասին, թե ինչ փոփոխություններ են անհրաժեշտ, եթե ընտրեք կոդը տեղափոխել ARMbasic սնուցվող մեկ այլ վերահսկիչ:

Կից ներկայացված են մի քանի պատկերներ, որոնք ես արել եմ այն գործի դնելու շրջանի ընթացքում:

Քաղված դասերը:

  1. Եթե ունեք տրամաբանական անալիզատոր չօգտագործված մուտքերով և ունեք լրացուցիչ թիրախային ԱՏ, որոնք չեն օգտագործվում ձեռքի աշխատանքի համար, մի վախեցեք օգտագործել այդ ՏՏ -երը որպես վրիպազերծման գործիքներ: հսկայական օգնություն այն, ինչ սպասվում է և ինչը չի աշխատում, ինչպես սպասվում էր, ժամանակի հիմար խնդիրներ հայտնաբերելու համար (այսինքն ՝ ընդհատումները, որոնք ազդում են սերիական սղության վրա), և ընդհանուր առմամբ ավելի լավ պատկերացնելու ձեր ջանքերը:
  2. Ոչ բոլոր ARM վերահսկիչներն են նույնը: Սա ակնհայտ է: Այնուամենայնիվ, ես խայթեցի ՝ նախնական dev կատարելով LPC1765 Coridium SuperPRO- ի վրա: Հետևյալ տեսանկյունից, ինչը վատ ընտրություն կատարեց, այն է, որ ARM- ի այս միջուկի իրականացումը թույլ էր տալիս ոչ բառերով համահունչ մուտք գործել դեպի հիշողություն: C կոդը ARMbasic- ին փոխանցելիս ամեն ինչ բավականին սահուն ընթացավ, մինչև չփորձեցի օգտագործել այն SAMD21 թիրախի հետ. այն կառույցների/միությունների մասին, որոնցով ես հանդես եմ եկել և այլն: Դա ցավոտ դաս էր: Եթե մեկը ցանկանում է ունենալ շարժական ծածկագիր ՝ dev առավել սահմանափակող թեկնածուների թիրախում, պարզապես ապահովելու համար, որ նա նախագծի վերջին փուլում դրամայի առջև չընկնի, երբ ամենայն հավանականությամբ ամենից շատ ոգևորված կլինի օգտագործել դրա պտուղները: նրանց ջանքերը …:)
  3. C կոդը ARMbasic- ին փոխանցելը անհնար է: Այս ջանքերը մեծապես մեկ հսկայական փոխադրման ուսուցման էվոլյուցիա էին: Եթե մեկը ժամանակ է հատկացնում C- ի սկզբնաղբյուրները համեմատելու համար իմ ստեղծած ARMbasic ծածկագրի հետ, ապա նա պետք է կարողանա որոշ գաղափարներ տալ, թե ինչպես կարելի է իրականացնել բաներ, որոնք չեն կարող լինել ARMbasic- ի հիմնական նախագծի (այսինքն ՝ Կառուցվածքների) մաս:
  4. Նման բաներին լուծեք կառավարելի կտորներով: Լռելյայն, ես մեկն եմ, ով սիրում է պարբերաբար տեսնել գոհունակություն: Նման փոխադրման և զարգացման ջանքերը, ամենայն հավանականությամբ, չեն կարող լինել մեկ գիշերվա ընթացքում: Սահմանեք իրատեսական նպատակներ և աշխատեք նույնի ուղղությամբ ՝ փորձելով չընկճվել «մեծ պատկերով»:
  5. Տրամաբանական անալիզատորը վճռորոշ նշանակություն ունեցավ այս ջանքերում: Այո, ես ունեմ ավելի ցածր միջին DS-Logic+ միավոր, բայց կարող եմ շեշտել, որ Ամազոնիայից 12,50 ԱՄՆ դոլար արժողությամբ 24 ՄՀց թողունակությամբ էժան թողունակությունը ավելի քան բավարար կլիներ: Couույգ, որը Sigrok- ի PulseView- ով (անվճար) (կատարում է արձանագրությունների վերծանում) և մեկը կունենա շատ հզոր համակարգ, որը պետք է աշխատի սցենարների հսկայական բազմազանության դեպքում, օրինակ այն, ինչ ես փորձում էի ձեռնարկել այս նախագծի հետ: Համոզվեք, որ ձեռք բերեք մի միավոր, որն ունի փորձարկման տեսահոլովակներ կամ առանձին պատվիրեք թեստային տեսահոլովակներ, քանի որ դրանք չափազանց օգտակար են (որքան Թրամփֆելդյան):
  6. Պարզ տրամաբանական զոնդը նույնպես շատ օգտակար գործիք է: Աշխատանքային տարածքի ընդհանուր պատկերի վրա նկարի ներքևի աջ անկյունում նշելու եք հին Archer (Radio Shack) տրամաբանական զոնդը: Ես իսկապես զարմացա ՝ պարզելով, թե որքան օգտակար է նման բանն ամեն օր, նույնիսկ լավ սարքավորված լաբորատորիայի դեպքում:

Հնարավոր է, որ ես ավելի վաղ կապել էի դրանց հետ, բայց չեմ կարող հիշել և չափազանց ծույլ եմ նայելու համար: Ահա բլոգային գրառում, որն ունի TTS մոդուլի գործողության տեսանյութ (Itaca uChip- ն այն հյուրընկալում էր այն ժամանակ) և ARMbasic Forum- ի գրառումը, որտեղ կարելի է ներբեռնել տեղափոխված ARMbasic աղբյուրի կոդը:

Takeգույշ եղեք և զվարճացեք, երբ հեռու եք կոտրում:

-ՄՀց

Խորհուրդ ենք տալիս: