Semua orang tahu itu mudah untuk mengembangkan bukti konsep untuk perangkat tertanam pada ras rasper atau bahkan PC, meskipun ketika tiba saatnya memilih mikroprosesor untuk produk Anda, sulit untuk memastikan pilihan Anda akan memungkinkan konsep Anda untuk bekerja secara optimal.
Saat ini saya memiliki proyek streaming media yang berhasil mengerjakan pi raspberry, meskipun pi jauh lebih besar dan tebal agar layak sebagai perangkat akhir. Juga dinyatakan bahwa perangkat akhir adalah custom. Saya mengalami kesulitan menemukan kepercayaan pada prosesor yang dapat saya gunakan.
Apa proses yang baik untuk mengetahui apakah prosesor cukup kuat untuk menjalankan aplikasi saya?
Pada dasarnya persyaratan saya adalah:
- Host USB atau tumpukan TCP / IP tertanam untuk operasi WiFi
- Protokol media I2S / PCM
- I2C untuk konfigurasi periferal
Menemukan keripik dengan properti itu sangat sederhana. Sejujurnya itu tidak bisa lebih sederhana. Masalahnya adalah bisa mengetahui apakah chip cukup cepat, pemrosesan dan bijaksana.
Saya telah melihat LPC4337 sedikit dan saya merasa itu akan cocok meskipun lingkungan pengembangan memberi saya sedikit masalah, untuk alasan itu saya masih melihat sekeliling, yang membawa saya ke CC3200 dari Texas Instruments , meskipun pengontrol itu hanya berjalan pada 80 MHz dan saya tidak yakin apakah itu akan cukup kuat untuk streaming media waktu nyata.
Apa saja langkah-langkah untuk memastikan prosesor cukup cepat untuk aplikasi saya? Seperti bagaimana saya tahu apakah prosesor 80 MHz akan cukup baik atau apakah saya memerlukan sesuatu dengan urutan 204 MHz atau bahkan lebih tinggi?
Jawaban:
Itu tergantung pada seberapa percaya diri Anda. Saya bekerja di industri luar angkasa dan ini biasanya dicapai melalui apa yang kita sebut "CPU, RAM, anggaran ROM". Anggaran, baik itu biaya daya massa atau apa pun, memecah proses Anda dalam item yang dapat dikelola yang dapat Anda kuantifikasi dan jumlahkan semuanya untuk mendapatkan permintaan keseluruhan. Anda kemudian mengambil faktor keamanan yang tergantung pada kematangan proyek Anda, berkurang seiring waktu untuk memperhitungkan pertumbuhan permintaan. Awalnya, sangat bergantung pada pengalaman dan kemudian disempurnakan dari waktu ke waktu sebagai teknologi yang dipilih.
Di atas sangat sulit untuk secara akurat menentukan kapan penjadwal menendang, segera setelah Anda memiliki utas (kecuali utas dialokasikan secara manual ke inti) dan sistem operasi. Seharusnya dikelola untuk kode mikrokontroler sederhana, tetapi apakah itu layak untuk aplikasi Anda?
Ini hanya partisipasi saya: meskipun saya merancang sistem terintegrasi, saya belum bertanggung jawab atas anggaran khusus itu (yang merupakan input bagi saya), dan saya sebenarnya sangat tertarik untuk mengetahui cerita para ahli mengenai hal itu.
Tambahan: Dengan sistem waktu nyata, biasanya lebih mudah untuk menilai kecukupan sistem untuk tugas melalui waktu pengambilan sampel maksimum yang tergantung pada latensi / keterlambatan dalam pengiriman informasi di seluruh alur kerja, dan waktu maksimum yang diambil oleh masing-masing contoh tugas.
sumber
avrdude
dapat memberikan perkiraan berapa banyak RAM yang diambil oleh variabel global, tetapi Anda harus menjalankannya dengan opsi dry run karena ini pada dasarnya merupakan alat pengunggahan.Saya akan menyederhanakan pertanyaan Anda menjadi, "Bagaimana cara mengetahui apakah mikroprosesor cukup cepat "?
Anda perlu mengidentifikasi proses / prosedur yang membutuhkan waktu eksekusi tercepat. Jika prosesor Anda dapat menjalankan instruksi yang diperlukan dalam waktu tertentu, atau kurang, maka itu cukup cepat.
Mari kita lihat sebuah contoh: Persyaratan tercepat Anda adalah memproses terputusnya daya ; ini membutuhkan 10.000 instruksi untuk dieksekusi dalam 10 milidetik. Anda akan membutuhkan CPU dengan setidaknya 1 MIP. Untuk mengonversikan ini menjadi "MHz," Anda perlu mengetahui jumlah siklus jam per instruksi (cci). Mari kita asumsikan 10 cci, CPU Anda harus berjalan pada 10 MHz, atau lebih cepat.
sumber
Jika Anda ingin menurunkan biaya BOM, kadang-kadang pabrikan Shenzhen tersebut memiliki beberapa penawaran mengejutkan. Satu contoh: Allwinner A10 memiliki lebih banyak daya komputasi dan opsi koneksi daripada Raspberry Pi tetapi mungkin akan lebih murah jika digunakan dalam desain Anda. Jika Anda melihat pada biaya yang sama dengan Pi A31s Allwinner adalah 6-8 kali lebih kuat.
sumber