Სარჩევი:

მეტყველების ტექსტი დააწკაპუნეთ ARMBasic Powered UChip– ზე და ARMBasic Powered SBC– ზე: 3 ნაბიჯი
მეტყველების ტექსტი დააწკაპუნეთ ARMBasic Powered UChip– ზე და ARMBasic Powered SBC– ზე: 3 ნაბიჯი

ვიდეო: მეტყველების ტექსტი დააწკაპუნეთ ARMBasic Powered UChip– ზე და ARMBasic Powered SBC– ზე: 3 ნაბიჯი

ვიდეო: მეტყველების ტექსტი დააწკაპუნეთ ARMBasic Powered UChip– ზე და ARMBasic Powered SBC– ზე: 3 ნაბიჯი
ვიდეო: IV დასი - PARADISE 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 პერსონალური კომპიუტერების ეპოქიდან მოყოლებული, როდესაც რადიო Shack– ის მაღაზიები იყო უხვი (კარგი დღეები), ჩემი ერთ – ერთი პირველი ჰობი ჩაშენებული პროექტი იყო ვმუშაობ MEK6800D2 Motorola მიკროპროცესორული სასწავლო ნაკრებით, რომელიც შევიძინე MSU EE ლაბორატორიებში თანამშრომლობისას (ჩემი საშუალო სკოლის ელექტრონიკის VoTech ტრენინგის დასრულების შემდეგ სამხრეთ ქვედა MI– ში). ეს პროექტი იყო ჩემი პროტოტიპი რადიო 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, მომწიფებული და მყარად გამყარებული სილიკონის სხვადასხვა ოჯახში დასაქმებით, ჩემთვის და სხვა მრავალი სილამაზის საგანია.

ასე რომ, მოკლე მოთხრობის გაკეთების მიზნით, მე ახლახანს გადავაწყდი მიკროელექტრონიკის TTS დაწკაპუნებას და ვიგრძენი, რომ ნოსტალგიის გამორეცხვა დამეუფლა. ერთი ჰქონდა შეკვეთილი წუთების წესით და იყო შეშფოთებული მომდევნო დღეებში, სანამ დანაყოფი არ მოვიდოდა ხელში. აქედან იწყება ამბავი…

მარაგები

  • 1 ea MikroElectronika Text To Speech Click, შეიცავს Epson S1V30120 - მოდულის TTS ASIC
  • 1 ea ARMbasic Target, ასრულებს TTS მასპინძლის როლს
  • 1 ეა 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– ით, ალბათ საუკეთესოდ მოემსახურება პროტოტიპების ფარის გამოყენებით, როგორც მე გავაკეთე ზემოთ სურათებში (ამაზონის ბმული)

ზოგი დაინახავს გადახვეულ მავთულხლართებს და გაინტერესებთ რატომ-ხმაურის უარის თქმა ჩვეულებრივი პასუხია. დიახ, ჩვენ არ გვაქვს საქმე დაბალანსებულ სიგნალებთან, მაგრამ მე მივხვდი, რომ მას არ შეუძლია ზიანი მიაყენოს (?), ასე რომ, მე ეს გავაკეთე, როდესაც მე ვაკეთებდი დაფის მშენებლობას.

ეს არის საკმაოდ კეთილგანწყობილი დიზაინი. ანაბეჭდები მიმაგრებულია აქ, გრაფიკის სახით (AutoCAD 2D არის ის, რასაც ყველაზე მეტად შევეჩვიე - ათწლეულების განმავლობაში ვმუშაობდი მის ყოველდღიურ სამუშაოზე - მე მაინც ვჭრი KiCAD კბილებს და ეს ძალიან მარტივი მცდელობა იყო დაასაბუთეთ სწავლის მრუდი, როგორც პირველი პროექტი KiCAD– ში). ყოველ შემთხვევაში, მე uChip სოკეტის პირდაპირ ფარზე დაყენება ავირჩიე, რათა uChip მასპინძლად გამოყენებისას გამოვიყენო ცალკეული საქმე. მე დავამატე JST ბატარეის საშუალებით მისი კვებისათვის, თუ ამის სურვილი მაქვს და, რადგან რამდენიმე დამატებითი რამ მაქვს, მე შევასრულე Adafruit SWD Breakout, რათა შემძლებოდა გამომეყენებინა ჩემი Segger J-Link EDU Debug Probe, საჭიროების შემთხვევაში. ეს არ მოხდა, მაგრამ მე ვიტოვებ SWD სახეს მასზე მომავალი პროექტებისთვის გამოსაყენებლად.

Castellated ნიშნავს, ამ კონტექსტში, შეიტანოს ქვემოთ PCB კიდეები ისე, რომ მოოქროვილი მეშვეობით ხვრელები შემცირდა ნახევარი ცილინდრიანი, რაც საშუალებას soldering გადატანა PCB - ამ შემთხვევაში ფარის გარღვევის დაფა. მე ავირჩიე ამის გაკეთება, რადგან ფარის ბრტყელი ფანატიანი ნაწილები სრულად არ ემთხვეოდა SWD BOB– ის ორ სათაურის მწკრივებს შორის მწკრივთა დაშორებას. დაიშალა ბრტყელი ფაილი და შეიტანეთ 5 წუთი და პრობლემა მოგვარებულია.

ნაბიჯი 2: პროგრამირება და ტესტირება

პროგრამირება და ტესტირება
პროგრამირება და ტესტირება
პროგრამირება და ტესტირება
პროგრამირება და ტესტირება
პროგრამირება და ტესტირება
პროგრამირება და ტესტირება

მას შემდეგ, რაც აპარატურა შეიქმნება, საჭირო იქნება სრული გათიშვა იმის დასადასტურებლად, რომ გაყვანილობა კარგია. შემდეგ, მე ყოველთვის ვაკეთებ Power and Grounds შემოწმებას. ეს არა მხოლოდ უზრუნველყოფს იმას, რომ სიმძლავრე და ნიადაგი არის იქ, სადაც ისინი უნდა იყვნენ, არამედ სხვა ნებისმიერი შეწყვეტა, რომელსაც არ უნდა ჰქონდეს ძალა/საფუძველი, არ აქვს. ეს არ არის დამღლელი ამოცანა მსგავს პატარა პროექტზე, მაგრამ სისტემების უფრო დიდი სისტემებით ის, მიუხედავად იმისა, რომ მართლაც დამღლელი ნაბიჯია, აბსოლუტურად აუცილებელია იმის უზრუნველსაყოფად, რომ ქვე-შეკრებები ან დაკავშირებული სისტემები არ მოიხსნას სულელური შეცდომით, შეეძლო და უნდა დაეჭირა. მე ჩვეულებრივ ვიღებ იმ მინიმალურ საქონელს, რომელიც მიმაგრებულია ისე, რომ დენი წარმოიშვას დაფაზე და შემდეგ ვამოწმებ ყველა ქინძისთავს/ტერმინალს სიმძლავრისა და მიწისთვის, ქვესადგურების, ჩიპების და ა.შ ჩართვის დაწყებამდე, დარწმუნებული ვარ, რომ სიმძლავრე სათანადო დონეზეა (გათვალისწინებულია არა 5V- შემწყნარებელი მოწყობილობები/IO, 1v8 და 3v3 მოთხოვნები და ა.შ.) და ეს საფუძველი არის იქ, სადაც უნდა იყოს და მხოლოდ იქ, სადაც უნდა იყოს. მე მომსწრე თვითმფრინავზე ჩავარდნების კასკადი იმ ადამიანებისგან, რომლებიც ვერ ახერხებენ სათანადო წინასწარი შემოწმების შემოწმებას. ერთ შემთხვევაში, მან აიღო 100 ათას დოლარზე მეტი LRU - არ არის სახალისო დრო, რომ იყო პასუხისმგებელი პროექტზე და ის მყისიერად გადატრიალდეს, რადგან ვიღაცამ მოკლედ შეაფერხა პროცესი. კიდევ ერთი რამ, რაშიც მე ვარ დამნაშავე, არის დამღლელი „სიახლოვის შემოწმება“- დარწმუნდით, რომ კონტაქტები/შეწყვეტა არ არის შემოკლებული მიმდებარე კონტაქტებისთვის. ეს კრიტიკული ხდება, თუკი საქმე გვაქვს კოაქსიალურ შეკრებებთან, მრავალ გამტარ/დამცავ ღვედებთან და ა.შ. კარგი, მე საპნის ყუთიდან ვარ…

მას შემდეგ რაც უსაფრთხოება იქნება გარანტირებული, შეაერთეთ ყველაფერი, ჩართეთ ძალა და შემდეგ გადადით TTS მასპინძლის (ARMbasic Target MCU) პროგრამირებაზე, ისევე როგორც ამას გააკეთებთ მრავალი ჩამონტაჟებული MCU სამიზნე. მე ჩავწერე ვიდეო, რომელიც ასახავს TTS Click– ის პროგრამირებას და მარტივ გამოყენებას. მისი ნახვა აქ შეგიძლიათ.

ARMbasic წყაროს კოდის გადმოწერა შესაძლებელია აქედან - ფორუმის პოსტი, რომელსაც აქვს დამატებითი დეტალები. კორიდიუმმა გააკეთა ბლოგის პოსტი ამ ძალისხმევის შესახებ, რომლის მიღწევაც შეგიძლიათ აქ დაჭერით.

ნაბიჯი 3: წყაროს შეცვლა სხვა ARMbasic მიზნებისთვის და სხვადასხვა მუსიკალებისთვის

სხვა ARMBasic Targets- ისა და სხვადასხვა Musings- ის წყაროს შეცვლა
სხვა ARMBasic Targets- ისა და სხვადასხვა Musings- ის წყაროს შეცვლა
სხვა ARMBasic Targets- ისა და სხვადასხვა Musings- ის წყაროს შეცვლა
სხვა ARMBasic Targets- ისა და სხვადასხვა Musings- ის წყაროს შეცვლა
სხვა ARMBasic Targets- ისა და სხვადასხვა Musings- ის წყაროს შეცვლა
სხვა ARMBasic Targets- ისა და სხვადასხვა Musings- ის წყაროს შეცვლა
სხვა ARMBasic Targets- ისა და სხვადასხვა Musings- ის წყაროს შეცვლა
სხვა ARMBasic Targets- ისა და სხვადასხვა Musings- ის წყაროს შეცვლა

მე არ მოგახსენებთ იმ ნაბიჯებს, რომლებიც საჭიროა წყაროს კოდის შესაცვლელად სხვა ARM საბაზო სამიზნეებთან მუშაობისთვის, გარდა იმისა, რომ მიანიშნებდეს იმაზე, რომ მე ამას ვაკეთებდი უხვად კოდის კომენტარებში. გთხოვთ, დრო დაუთმოთ tts.bas ფაილის გასახსნელად და წაიკითხოთ რა ცვლილებებია საჭირო, თუ აირჩევთ კოდის პორტირებას სხვა ARMbasic კონტროლერის კონტროლერში.

მიმაგრებულია რამდენიმე სურათი, რომელიც მე გადავიღე მუშაობის დაწყების შემდგომი ციკლის განმავლობაში.

გაკვეთილები:

  1. თუ თქვენ გაქვთ ლოგიკური ანალიზატორი გამოუყენებელი საშუალებებით და გაქვთ დამატებითი სამიზნე IO, რომლებიც არ გამოიყენება ხელთ არსებული სამუშაოსთვის, ნუ შეგეშინდებათ ამ IO- ების გამოყენება როგორც გამართვის საშუალება - კოდის სხვადასხვა წერტილში IO- ს გაფრქვევა შეიძლება იყოს უზარმაზარი დახმარება იმის დასადგენად, თუ რა არის და არ მუშაობს ისე, როგორც მოსალოდნელი იყო, დროული სულელური საკითხების იდენტიფიცირება (ანუ შეფერხებები, რომლებიც გავლენას ახდენს სერიულ კომუნიკაციებზე) და მთლიანობაში უკეთესი ძალისხმევის უკეთ გააზრებაში.
  2. ყველა ARM კონტროლერი ერთნაირი არ არის. ეს აშკარაა. თუმცა, მე დავიღალე პირველადი შემუშავებით LPC1765 Coridium SuperPRO– ზე. შეხედულებისამებრ, რა გახდა ეს ცუდი არჩევანი არის ის, რომ ამ ARM ბირთვის დანერგვამ საშუალება მისცა არასიტყვიანი შეთანხმების წვდომა მეხსიერებაზე. C კოდის ARMbasic– ზე გადატანისას, ყველაფერი საკმაოდ შეუფერხებლად მიდიოდა, სანამ არ შევეცადე გამომეყენებინა SAMD21 სამიზნე - ყველა ჯოჯოხეთი დაიშალა და ყველაფერი დაუჯერებლად გადავიდა დაუკავშირებელი წვდომის გამო, ბუფერების შევსებისას, დროშების მანიპულირებისას, ARMbasic ვერსიასთან მუშაობისას სტრუქტურების/კავშირების, რომ მე გამოვიდა და ა.შ. ეს იყო მტკივნეული გაკვეთილი. წაშლა აქ: თუ ვინმეს სურს ჰქონდეს პორტატული კოდი, ყველაზე შემზღუდავი კანდიდატის სამიზნეზე, მხოლოდ იმის უზრუნველსაყოფად, რომ მას არ შეექმნება დრამა პროექტის შემდგომ ბოლოს, როდესაც ის სავარაუდოდ აღფრთოვანებულია მათი ძალისხმევა …:)
  3. C კოდის ARMbasic– ში გადატანა შეუძლებელია. ეს ძალისხმევა დიდწილად იყო ერთ – ერთი გიგანტური პორტირების სასწავლო ევოლუცია. თუ დრო სჭირდება დრო, რომ შეადაროს C ორიგინალური წყაროები ჩემს მიერ შექმნილ ARMbasic კოდს, მას უნდა შეეძლოს გარკვეული იდეების გატანა, თუ როგორ განახორციელოს ისეთი რამ, რაც შეიძლება არ იყოს ARMbasic– ის ძირითადი დიზაინის ნაწილი (ანუ სტრუქტურები).
  4. გაუმკლავდეთ მსგავს ნივთებს მართვადი ნაჭრებით. სტანდარტულად, მე ვარ ის, ვისაც უყვარს რეგულარულად დაკმაყოფილების დანახვა. ისეთი მცდელობა, როგორიცაა ეს პორტირება და dev ძალისხმევა, სავარაუდოდ არ იქნება ის, რისი მიღწევაც ერთ ღამეში შეიძლება. დაისახეთ რეალისტური მიზნები და იმუშავეთ იმავე მიზნისკენ, შეეცადეთ არ გადატვირთოთ "დიდი სურათით".
  5. ლოგიკური ანალიზატორი გადამწყვეტი იყო ამ მცდელობაში. დიახ, მე მაქვს საშუალო დონის DS-Logic+ ერთეული, მაგრამ ხაზგასმით შემიძლია განვაცხადო, რომ ამაზონიიდან იაფი $ 12.50 24MHz გამტარუნარიანობა LA- ზე მეტი იქნებოდა საკმარისი. წყვილს, რომელსაც აქვს სიგროკის PulseView (უფასო) (აკეთებს პროტოკოლის გაშიფვრას) და ექნება ძალიან მძლავრი სისტემა, რომელიც უნდა მუშაობდეს უამრავ სცენარში, როგორიცაა ის, რის განხორციელებასაც ვცდილობდი მე ამ პროექტით. დარწმუნდით, რომ მიიღეთ ერთეული, რომელსაც აქვს საცდელი კლიპები, ან შეუკვეთეთ სატესტო კლიპები ცალკე, რადგან ისინი უაღრესად მომგებიანია (რამდენად ტრამპელდური).
  6. მარტივი ლოგიკური ზონდი ასევე ძალიან სასარგებლო ინსტრუმენტია. სამუშაო სივრცის მიმოხილვისას თქვენ შეამჩნევთ უძველეს Archer (Radio Shack) ლოგიკურ ზონდს სურათის ქვედა მარჯვენა კუთხეში. მე ნამდვილად გამიკვირდა იმის აღმოჩენა, თუ რამდენად სასარგებლოა მსგავსი რამ ყოველდღიურად, თუნდაც კარგად აღჭურვილი ლაბორატორიით.

შეიძლება ამას ადრე დავუკავშირებდი, მაგრამ არ მახსოვს და ძალიან ზარმაცი ვარ საყურებლად. აქ არის ბლოგის პოსტი, რომელსაც აქვს ვიდეო TTS მოდულის მოქმედებაში (Itaca uChip მასპინძლობს მას იმ დროს) და ARMbasic Forum პოსტი, სადაც შეგიძლიათ გადმოწეროთ პორტირებული ARMbasic წყაროს კოდი.

გაუფრთხილდით და გაერთეთ ჰაკერების დაშორებით!

-მჰც

გირჩევთ: