Apakah masih bermanfaat untuk belajar, misalnya, bagaimana menyetel timer 555 dengan resistor dan kapasitor, ketika Anda dapat menulis program timer untuk mikrokontroler dalam bahasa pemrograman yang dapat dibaca manusia?
Atau, dengan kata lain, adakah masalah bahwa IC bagus untuk mikrokontroler?
learning
microcontroller
pengguna955
sumber
sumber
Jawaban:
Sebagian besar, mikrokontroler telah menggantikan IC diskrit. Saya menemukan bahwa bahkan jika saya dapat merancang sebuah sirkuit dengan 555, kemungkinan bahwa sirkuit yang sama perlu diubah dalam beberapa minggu untuk melakukan sesuatu yang lain, dan mikro mempertahankan fleksibilitas itu.
Tetapi ada beberapa pengecualian.
Logika diskrit masih lebih cepat daripada kebanyakan mikrokontroler. Delay propagasi dan waktu switching untuk logika diskrit berada dalam kisaran 1-10 ns. Untuk mencocokkannya dengan mikrokontroler, Anda harus dapat mengimplementasikan logika apa pun yang Anda butuhkan dalam 1 instruksi, dan memiliki jam di kisaran 100 MHz hingga 1 GHz. Anda bisa melakukannya, tetapi mungkin tidak di atas papan tempat memotong roti di garasi Anda.
Contoh yang baik untuk hal ini adalah dekoder quadrature HCTL2020. Dibutuhkan dalam dua seri pulsa dan memberi tahu Anda ke arah mana motor Anda berputar. Ini diimplementasikan sebagai chip yang tidak dapat diprogram demi kecepatan.
Bidang lain yang menarik di mana logika digital dan dan mikrokontroler gagal dalam penyaringan sinyal. Jika Anda memiliki sinyal analog yang ingin Anda filter secara digital, Anda harus mengambil sampel dengan kecepatan tertentu. Tidak peduli seberapa cepat Anda mengambil sampelnya, noise pada sinyal yang muncul pada frekuensi lebih dari setengah frekuensi sampling Anda akan dialihkan ke frekuensi yang lebih rendah, yang dapat mengganggu sinyal Anda. Anda dapat memecahkan masalah ini dengan filter low-pass, terbuat dari topi dan resistor, sebelum pengambilan sampel Anda terjadi. Setelah pengambilan sampel, Anda kacau. (Tentu saja, sering kali kebisingan tidak akan tumpang tindih dalam frekuensi Anda, dan kemudian filter digital akan bekerja dengan baik.)
sumber
Anehnya, saya hanya punya satu pabrik Cina yang mencoba menambahkan mikro ke proyek di mana itu benar-benar berlebihan, dan saya mengatakan kepada mereka untuk menggunakan 555. Sebuah biaya 555 mungkin 6 sen, vs mikrokontroler murah untuk 60 sen. Ketika Anda membuat produk dalam jumlah besar, perbedaan biaya itu penting, dan Anda pasti ingin tahu cara menggunakan IC yang lebih murah. Jadi ya, mereka lebih baik dengan biaya lebih murah. :)
sumber
Salah satu area di mana logika diskrit masih mengalahkan micros adalah stabilitas bagian jangka panjang.
Apakah mikro ini akan tersedia dalam 10 tahun? 20? Apakah IDE dan toolchain masih mendukungnya pada saat itu?
Anda bisa menjamin logika diskrit masih akan menjadi diskrit logika di masa depan. Micros, tidak banyak. Jika Anda merancang produk yang Anda harapkan memiliki masa produksi yang lama, logika generik, dan sebanyak mungkin, suku cadang generik akan mengurangi kebutuhan untuk mendesain ulang perangkat saat ketersediaan suku cadang bergeser.
Selain itu, Anda bukan SOL jika pabrikan chip Anda memiliki pemesanan-ulang. Banyak orang membuat logika generik yang kompatibel, sementara pada dasarnya tidak ada mikro generik.
sumber
Seringkali akan lebih murah menggunakan sirkuit diskrit untuk melakukan tugas sederhana. Misalnya, LED yang berkedip. PIC termurah, PIC10F200, sekitar US $ 0,35 dalam 5ku, dan itu sebelum biaya pemrograman dan mempertimbangkan ukuran kecil (dan masalah terkait dengan pembuatan.) Timer NE555, di sisi lain, dapat diambil sekitar US $ 0,10 dari TI dalam 5ku, dan solusi lengkap mungkin akan berbobot sekitar US $ 0,20.
Satu hal yang perlu dipertimbangkan adalah bahwa mikrokontroler adalah perangkat digital yang inheren. Tentu, sebagian besar memiliki ADC dan beberapa bahkan memiliki DAC, tetapi mereka masih bekerja pada unit waktu yang terpisah dan bekerja pada bit dan byte individu. Sirkuit analog dapat disetel dengan tepat untuk melakukan apa yang dibutuhkan perancang karena secara teori, analog memiliki resolusi tak terbatas **. Sirkuit digital dibatasi oleh komponennya yang paling lambat.
Akhirnya, ada masalah pasokan. Kembali ke contoh pertama saya, NE555. Itu sudah ada selama lebih dari 20 tahun dan mungkin akan ada sekitar 50 tahun lagi setelah ini. Ini adalah bagian ubur-ubur sehingga mungkin akan diproduksi selamanya (atau setidaknya sampai elektron konvensional menjadi usang dalam elektronik.) Sedangkan PIC10F dapat dibuat NRND kapan saja. Dengan pemasok tunggal seperti Microchip, ada risiko signifikan yang dapat merusak suatu produk.
** Oke, ini tidak sepenuhnya benar. Pada kenyataannya, kita terbatas pada resolusi elektron. 1 ampere = 6,24 × 10 18 elektron / detik. Jadi resolusi terbaik saat ini yang bisa Anda dapatkan adalah attoampere, atau 10 ^ -18 ampere, yaitu sekitar 6 elektron per detik. Tetapi untuk tujuan paling praktis, ini tidak apa-apa. :)
sumber
Jangan lupa logika yang dapat diprogram - CPLD dan FPGA. Dengan mengganti logika diskrit dengan CPLD, Anda tidak akan terpengaruh oleh bagian-bagian yang dihentikan dan bisa mendapatkan kinerja yang lebih banyak, ukuran berkurang dan biaya lebih rendah. Jika Anda memiliki FPGA dalam sistem, Anda dapat menerapkan soft core di dalamnya, yang dapat dengan mudah ditingkatkan jika persyaratan berubah, dan semuanya dapat dengan mudah dibuat "bukti masa depan".
sumber
Saya akan belajar kelas untuk menyetel timer 555 sebagai "berjaga-jaga" pengetahuan. Itu sama dengan orang-orang yang mengatakan, "Saya menjalani seluruh hidup saya dengan baik tanpa aljabar, mengapa kita mengajarkannya kepada anak-anak?" Jika Anda tidak tahu cara menggunakan alat, Anda tidak akan pernah melihat masalah yang bisa diterapkan.
Adapun jawaban spesifik: logika digital sangat cepat diimplementasikan dalam FPGAs / ASICs saat ini karena akan terlalu lambat pada mikrokontroler / prosesor (kecuali itu adalah prosesor yang dirancang khusus seperti DSP).
sumber
Dalam proyek saya saat ini, kami menggunakan chip Marvell ARM9 yang berjalan pada kecepatan 500Mhz dengan FPGA untuk menawarkan banyak port DIO. Namun, ada hal-hal yang ditangani dalam logika diskrit. Misalnya, kontrol motor stepper diperlukan untuk 4 motor stepper yang dikontrol secara individual. Ada satu osilator untuk menghasilkan frekuensi dengan penghitung yang akan memungkinkan sejumlah pulsa untuk melewatinya. Penghitung diatur dari mikrokontroler, tetapi kemudian beroperasi tanpa kontrol lebih lanjut dari mikrokontroler, sehingga memberikan waktu untuk mengerjakan tugas lain.
Kami bisa memilih lebih banyak mikrokontroler. Tetapi pengontrol pusat yang bekerja dengan logika diskrit tradisional dapat terbukti menjadi solusi yang kuat dan sangat andal.
Juga, jika Anda memiliki masalah yang didefinisikan dengan jelas, solusinya harus selalu sesederhana mungkin, tetapi tidak lebih sederhana (kutipan tersembunyi di sana ;-)). Jika 555 berfungsi, mengapa Anda tidak menggunakannya? Fleksibilitas mungkin merupakan argumen ketika orang lain memilih, tetapi mungkin tidak. Itu semua tergantung pada masalah Anda dan interpretasi Anda tentang apa solusi yang paling sederhana.
sumber
Aplikasi komunikasi frekuensi tinggi muncul dalam pikiran. Meskipun sekarang kita memiliki 'radio yang ditentukan perangkat lunak', akan sangat mengejutkan jika pemrosesan sinyal 100MHz + masih belum memiliki setidaknya beberapa tahap analog.
sumber
Sangat sedikit dari desain mikrokontroler saya saat ini yang membutuhkan logika diskrit. Pengecualian adalah menerapkan jenis reset Ctrl-Alt-Del di mana menekan dua tombol khusus pada keyboard khusus selama dua detik akan melakukan pengaturan ulang mikro yang sulit. Saya menggunakan gerbang NOR (digunakan sebagai gerbang AND dengan 2 input terbalik), sebuah gerbang AND, dan 74HC123. Nyaman untuk bisa mendapatkan gerbang spesifik yang saya butuhkan di gerbang tunggal dalam paket SMT, daripada 4 gerbang / paket di hari-hari DIP.
sumber
Saya memiliki kesempatan menjadi pengembang perangkat lunak selama bertahun-tahun dan sekarang bekerja sebagai insinyur elektronik.
Setiap sistem dengan kompleksitas dilengkapi dengan erro dan bug. Baik mikrokontroler dan IC memiliki kelebihan dan kekurangan berdasarkan area mereka masing-masing.
Untuk proyek skala kecil, IC lebih cepat, lebih murah, dan lebih andal daripada Microcontrollers. Untuk proyek skala besar dengan jutaan input, analisis, dan logika perbandingan, pasti mikrokontroler memiliki keunggulan dibandingkan IC.
Semua perangkat lunak gagal pada beberapa titik, bahkan kode tanpa bug rentan terhadap modifikasi karena jika disimpan pada ROM, mengakibatkan kesalahan logis (misalnya, kebocoran memori) yang sulit untuk dideteksi tetapi kadang-kadang berakhir dengan bencana.
Untuk sistem berbasis perangkat lunak anti peluru dari kegagalan dalam aplikasi kritis (seperti kelas militer atau sistem penyelamatan jiwa seperti sistem kontrol kereta), konsep "gagal aman" diterapkan dan dikembangkan.
Sistem yang gagal gagal kembali ke kondisi aman jika terjadi kesalahan luar biasa. Biasanya dua prosesor menjalankan kode yang sama, membandingkan hasil dari setiap instruksi, dan jika mereka sama, instruksi tersebut dijalankan. Kalau tidak, sistem menggunakan relay listrik fisik untuk kembali ke keadaan aman.
Sistem berbasis perangkat lunak yang gagal digunakan dalam sistem Interlocking dan ATP (Automatic Train Protection) kereta.
Merancang sistem kompleks yang sama dengan Ics adalah sakit kepala yang hebat untuk setiap insinyur. Dan itulah mengapa perangkat lunak dirancang sejak hari pertama!
sumber
IC bisa sangat spesifik untuk domain. Saya sedang memikirkan decoder DTMF. Saya dapat memprogram mikrokontroler untuk memecahkan kode dua frekuensi, tetapi lebih mudah, lebih cepat, dan lebih murah untuk menggunakan chip yang tidak tersedia.
Saya pikir sangat penting untuk memiliki pengetahuan yang cukup tentang semua alat untuk mengetahui alat apa yang digunakan.
sumber
Ada satu perbedaan besar antara mendesain sesuatu menggunakan hanya komponen diskrit dibandingkan menggunakan pengontrol mikro; perangkat lunak memiliki bug. Jika keandalan merupakan aspek penting, dimungkinkan untuk memverifikasi desain sesuatu yang terbuat dari komponen diskrit. Bahkan Knuth tidak berani mengklaim bahwa perangkat lunaknya tanpa kesalahan.
Tentu saja, desain Anda mungkin memiliki kesalahan juga dan mereka mungkin hanya muncul dalam kasus yang sangat jarang, tetapi mereka akan lebih mudah untuk dipahami dan diperbaiki. Mungkin saja perangkat lunak gagal dengan cara yang sangat tidak jelas dan tidak jelas, yang tidak akan pernah Anda temukan.
sumber
Jawabannya iya!
Anda perlu melihatnya sebagai perancang perangkat keras dengan orientasi biaya produksi. 555 adalah IC lama yang dianggap sangat mendasar. Jika Anda seorang EE kemungkinan besar Anda telah melihatnya beberapa kali di kelas elektronik digital. Menyiapkannya sangat mudah karena Anda harus menyelesaikan 2 atau 3 rumus untuk sebagian besar aplikasi umum. Ini hampir tidak memerlukan waktu (karena Anda sudah tahu bagiannya dan cara menggunakannya serta matematika itu mudah). Jumlah waktu yang diperlukan untuk menyiapkan pengembangan bahkan untuk MCU 8-bit dan memvalidasi perangkat lunak bisa memakan waktu dari hari ke bulan, tergantung pada lingkungan tempat Anda bekerja. Jadi ini mungkin menjaga biaya teknik turun dengan jumlah yang Anda tidak bayangkan mungkin dan juga, mungkin, mempersingkat waktu ke pasar.
Kisah nyata - Saya dulu bekerja di perusahaan medis besar. Saya merancang pengujian jig untuk validasi produk. Jig adalah bagian perangkat keras dan perangkat lunak tertanam bagian. Produk yang perusahaan buat berinteraksi dengan bagian tubuh yang rentan sehingga jumlah inspeksi yang kami lakukan adalah gila. Kali ini, saya harus menyesuaikan protokol komunikasi untuk mencerminkan perubahan pada produk itu sendiri. Perubahan itu mungkin 10 baris kode dalam C dan osilator kristal juga ditukar sebagai baud rate diubah dan apa yang awalnya dipasang bukan 11,0592MHz ... Butuh waktu sekitar 2 jam untuk menyelesaikan ini termasuk dokumentasi. Biaya untuk perusahaan itu mungkin $ 300 atau kurang dengan pesanan dari Digikey untuk suku cadang baru. Validasi peningkatan pengujian jig memakan waktu beberapa bulan (! ) dan membuat sekitar 3 atau 4 orang sibuk setidaknya beberapa kali sehari dalam masalah terkait. Berapa biaya perusahaan ini? Mungkin utara dari $ 10K - $ 15K. Biaya ini mencerminkan biaya sebenarnya dari perubahan kecil dalam desain. Sering kali Anda dapat menyimpannya dan mengetahui beberapa solusi yang hampir siap pakai dapat menghemat sedikit uang.
sumber