利用I/O模擬多路復用器PSoC簡化傳感器控制設計
賽普拉斯公司的CY8C21×34可編程系統(tǒng)級芯片(PSoC)混合信號陣列具有一個I/O模擬多路復用器,由于每個引腳都可以被用作一個模擬輸入,因此采用單個SoC便能夠輕松實現(xiàn)需要大量不同類型傳感器的控制應用。本文介紹了在多種傳感器控制應用中如何利用該器件來簡化設計。
本文引用地址:http://cafeforensic.com/article/202007/415270.htm工業(yè)控制應用常常需要許多模擬輸入,即使是具有一個PWM輸出的最簡單的風扇控制器也有可能需要對數(shù)量眾多的溫度傳感器進行監(jiān)控。模擬輸入是寶貴的資源,經(jīng)常很快就會被消耗殆盡。在很多場合,設計工程師不得不采用一個更加昂貴的部件,從而導致一些多余的空閑資源,或者必須增加外部多路復用器,以滿足對模擬輸入信號訪問次數(shù)增加的需要。而且,傳感器并不總是提供一個緩沖輸出電壓,它們有可能將信號轉(zhuǎn)換成某些非電壓參數(shù),比如電阻或電容。在不少情況下,信號調(diào)節(jié)的成本會超過控制器的成本。
在選擇控制器的時候,始終存在這樣一個問題,那就是設計工程師必須規(guī)定多少個模擬輸入。對于一個只需要6個輸入的系統(tǒng)而言,8個輸入是否足夠?需求會不會繼續(xù)提高?一個特定的控制器系列能夠處理多少個模擬輸入?如果我的設計需要升級至一個具有更多輸入的器件,那么我的可選方案是什么?這種選擇必須在竭力滿足項目的成本要求、并同時順應客戶和市場部門不斷變化的規(guī)格要求的情況下做出。一種簡單的解決方案便是使每個引腳都能夠成為一個模擬輸入,而這在過去是做不到的,I/O模擬多路復用器將其變?yōu)榱爽F(xiàn)實。
I/O模擬多路復用器是一種大型交叉開關,它允許將任何引腳連接至一個控制系統(tǒng)的模擬陣列。就是這樣的一個多路復用器被內(nèi)置于CY8C21x34可配置混合信號陣列之中。該器件每個引腳均具有一個開關,當某個開關被選擇時,則將其所在的引腳與一根模擬總線相連。該控制器系列提供了多達28個I/O引腳,每個引腳都有可能成為一個模擬輸入。該總線還與一個模擬陣列相連。模擬陣列由4個可配置模塊組成,當這些模塊與數(shù)字資源組合在一起時,將形成復雜的信號處理器??赡艿哪M功能包括10位模擬-數(shù)字轉(zhuǎn)換器(ADC)和比較器。
圖2:具有電流DAC的模擬多路復用器。
傳感器是一種換能器,用于把某種物理量變換成可進行電氣測量的參數(shù)。對于許多換能器來說,這種轉(zhuǎn)換的最終結(jié)果是電壓。例如,LM35溫度傳感器就提供了一個與溫度成正比的輸出電壓。溫度的測量只需對輸出電壓進行數(shù)字化處理,采用適當?shù)霓D(zhuǎn)換公式(在本例中為:Temp=Vmeasured/10mV)即可把電壓轉(zhuǎn)換成溫度。
以一個需要在系統(tǒng)中測量16處溫度的控制應用為例,簡單的做法是在所需之處安放傳感器并將其各自連接至一個引腳。模擬陣列被配置為一個ADC并連接至模擬總線。利用該拓撲結(jié)構,即可將每個傳感器順序連接至模擬總線并進行數(shù)字化處理。某些類型的傳感器具有一個阻性輸出,此類傳感器包括熱敏電阻、光電管、應力計和傳導單元。這些傳感器的信息讀出需要通過電阻測量來完成,通常的做法是采用一個DC電流來模擬傳感器輸出并測量負載電壓。
為了方便電阻的測量,在CY8C21x34的模擬總線上增設了一個可編程電流DAC。該電流DAC可在兩個范圍內(nèi)進行選擇和調(diào)節(jié):0~20μA或0~400μA。如需讀出電阻,則只要把傳感器連接至一個與模擬總線相連的引腳并開啟電流DAC即可,將會產(chǎn)生一個與電阻和電流的乘積相等的負載電壓??衫帽慌渲脼锳DC的模擬模塊來讀出該電壓。對該設計方案進行校準的方法之一是犧牲一個引腳來連接一個外部基準電阻器。首先測量基準電阻,測得的電壓始終與電阻成正比;接著測量傳感器電阻,在已知測量電壓和基準電阻器阻值的情況下,即可計算傳感器電阻:
現(xiàn)在,傳感器電阻讀數(shù)的準確度僅受限于基準電阻器的準確度和ADC的分辨率。任何增益誤差都不會被帶入計算之中。
然后,假設先前討論的控制應用在規(guī)格上有一個變化,即要求用熱敏電阻來代替LM35。所選的特定熱敏電阻具有10kW/25℃的標稱電阻,簡單的實現(xiàn)方法是把熱敏電阻布設于所需的位置并將它們各自連接至一個引腳。將一個多余的引腳連接至10kW基準電阻器,并設定電流DAC產(chǎn)生一個100μA的電流。通過將模擬陣列配置為一個ADC,即可順序測量每個負載電壓并計算所有熱敏電阻的阻值,再利用合適的方程來把這些電阻值轉(zhuǎn)換為溫度值。
圖3:具有放電電路的模擬多路復用器。
有些類型的傳感器具有容性輸出,其中包括加速計和壓力傳感器。與產(chǎn)生DC負載電壓的阻性傳感器不同,當采用DC電流來激勵時,容性傳感器將產(chǎn)生一個斜坡電壓,斜率與激勵電流成正比,而與測量電容成反比。為了方便該轉(zhuǎn)換速率的測量,在CY8C21x34的模擬總線上增設了一個放電開關。當被選擇時,該開關將把模擬總線放電至地電位??刹捎枚喾N可配置資源來控制其操作。如欲測量斜坡,則把模擬模塊配置成采樣比較器。
比較器的輸出負責控制放電開關。該拓撲結(jié)構形成了一個弛張振蕩器(relaxaTIon oscillator)。當斜坡電壓上升至跳變點(trip point)時,比較器將關閉放電通路并重新把模擬總線放電至地電位。然后,比較器釋放開關,電壓繼續(xù)上升。比較器輸出被饋送至配置了一個頻率計數(shù)器或周期定時器的數(shù)字部分。電容值可以從測量的數(shù)字信號推導出來。
現(xiàn)在,假設一個需要測量壓力的控制應用。微加工技術的發(fā)展使得能夠利用固定在玻璃襯底上的硅薄膜來制作廉價的壓力傳感器。壓力的變化會使薄膜產(chǎn)生偏移,從而導致電容的改變。然而,熱膨脹也會引發(fā)電容的變化,使得這些傳感器容易受到溫度的影響。相應的解決方案是在相同的襯底上設置一個基準電容器,并測量兩個電容的比值。
在測量壓力時,將兩個容性輸出均與PSoC引腳相連。模擬部分如今被配置為一個具有1.3V觸發(fā)電平的采樣比較器,并用于控制放電開關。電流源被設定為10μA。對于一個10pF的標稱電容,產(chǎn)生的電壓變化斜率為1V/μs。在該速率條件下,斜坡電壓將需要1300ns的時間才能達到1.3V的跳變點。數(shù)字部分計算出的頻率為769kHz。測量頻率與測量電容成反比。對每個電容進行順序測量,并計算一個比值。這兩個數(shù)值之比將消除任何由于電流源或用于計算頻率的系統(tǒng)時鐘的不精確性所引發(fā)的誤差
評論