在這個答案中,我讀到微控制器通常沒有DAC,而有ADC。這是為什麼?
edit
我很欣賞像在R-2R DAC中集成電阻器的房地產價格很高(感謝Mike,您的回答)開關電流DAC可以做得非常小,因為它們只需要幾個晶體管。
在這個答案中,我讀到微控制器通常沒有DAC,而有ADC。這是為什麼?
edit
我很欣賞像在R-2R DAC中集成電阻器的房地產價格很高(感謝Mike,您的回答)開關電流DAC可以做得非常小,因為它們只需要幾個晶體管。
首先,某些微控制器確實具有D / A轉換器。但是,它們遠不如A / D轉換器常見。
除了技術問題之外,主要原因還在於市場需求。想一想。什麼樣的應用程序需要真實的D / A?除非要進行信號處理,否則希望微控制器產生相當高速的模擬信號是非常罕見的。但是,音頻的主要市場是音頻,與使用數字微控制器的相同過程所需要的分辨率相比,它需要更高的分辨率。因此,無論如何,音頻將使用外部A / D和D / As。用於此類應用的DSP具有內置的通信硬件,可與此類外部設備(例如I2S)進行通信。
否則,對於普通控制應用,該策略是在處理過程的早期就轉換為數字,然後保持東西數字化。這為A / D辯護,但是D / A沒用,因為您不想回到模擬。
微控制器通常控制的事情是通過PWM(脈衝寬度調製)控制的。開關電源和D類音頻固有地對脈冲起作用。電機控制,螺線管控制等全部通過脈沖完成,以提高效率。您希望通過元件完全導通或完全截止,因為理想的開關不會消耗任何功率。在大型系統中或輸入功率稀少或昂貴的情況下(例如電池運行),開關係統的效率很重要。在許多中等情況下,使用的總功率不是問題,而是要消除熱量浪費的功率。與10 W線性電路相比,耗散1 W而不是10 W的開關電路在電子零件上的成本可能要高一些,但總體上要便宜得多,因為您不需要具有相關尺寸和重量的散熱器,也可以使用強制空氣冷卻技術等。開關技術通常也應容許較寬的輸入電壓範圍。
請注意,在微控制器中非常常見的PWM輸出可用於在需要模擬信號的異常情況下產生模擬信號。只要您具有足夠的分辨率*速度乘積,對PWM輸出進行低通濾波是從微控制器產生模擬信號的最簡便方法。濾波後的PWM輸出具有很好的單調性和高度線性性,並且分辨率與速度之間的權衡是很有用的。
您有什麼特別的想法要記住嗎?可能是可以通過低通濾波PWM解決的,或者仍然需要外部D / A以獲得更高的分辨率*速度。濾波後的PWM與外部信號之間的差距非常小,實際需要這種信號的應用程序的類型也很窄。
還有兩個尚未提及的問題:
在很多情況下,一個部件需要能夠測量多個引腳上的電壓,但不能同時測量。可以使用單個ADC以及每個引腳一個通過門來完成此任務。相比之下,大多數需要多個DAC輸出的部件將同時需要它們。
將ADC與外界連接的電路必須只能傳輸足夠的電流對ADC輸入電路上的任何蓄意或寄生電容充電或放電。不僅電流很小,而且基本上與應用程序無關。與“最壞情況”的當前處理要求所需要處理的額外面積相比,在有利的應用環境中可以工作的某些東西所需要的額外面積可以忽略不計。相比之下,不同的DAC應用將具有不同的電流源或吸收電流要求,並且滿足這些要求所需的芯片面積將有很大的差異。將一個芯片的面積的20%花費在完全適合某個應用程序要求的幾個DAC上是明智的,但是在僅佔5%的較小DAC足夠的應用程序上花費20%的芯片面積就不太合適了。
順便說一句,我未曾見過的一種常用技術是將DAC與PWM結合使用。使用R / 2R DAC時,很容易添加一個重量與LSB相同的額外輸入(例如,一個3 + 1輸入DAC的權重為1 / 2、1 / 4、1 / 8和1/8)。採用8位DAC並向其添加PWM信號可以產生12位結果,而噪聲是12位PWM的1/128,但其成本低於使用線性相當的12位DAC。
正如Olin所說,某些MCU確實具有DAC。看一下賽普拉斯的PSoC3和PSoC5。它們包含多達兩個DAC。這些對於在放大前需要修整電壓的模擬感測應用非常有用。
例如,我們使用一個來測量壓力傳感器的輸出。每個壓力傳感器芯片都有一個隨機的電壓偏移量。當MCU復位時,它將DAC電壓設置為剛好低於傳感器的輸出。然後放大這兩個電壓之間的差異。
能夠將ADC,DAC,運算放大器和MCU都集成在一個芯片中,真是太好了。
在2017年重新審視此問題,現在有許多微控制器系列包括DAC(除了上面列出的Cypress PSOC和PIC):
搜索Digikey 產品索引>集成電路(IC)>嵌入式-微控制器給出了一個列表,其中一列標有“數據轉換器”