Kategori: Artikel Pilihan » Elektronik Praktikal
Bilangan pandangan: 49294
Komen pada artikel: 0

Bagaimana penukaran isyarat analog kepada digital

 

Dalam elektronik, isyarat terbahagi kepada: analog, diskret dan digital. Untuk memulakan, semua yang kita rasakan, lihat, mendengar, untuk sebahagian besar, adalah isyarat analog, dan apa yang dilihat pemproses komputer adalah isyarat digital. Ia tidak terdengar sangat jelas, jadi mari kita berurusan dengan definisi ini dan bagaimana satu jenis isyarat ditukarkan kepada yang lain.

Bagaimana penukaran isyarat analog kepada digital

Jenis isyarat

Dalam perwakilan elektrik, isyarat analog, berdasarkan namanya, adalah analog daripada nilai sebenar. Contohnya, anda merasakan suhu persekitaran sentiasa sepanjang hayat anda. Tiada rehat. Pada masa yang sama, anda merasakan bukan sahaja dua tahap "panas" dan "sejuk", tetapi jumlah sensasi yang tak terhingga yang menggambarkan nilai ini.

Bagi seseorang, "sejuk" boleh berbeza, ia adalah kesejukan musim gugur dan fros musim sejuk, dan fros cahaya, tetapi tidak selalu "sejuk" adalah suhu negatif, sama seperti "hangat" tidak selalu suhu yang positif.

Jenis isyarat

Ia mengikuti bahawa isyarat analog mempunyai dua ciri:

1. Kesinambungan masa.

2. Bilangan nilai isyarat cenderung tidak terbatas, iaitu Isyarat analog tidak boleh dibahagikan kepada bahagian-bahagian atau ditentukur dengan memecah skala ke dalam bahagian tertentu. Kaedah pengukuran - berdasarkan unit pengukuran, dan ketepatannya bergantung hanya pada harga pembahagian skala, semakin kecil ukurannya, pengukuran yang lebih tepat.


Isyarat diskret - ini adalah isyarat yang merupakan urutan laporan atau pengukuran magnitud apa-apa. Pengukuran isyarat tersebut tidak berterusan, tetapi berkala.

Saya akan cuba menjelaskan. Jika anda memasang termometer di suatu tempat, ia mengukur nilai analog - ini berikut dari yang di atas. Tetapi anda, sebenarnya mengikuti kesaksiannya, mendapatkan maklumat diskret. Diskret bermaksud berasingan.

Sebagai contoh, awak bangun dan mengetahui sejauh mana darjah termometer itu, pada masa akan datang anda melihatnya pada termometer pada tengah hari, dan kali ketiga pada sebelah petang. Anda tidak tahu berapa cepat suhu berubah, sama rata, atau dengan lompat tajam, anda hanya tahu data pada saat itu dalam masa yang anda perhatikan.


Isyarat digital Adakah satu set tahap, jenis 1 dan 0, tinggi dan rendah, sama ada atau tidak. Kedalaman refleksi maklumat dalam bentuk digital adalah terhad oleh kedalaman bit peranti digital (satu set logik, mikrokontroler, pemproses dan sebagainya). Ternyata ia sangat sesuai untuk menyimpan data Boolean. Sebagai contoh, kita boleh menyebut perkara berikut, untuk menyimpan data seperti "Hari" dan "Malam", 1 bit maklumat sudah cukup.


Bit - ini adalah jumlah minimum maklumat dalam bentuk digital, ia boleh menyimpan hanya dua jenis nilai: 1 (unit logik, tahap tinggi), atau 0 (logik sifar, tahap rendah).

Dalam elektronik, sedikit maklumat diwakili dalam bentuk voltan rendah (hampir dengan 0) dan tahap voltan tinggi (bergantung pada peranti tertentu, seringkali bertepatan dengan voltan bekalan nod digital yang diberikan, nilai-nilai tipikal adalah 1.7, 3.3.5V, 15V).

Isyarat digital

Semua nilai perantaraan antara tahap rendah dan tinggi yang diterima adalah rantau peralihan dan mungkin tidak mempunyai nilai khusus, bergantung kepada litar, kedua-dua peranti secara keseluruhan dan litar dalaman mikrokontroler (atau mana-mana peranti digital lain) mungkin mempunyai tahap peralihan yang berbeza, misalnya, untuk 5 logik-voltan, nilai voltan dari 0 hingga 0.8V boleh diambil sebagai sifar, dan dari 2V hingga 5V sebagai satu unit, manakala jurang antara 0.8 dan 2V adalah zon yang tidak ditentukan, sebenarnya, ia membantu untuk mengasingkan sifar daripada perpaduan.

Nilai yang lebih tepat dan luas yang anda perlukan untuk menyimpan, lebih banyak bit yang anda perlukan, kami memberikan jadual contoh dengan paparan digital empat nilai masa hari:

Malam - Pagi - Hari - Petang

Untuk ini, kita memerlukan 2 bit:

Contoh dengan paparan digital empat nilai masa hari

Analog kepada penukaran digital

Dalam kes umum, penukaran analog-ke-digital ialah proses menukarkan kuantiti fizikal ke dalam nilai digital. Nilai digital adalah satu set unit dan nol yang dilihat oleh peranti pemprosesan.

Transformasi sedemikian diperlukan untuk interaksi teknologi digital dengan persekitaran.

Oleh kerana isyarat elektrik analog mengulangi isyarat masukan dalam bentuknya, ia tidak boleh direkodkan secara digital "kerana ia" kerana ia mempunyai bilangan nilai tak terhingga. Satu contoh ialah proses rakaman bunyi. Ia dalam bentuk aslinya kelihatan seperti ini:

Bunyi Primer

Ia adalah jumlah gelombang dengan frekuensi yang berbeza. Yang, ketika mengurai dalam frekuensi (untuk butiran lebih lanjut, lihat Transformasi Fourier), satu cara atau yang lain, dapat dibawa dekat dengan gambar yang sama:

Gelombang bunyi

Sekarang cuba untuk membentangkannya dalam bentuk satu set jenis "111100101010100", agak sukar, bukan?

Satu lagi contoh keperluan untuk menukarkan kuantiti analog kepada digital adalah ukurannya: termometer elektronik, voltmeters, ammeters dan instrumen pengukur lain berinteraksi dengan kuantiti analog.



Bagaimanakah penukaran itu berlaku?

Pertama, lihat gambarajah penukaran biasa isyarat analog kepada digital dan sebaliknya. Kemudian kita akan kembali kepadanya.

Analog kepada penukaran digital

Malah, ini merupakan proses yang rumit, yang terdiri daripada dua peringkat utama:

1. Pengecapan isyarat.

2. Kuantisasi mengikut tahap.

Discretisasi isyarat ialah penentuan selang masa yang mana isyarat diukur. Semakin pendek jurang ini, pengukuran yang lebih tepat. Tempoh pensampelan (T) ialah tempoh masa dari awal bacaan data sampai akhir. Kadar pensampelan (f) adalah kebalikan dari:

fd = 1 / T

Selepas membaca isyarat, ia diproses dan disimpan dalam ingatan.

Ternyata pada masa pembacaan isyarat dibaca dan diproses, ia dapat berubah, oleh itu, nilai yang diukur itu terdistorsi. Terdapat seperti teorem Kotelnikov dan peraturan berikut yang berikut:

Kekerapan pensampelan hendaklah sekurang-kurangnya 2 kali lebih besar daripada kekerapan isyarat sampel.

Ini adalah tangkapan skrin dari Wikipedia, dengan petikan dari teorem.

Teorem Kotelnikov

Untuk menentukan nilai berangka, kuantisasi mengikut tahap diperlukan. Kuantum ialah julat nilai tertentu yang diukur, purata dikurangkan kepada bilangan tertentu.

X1 ... X2 = Xy

I.e. isyarat dari X1 hingga X2, bersamaan dengan nilai tertentu Xy. Ini menyerupai harga bahagian meter penunjuk. Apabila anda mengambil bacaan, anda sering menyamakannya dengan tanda terdekat pada skala instrumen.

Jadi, dengan kuantisasi mengikut tahap, semakin banyak, pengukuran yang lebih tepat dan lebih banyak tempat perpuluhan (seratus, seribu dan sebagainya) mereka boleh mengandungi.

Lebih tepat lagi, bilangan tempat perpuluhan agak ditentukan oleh resolusi ADC.

Pengkuantuman aras

Gambar menunjukkan proses kuantisasi isyarat menggunakan satu bit maklumat, seperti yang saya nyatakan di atas, apabila, apabila batas tertentu melebihi, nilai tahap tinggi diterima.

Di sebelah kanan adalah kuantisasi isyarat, dan rekod dalam bentuk dua bit data. Seperti yang anda lihat, fragmen isyarat ini telah dibahagikan kepada empat nilai. Ternyata sebagai akibatnya, isyarat analog yang lancar berubah menjadi isyarat digital "langkah".

Bilangan tahap kuantisasi ditentukan oleh formula:

Bilangan tahap kuantisasi

Di mana n adalah bilangan bit, N ialah tahap kuantisasi.

Berikut ialah contoh isyarat yang pecah ke dalam bilangan kuota yang lebih besar:

Kuantisasi ADC

Ini menunjukkan dengan jelas bahawa semakin sering nilai isyarat diambil (semakin tinggi frekuensi persampelan), semakin tepat ia diukur.

Mengubah isyarat analog kepada digital

Imej ini menunjukkan penukaran isyarat analog ke dalam bentuk digital, dan di sebelah kiri paksi ordinasi (paksi menegak) adalah rakaman digital 8-bit.


Analog kepada Digital Converters

ADC atau penukar analog-ke-digital boleh dilaksanakan sebagai peranti berasingan atau disepadukan ke dalam mikropengawal.

Sebelum ini, mikrokontroler, sebagai contoh, keluarga MCS-51, tidak mengandungi ADC, mikrocircuit luar digunakan untuk ini, dan ia perlu menulis subrutin untuk memproses nilai IC luaran.

Input analog pada Papan Arduino

Kini mereka berada dalam mikrokontroler yang paling moden, contohnya AVR AtMEGA328, yang merupakan asas paling popular papan litar Arduino, ia dibina ke dalam MK sendiri. Dalam Arduino, membaca data analog adalah mudah dengan perintah AnalogRead (). Walaupun mikropemproses, yang dipasang di Raspberry PI yang tidak kurang popular, tidak mempunyainya, jadi tidak semuanya sangat mudah.

Sebenarnya terdapat sejumlah besar pilihan bagi penukar analog-ke-digital, masing-masing mempunyai keburukan dan kelebihannya sendiri. Menggambarkan yang dalam artikel ini tidak masuk akal, kerana ini adalah sejumlah besar material. Pertimbangkan hanya struktur umum sesetengah daripada mereka.

Pilihan ADC yang tertua adalah paten Paul M. Rainey, "Sistem Telegraf Faksimili," A.S. Paten 1,608,527, Diterbitkan pada 20 Julai 1921, Diterbitkan pada 30 November 1926. Ini adalah ADC penukaran langsung 5-bit. Dari nama paten, fikiran datang bahawa penggunaan peranti ini dihubungkan dengan penghantaran data melalui telegraf.

ADC pertama

Jika kita bercakap mengenai ADC moden penukaran langsung, mereka mempunyai skim berikut:

Litar ADC

Ini menunjukkan bahawa input adalah rantaian daripada pencariyang mengeluarkan isyarat mereka apabila mereka menyeberangi beberapa isyarat ambang. Ini adalah kedalaman dan kuantisasi sedikit. Sesiapa pun walaupun sedikit litar yang kuat, melihat fakta ini jelas.

Siapa yang tidak kuat, maka litar input berfungsi dengan cara ini:

Isyarat analog adalah input kepada input "+", sekaligus. Output dengan penunjuk "-" menerima voltan rujukan, yang diuraikan menggunakan rantaian perintang (pembahagi rintangan) ke dalam sejumlah voltan rujukan. Contohnya, satu siri rantai ini kelihatan seperti nisbah ini:

Urefi = (1/16, 3/16, 5/16, 7/16, 9/16, 11/16, 13/16) * Uref

Dalam kurungan, koma menunjukkan bahagian mana voltan rujukan voltan Uref dibekalkan kepada input setiap voltan input.

I.e. setiap elemen mempunyai dua input apabila voltan masukan ditandatangani «+» melebihi voltan input dengan tanda "-", unit logik muncul pada outputnya. Apabila voltan pada input positif (tidak terbalik) adalah kurang daripada input negatif (terbalik), maka output adalah sifar.

Pembanding

Voltan dibahagikan supaya voltan masukan dibahagikan kepada bilangan digit yang dikehendaki. Apabila voltan di input mencapai output dari elemen yang sama, isyarat muncul, litar pemprosesan menghasilkan isyarat "betul" dalam bentuk digital.

Perbandingan sedemikian adalah baik pada kelajuan pemprosesan data, semua elemen litar masukan dicetuskan secara selari, kelewatan utama ADC jenis ini terbentuk daripada penundaan 1 komparator (mereka secara serentak dicetuskan secara serentak) dan kelewatan adalah pengekod.

Walau bagaimanapun, terdapat kelemahan besar litar selari - ini adalah keperluan untuk sebilangan besar komparator untuk mendapatkan ADC resolusi tinggi. Untuk mendapatkan, sebagai contoh, 8 digit, anda memerlukan 2 ^ 8 pembanding, dan ini sebanyak 256 keping. Untuk sepuluh-bit (dalam ADC 10-bit Arduino, dengan cara, tetapi jenis yang berbeza), anda memerlukan 1024 comparators. Hakim sendiri untuk kesesuaian pilihan perawatan tersebut, dan jika diperlukan.

Terdapat jenis ADC lain:

  • penghampiran berturut-turut;

  • delta sigma ADC.

Kesimpulannya

Mengubah isyarat analog kepada digital diperlukan untuk membaca parameter dari sensor analog. Terdapat jenis sensor digital yang berasingan, sama ada litar bersepadu, contohnya DS18b20 - pada outputnya sudah ada isyarat digital dan ia boleh diproses oleh mana-mana mikrokontroler atau mikropemproses tanpa memerlukan ADC, atau sensor analog pada papan yang sudah mempunyai penukar sendiri. Setiap jenis sensor mempunyai kebaikan dan keburukannya, seperti kekebalan bunyi dan ralat pengukuran.

Pengetahuan tentang prinsip penukaran diperlukan untuk semua orang yang bekerja dengan mikrokontroler, kerana tidak semua sistem moden mempunyai penukar yang dibina, anda perlu menggunakan microcircuits luar. Sebagai contoh, kita boleh menyebut apa-apa papan yang direka khusus untuk penyambung GPI Raspberry PI dengan ketepatan ADC pada ADS1256.

Lihat juga di i.electricianexp.com:

  • Menyambung sensor analog ke Arduino, membaca sensor
  • Apakah perbezaan antara sensor analog dan digital
  • Isyarat digital dan analog: apakah persamaan dan perbezaan, kebaikan dan keburukan ...
  • Sensor yang paling popular untuk Arduino
  • Pemicu Schmitt - pandangan umum

  •