Агуулгын хүснэгт:
- Хангамж
- Алхам 1: Тоног төхөөрөмжийн харилцан холболт
- Алхам 2: Програмчлал ба туршилт
- Алхам 3: ARMbasic -ийн бусад зорилтот эх сурвалжийг өөрчлөх, янз бүрийн үйлдлүүд
Видео: Текстээр ярих: ARMbasic Powered UChip болон бусад ARMbasic Powered SBCs дээр дарна уу: 3 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
Оршил: Өдрийн мэнд. Намайг Тод гэдэг. Би бол сансрын болон батлан хамгаалахын мэргэжилтэй хүн.
Урам зориг: BBS, 8-битийн микроконтроллер, Kaypro/Commodore/Tandy/TI-994A хувийн компьютерууд, Radio Shack дэлгүүрүүд элбэг дэлбэг байх үеэс (сайн өдрүүд) миний анхны хобби суулгасан төслүүдийн нэг байсан. MSU EE лабораторид хамтран ажиллаж байхдаа худалдаж авсан MEK6800D2 Motorola микропроцессорын сургалтын иж бүрдэлтэй ажиллах (Өмнөд Доод MI-д ахлах сургуулийн электроникийн VoTech сургалтаа дүүргэсний дараа). Энэхүү төсөлд MEK6800D2 дээр радио Shack SP0256 NARRATOR ™ ЯРИАЧЛАХ ПРОЦЕССОР-ийг миний прототип хийж, 6800-ийг хуурамч яриа гаргахын тулд програмчилж өгсөн (SP0256 дээр суурилсан HW-тэй ажиллаж байсан хүмүүс миний юуг онцолж байгаагаа сайн мэддэг.). Энэ нь гайхалтай ажилласан бөгөөд би суулгасан микроконтроллер ба Ассемблейд шүдээ тайрах замаар урагшилсан. Ахлах сургуулиа төгсөөд амьдрал саад болж, Цэрэг, Дайн, Эхнэр, Хүүхдүүд, иргэний салбарт орох, карьераа эхлүүлэх гэх мэт бүх зүйл миний хобби болж, өрнийн соёлд амьдрах гэсэн оролдлогуудыг хийх болсон юм. энд АНУ -д).
20 жил алгасаж, хүүхдүүд төлөвшиж, сүйт бүсгүй бид хоёрын анхаарлыг сарниулах, ипотекийн/машин/коллежийн төлбөрийг аажмаар төлж, орлого нь ахиц дэвшилд хүрэх, мөн хангалттай нөөцтэй болоход хүрдэг. Хувиа хичээсэн оролдлогод анхаарлаа төвлөрүүлж эхлэх цаг болоход би электроникийн хобби тоглолтыг дахин эхлүүлэв. Ямар ч байсан, миний удам угсаа, түүхийг харгалзан үзээд би хурдан холбогдож чадсан орчноо хайж олсон - 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 to To Speech Click, Epson S1V30120 - TTS ASIC модулийг агуулдаг.
- 1 ea ARMbasic Target, TTS Host -ийн үүргийг гүйцэтгэдэг
- 1 ea Uno Breakout Shield (эсвэл талхны самбарыг загварчлах, эсвэл …)
- 1 чанга яригч, эсвэл чанга яригч нь 1/8 "TRS залгууртай компьютерын ширээний компьютер дээр ажилладаг чанга яригчийг санал болгодог
- 1 багц прототип хийх бүтээгдэхүүн утас, гагнуур, урсгал, зулын гол, гагнуурын төмөр, толгой, IC залгуур гэх мэт.
- 1 багц Embedded Dev Tools DMM, Logic Probe, Logic Analyzer, Scope, гэх мэт - шинэ TTS Host MCU -ийн хувьд
Алхам 1: Тоног төхөөрөмжийн харилцан холболт
Үүнийг ARMbasic зорилтыг Uno хэлбэрийн хүчин зүйл эсвэл Itaca uChip ашиглан хуулбарлахын тулд би дээрх зургуудад хийсэн шиг загварчлах бамбай ашиглан хамгийн сайн үйлчлэх болно (амазоны энгийн холбоос)
Зарим хүмүүс утас ороосон утсыг харж, яагаад гэдгийг нь гайхдаг-энгийн горимд дуу чимээ гаргахаас татгалзах нь энгийн хариулт юм. Тийм ээ, бид энд тэнцвэртэй дохионуудтай харьцдаггүй, гэхдээ энэ нь гэмтээхгүй гэж бодсон (?) Тиймээс би самбарыг бүтээж байхдаа үүнийг хийсэн.
Энэ бол нэлээд эелдэг загвар юм. Хэвийг энд график хэлбэрээр хавсаргасан болно (AutoCAD 2D бол миний хамгийн их дассан зүйл юм - өдөр тутмын ажил дээрээ хэдэн арван жил ажилласан - би одоо хүртэл KiCAD -ийнхээ шүдийг хайчилж байгаа бөгөөд энэ бол маш энгийн оролдлого байсан. сургалтын муруйг KiCAD -ийн анхны төсөл болгон зөвтгөх). Юутай ч би uChip-ийг хост болгон ашиглахдаа дангаар нь ашиглах тохиолдлыг идэвхжүүлэхийн тулд uChip залгуурыг шууд бамбай руу холбохыг сонгосон. Би үүнийг батарейгаар цэнэглэхийн тулд JST-ийг нэмэхийг хүсч байгаа бөгөөд хэрэв би үүнийг хийх шаардлагатай байгаа бол надад хэд хэдэн нэмэлт зүйл байгаа тул Segger J-Link EDU Debug Probe-ийг ашиглах боломжтой болгохын тулд Adafruit SWD Breakout-ийг сонгосон. Энэ нь тийм биш байсан ч би ирээдүйн төслүүдэд ашиглахын тулд SWD -ийн гадаргууг хадгалж байна.
Castellated гэдэг нь энэ тохиолдолд ПХБ -ийн ирмэгийг буулгаж, нүхийг нь хагас цилиндр болгон багасгаж, ПХБ -д гагнах боломжийг олгодог. Бамбайны хавтгай хайрцагны хэсэг нь SWD BOB дээрх хоёр толгойн эгнээний хоорондох эгнээ хоорондын зайтай огт нийцэхгүй байгаа тул би үүнийг хийхээр сонгосон. Хавтгай файл гаргаж, 5 минутын мэдүүлэг өгч, асуудлыг шийдсэн.
Алхам 2: Програмчлал ба туршилт
Тоног төхөөрөмжийг суурилуулсны дараа утас сайн байгаа эсэхийг баталгаажуулахын тулд бүрэн дуугарах шаардлагатай болно. Дараа нь би хүч ба газардуулгын шалгалтыг байнга хийдэг. Энэ нь зөвхөн Power and Ground -ийг байх ёстой газартаа баталгаажуулаад зогсохгүй өөр ямар ч хүч чадал/газардуулга байхгүй болно. Ийм жижиг төслийн хувьд энэ нь тийм ч хэцүү ажил биш, гэхдээ илүү том системүүдийн хувьд энэ нь үнэхээр уйтгартай алхам боловч ямар ч дэд угсралт эсвэл холбогдсон системийг тэнэг алдаанаас гаргахгүй байх зайлшгүй шаардлагатай юм. баригдах боломжтой байсан ба байх ёстой байсан. Би ихэнхдээ хамгийн бага хэмжээний барааг авдаг бөгөөд ингэснээр самбар дээр цахилгаан үүсгэж, дараа нь залгаас/төгсгөл бүрийг цахилгаан хэрэгсэл, газардуулга байгаа эсэхийг шалгаж, дэд хэсгүүд, чипс гэх мэтийг залгахаас өмнө хүч нь зохих түвшинд байгаа эсэхийг шалгаарай. (5V-ийг тэсвэрлэдэггүй төхөөрөмжүүд/IO, 1v8 ба 3v3 шаардлагууд гэх мэт) ба энэ газар нь байх ёстой газар бөгөөд зөвхөн байх ёстой газар юм. Нисэх онгоцны холболтын урьдчилсан шалгалтыг зохих ёсоор хийж чадаагүйн улмаас тасарсан гэмтлийг би харсан. Нэг тохиолдолд, 100 гаруй мянган долларын LRU -ийг гаргаж авсан нь төслийг хариуцаж, тэр ажлыг хажуу тийш нь явуулах нь хөгжилтэй үе биш байсан, учир нь хэн нэгэн үйл явцыг богино холбосон. Миний буруутай өөр нэг зүйл бол "ойр орчмын шалгалт" хийх явдал юм - холбоо барих/цуцлах нь зэргэлдээх холбоо барих/цуцлахад богино холбоогүй байгаа эсэхийг шалгаарай. Хэрэв хүн коаксиаль угсралт, олон дамжуулагч/бамбай бэхэлгээ гэх мэт зүйлтэй харьцаж байвал энэ нь маш чухал юм. За, би савангийн хайрцагнаас гарлаа …
Аюулгүй байдал баталгаатай болсны дараа бүх зүйлийг холбож, асаагаад дараа нь TTS Host (ARMbasic Target MCU) програмыг олон суулгагдсан MCU зорилтуудын нэгэн адил програмчилж эхлээрэй. Би TTS Click програмчлал, энгийн хэрэглээг дүрсэлсэн видео бичлэг хийсэн. Та эндээс үзэх боломжтой.
ARMbasic эх кодыг эндээс татаж авах боломжтой - нэмэлт мэдээлэл агуулсан форумын бичлэг. Коридиум эдгээр хүчин чармайлтын талаар блог нийтэлсэн бөгөөд та энд дарж үзэх боломжтой.
Алхам 3: ARMbasic -ийн бусад зорилтот эх сурвалжийг өөрчлөх, янз бүрийн үйлдлүүд
Би эх кодоо өөр бусад ARMbasic зорилтуудтай ажиллахын тулд өөрчлөхийг хүсч буй алхмуудыг тайлбарлахгүй. Tts.bas файлыг нээж, хэрэв та кодыг ARMbasic-тэй өөр хянагч руу шилжүүлэхийг хүсч байвал ямар өөрчлөлт хийх шаардлагатай байгаа талаар уншаарай.
Үүнийг ажиллуулахын тулд dev мөчлөгийн үеэр авсан зарим зургуудыг энд хавсаргав.
Хичээл сурсан:
- Хэрэв танд ашиглагдаагүй оролттой логик анализатор байгаа бөгөөд нэмэлт зорилтот IO -г ажил дээрээ ашиглахгүй байгаа бол эдгээр IO -г дибаг хийх хэрэгсэл болгон ашиглахаас бүү ай. Хүлээгдэж буй шиг ажиллаж буй болон ажиллахгүй байгаа зүйлээ олж тогтоох, цаг хугацааны алдаатай асуудлуудыг тодорхойлоход (жишээлбэл, дараалсан тасалдалд нөлөөлж буй тасалдал), мөн таны хүчин чармайлтыг илүү сайн ойлгоход асар их тус болно.
- Бүх ARM хянагчид ижил байдаггүй. Энэ нь ойлгомжтой. Гэсэн хэдий ч LPC1765 Coridium SuperPRO дээр анхны хөгжүүлэлтийг хийснээр би жаахан амжилтанд хүрсэн. Эргээд харахад энэ буруу сонголтыг хийсэн зүйл бол ARM цөмийн энэхүү хэрэгжилт нь санах ойд үгэнд нийцэхгүй хандах боломжийг олгосон явдал юм. C кодыг ARMbasic руу дамжуулах үед би үүнийг SAMD21 зорилтот төхөөрөмжөөр ашиглахыг оролдох хүртэл бүх зүйл хэвийн явагдсан - буфер бөглөх, туг далдлах, ARMbasic хувилбартай ажиллахад бүх зүйл эвдэрч, бүх зүйл эвдэрч, итгэмээргүй болсон. миний бодож олсон бүтэц/холбоод гэх мэт. Энэ бол хүнд сургамж байсан. Эндээс авч үзье: Хэрэв та зөөврийн кодтой байхыг хүсч байвал хамгийн хязгаарлагдмал нэр дэвшигчийн зорилгыг даван туулахын тулд төслийн төгсгөлд драмтай тулгарахгүй байхын тулд үр жимсээ ашиглах сонирхолтой байх болно. тэдний хичээл зүтгэл..:)
- C кодыг ARMbasic руу шилжүүлэх нь боломжгүй зүйл биш юм. Энэхүү хүчин чармайлт нь сургалтын аварга том хувьсал болсон юм. Хэрэв анхны C эх сурвалжийг миний боловсруулсан ARMbasic кодтой харьцуулах цаг гарвал ARMbasic -ийн үндсэн дизайны нэг хэсэг биш байж болох зүйлийг хэрхэн хэрэгжүүлэх талаар зарим санааг гаргаж ирэх боломжтой байх ёстой (өөрөөр хэлбэл Бүтэц).
- Иймэрхүү зүйлийг зохицуулж болохуйц хэсгүүдэд шийдээрэй. Анхдагч байдлаар, би сэтгэл ханамжийг тогтмол харах дуртай хүн юм. Эдгээр зөөвөрлөх, хөгжүүлэх хүчин чармайлт нь ганцхан шөнийн дотор хийх боломжтой зүйл биш юм. Бодит зорилго тавьж, үүний төлөө зүтгэж, "том дүр зураг" -д автахгүй байхыг хичээ.
- Энэ ажилд логик анализатор чухал үүрэг гүйцэтгэсэн. Тийм ээ, би дунд түвшний DS-Logic+ нэгжтэй, гэхдээ Амазониас ирсэн 12.50 долларын 24MHz зурвасын өргөнтэй LA нь хангалттай байх болно гэдгийг би баттай хэлж чадна. Sigrok -ийн PulseView (үнэгүй) (протоколыг декодчилдог) ба нэг нь маш хүчирхэг системтэй байх болно. Туршилтын клиптэй төхөөрөмжийг авах эсвэл туршилтын клипийг тусад нь захиалах нь маш их ач холбогдолтой (Трампфелдиан) ашиг тустай байх ёстой.
- Энгийн логик датчик нь бас маш хэрэгтэй хэрэгсэл юм. Ажлын талбарын тойм зураг дээр та зургийн баруун доод буланд эртний Archer (Radio Shack) логик датчикийг тэмдэглэх болно. Ийм тоног төхөөрөмж сайн тоноглогдсон лабораторитой байсан ч гэсэн өдөр тутамдаа ямар хэрэгтэй болохыг олж мэдээд үнэхээр их гайхсан.
Би үүнтэй эрт холбогдож байсан байж магадгүй, гэхдээ би санахгүй байна, харахаас залхуу байна. Энд TTS модулийн видео бичлэг байгаа блог бичлэг (Itaca uChip тэр үед үүнийг байршуулж байсан), мөн зөөврийн ARMbasic эх кодыг татаж авах боломжтой ARMbasic форумын бичлэгийг энд оруулав.
Хакердахаас болгоомжилж, хөгжилтэй байгаарай!
-МГц
Зөвлөмж болгож буй:
L-tek бүжгийн дэвсгэрийг Windows болон Linux дээр 1000hz дээр санал асуулгад оруулахын тулд өөрчлөх: 9 алхам
L-tek Dance Pad-ийг Windows болон Linux дээр 1000hz дээр санал асуулгад оруулахын тулд өөрчлөх: Яагаад энэ горимыг хийдэг вэ? Хэрэв та хэзээ нэгэн цагт 125 BPM дууны график руу гүйлгэж харсан бол энэ spiey boi яах вэ? Яагаад цаг нь салангид "үүрэнд" ордог вэ? ITG болон DDR нь цаг хугацааны хувьд маш хатуу цонхтой бөгөөд үүгээр
Raspberry Pi болон MySQL мэдээллийн санг ашиглан хурууны хээ болон RFID дээр суурилсан ирцийн систем: 5 алхам
Raspberry Pi болон MySQL мэдээллийн санг ашиглан хурууны хээ, RFID дээр суурилсан ирцийн систем: Энэ төслийн видео
Raspberry Pi эсвэл бусад Linux / unix дээр суурилсан компьютер дээр дэлгэцгүй / дэлгэцгүй (толгойгүй) ажиллуулах: 6 алхам
Raspberry Pi эсвэл бусад Linux / unix дээр суурилсан компьютер дээр дэлгэцгүй / дэлгэцгүй (толгойгүй) ажиллуулах: Ихэнх хүмүүс Raspberry PI худалдаж авахдаа компьютерийн дэлгэц хэрэгтэй гэж боддог. Компьютерийн шаардлагагүй дэлгэц, гар дээр мөнгөө бүү үр. Компьютер хооронд гар, дэлгэц шилжүүлэхэд цагаа дэмий үрэх хэрэггүй. Үгүй бол ТВ битгий уя
Хоосон үнэр арилгагч модонд хэт улаан туяаны хяналттай Arduino 'Deodorino' -ийг танилцуулж байна. 1 -р зураг дээр дарна уу: 7 алхам
Хоосон үнэр арилгагч модон дахь хэт улаан туяаны хяналттай Arduino 'Deodorino' -ийг танилцуулж байна. 1 -р зураг дээр дарна уу
ESP32 Thing болон TB6612FNG драйвер бүхий Rolling робот, Android дээр BLE дээр хянагддаг: 11 алхам
ESP32 Thing болон TB6612FNG драйвер бүхий Rolling робот, Андройдоор хянагддаг BLE: Сайн байна уу Энэ бол миний анхны заавар юм. ESP32 Thing, TB6612 FNG, BLE дээр суурилсан гулсмал робот (хочтой Райдо - хөдөлгөөнтэй холбоотой рунаас). Сонирхолтой мэт санагдаж болох нэг зүйл бол зургууд нь бэлтгэлийн явцад хийгдээгүй явдал юм