如何在微控制器上運(yùn)行片上 AD 轉(zhuǎn)換器
我們已經(jīng)花費(fèi)了大量篇幅討論如何添加速度更快、精度更高的 A/D 轉(zhuǎn)換器。有些應(yīng)用程序需要更高的功能。但大多數(shù)制造商已經(jīng)在他們選擇的模塊上安裝了一個“免費(fèi)”的 A/D 轉(zhuǎn)換器——集成在微控制器或片上系統(tǒng) (SoC) 中。這些集成轉(zhuǎn)換器各不相同。讓我們不關(guān)注詳細(xì)的規(guī)格,而是看看制造商可能獲得的一些功能以及如何使用它們。
設(shè)置一些模擬通道
大多數(shù)集成 A/D 轉(zhuǎn)換器使用逐次逼近寄存器 (SAR) 架構(gòu)。對于半導(dǎo)體公司而言,SAR 是一個不錯的中間選擇。簡單,不占用小芯片太多空間,校準(zhǔn)容易。對于制造商而言,集成 SAR A/D 通常提供高達(dá)幾百 kHz 的采樣率和高達(dá) 12 位的分辨率。分辨率通常是可調(diào)的,例如沒有過采樣的 8 位,以及為降噪而過采樣的 12 位。
引腳數(shù)通常是一個考慮因素,尤其是對于非常小的、廉價的微控制器。對于具有更多引腳的較大部件,可能有相當(dāng)多的模擬通道,從 6 個到 12 個。問題是芯片上只有一個 A/D 轉(zhuǎn)換器,在它前面,有一個模擬多路復(fù)用器提供通道。多路復(fù)用的一個含義是沒有一些額外的電路。所有通道都具有相同的采樣率。這可能會影響具有不同類型傳感器的應(yīng)用程序。
多花幾美元,一些集成解決方案可能會有一些改進(jìn)。兩個多路復(fù)用器支持差分輸入,而不是單端輸入,以實(shí)現(xiàn)更好的噪聲抑制。組中可能有一個特殊的通道可配置為與其他通道不同的采樣率。與微控制器本身的數(shù)字電源軌相比,外部電壓參考引腳可以允許更高的電壓源,以實(shí)現(xiàn)更寬的模擬輸入范圍,或更穩(wěn)定的電源以實(shí)現(xiàn)更高的精度。
簡單到高級的數(shù)據(jù)收集
對于低采樣率應(yīng)用,一個好的經(jīng)驗(yàn)法則是讓微控制器盡可能長時間地處于休眠狀態(tài)。在需要樣本時的簡單配置中,A/D 子系統(tǒng)會喚醒,進(jìn)行轉(zhuǎn)換并創(chuàng)建結(jié)果。由于轉(zhuǎn)換器時鐘和模擬建立時間,請求和讀取之間存在一些延遲。還有許多其他模式可以發(fā)揮作用。
大多數(shù)轉(zhuǎn)換器可以編程為自由運(yùn)行、定期采樣和存儲結(jié)果。需要注意的一點(diǎn)是,采樣率不是無限可編程的,因?yàn)樗鼈兪菚r鐘源的二進(jìn)制倍數(shù)。隨著采樣率的增加,讀取 A/D 數(shù)據(jù)會消耗越來越多的微控制器可用處理時間。
移動數(shù)據(jù)是任何微控制器都可以做的最耗時的操作之一。許多高級部件提供直接內(nèi)存訪問 (DMA),其中 A/D 子系統(tǒng)將數(shù)據(jù)直接寫入編程的內(nèi)存位置。這對于對數(shù)據(jù)塊進(jìn)行采樣,然后在采集完成后對其進(jìn)行處理非常方便。
一些 A/D 子系統(tǒng)提供外部觸發(fā),等待收集樣本,直到某些硬件事件發(fā)生。某些部件提供比較窗口或限制。當(dāng)讀數(shù)低于低閾值、高于高閾值或介于或超出閾值范圍時,將收集數(shù)據(jù)。這可以最大限度地減少微控制器的時間、存儲和工作,直到發(fā)生感興趣的事情。
片上 A/D 轉(zhuǎn)換器適用于何處
聽起來有很多選擇?如果一個人只需要編程手冊從頭開始,可能會有很多工作。許多寄存器需要按順序設(shè)置和管理,以使一切發(fā)生。供應(yīng)商已經(jīng)意識到人們不喜歡難以使用的部件。通常有可供下載的軟件驅(qū)動程序可以完成大部分配置和讀取工作。
請記住,雖然供應(yīng)商提供的驅(qū)動程序通常用于簡單的用例,但更高級的功能可能需要編碼。瀏覽在線社區(qū)可能會找到創(chuàng)建和共享自定義驅(qū)動程序的人。
一些用例非常適合這些片上 A/D 轉(zhuǎn)換器。一種是需要同類型傳感器的多個通道;例如,八個溫度傳感器分布在發(fā)動機(jī)周圍。另一個是局部控制,例如設(shè)置閥門以獲得特定的壓力讀數(shù)。
微控制器功能越強(qiáng)大,其集成的 A/D 功能通常就越強(qiáng)大。如果有足夠的通道,并且采樣率和位分辨率對于應(yīng)用程序來說足夠,那么“免費(fèi)”轉(zhuǎn)換器值得一看。