Ini berfungsi, Anda akan mendapatkan nomor kembali, serta interupsi. Saya sudah memeriksanya, unduh dari .
Akurasi dan glitchiness belum ditentukan, sampai sekarang. Tetapi dijelaskan dengan baik di Appnotes seperti yang ditunjukkan oleh @Bence Kaulics di utas ini (lihat results.txt untuk AppNotes tambahan)
Saya percaya ini akan stabil karena alasan berikut.
a) The circuit diagram in RM0091 shows a direct connection from comparator to pin. i.e. it is indicated that the comparator cannot be disconnected with a switch or MUX, and will thus work as soon as the pin is assigned 'analog in'.
b) The comparator is NOT dependent on a 'Clock' to enable it (it is alow power device).
c) ST would not be able to make this level of change without assigning a new part number.
The good news is that one can continue to use the comparator for high-speed events such as over current and emergency stop etc whilst still using the ADC analog window events for other software control.
Ini juga berfungsi dengan DAC, yaitu Anda dapat mengatur semuanya secara internal dengan DAC atau secara eksternal dengan DAC dan beberapa resistor.
Hanya dengan melihat sirkuit Anda akan menggunakan ADC secara paralel dengan pembanding, pada dasarnya sebuah penguat. Seperti yang kita ketahui ini adalah impedansi perangkat gain besar yang sangat tinggi. Gangguan bukan teman kita.
Sekarang kita akan menggedor tutup kosong ke pin itu sesekali untuk memberi makan ADC.
Seperti yang kita semua tahu, kita perlu mengecoh ADC dan lebih baik menolak pembacaan pertama setelah acara mux switch untuk menghilangkan kemiringan dari dan ke saluran yang berdekatan.
ADC pada STM memiliki impedansi input agak <50K // 5pF tergantung pada bagaimana mereka digunakan. (DM00039193.pdf hal 76ff)
Tabel 53 memberikan 400-> 50KOhm, yang saya temukan beberapa waktu lalu ketika saya mengkalibrasi F373 ADC saya.
Pg 79 menunjukkan sirkuit ADC.
Pg 82 memberikan deskripsi singkat tentang pin pembanding, dibaca bersamaan dengan deskripsi umum pin analog di atas (pg73ff)
Masukkan paralel dengan input komparator Anda dan ADC MUX dan modelkan dalam rempah-rempah. Ingatlah untuk mengisi tutup ADC ke tegangan acak secara teratur.
Apa pun yang terjadi di sirkuit dan perangkat lunak Anda akan mendapatkan gangguan cukup masuk akal pada input komparator Anda. BAD IDEA, bahkan jika Anda menghubungkan pin ke pengikut impedansi rendah dan tutup decoupling (pada garis input input pembanding ????).
Tutup yang digunakan oleh ADC adalah pembunuh. Semoga perangkat masa depan akan sampel menggunakan pengikut / isolator internal pada ADC dan pembanding. Ini mungkin sudah ada di sana sebagai fitur tidak berdokumen (tidak mungkin karena crosstalk mux).
Seperti saya, saya pikir kita begitu terlibat dengan sisi digital dari hal-hal yang ketika kita beralih ke analog dan hibrida kita melupakan dasar-dasarnya.
Bagaimana mengukur arus kecil menggunakan konverter arus ke tegangan? adalah diskusi yang saya lakukan dengan orang lain kemarin. Aku tahu jawabannya karena aku sendiri yang salah. Bahkan pada 3V terbaik menjadi 50K kita mendapatkan AVO 16K / volt. Kapan terakhir kali saya menggunakan AVO / multimeter?
Semua yang dikatakan, melihat pada sirkuit F373 menunjukkan bahwa ST dan ARM tampaknya dimaksudkan untuk bisa mendapatkan hasil yang bisa diterapkan dari kedua komparator dan ADC yang digunakan secara bersamaan dalam perangkat campuran. Penambahan opamps dalam seri 150 dan 300 memberikan petunjuk tentang persyaratan isolasi impedansi.
Saya yakin bahwa seseorang yang lebih pintar daripada saya akan dapat merekayasa ulang lingkungan tempat interkoneksi internal ini dirancang. Saya akan berpikir otomotif atau HVAC .... inverter dan FOC. Perpustakaan FOC dapat memberikan wawasan yang berharga.
Kecuali jika Anda membangun instrumen berkecepatan tinggi dan sangat akurat, penggunaan seperti itu mungkin cukup stabil untuk digunakan secara praktis (dalam peringatan di atas). Ini tentu akan menghemat banyak sirkuit eksternal. Tes yang ketat pada kecepatan tinggi mungkin sebaiknya dibiarkan sebagai latihan untuk siswa (Tempt me to study).
Solusi di sini .
Sepertinya perpustakaan HAL ADC agak rusak untuk multi channel DMA. Saya telah memposting di situs web STM untuk mendapatkan jawaban. Penanganan masalah: -
a) IRQ kedua ADC
b) Polling kedua ADC
c) DMA satu saluran dan polling yang lain
d) Menginisialisasi register level rendah secara manual
Ini adalah satu lagi peringatan untuk solusi di mana kedua pembanding digunakan, sampai solusi yang lebih baik ditemukan.