Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial Internet of Things >> Tertanam

Memahami Pengaktifan DSP Menggunakan MCU Crossover i.MX RT500 NXP

Pelajari tentang program multi-utas, mengembangkan aplikasi menggunakan sistem operasi waktu-nyata XOS, berbagi sumber daya dengan semaphore, dan bagaimana keluarga i.MX RT500 NXP mikrokontroler membantu para insinyur merancang perangkat pintar yang mendukung DSP.

Perangkat konsumen cerdas saat ini memerlukan komponen yang mampu memproses data dalam jumlah besar untuk memenuhi tuntutan berbagai aplikasi keamanan dan pemrosesan sinyal. Komponen-komponen ini (termasuk mikrokontroler) harus dapat memproses data tersebut dengan cepat dan efisien, yang membutuhkan prosesor sinyal digital yang sangat optimal.

Artikel ini memperkenalkan beberapa fitur prosesor audio Cadence® Tensilica® Fusion F1, co-prosesor khusus yang membantu CPU utama MCU i.MX RT500 dalam melakukan penghitungan pemrosesan sinyal.

Konsep Inti Program Multi-Utas

Sepintas, perangkat keras pemrosesan modern menciptakan ilusi bahwa ia mengeksekusi banyak utas secara bersamaan. Pada kenyataannya, satu inti CPU menangani satu utas pada satu waktu. Ketika jumlah thread melebihi jumlah core CPU yang tersedia, sistem operasi diperlukan untuk menjadwalkan thread.

OS perlu melacak semua utas yang dimulai dan statusnya, dan menetapkan slot waktu CPU untuk setiap utas sehingga berbagai aplikasi dapat berjalan secara efisien dan tampaknya paralel.

Gambar 1. Status utas yang berbeda

Penjadwal sistem operasi mempertahankan antrian untuk utas yang siap dijalankan, antrean untuk memblokir utas, dan perlu menyimpan informasi tentang utas yang sedang berjalan untuk menyelesaikan distribusi waktu CPU yang adil:

Pengembang OS dapat memilih untuk menerapkan satu atau banyak strategi penjadwalan yang berbeda tergantung pada persyaratan yang tepat. Selain penjadwalan, sinkronisasi dan komunikasi antara thread yang berbeda merupakan aspek penting lainnya dari sistem multi-threaded.

Kondisi dan Acara di XOS

Kondisi dalam XOS RTOS (sistem operasi waktu nyata) memungkinkan pengembang menginstruksikan utas untuk memblokir hingga kondisi yang ditentukan menjadi benar. Sistem mengevaluasi setiap kondisi menggunakan fungsi kondisi yang ditentukan oleh pengembang aplikasi. XOS melakukan evaluasi setiap kali utas lain memberi sinyal objek kondisi atau saat pengendali interupsi memicunya.

Acara dalam XOS, di sisi lain, mewakili sekelompok bit yang dapat digunakan pengembang untuk menyinkronkan berbagai utas atau utas dan penangan interupsi. XOS memungkinkan beberapa utas untuk menunggu acara dan memberi sinyal secara bersamaan.

Interupsi di XOS

XOS menawarkan serangkaian fitur yang kaya untuk menangani interupsi dan pengecualian yang terjadi selama runtime. Mekanisme interupsi dalam XOS menawarkan fleksibilitas kepada pemrogram untuk menginstal penangan khusus sambil memastikan bahwa pengiriman interupsi bekerja secepat mungkin di dalam sistem. XOS juga mendukung penanganan interupsi bersarang, yang berarti bahwa OS menjeda pengendali interupsi saat ini jika interupsi dengan prioritas lebih tinggi terjadi. Setelah sistem selesai menangani interupsi berprioritas tinggi, sistem akan secara otomatis melanjutkan melayani interupsi berprioritas rendah.

Utas mungkin juga memiliki layanan terkait waktu seperti penundaan waktu dan panggilan balik pengatur waktu berkala di XOS. Co-processor DSP mendukung hingga tiga timer internal yang dapat dikonfigurasi oleh programmer sesuai kebutuhan.

Memahami Semafor

Dalam pemrograman multi-utas, semaphore menyediakan sarana untuk mengontrol dan mengoordinasikan akses ke sumber daya bersama. Semaphore membantu menghindari masalah bagian kritis dalam sistem bersamaan dengan menyinkronkan utas yang berbeda. Semaphore adalah konstruksi sederhana yang melacak penghitung internal dengan nilai awal yang telah ditentukan yang dapat diatur secara bebas oleh programmer dalam kode sumber. Implementasi yang berbeda ada, tetapi penghitung biasanya menunjukkan berapa banyak utas yang masih dapat mengakses sumber daya bersama.

Setiap kali utas ingin mengakses sumber daya bersama, sistem memeriksa apakah penghitung terkait lebih besar dari nol. Jika ya, OS memberikan akses ke sumber daya dan mengurangi penghitung internal semaphore. Jika utas mungkin tidak mengakses sumber daya pada waktu tertentu, utas beralih ke status pemblokiran dan menunggu hingga menerima akses ke sumber daya. Setiap kali sebuah utas membebaskan sumber daya, OS meningkatkan penghitung semaphore, dan utas baru dapat memasuki bagian kritis.

Gambar 2. Bagan alir yang mengilustrasikan cara kerja semaphore

Ikhtisar i.MX RT500 MCU dan DSP

i.MX RT500 adalah keluarga mikrokontroler inti ganda berdasarkan inti Arm® Cortex®-M33 yang kuat dengan kecepatan clock hingga 275 MHz dan mendukung hingga lima megabita SRAM.

i.MX RT500 MCU menawarkan fitur perlindungan seperti Arm TrustZone dan unit perlindungan memori (MPU) internal dengan dukungan hingga delapan wilayah. Co-prosesor kripto CASPER memungkinkan akselerasi perangkat keras untuk meningkatkan berbagai fungsi yang diperlukan untuk algoritme kriptografi asimetris. Serangkaian fitur hemat daya memungkinkan desainer menyesuaikan konsumsi daya i.MX RT500 dengan persyaratan aplikasi mereka.

Berbagai akselerator perangkat keras khusus membantu CPU utama dalam melakukan perhitungan DSP. DSP audio Cadence® Tensilica® Fusion F1 tambahan, GPU 2D dengan akselerasi grafis vektor, dan berbagai antarmuka tampilan menjadikan i.MX RT500 cocok untuk berbagai aplikasi tersemat yang aman dan berdaya rendah. Kasus penggunaan yang umum mencakup aplikasi HMI, perangkat IoT, perangkat yang dapat didengar, asisten pribadi yang diaktifkan dengan suara, dan perangkat konsumen serupa lainnya.

Lihat Audio DSP

i.MX RT500 berisi berbagai co-prosesor khusus yang dapat membantu meringankan beban pada inti CPU dengan melakukan perhitungan yang rumit secara matematis sambil membiarkan inti pemrosesan bebas melakukan tugas lain. Salah satu prosesor khusus tersebut adalah DSP fusi, yang mencakup prosesor audio Cadence® Tensilica® Fusion F1 dan unit titik-mengambang perangkat keras.

Mesin pemrosesan audio ini bekerja pada frekuensi hingga 200 MHz dan dirancang untuk mengaktifkan perangkat yang dipicu suara seperti asisten virtual. Selain itu, DSP audio menggabungkan berbagai modul untuk tugas pra-pemrosesan dan pasca-pemrosesan menggunakan berbagai codec audio.

DSP dan inti CPU utama dapat berkomunikasi satu sama lain melalui berbagai cara. Pengembang dapat menggunakan seluruh SRAM saat bekerja dengan fusion DSP kecuali jika RAM dilindungi dan bagian tertentu ditandai untuk akses hanya aman.

Memrogram dengan mempertimbangkan DSP

DSP Tensilica mendukung berbagai sistem operasi waktu nyata (RTOS), termasuk FreeRTOS™, Zephyr™, Linux®, dan XOS. Cadence mengembangkan kernel tertanam XOS sebagai desain referensi dengan mempertimbangkan prosesor Tensilica.

Fitur kernel XOS yang ringan termasuk penjadwal tugas, pengalihan konteks adaptif, mekanisme sinkronisasi, manajemen interupsi dan pengecualian, dan manajemen sumber daya kritis. Kode sumber kernel sebagian besar ditulis dalam standar C dan tidak khusus untuk prosesor Xtensa dan DSP.

Memenuhi Persyaratan Perangkat Konsumen Cerdas

Keluarga MCU crossover i.MX RT500 memiliki berbagai fitur yang dirancang untuk menginspirasi perangkat konsumen cerdas masa depan. Co-prosesor yang berbeda membantu inti pemrosesan utama MCU dalam melakukan perhitungan yang rumit secara matematis untuk aplikasi pemrosesan sinyal dan keamanan. Salah satu co-prosesor tersebut adalah DSP audio Cadence® Tensilica® Fusion F1 yang sangat dioptimalkan, memungkinkan perangkat yang dipicu suara selalu aktif seperti asisten virtual. Pemrogram dapat menggunakan XOS dan Xplorer IDE untuk merancang aplikasi untuk prosesor Cadence khusus.


Catatan aplikasi AN13159 berisi rincian lebih lanjut, daftar fungsi API yang didukung, dan contoh untuk kondisi dan peristiwa di XOS, dan situs web NXP menawarkan informasi lebih lanjut tentang kemampuan dan aplikasi i.MX RT500. Ini juga menyediakan materi pelatihan yang berbeda seperti catatan aplikasi, video, dan webinar sesuai permintaan.

Artikel Industri adalah bentuk konten yang memungkinkan mitra industri untuk berbagi berita, pesan, dan teknologi yang bermanfaat dengan pembaca All About Circuits dengan cara yang tidak sesuai dengan konten editorial. Semua Artikel Industri tunduk pada pedoman editorial yang ketat dengan tujuan menawarkan kepada pembaca berita, keahlian teknis, atau cerita yang bermanfaat. Sudut pandang dan pendapat yang diungkapkan dalam Artikel Industri adalah dari mitra dan belum tentu dari All About Circuits atau penulisnya.


Tertanam

  1. C# menggunakan
  2. Perangkat hybrid menggabungkan arsitektur DSP dan MCU
  3. Saat DSP mengalahkan akselerator perangkat keras
  4. Keputusan, keputusan:Akselerator perangkat keras atau DSP?
  5. Pengukuran level cairan tanpa kontak menggunakan chip reflectometer
  6. Menggunakan tag RFID untuk pemantauan keamanan rumah
  7. Chipset radar pencitraan 4D meningkatkan identifikasi objek
  8. Bluetooth MCU meningkatkan keamanan IoT
  9. MCU nirkabel menampilkan arsitektur inti ganda
  10. Panduan untuk Menangani DSP Menggunakan