Isi kandungan:

Teks ke Ucapan Klik pada UChip ARMbasic Powered, dan SBC Powered ARMbasic Lain: 3 Langkah
Teks ke Ucapan Klik pada UChip ARMbasic Powered, dan SBC Powered ARMbasic Lain: 3 Langkah

Video: Teks ke Ucapan Klik pada UChip ARMbasic Powered, dan SBC Powered ARMbasic Lain: 3 Langkah

Video: Teks ke Ucapan Klik pada UChip ARMbasic Powered, dan SBC Powered ARMbasic Lain: 3 Langkah
Video: Years Worth Magic Box Opened + Insane x(8) Honda Spins | Rise of Kingdoms 2024, Julai
Anonim
Teks ke Ucapan Klik pada ARMbasic Powered UChip, dan SBC Powered ARMbasic Lain-lain
Teks ke Ucapan Klik pada ARMbasic Powered UChip, dan SBC Powered ARMbasic Lain-lain
Teks ke Ucapan Klik pada ARMbasic Powered UChip, dan SBC Powered ARMbasic Lain-lain
Teks ke Ucapan Klik pada ARMbasic Powered UChip, dan SBC Powered ARMbasic Lain-lain
Teks ke Ucapan Klik pada ARMbasic Powered UChip, dan SBC Powered ARMbasic Lain-lain
Teks ke Ucapan Klik pada ARMbasic Powered UChip, dan SBC Powered ARMbasic Lain-lain

Pengenalan: Selamat hari. Nama saya Tod. Saya seorang profesional aeroangkasa dan pertahanan yang juga sedikit penasaran.

Inspirasi: Berasal dari era dial-up BBS, mikrokontroler 8-bit, komputer peribadi Kaypro / Commodore / Tandy / TI-994A, ketika kedai Radio Shack banyak (hari-hari baik), salah satu projek tertanam hobi pertama saya ialah bekerja dengan Kit Latihan Mikroprosesor Mola6800D2 Motorola, yang telah saya beli semasa bekerja sebagai koperasi di makmal MSU EE (setelah menamatkan latihan VoTech Sekolah Tinggi Elektronik di Southern Lower MI). Projek itu melibatkan prototaip saya Radio Shack SP0256 NARRATOR ™ SPEECH PROCESSOR ke MEK6800D2, memasangnya dan memprogramkan 6800 untuk memancarkan pseudo-ucapan (mereka yang pernah bekerja dengan SPW25 berdasarkan HW tahu betul-betul apa yang saya maksudkan)). Ia berfungsi dengan sangat baik dan saya maju ke jalan memotong gigi di mikrokontroler dan Pemasangan yang tertanam. Selepas Sekolah Menengah, kehidupan menghalangi, Ketenteraan, Perang, Pasangan, Anak-anak, memasuki sektor awam, memulakan karier, dan lain-lain semuanya menambah hobi saya untuk meneruskan usaha hidup dalam budaya Barat (di sini di AS).

Langkau ke hadapan 20 tahun, sampai pada masa yang tidak dapat dielakkan di mana anak-anak semakin matang sehingga Pengantin perempuan dan saya terganggu, bil gadai janji / kenderaan / kuliah perlahan-lahan dibayar, pendapatan bertambah baik dengan kenaikan gaji, dan saya mempunyai cukup wang simpanan sampai ke titik di mana saya boleh mula memfokuskan diri pada beberapa usaha yang mementingkan diri sendiri, saya mengambil kembali pertunjukan hobi elektronik. Bagaimanapun, berdasarkan garis keturunan dan sejarah saya, saya mencari dan menemui persekitaran dev yang cepat saya ikuti - ARMbasic - BASIC adalah cinta pertama saya dan ini sesuai dengan bukan sahaja menyesuaikan diri dengan pengaturcaraan, tetapi bekerja dengan perkakasan yang lebih banyak hebat daripada apa yang saya mulakan dengan beberapa dekad sebelumnya, dan dengan demikian perjalanan bermula.

Ini sekitar tahun 2006-2009. Kemudian, untuk alasan yang di luar kawalan kita, kehidupan berubah (seperti yang berlaku selama bertahun-tahun). Hobi tertunda - fokus pada karier baru, pulih dari perjuangan kewangan (sangat bergantung pada domain harta tanah dan kami membawanya ke seluar pendek dan youngins baru sampai ke titik di mana pembiayaan Kolej adalah penting). Pada asasnya, masalah Kehidupan dan Dunia Pertama (kita benar-benar diberkati, mengingat cabaran dan kerja keras yang selalu dilalui oleh orang lain di dunia lain) menunjukkan diri mereka dan … hobi itu ditangguhkan. Saya mengambilnya secara ringkas pada 2011-2012-ish kemudian bertemu dengan perubahan kerjaya lain - hobi ditahan lagi.

Maju cepat satu dekad lagi dan … Saya kembali dan, Tuan Yang Terhormat, semoga berlanjutan (sehingga saya mengambil tidur kotoran pepatah dan mula mendorong bunga aster dari bawah). Jadi, inilah kami. Wow - Arduino (apa kata pelik itu?) Telah menyerbu pasaran. Pembuat ?? Apa-apaan mereka ?! …:) Rakan-rakan saya di Coridium Corp (pemilik papan dev mikrokontroler ARMbasic dan ARM) tetap teguh dan benar. Sekarang, bukannya rangkaian pengawal LPC2xxx, ada entiti ARM baru ini (untuk saya), dan Cortex M0 / M3 / M4, dan Arduino, dan… WOW! Budaya telah berubah sedikit, dan dalam banyak cara yang hebat. Peeps berkolaborasi dari jauh dan, memang, di peringkat global. Perkakasan menjadi sangat pantas dan kuat, dan ARMbasic, setelah matang dan teguh dengan pekerjaan di pelbagai keluarga silikon, adalah perkara yang indah bagi saya dan yang lain.

Oleh itu, dengan membuat cerpen sangat lama, saya baru-baru ini tersandung pada klik TTS oleh MikroElectronika dan merasakan cairan nostalgia mengalir di atas saya. Adakah seseorang memesan dalam beberapa minit, dan merasa cemas pada hari-hari berikutnya sehingga unit tiba di tangan. Oleh itu bermulalah kisah…

Bekalan

  • 1 ea MikroElectronika Text To Speech Click, mengandungi Epson S1V30120 - modul TTS ASIC
  • 1 ea ARMbasic Target, memenuhi peranan TTS Host
  • 1 ea Uno Breakout Shield (atau prototaip papan roti, atau…)
  • 1 ea pembesar suara, atau satu set pembesar suara mencadangkan pembesar suara bertenaga desktop PC dengan palam 1/8 "TRS di atasnya
  • 1 lot wayar Prototaip, solder, fluks, sumbu, solder, header, soket IC dan seumpamanya..
  • 1 Alat DMM Tertanam, Penyelidikan Logik, Penganalisis Logik, Skop dan lain-lain - untuk MCU TTS Host baru

Langkah 1: Sambungan Perkakasan

Sambungan Perkakasan
Sambungan Perkakasan
Sambungan Perkakasan
Sambungan Perkakasan
Sambungan Perkakasan
Sambungan Perkakasan

Untuk meniru ini menggunakan sasaran ARMbasic dalam faktor bentuk Uno, atau dengan Itaca uChip, kemungkinan besar akan dilayan dengan menggunakan perisai prototaip, seperti yang telah saya lakukan dalam gambar di atas (pautan amazon biasa)

Ada yang akan melihat wayar-wrap wire yang dipintal bersama dan tertanya-tanya mengapa - penolakan bunyi mod biasa adalah jawapan yang mudah. Ya, kami tidak berurusan dengan isyarat seimbang di sini, tetapi saya fikir ia tidak akan menyakitkan (?) Jadi saya melakukan itu ketika saya membuat penambahan papan.

Ia adalah reka bentuk yang cukup jinak. Cetakan dilampirkan di sini, dalam bentuk grafik (AutoCAD 2D adalah yang paling biasa saya - setelah bekerja selama beberapa dekad pada hari kerja saya - saya masih memotong gigi KiCAD saya dan ini terlalu mudah untuk usaha membenarkan keluk pembelajaran sebagai projek pertama di KiCAD). Bagaimanapun, saya memilih untuk memasang soket uChip terus ke perisai untuk membolehkan sarung penggunaan tersendiri ketika menggunakan uChip sebagai hos. Saya menambah JST untuk menghidupkannya melalui bateri, sekiranya saya mahu melakukannya dan, kerana saya mempunyai beberapa tambahan, saya memilih Adafruit SWD Breakout untuk membolehkan saya menggunakan Debug Probe Segger J-Link EDU saya, sekiranya diperlukan. Tidak, tetapi saya menyimpan SWD di atasnya untuk digunakan dengan projek masa depan.

Castellated bermaksud, dalam konteks ini, untuk meletakkan tepi PCB sehingga lubang yang dilapisi dikurangkan menjadi setengah silinder, memungkinkan pematerian pada PCB yang dibawa - dalam hal ini papan pelindung pelindung. Saya memilih untuk melakukan ini kerana bahagian pelindung kipas pelindung tidak sesuai dengan jarak baris antara dua baris tajuk pada SWD BOB. Hancurkan fail rata dan fail 5 minit dan masalah diselesaikan.

Langkah 2: Pengaturcaraan dan Pengujian

Pengaturcaraan dan Pengujian
Pengaturcaraan dan Pengujian
Pengaturcaraan dan Pengujian
Pengaturcaraan dan Pengujian
Pengaturcaraan dan Pengujian
Pengaturcaraan dan Pengujian

Setelah perkakasan dibina, perlu ada nada dering sepenuhnya untuk mengesahkan bahawa pendawaiannya baik. Kemudian, saya selalu melakukan pemeriksaan Power and Grounds. Ini bukan sahaja memastikan bahawa Daya dan Tanah berada di tempat yang seharusnya, tetapi mana-mana penamatan lain yang seharusnya tidak mempunyai kuasa / tanah di sana tidak. Ini bukan tugas yang membosankan pada projek kecil seperti ini, tetapi dengan sistem-sistem yang lebih besar, walaupun merupakan langkah yang membosankan, sangat diperlukan untuk memastikan tidak ada sub-rakitan atau sistem yang tersambung yang dikeluarkan oleh kesalahan bodoh yang boleh dan sepatutnya ditangkap. Saya biasanya memasang barang minimum sehingga kuasa dijana di papan dan kemudian periksa setiap pin / penamatan untuk daya dan tanah sebelum memasang sub-unit, cip, dan lain-lain, memastikan bahawa daya berada pada tahap yang betul (mempertimbangkan keperluan peranti yang tidak bertoleransi 5V / IO, keperluan 1v8 dan 3v3, dsb.) dan landasan itu adalah tempat yang diperlukan dan hanya di mana ia perlu berada. Saya telah menyaksikan rentetan kegagalan dalam pesawat dari orang yang gagal melakukan pemeriksaan pra-penyambungan yang betul. Dalam satu kes, ia memerlukan lebih dari $ 100K LRU - bukan masa yang menyeronokkan untuk mengendalikan projek dan membuatnya berjalan dalam sekejap kerana seseorang melakukan proses pendek. Perkara lain yang saya rasa bersalah adalah melakukan 'pemeriksaan sekitar' yang membosankan - memastikan bahawa kenalan / penamatan tidak dipendekkan ke kenalan / penamatan yang berdekatan. Ini menjadi kritikal jika seseorang berurusan dengan pemasangan sepaksi, tali pinggang pelbagai konduktor / terlindung, dll. Ok, saya keluar dari kotak sabun …

Setelah keselamatan terjamin, sambungkan, aktifkan dan kemudian turunkan program TTS Host (ARMbasic Target MCU) seperti yang dilakukan dengan banyak sasaran MCU yang tersemat. Saya merakam video yang menggambarkan pengaturcaraan dan penggunaan TTS Click yang mudah. Anda boleh melihatnya di sini.

Kod sumber ARMbasic boleh dimuat turun dari sini - catatan forum yang mempunyai butiran tambahan. Coridium membuat catatan blog mengenai usaha ini, yang boleh anda dapatkan dengan mengklik di sini.

Langkah 3: Mengubah Sumber untuk Sasaran ARMbasic Lain, dan Pelbagai Musik

Mengubah Sumber untuk Sasaran ARMbasic Lain, dan Pelbagai Musik
Mengubah Sumber untuk Sasaran ARMbasic Lain, dan Pelbagai Musik
Mengubah Sumber untuk Sasaran ARMbasic Lain, dan Pelbagai Musik
Mengubah Sumber untuk Sasaran ARMbasic Lain, dan Pelbagai Musik
Mengubah Sumber untuk Sasaran ARMbasic Lain, dan Pelbagai Musik
Mengubah Sumber untuk Sasaran ARMbasic Lain, dan Pelbagai Musik
Mengubah Sumber untuk Sasaran ARMbasic Lain, dan Pelbagai Musik
Mengubah Sumber untuk Sasaran ARMbasic Lain, dan Pelbagai Musik

Saya tidak akan memberitahu anda dengan langkah-langkah yang diperlukan untuk mengubah kod sumber agar dapat berfungsi dengan sasaran ARMbasic yang lain, selain untuk menunjukkan bahawa saya berusaha melakukannya dengan banyak komen kod sumber di dalamnya. Luangkan masa untuk membuka fail tts.bas dan baca tentang perubahan apa yang diperlukan jika anda memilih untuk memindahkan kod tersebut ke alat kawalan ARMbasic yang lain.

Terlampir di sini adalah beberapa gambar yang saya ambil semasa kitaran dev untuk menjadikannya berfungsi.

Pelajaran yang dipelajari:

  1. Sekiranya anda mempunyai Logic Analyzer dengan input yang tidak digunakan dan mempunyai sasaran IO tambahan yang tidak digunakan untuk kerja yang ada, jangan takut untuk menggunakan IO tersebut sebagai alat penyahpepijatan - percikan IO pada pelbagai titik dalam kod boleh pertolongan besar dalam mengesan apa yang sedang dan tidak berfungsi seperti yang diharapkan, untuk mengenal pasti masalah masa yang tidak masuk akal (iaitu gangguan yang mempengaruhi koma bersiri bit-banged), dan untuk mendapatkan pemahaman yang lebih baik mengenai usaha anda secara keseluruhan.
  2. Tidak semua pengawal ARM sama. Ini jelas. Walau bagaimanapun, saya sedikit berjaya dengan melakukan dev awal pada LPC1765 Coridium SuperPRO. Di belakang, apa yang membuat ini menjadi pilihan yang buruk adalah bahawa pelaksanaan inti ARM ini memungkinkan akses yang tidak selaras dengan kata-kata ke memori. Semasa memindahkan kod C ke ARMbasic, semuanya berjalan dengan lancar sehingga saya mencuba menggunakannya dengan sasaran SAMD21 - semua perkara menjadi tidak bertenaga dan semuanya tidak dapat dipercayai kerana akses yang tidak selaras ketika mengisi penyangga, memanipulasi bendera, bekerja dengan versi ARMbasic struktur / kesatuan yang saya buat, dan lain-lain. Ini adalah pelajaran yang menyakitkan. Ambil di sini: Sekiranya seseorang ingin memiliki kod mudah alih, pilih sasaran calon yang paling ketat, hanya untuk memastikan bahawa seseorang tidak menghadapi drama di akhir projek, ketika seseorang kemungkinan paling bersemangat untuk menggunakan hasil dari usaha mereka..:)
  3. Memindahkan kod C ke ARMbasic TIDAK mustahil. Usaha ini sebahagian besarnya adalah evolusi latihan porting yang besar. Sekiranya seseorang meluangkan masa untuk membandingkan sumber C yang asli dengan kod ARMbasic yang saya buat, seseorang harus dapat membawa beberapa idea bagaimana melaksanakan perkara yang mungkin bukan merupakan sebahagian daripada reka bentuk teras ARMbasic (iaitu Struktur).
  4. Selesaikan perkara seperti ini dalam potongan yang boleh dikendalikan. Secara lalai, saya adalah orang yang suka melihat kepuasan secara berkala. Usaha seperti usaha porting dan dev ini tidak mungkin dapat dicapai dalam satu malam. Tetapkan matlamat yang realistik dan berusaha ke arah yang sama, berusaha untuk tidak terbeban dengan 'gambaran besar'.
  5. Penganalisis Logik sangat penting dalam usaha ini. Ya, saya mempunyai unit DS-Logic + jarak pertengahan yang lebih rendah, tetapi saya dapat menyatakan dengan tegas bahawa Bandwidth LA $ 12.50 24MHz yang murah dari Amazonia akan mempunyai lebih daripada mencukupi. Pasangkan dengan Sigrok's PulseView (percuma) (penyahkodan protokol) dan seseorang akan mempunyai sistem yang sangat kuat yang harus berfungsi dalam banyak senario seperti apa yang saya usahakan untuk melaksanakan projek ini. Pastikan untuk mendapatkan unit yang mempunyai klip ujian, atau memesan klip ujian secara berasingan, kerana ia sangat bermanfaat (bagaimana Trumpfeldian) bermanfaat.
  6. Penyelidikan logik yang sederhana adalah alat yang sangat berguna juga. Pada gambaran keseluruhan ruang kerja, anda akan melihat siasatan logik Archer (Radio Shack) kuno di sudut kanan bawah gambar. Saya benar-benar terkejut apabila mengetahui betapa bergunanya sesuatu itu setiap hari, walaupun dengan makmal yang lengkap.

Saya mungkin mempunyai kaitan dengan perkara ini sebelumnya tetapi saya tidak ingat dan terlalu malas untuk melihatnya. Berikut adalah catatan blog yang mempunyai video modul TTS dalam tindakan (Itaca uChip menghostingnya pada masa itu), dan catatan Forum ARMbasic di mana seseorang boleh memuat turun kod sumber ARMbasic yang dipindahkan.

Berhati-hati dan selamat mencuba!

-MHz

Disyorkan: