Mundarija:

Nutq uchun matn ARMbasic bilan ishlaydigan UChip va boshqa ARMbasic bilan ishlaydigan SBC -ni bosing: 3 qadam
Nutq uchun matn ARMbasic bilan ishlaydigan UChip va boshqa ARMbasic bilan ishlaydigan SBC -ni bosing: 3 qadam

Video: Nutq uchun matn ARMbasic bilan ishlaydigan UChip va boshqa ARMbasic bilan ishlaydigan SBC -ni bosing: 3 qadam

Video: Nutq uchun matn ARMbasic bilan ishlaydigan UChip va boshqa ARMbasic bilan ishlaydigan SBC -ni bosing: 3 qadam
Video: PSIXOLOGLARDAN 15 HAQIQATLAR. HECH KIM bilmagan SIRLAR 2024, Iyul
Anonim
Nutq uchun matn ARMbasic bilan ishlaydigan UChip va boshqa ARMbasic bilan ishlaydigan SBC -ni bosing
Nutq uchun matn ARMbasic bilan ishlaydigan UChip va boshqa ARMbasic bilan ishlaydigan SBC -ni bosing
Nutq uchun matn ARMbasic bilan ishlaydigan UChip va boshqa ARMbasic bilan ishlaydigan SBC -ni bosing
Nutq uchun matn ARMbasic bilan ishlaydigan UChip va boshqa ARMbasic bilan ishlaydigan SBC -ni bosing
Nutq uchun matn ARMbasic bilan ishlaydigan UChip va boshqa ARMbasic bilan ishlaydigan SBC -ni bosing
Nutq uchun matn ARMbasic bilan ishlaydigan UChip va boshqa ARMbasic bilan ishlaydigan SBC -ni bosing

Kirish: Xayrli kun. Mening ismim Tod. Men aerokosmik va mudofaa sohasidagi professionalman, u ham yuragida g'ayratli.

Ilhom: BBS, 8-bitli mikrokontrolderlar, Kaypro/Commodore/Tandy/TI-994A shaxsiy kompyuterlari davridan kelib chiqqan holda, Radio Shack do'konlari ko'p bo'lganida (yaxshi kunlar), mening sevimli mashg'ulotlarimdan biri. MSU EE laboratoriyalarida kooperativ sifatida ishlagan paytimda sotib olgan MEK6800D2 Motorola mikroprotsessorli o'quv to'plami bilan ishlash (Janubiy Pastki MIda Electronics VoTech o'rta maktabini o'qitishimdan so'ng). Bu loyihada Radio Shack SP0256 NARRATOR ™ nutq protsessorini MEK6800D2-ga prototiplash, uni ulash va 6800-ni soxta nutq chiqarish uchun dasturlash (SP0256 asosidagi HW bilan ishlaganlar men nimani nazarda tutayotganimni aniq bilishadi).). Bu ajoyib ishladi va men o'rnatilgan mikrokontrolderlar va yig'ilishlarda tishimni kesish yo'lida oldinga qadam tashladim. O'rta maktabni tugatgandan so'ng, hayot to'sqinlik qildi: Harbiy, Urush, Turmush o'rtoqlar, Bolalar, fuqarolik sektoriga kirish, karerani boshlash va boshqalar. Bu mening sevimli mashg'ulotimga qo'shilib, G'arb madaniyatida hayotga intilishimga yordam berdi. bu erda AQShda).

20 yil oldinga siljiting, bolalar etuk bo'ladigan muqarrar vaqtga kelib, kelin va men chalg'itamiz, ipoteka/avtotransport/kollej uchun to'lovlar asta -sekin to'lanadi, yutuqlar yaxshilanadi va menda zaxira bor. Vaqt o'tib, men o'zimning g'arazli urinishlarimga e'tibor qaratishni boshlashim mumkin edi, men elektronika sevimli mashg'ulotlariga qaytdim. Qanday bo'lmasin, mening nasabnomam va tariximni hisobga olgan holda, men tezda bog'langan muhitni topdim va topdim - ARMbasic - BASIC - bu mening birinchi muhabbatim edi va bu nafaqat o'zimni dasturlash bilan shug'ullanish, balki uskunalar bilan ishlashga ham to'g'ri keldi. O'nlab yillar oldin boshlaganimdan kuchliroq va shu tariqa sayohat boshlandi.

Bu 2006-2009 yillar edi. Keyin, biz bilmaydigan sabablarga ko'ra, hayot o'zgardi (o'sha yillardagi kabi). Xobbilar to'xtab qoldi - moliyaviy qiyinchiliklardan qutulib, yangi martabaga e'tibor qarating (biz uni ko'chmas mulk bilan bog'ladik va biz uni qisqa kiyimda oldik va yosh yigitlar kollejni moliyalashtirish juda zarur bo'lgan joyga etib kelishdi). Umuman olganda, hayot va birinchi dunyo muammolari (dunyoning boshqa qismlarida odamlar har kuni kurashadigan qiyinchiliklar va qiyinchiliklarni hisobga olsak, biz baxtli bo'lamiz) o'zini namoyon qildi va … sevimli mashg'ulotlari bekor qilindi. Men bu haqda qisqacha ma'lumotni 2011-2012 yillarda oldim, keyin yana bir kareradagi o'zgarish bilan uchrashdim-sevimli mashg'ulotim yana bekor qilindi.

Yana o'n yil oldinga tez yuring va men qaytib keldim va Xudovand xohlasa, umid qilamanki, (men bu iflos uyquni olib, pastdan papatyalarni yuqoriga ko'tarishni boshlagunimcha). Shunday qilib, biz shu erdamiz. Voy - Arduino (bu qanday g'alati so'z?) Bozorga kirib ketdi. Ishlab chiqaruvchilar ?? Ular qanday ahmoqlik ?! …:) Coridium Corp-dagi do'stlarim (ARMbasic va ARM-ga asoslangan mikrokontrollerlar platalari egalari) qat'iy va sodiq qolishdi. Endi, LPC2xxx seriyali kontrollerlar o'rniga, bu yangi (men uchun) ARM, Cortex M0/M3/M4, Arduino va… VOY! Madaniyat biroz o'zgardi va ko'p jihatdan ajoyib tarzda. Peeps masofadan va haqiqatan ham global miqyosda hamkorlik qilmoqda. Uskunalar juda tez va kuchli bo'lib bormoqda, va ARMbasic turli xil kremniyli oilalarda ish bilan band bo'lgan va qattiq qotib qolgan, men va boshqalar uchun go'zallikdir.

Shunday qilib, men qisqa hikoyani uzoq davom ettirar ekanman, yaqinda MikroElektronikaning TTS tugmasini bosib qoqildim va ustimda nostalji oqayotganini his qildim. Biror kishi bir necha daqiqada buyurtma bergan bo'lsa va keyingi kunlarda bo'linma qo'liga kelguncha xavotirda edi. Shunday qilib, hikoya boshlanadi …

Ta'minotlar

  • 1 ta MikroElectronika matnli nutqni bosish, Tps ASIC modulining Epson S1V30120 ni o'z ichiga oladi.
  • 1 ta ARMbasic Target, TTS Xost rolini bajaradi
  • 1 ta Uno Breakout Shield (yoki non taxtasining prototipi yoki …)
  • 1 ta karnay yoki karnaylar to'plami 1/8 dyuymli TRS vilkasi bilan ish stolida ishlaydigan kompyuter karnaylarini taklif qiladi
  • 1 lot prototipli buyumlar simlari, lehim, oqim, tayoq, lehimlantiruvchi temir, sarlavhalar, IC rozetkalari va boshqalar.
  • 1 ta o'rnatilgan Dev Tools DMM, Logic Probe, Logic Analyzer, Scope va boshqalar - yangi TTS Host MCUlari uchun.

1 -qadam: Uskuna bir -biriga ulanadi

Uskuna bir -biriga ulanishi
Uskuna bir -biriga ulanishi
Uskuna bir -biriga ulanishi
Uskuna bir -biriga ulanishi
Uskuna bir -biriga ulanishi
Uskuna bir -biriga ulanishi

Buni UNO form faktorida yoki Itaca uChip -da ARMbasic nishonidan foydalanib takrorlash uchun, yuqoridagi rasmlarda qilganimdek, prototiplash qalqonidan foydalanish yaxshidir (oddiy Amazon havolasi).

Ba'zilar bir-biriga o'ralgan simni ko'rishadi va nima uchun-oddiy rejimdagi shovqinlarni rad etish oddiy javobdir. Ha, biz bu erda muvozanatli signallar bilan shug'ullanmayapmiz, lekin men zarar etkazmasligini o'ylardim (?), Shuning uchun men taxtani yig'ish paytida shunday qildim.

Bu juda yaxshi dizayn. Chizmalar grafik shaklida biriktirilgan (AutoCAD 2D - men odatdagidek - u bilan kunlik ishimda o'nlab yillar davomida ishlaganman - men hali ham KiCAD tishlarini kesaman va bu juda oddiy urinish edi) o'rganish egri chizig'ini KiCAD -dagi birinchi loyiha sifatida asoslang). Qanday bo'lmasin, men uChip-ni xost sifatida ishlatishda mustaqil foydalanish holatini yoqish uchun uChip rozetkasini to'g'ridan-to'g'ri qalqonga o'rnatishni tanladim. Agar men xohlasam, uni batareyadan quvvatlantirish uchun JST qo'shdim va agar menda bir nechta qo'shimcha narsalar bo'lsa, men kerak bo'lganda Segger J-Link EDU disk raskadrovka probidan foydalanishim uchun Adafruit SWD Breakout-ni kastellyatsiya qildim. Bu shunday emas edi, lekin men kelajakdagi loyihalarda foydalanish uchun SWD tashqi ko'rinishini saqlayman.

Kastellash, shu nuqtai nazardan, tenglikni qirralarini pastga siljitib, teshiklari yarim tsilindrga aylanib, tashuvchi tenglikni lehimlashga imkon beradi - bu holda qalqonni sindiruvchi taxta. Men buni tanlashga qaror qildim, chunki qalqonning tekis to'plamli fanut qismlari SWD BOB-dagi ikkita sarlavha qatori orasidagi bo'shliqqa to'g'ri kelmagan. Yassi faylni sindirib tashladik va 5 daqiqalik hujjat topshirdik va muammo hal qilindi.

2 -qadam: dasturlash va sinov

Dasturlash va test
Dasturlash va test
Dasturlash va test
Dasturlash va test
Dasturlash va test
Dasturlash va test

Uskuna o'rnatilgandan so'ng, simlarning yaxshi ekanligini tekshirish uchun to'liq qo'ng'iroq qilish kerak bo'ladi. Keyin men har doim kuch va erni tekshiraman. Bu nafaqat Power va Ground -ning qaerda bo'lishini, balki kuch -quvvatga ega bo'lmasligi kerak bo'lgan boshqa tugatishlarning yo'qligini ta'minlaydi. Bu kabi kichik loyihada zerikarli vazifa emas, lekin tizimlar kattaroq bo'lsa-da, bu zerikarli qadam bo'lsa-da, hech qanday kichik yig'ilishlar yoki ulangan tizimlar bema'nilik xatosidan chiqib ketmasligi uchun zarurdir. ushlanishi mumkin edi va kerak edi. Men odatda minimal miqdordagi tovarni olaman, shunda bortda quvvat hosil bo'ladi, so'ngra har bir pinni/terminalni quvvat va tuproq uchun tekshirib, kichik yig'ilishlar, chiplar va boshqalarni ulashdan oldin tekshirib, quvvat to'g'ri darajada ekanligiga ishonch hosil qiling. (5Vga chidamli bo'lmagan qurilmalar/IO, 1v8 va 3v3 talablari va h.k.larni hisobga olgan holda) va bu zamin kerakli joyda va faqat kerakli joyda. Men samolyotda oldindan ulanishni to'g'ri tekshira olmagan odamlarning nosozliklari guvohi bo'ldim. Bitta holatda, 100 ming dollardan oshiq LRU -lar talab qilingan - bu loyihani boshqarish va uni bir zumda chetga surib qo'yish uchun qiziqarli vaqt emas, chunki kimdir bu jarayonni qisqa tutashtirib qo'ydi. Men aybdor bo'lgan yana bir narsa - zerikarli "yaqinlik tekshiruvi" ni amalga oshirish - kontaktlar/uzilishlar qo'shni kontaktlarga/uzilishlarga qisqartirilmasligiga ishonch hosil qilish. Agar kimdir koaksiyal yig'ilishlar, ko'p o'tkazgichli/himoyalangan jabduqlar va boshqalar bilan shug'ullansa, bu juda muhim bo'ladi. Men sovun qutisidanman …

Xavfsizlik ta'minlangandan so'ng, narsalarni ulang, quvvatlantiring va keyin TTS Host (ARMbasic Target MCU) dasturiga o'ting, xuddi ko'pgina o'rnatilgan MCU maqsadlari kabi. Men TTS Click dasturini va oddiy ishlatilishini tasvirlaydigan video yozdim. Siz bu erda ko'rishingiz mumkin.

ARMbasic manba kodini bu erdan yuklab olish mumkin - forum tafsilotlari bor post. Coridium bu harakatlarga bag'ishlangan blog yozdi, siz bu erga bosishingiz mumkin.

3 -qadam: Boshqa ARMbasic maqsadlari va har xil fikrlar uchun manbani o'zgartirish

Boshqa ARMbasic maqsadlari va har xil fikrlar uchun manbani o'zgartirish
Boshqa ARMbasic maqsadlari va har xil fikrlar uchun manbani o'zgartirish
Boshqa ARMbasic maqsadlari va har xil fikrlar uchun manbani o'zgartirish
Boshqa ARMbasic maqsadlari va har xil fikrlar uchun manbani o'zgartirish
Boshqa ARMbasic maqsadlari va har xil fikrlar uchun manbani o'zgartirish
Boshqa ARMbasic maqsadlari va har xil fikrlar uchun manbani o'zgartirish
Boshqa ARMbasic maqsadlari va har xil fikrlar uchun manbani o'zgartirish
Boshqa ARMbasic maqsadlari va har xil fikrlar uchun manbani o'zgartirish

Men sizga manba kodini boshqa ARMbasic maqsadlari bilan ishlash uchun o'zgartirish uchun zarur bo'lgan qadamlar haqida aytmayman, bu erda men mana bu erda juda ko'p manba kodli izohlarda ishlaganman. Iltimos, tts.bas faylini ochishga vaqt ajrating va agar siz kodni boshqa ARMbasic bilan ishlaydigan boshqaruvchiga o'tkazishni tanlasangiz, qanday o'zgartirishlar kerakligini o'qing.

Bu erda men uni ishlab chiqish jarayonida ishlab chiqilgan ba'zi rasmlar ilova qilingan.

Olingan darslar:

  1. Agar sizda mantiqiy analizator ishlatilmagan kirishlar bo'lsa va qo'lda ishlash uchun qo'shimcha maqsadli IO ishlatilmasa, bu IO -larni disk raskadrovka vositasi sifatida ishlatishdan qo'rqmang - kodning turli nuqtalarida IO -ni qimirlatib yuborish mumkin. nima kutilganidek ishlamayotganini kuzatishda, vaqtni noto'g'ri hisoblashda (masalan, ketma-ket ketma-ket xabar almashinuviga ta'sir qiladigan uzilishlar) va umuman sizning harakatlaringizni yaxshiroq tushunish uchun katta yordam.
  2. Hamma ARM boshqaruvchilari bir xil emas. Bu aniq. Biroq, men LPC1765 Coridium SuperPRO -da dastlabki ishlab chiqarishni amalga oshirib, biroz yutuqlarga erishdim. Nihoyat, bu tanlovni noto'g'ri qilgan narsa shundaki, bu ARM yadrosi xotiraga so'z bilan mos bo'lmagan kirishni ta'minladi. C kodini ARMbasic -ga ko'chirishda, men uni SAMD21 nishoni bilan ishlatishga urinmaguncha, hamma narsa juda yaxshi o'tdi - buferlar to'ldirilganda, bayroqlar bilan ishlashda, ARMbasic versiyasi bilan ishlashda hamma narsa jahannam buzildi va hamma narsa ishonib bo'lmaydigan darajada buzildi. Men tuzgan tuzilmalar/kasaba uyushmalari va boshqalar. Bu og'riqli dars edi. Bu erda olib ketish: Agar kimdir ko'chma kodga ega bo'lishni xohlasa, eng cheklangan nomzodning maqsadi - loyihaning oxirigacha dramaga duch kelmasligiga ishonch hosil qilish uchun, agar uning mevalarini ishlatishdan eng hayajonlangan bo'lsa. ularning harakatlari..:)
  3. C kodini ARMbasic -ga ko'chirish mumkin emas. Bu sa'y -harakatlar asosan ta'lim evolyutsiyasining ulkan bir harakatidir. Agar original C manbalarini men yaratgan ARMbasic kodi bilan taqqoslash uchun vaqt kerak bo'lsa, ARMbasic -ning asosiy dizayniga kirmaydigan narsalarni (masalan, Strukturalar) qanday amalga oshirish mumkinligi haqida ba'zi fikrlar bilan chiqish kerak.
  4. Bu kabi narsalarni boshqariladigan bo'laklarda hal qiling. Odatiy bo'lib, men muntazam ravishda zavqlanishni ko'rishni yaxshi ko'raman. Bunday tashish va ishlab chiqish harakatlari bir kechada bajarilishi mumkin emas. Haqiqiy maqsadlarni qo'ying va "katta rasm" ga berilib ketmaslikka harakat qiling.
  5. Mantiqiy analizator bu ishda hal qiluvchi ahamiyatga ega edi. Ha, menda DS-Logic+ ning pastroq o'rta birligi bor, lekin shuni aniq aytishim mumkinki, Amazoniyadan 24,50 MGts tarmoqli kengligi 12,50 dollarga arzonroq. Sigrok PulseView bilan (bepul) (protokolni dekodlash) va er -xotin juda kuchli stsenariylarda ishlashi kerak bo'lgan kuchli tizimga ega bo'ladi, masalan, men bu loyihani amalga oshirishga harakat qildim. Sinov kliplari bo'lgan qurilmani sotib olganingizga ishonch hosil qiling yoki test kliplarini alohida buyurtma qiling, chunki ular juda katta (Trumpfeldian) qanchalik foydali.
  6. Oddiy mantiqiy prob ham juda foydali vosita. Ish joyining umumiy rasmida siz tasvirning pastki o'ng burchagida qadimiy Archer (Radio Shack) mantiqiy probini ko'rasiz. Hatto yaxshi jihozlangan laboratoriya bilan ham, har kuni bunday narsa qanchalik foydali ekanini ko'rib, hayron bo'ldim.

Men ilgari bularga havola qilgan bo'lardim, lekin eslay olmayman va qarashga dangasa. Bu erda blogda TTS modulining amaldagi videosi (Itaca uChip uni o'sha paytda joylashtirgan) va ARMbasic Forum xabarini ko'chirish mumkin bo'lgan ARMbasic manba kodini yuklab olish mumkin.

Ehtiyot bo'ling va xakerlikdan zavqlaning!

-MGts

Tavsiya: