Мазмуну:

Сөз үчүн текст 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: Сөз айкашы / 5-класстын окуучулары үчүн 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лерди басыңыз

Киришүү: Кайырлы күн. Менин атым Тод. Мен аэрокосмостук жана коргонуу боюнча профессионалмын, ал дагы жүрөгүндө бир аз геик.

Илхам: BBS, 8-бит микроконтроллерлери, Kaypro/Commodore/Tandy/TI-994A персоналдык компьютерлер доорунан бери, Radio Shack дүкөндөрү көп болгондо (жакшы күндөр), менин хоббиме камтылган долбоорлордун бири Мен MEK6800D2 Motorola микропроцессорун даярдоочу комплект менен иштешип, аны MSU EE лабораторияларында (Түштүк Төмөнкү Мидеги High School Electronics VoTech тренингин аяктагандан кийин) биргелешип иштеп жүргөндө сатып алганмын. Бул проектте MEK6800D2ге радио Shack SP0256 NARRATOR ™ СӨЙЛӨӨ ПРОЦЕССОРУН прототиптөө, аны туташтыруу жана 6800 программасын жасалма сүйлөө үчүн чыгарууну камтыйт (SP0256 негизиндеги HW менен иштегендер менин эмнени айтып жатканымды жакшы билишет)). Бул укмуштуудай иштеди жана мен тиштеримди орнотулган микроконтроллерлерге жана Ассамблеяга түшүрдүм. Орто мектепти аяктагандан кийин, жашоо тоскоолдук кылды, Аскердик, Согуш, Жубайлар, Балдар, жарандык секторго кирүү, карьера баштоо ж. бул жерде АКШда).

20 жыл алдыга жылыңыз, балдар жетилип келе жаткан сөзсүз убакытка келип, Келин экөөбүздү алаксытып, ипотека/транспорт/колледждин эсептери акырындык менен төлөнүп жатат, кирешелер ийгиликтер менен жакшырууда жана менин запасым жетиштүү Убакыттын өтүшү менен мен өзүмчүл аракеттерге көңүл бура баштаганда, мен хобби электроника концертин кайра алдым. Кандай болбосун, менин тукумумду жана тарыхымды эске алып, мен издеп таптым, мен тез эле байланышкан dev чөйрөсүн таптым - ARMbasic - BASIC менин биринчи сүйүүм болчу жана бул өзүмдү программалоого кайра көндүрүү менен эле чектелбестен, жабдуулар менен иштөө үчүн дагы абдан ылайыктуу болгон. Мен ондогон жылдар мурун баштагандан күчтүү, ошентип саякат башталды.

Бул 2006-2009-жылдары болгон. Андан кийин, биздин колубуздан келбеген себептерден улам, жашоо өзгөрдү (ошол жылдардагы көптөр үчүн). Хоббиси жокко чыгарылды - каржылык күрөштөн кийин жаңы мансапка көңүл буруңуз (кыймылсыз мүлк чөйрөсүнө абдан таандык болчу жана биз аны шорт менен алдык, ал эми жаштар колледжди каржылоо өтө зарыл болгон чекке жетип калышты). Негизинен, Жашоо жана Биринчи Дүйнөнүн көйгөйлөрү (дүйнөнүн башка бөлүктөрүндөгү адамдар күн сайын күрөшүп жаткан кыйынчылыктарды жана түйшүктөрдү эске алганда, биз чындап бактылуубуз) өздөрүн көрсөтүштү жана… хоббиси жокко чыгарылды. Мен 2011-2012-жылдары бул жөнүндө кыскача маалымат алдым, андан кийин дагы бир карьералык өзгөрүү менен жолугушту-хобби дагы бир жолу артта калды.

Дагы бир он жылдыкты алдыга жылдырыңыз жана мен кайтып келдим, Жакшы Мырзанын каалоосу менен, үмүттөнөм (мен бул ылакап кирди алып, төмөндөн ромашкаларды түртүп баштаганга чейин). Ошентип, бул жердебиз. Wow - Arduino (бул кызык сөз деген эмне?) Базарга кирип келди. Жаратуучулар ?? Алар эмне деген шумдук ?! …:) Менин Coridium Corpдагы досторум (ARMbasic жана ARM негизиндеги микроконтроллерлердин такталарынын ээлери) туруктуу жана чынчыл бойдон калышты. Эми, контроллерлердин LPC2xxx сериясынын ордуна, бул жаңы (мага) ARM, Cortex M0/M3/M4 жана Arduino, жана… WOW! Маданият бир аз жакшырды жана көп жагынан. Пипс аралыктан жана, чынында эле, глобалдык деңгээлде кызматташат. Аппараттык жабдыктар укмуштуудай тез жана кубаттуу болуп баратат, жана ARMbasic, кремнийдин ар кандай үй -бүлөлөрүндө жумушка орношуп, бышып жетилген жана чыңдалган, мен үчүн жана башкалар үчүн кооз нерсе.

Ошентип, кыска аңгемени абдан узун кылып, мен жакында MikroElectronika тарабынан TTS чыкылдатуусуна чалдыгып, үстүмдө ностальгиянын агып жатканын сездим. Бирөө бир нече мүнөттө буйрутма берген жана кийинки күндөрү блок жетип келгенге чейин тынчсызданып жүргөн. Ошентип окуя башталат …

Жабдуулар

  • 1 ea MikroElectronika Text 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 lot Embedded Dev Tools DMM, Logic Probe, Logic Analyzer, Scope ж.б. - жаңы TTS Host MCUлары үчүн

1 -кадам: Аппараттык байланыштар

Аппараттык байланыштар
Аппараттык байланыштар
Аппараттык байланыштар
Аппараттык байланыштар
Аппараттык байланыштар
Аппараттык байланыштар

Муну Uno форма факторундагы ARMbasic бута же Itaca uChip менен кайталоо үчүн, мен жогоруда сүрөттөрдөгүдөй прототипированный калканчты колдонуу менен эң жакшы кызмат кылмакмын (жөнөкөй Amazon шилтемеси)

Кээ бирөөлөр зым оролгон зымды көрүп, эмне үчүн таң калышат-жалпы режимдеги ызы-чуудан баш тартуу жөнөкөй жооп. Ооба, биз бул жерде тең салмактуу сигналдар менен иштебейбиз, бирок мен зыян келтире албайм деп ойлодум (?), Мен тактанын курулушун жасап жатканда ушундай кылдым.

Бул абдан жакшы дизайн. Басылмалар графикалык түрдө тиркелет (AutoCAD 2D мен эң көнгөн нерсе - ондогон жылдар бою менин күндөлүк жумушумда иштедим), мен дагы эле KiCAD тиштеримди кесип жатам жана бул өтө жөнөкөй аракет болгон окуу кыйшыгын KiCADдагы биринчи долбоор катары негиздеңиз). Кандай болбосун, uChipти хост катары колдонууда өзүнчө иштөө үчүн uChip розеткасын түздөн-түз калканга орнотууну чечтим. Мен аны батарейка аркылуу иштетүү үчүн JST коштум, эгерде мен кааласам жана менде бир нече кошумча нерселер бар болсо, Segger J-Link EDU Debug Probe колдонууга мүмкүнчүлүк берүү үчүн Adafruit SWD Breakoutту кастелледим. Андай болгон жок, бирок мен SWD i'faceтин бетин келечектеги долбоорлордо колдонуу үчүн сактап жатам.

Кастелленген бул контекстте ПХБнын четтерин түшүрүү үчүн тешиктер аркылуу жарым цилиндрлерге түшүрүлөт, бул болсо көтөрүүчү ПХБга ширетүүнү камсыз кылат - бул учурда калканды бузуучу такта. Мен муну тандап алдым, анткени калканчтын жалпак таңгак бөлүктөрү SWD BOBдагы эки баш катардын ортосундагы аралыкка дал келбейт. Жалпак файлды бузуп, 5 мүнөткө тапшыруу жана маселе чечилди.

2 -кадам: Программалоо жана тестирлөө

Программалоо жана тестирлөө
Программалоо жана тестирлөө
Программалоо жана тестирлөө
Программалоо жана тестирлөө
Программалоо жана тестирлөө
Программалоо жана тестирлөө

Аппаратура курулгандан кийин, зымдардын жакшы экенин ырастоо үчүн толук шыңгыроо керек. Андан кийин, мен ар дайым Power жана Grounds текшерүүсүн жасайм. Бул Power жана Ground алар керек болгон жерде болушун гана камсыз кылбастан, ал жерде күч/жерге ээ болбошу керек болгон башка токтотуулардын эч киминде жок. Бул кичинекей проект боюнча түйшүктүү иш эмес, бирок системалардын чоңураак системалары менен, бул, чынында эле, түйшүктүү кадам болгону менен, эч кандай кошумча түзүлүштөрдүн же туташкан системалардын акылсыз ката кетирбеши үчүн абдан зарыл. кармалышы мүмкүн жана керек болчу. Мен көбүнчө товарлардын минимумун алам, ошондо тактада энергия пайда болот, андан кийин подборкаларга, чиптерге ж.б. кошулардын алдында ар бир пин/терминалдын күчүн жана жерди текшерип, кубаттуулуктун тийиштүү деңгээлде экенине ынанам. (5Vга чыдамдуу эмес түзмөктөрдү/IO, 1v8 жана 3v3 талаптарын, ж.б. эске алуу менен) жана бул жер керек болгон жерде жана керек болгон жерде гана. Мен алдын ала текшерүүдөн өтпөй калган кишилердин учакта иштебей калышына күбө болдум. Бир учурда, ал 100 миң доллардан ашык LRU алып кетти - бул долбоорду башкарып, аны бир заматта капталга кетирүү кызыктуу убакыт эмес, анткени кимдир бирөө процессти кыска туташтырды. Мен күнөөлүү болгон дагы бир нерсе - "жакын текшерүүлөрдү" жасоо - байланыштар/токтотуулар чектеш байланыштарга/токтотууларга кыскартылбаганын текшерүү. Эгерде кимдир бирөө коаксиалдуу курулмалар, көп өткөргүчтөр/экрандар жана башкалар менен алектенсе, бул өтө маанилүү болуп калат.

Коопсуздук камсыздалгандан кийин, нерселерди туташтырып, күйгүзүп, анан TTS Host (ARMbasic Target MCU) программасын түзүүгө кирише аласыз, бул көптөгөн орнотулган MCU максаттары сыяктуу. Мен TTS Click программасын жана жөнөкөй колдонулушун чагылдырган видео жаздырдым. Сиз бул жерден көрө аласыз.

ARMbasic баштапкы кодун бул жерден көчүрүп алсаңыз болот - кошумча маалымат бар форум посту. Коридиум бул аракеттер боюнча блог постун чыгарды, аны бул жерди чыкылдатуу менен ала аласыз.

3 -кадам: Булакты башка ARMbasic максаттары жана ар кандай ойлор үчүн өзгөртүү

Башка ARMbasic максаттары жана ар кандай ойлор үчүн булакты өзгөртүү
Башка ARMbasic максаттары жана ар кандай ойлор үчүн булакты өзгөртүү
Башка ARMbasic максаттары жана ар кандай ойлор үчүн булакты өзгөртүү
Башка ARMbasic максаттары жана ар кандай ойлор үчүн булакты өзгөртүү
Башка ARMbasic максаттары жана ар кандай ойлор үчүн булакты өзгөртүү
Башка ARMbasic максаттары жана ар кандай ойлор үчүн булакты өзгөртүү
Башка ARMbasic максаттары жана ар кандай ойлор үчүн булакты өзгөртүү
Башка ARMbasic максаттары жана ар кандай ойлор үчүн булакты өзгөртүү

Мен башка ARMbasic максаттары менен иштөө үчүн баштапкы кодду өзгөртүү үчүн керектүү кадамдарды айтып бербейм, башкача айтканда, мен бул жерде булак кодунун комментарийлеринин көптүгүндө учкучсуз учканымды көрсөткөм. Сураныч, tts.bas файлын ачууга жана кодду башка ARMbasic менен иштеген контроллерге өткөрүүнү тандасаңыз, кандай өзгөрүүлөр керек экенин окуңуз.

Тиркелем, мен муну иштеп чыгуунун dev цикли учурунда тарткан кээ бир сүрөттөр.

Алынган сабактар:

  1. Эгерде сизде логикалык анализатор колдонулбаган киргизүүлөргө ээ болсо жана кошумча максаттуу IO колдо иштөө үчүн колдонулбаса, анда бул IOлорду мүчүлүштүктөрдү оңдоо куралы катары колдонуудан коркпоңуз - коддун ар кайсы жерлерине IOнун чайпалышын чачуу мүмкүн күтүлгөндөй болуп жаткан жана болбогон нерселерди байкоодо, убакыттын өтпөй калуусун аныктоодо (б.а. сериалдык байланыштарга таасирин тийгизген үзгүлтүктөр) жана жалпысынан сиздин аракеттериңизди жакшыраак түшүнүүгө чоң жардам.
  2. Бардык ARM контроллери бирдей эмес. Бул айдан ачык. Бирок, мен LPC1765 Coridium SuperPRO боюнча баштапкы иштеп чыгуу менен бир аз алгам. Артка кылчайганда, бул жаман тандоого эмне себеп болду, бул ARM өзөгүнүн ишке ашырылышы эс тутумга сөз менен тегизделбеген жеткиликтүүлүктү берди. C кодун ARMbasicке өткөрүп бергенде, мен аны SAMD21 бута менен колдонууга аракет кылмайынча, баары бир калыпта өттү - бардык тозок бошоп кетти жана буферлерди толтурууда, желектерди манипуляциялоодо, ARMbasic версиясы менен иштөөдө, нерселер ишеничтен тышкаркы болуп калды. Мен ойлогон структуралардын/профсоюздардын ж.б. Бул жерде алып кетүү: Эгерде кимдир -бирөө портативдүү кодго ээ болууну кааласа, анда эң чектелген талапкердин максатына жетүү үчүн, долбоордун аягында драмага туш болбошун камсыз кылуу үчүн, анын жемиштерин колдонууга абдан кубанган учурда. алардын аракети..:)
  3. C кодун ARMbasicке өткөрүү мүмкүн эмес. Бул аракет негизинен бир машыктыруучу машыктыруучу эволюция болгон. Эгерде кимдир бирөө баштапкы C булактарын мен даярдаган ARMbasic коду менен салыштырууга убакыт бөлсө, анда ARMbasicтин негизги дизайнынын (б.а. структуралардын) бир бөлүгү болбошу мүмкүн болгон нерселерди кантип ишке ашыруу керектиги жөнүндө ойлонуу керек.
  4. Мындай нерселерди башкарылуучу бөлүктөрдө чечиңиз. Демейки боюнча, мен ырааттуу түрдө ырахат алууну жакшы көргөн адаммын. Мындай ташуу жана иштеп чыгуу аракеттери бир түндүн ичинде аткарыла турган нерсе эмес. Реалдуу максаттарды коюңуз жана "чоң сүрөттү" басып кетпөөгө аракет кылып, ошого карай иштеңиз.
  5. Логикалык анализатор бул аракетте чечүүчү мааниге ээ болгон. Ооба, менде орточо DS-Logic+ бирдиги бар, бирок Амазониядан 12.50 $ 24MHz Bandwidth LA арзаныраак болгондугун айта алам. Сигроктун PulseView (бекер) (протоколду чечмелөө) менен жубайлар жана бул проект менен алектенгеним сыяктуу көптөгөн сценарийлерде иштеши керек болгон абдан күчтүү системага ээ болушат. Тест клиптери бар бирдикти алууну текшериңиз же тесттик клиптерди өзүнчө заказ кылыңыз, анткени алар абдан пайдалуу (Трампфелдиан) кандай пайдалуу.
  6. Жөнөкөй логикалык иликтөө дагы абдан пайдалуу курал. Жумуш мейкиндигинин жалпы сүрөттөрүндө сиз сүрөттүн төмөнкү оң бурчунда байыркы жаачы (Radio Shack) логикалык иликтөөсүн байкайсыз. Күнүмдүк керектүү нерселердин, ал тургай, жакшы жабдылган лабораториянын жардамы менен, мен абдан таң калдым.

Мен буларды буга чейин байланыштыргандырмын, бирок эстей албайм жана кароого өтө жалкоомун. Бул жерде TTS модулунун видеосу бар блог посту (Itaca uChip аны ошол учурда хостинг) жана ARMbasic Forum посту, анда портативдүү ARMbasic булак кодун жүктөп алууга болот.

Этият болуңуз жана хакерликтен ырахат алыңыз!

-МГц

Сунушталууда: