我們都知道單片機只能識別0或1兩種數字信號,但是現實世界所有的存在都以具體的模擬量為主,比如電壓,電流,氣壓,質量等等,那單片機要怎么才能和這些信號打交道呢? 要是沒有“交流”那電子世界不就會亂套了,那可能比哥倫布剛發(fā)現印第安人那刻還亂吧。 是不是就必須得有工具來“翻譯”這些信息了,這里就不得不利用數模轉換功能了,學了電子技術基礎的朋友應該都有印象吧。 它們就像單片機與外界信息交流的翻譯官。
我們做項目開發(fā)時基本都會用到數模轉換(A/D、D/A),尤其是A/D單元,幾乎是項目必用的。 所以它們的地位還是很重要的,基礎版的51單片機內部是沒有集成這些單元的,所以課本上介紹這些知識時都會使用外接芯片來講解,但是現在新出的芯片幾乎都是內部集成數模轉換功能,只要對著手冊在程序中設置一下引腳功能就可以進行操作了。 所以之前的內容中我一直沒介紹外接數模轉換芯片這一塊的知識,現在來介紹這一部分內容也是比較尷尬的事,畢竟介紹再多工作中用到的概率不大。 所以今天就寫些一看就懂的內容,書本上有的電路,程序就不舉例說明了。
A/D和D/A轉換模型分類都比較多,這些細節(jié)可以參考相關書籍做了解。 反正說白了,數模轉換原理是簡單的,普通的模塊也是廉價的,不然現在的MCU也不會集成它。 但是高性能的數模轉換芯片國內現在是欠缺的,這就影響了國內工業(yè)在很多高精行業(yè)芯片不得不依靠進口。 長江后浪推前浪,但愿這些可以早日突破吧。
A/D轉換基礎
A/D變換就是將模擬信號轉換為數字信號傳入給單片機,通常用于單片機采集各類信號,最終都會以檢測電壓的形式體現出來,轉換過程通常包含采樣、量化和編碼3個步驟。
A/D轉換步驟
采樣是將連續(xù)的模擬信號變成不連續(xù)的模擬信號,就像控制一個快速開關,開關定時開啟閉合過程,一個連續(xù)的模擬信號就形成一系列的脈沖信號,稱為采樣信號。
在理想數據采集系統(tǒng)中,只要滿足采樣定理——采樣頻率不小于被采集信號最高頻率的2倍(即fs ≥2fmax ),則采樣輸出信號就可以無失真的重現原輸入信號,而在實際應用中通常會設置更高的采樣頻率,當然采樣頻率越高,計算量就越大,對芯片的處理能力要求就越高。 比如我們測試心率,胎兒到大人每分鐘心率從四五十到兩百多都有可能。 即每秒最多4次,那我們的采樣頻率是不是設置8Hz就能測出心率了呢? 當然不是這樣的,即使是80hz也不一定能測出準確的數據,實際開發(fā)中我們得設置幾百Hz甚至上千Hz的采樣頻率。
量化過程是將模擬信號變成數字信號的過程,輸入信號的幅值變化就與實際的數值對應起來,完成了從模擬到數字的變換; 量化過程也會引入誤差,增加采樣頻率和幅值的表示位數可以減少誤差。 將量化過程得到的量化值進行二進制編碼,對相同范圍的模擬量,編碼位數越多,量化誤差越小。
轉換過程
D/A轉換基礎
與A/D轉換相反,D/A轉換就是使用單片機輸出模擬信號,和A/D一樣也是有轉換精度的,最常見的應用就是波形發(fā)生器,汽車,儀表類行業(yè)對這個要求會比較高。
并行D/A轉換原理
正如圖中所畫,D/A轉換時恰好和A/D轉換相反,內部由多個按一定規(guī)律設計的阻電阻網絡的控制開關,通過比較器逐級比較從而輸出與設計值最接近的模擬量。
-
單片機
+關注
關注
6035文章
44554瀏覽量
634632 -
mcu
+關注
關注
146文章
17123瀏覽量
350980 -
模擬信號
+關注
關注
8文章
1128瀏覽量
52442 -
數字信號
+關注
關注
2文章
969瀏覽量
47538 -
數模轉換
+關注
關注
3文章
107瀏覽量
28982
發(fā)布評論請先 登錄
相關推薦
評論