引言
測(cè)控系統(tǒng)離不開傳感器,。由于各種傳感器的工作原理不同,,其最終輸出的電量形式各不相同,。即使同一類傳感器,其靈敏度,、測(cè)量范圍不同,,相同電信號(hào)代表的物理量也不盡相同。因此,,傳統(tǒng)的測(cè)控系統(tǒng),,必須對(duì)系統(tǒng)中的每一個(gè)傳感器進(jìn)行配置,傳感器類型,、靈敏度,、測(cè)量范圍等的細(xì)微改變都將導(dǎo)致系統(tǒng)(主要是軟件和部分硬件)的重新設(shè)置。若要增/減傳感器,,以改變測(cè)控系統(tǒng)的規(guī)模,,則需對(duì)整個(gè)系統(tǒng)(軟件、硬件及布線),。進(jìn)行重新配置,。這無疑極大地限制了測(cè)控系統(tǒng)的靈活性,制約了測(cè)控系統(tǒng)的擴(kuò)展性,。CAN的通信硬件接口簡(jiǎn)單,,通信線少,通信介質(zhì)可以為雙絞線,、同軸電纜或者光纜,。將測(cè)控系統(tǒng)配置為CAN總線結(jié)構(gòu),將目前廣泛應(yīng)用的各種模擬傳感器,,配以CAN總線接口,,使之成為CAN總線上的一個(gè)智能節(jié)點(diǎn),即易于實(shí)現(xiàn)傳感器的即插即用,,也提高了測(cè)控系統(tǒng)的靈活性和可擴(kuò)展性,。
1 傳感器/CAN智能接口系統(tǒng)構(gòu)成
傳感器/CAN智能接口的作用主要有兩點(diǎn):一是控制傳感器的信號(hào)調(diào)理,將傳感器的輸出模擬信號(hào)轉(zhuǎn)換為數(shù)字量,,并進(jìn)行相應(yīng)的處理,,形成可發(fā)送的CAN報(bào)文信息;二是控制CAN驅(qū)動(dòng)器,,收/發(fā) CAN總線上的報(bào)文信息,,并執(zhí)行相應(yīng)的智能控制。智能接口系統(tǒng)構(gòu)成如圖1所示,。
針對(duì)大多數(shù)模擬傳感器輸出信號(hào)較弱的特點(diǎn),,接口首先對(duì)傳感器信號(hào)進(jìn)行一級(jí)放大和濾波的預(yù)處理,預(yù)處理后的傳感器信號(hào)幅度在200 mV左右,,單端輸出,。此后對(duì)該信號(hào)的處理完全由基于SOC技術(shù)的混合信號(hào)微處理器C8051F041自動(dòng)完成,,如信號(hào)的程控放大、信號(hào)的零點(diǎn)校準(zhǔn),、信號(hào)的A/D變換,、信號(hào)的數(shù)字濾波以及CAN報(bào)文的形成和收發(fā)控制等;C8051F041是該接口的核心,,它不僅完成傳感器信號(hào)到CAN報(bào)文的轉(zhuǎn)換,;更通過對(duì)傳感器信號(hào)調(diào)理的智能控制和對(duì)CAN應(yīng)用層的編程,實(shí)現(xiàn)傳感器的即插即用,。
2 傳感器信號(hào)調(diào)理
考慮到絕大多數(shù)傳感器信號(hào)較弱,,且包含大量的噪聲信號(hào),因此需首先對(duì)傳感器輸出的模擬信號(hào)進(jìn)行必要的調(diào)理,,信號(hào)調(diào)理由信號(hào)預(yù)處理電路結(jié)合S0c中的模擬外設(shè)實(shí)現(xiàn),,如圖2所示。在此,,信號(hào)調(diào)理主要對(duì)傳感器信號(hào)進(jìn)行了必要的濾波,、放大和零點(diǎn)校準(zhǔn)。
2.1 傳感器信號(hào)的濾波處理
考慮到日益惡劣的電磁干擾環(huán)境,,對(duì)傳感器信號(hào)的濾波分兩級(jí)實(shí)現(xiàn):終級(jí)為利用SoC中的高速M(fèi)CU對(duì)采集的信號(hào)進(jìn)行數(shù)字濾波(不在此討論),;初級(jí)則是由信號(hào)預(yù)處理電路中R1、R2,、C1,、C2、C3,,組成抗射頻干擾濾波器來實(shí)現(xiàn),,如圖2所示。當(dāng)不考慮C3時(shí),,R1,、C1和R2、C2就構(gòu)成了傳感器兩輸出端至儀用放大器兩輸入端之間的兩低通濾波器,,時(shí)間常數(shù)t1=R1·C1,;t2=R2·C2。由于無論是傳感器至AD623之間的自然連線等效形成的t1和t2,,還是人為設(shè)計(jì)的低通濾波器的t1和t2,,都不能使RC完全匹配相等,即t1≠t2,;△t=t1-t2≠0,。這樣耦合到兩根連線上的干擾電磁波,即使是同頻,、同相位,、同幅值的共模信號(hào),進(jìn)入AD623進(jìn)行放大時(shí)也必然出現(xiàn)相位差,,并由此導(dǎo)致兩輸入端之間的幅值差,。當(dāng)干擾信號(hào)頻率較低時(shí),由于△t相對(duì)干擾信號(hào)的周期較小,,造成的兩輸入端之間的幅值差,,相對(duì)共模部分很小,利用AD623的共模抑制能力,,能對(duì)干擾信號(hào)進(jìn)行較好地抑制(共模部分被抑制,,差分部分影響較小);但當(dāng)干擾信號(hào)頻率較高時(shí),,則△t相對(duì)干擾信號(hào)的周期較大,,極端情況如兩路信號(hào)相位差180°時(shí),則同頻,、同相位,、同幅值的共模干擾信號(hào),進(jìn)入AD623時(shí)被合成為兩倍幅值的同頻差分信號(hào),,該差分信號(hào)不僅不能被抑制,,還被放大器放大,即被混疊到有效信號(hào)中,,難以消除,。為此,在兩低通濾波器之間跨接了電容C3,,這樣該濾波器的差分帶寬為:
其中:R=R1=R2,,C=C1=C2。
比較(1)(2)兩式可以看出,,當(dāng)不接入C3時(shí),,濾波器的差分帶寬等于共模帶寬。因此,,在帶寬范圍內(nèi)的共模信號(hào),,因RC不完全匹配(△t≠ 0)引起的幅值差,在帶寬范圍內(nèi),,濾波器不能將其濾除,。當(dāng)接入C3后,如果使C3=10C,,則差分帶寬比共模帶寬降低了20余倍,,因此可大量濾除因RC不匹配引起的差分信號(hào)。
2.2 傳感器信號(hào)的放大
對(duì)傳感器信號(hào)采用兩級(jí)放大,。第一級(jí)用信號(hào)預(yù)處理電路中的儀用放大器AD623,,進(jìn)行固定增益的信號(hào)放大,,增益G=100 kΩ/R3+1??筛鶕?jù)傳感器信號(hào)大小,,選擇增益(通過選取R3阻值獲得),使通過一級(jí)放大后的傳感器額定輸出信號(hào)達(dá)到200 mV左右,。第二級(jí)放大,,用SOC中的程控放大器(PGA)實(shí)現(xiàn);其可編程增益為0.5,、1,、2、4,、8,、16。理論上使一級(jí)放大后的傳感器額定輸出信號(hào)Vg1×16(二級(jí)放大最大增益)近似等于ADC的參考電壓(實(shí)際應(yīng)用中一般為2/3~3/4參考電壓),,從而最有效地利用ADC的分辨率,。
2.3 傳感器信號(hào)零點(diǎn)的補(bǔ)償與校準(zhǔn)
2.3.1 根據(jù)傳感器特性的補(bǔ)償
傳感器在工況條件發(fā)生變化時(shí),輸出信號(hào)會(huì)有相應(yīng)的變化,,該輸出信號(hào)的變化與被測(cè)物理量無關(guān),,即為漂移信號(hào)。當(dāng)傳感器給出相應(yīng)的特性值時(shí),,應(yīng)設(shè)計(jì)檢測(cè)該工況條件的傳感器,,實(shí)時(shí)監(jiān)測(cè)傳感器的工況條件,利用MCU求得補(bǔ)償量,,進(jìn)行補(bǔ)償,。導(dǎo)致傳感器零點(diǎn)漂移最常見的特性之一,是溫度特性,,為補(bǔ)償因溫度變化引起的漂移,,特選用了內(nèi)含溫度傳感器的SoC——C8051F041。由于該接口嵌入傳感器中,,因此其檢測(cè)到的溫度變化△t就是傳感器的溫度變化,,若已知傳感器的溫度系數(shù)為aT(1/℃),則補(bǔ)償量VTR為:
其中YFS為傳感器的額定輸出,。將該補(bǔ)償量疊加到傳感器信號(hào)中,,即可消除溫漂的影響。
2.3.2 根據(jù)傳感器應(yīng)用特征的補(bǔ)償
傳感器零點(diǎn)信號(hào)的漂移,,變化是非常緩慢的,,在一段時(shí)間內(nèi)的漂移量很小。當(dāng)傳感器工作于間歇方式且被測(cè)物理量的閾值遠(yuǎn)大于傳感器一個(gè)工作周期內(nèi)的漂移量時(shí),則當(dāng)傳感器輸出信號(hào)小于該閾值時(shí),,該輸出值即為補(bǔ)償量,,與傳感器信號(hào)疊加后使輸出信號(hào)為零。
為使傳感器信號(hào)與補(bǔ)償量疊加,,利用SOC中的12位DAC(如圖2所示)輸出一補(bǔ)償電壓VB接一級(jí)放大器AD623的參考端(引腳5),,則一級(jí)放大器輸出電壓Vout:
其中Vc為傳感器輸出的差分電壓信號(hào)’b1為一級(jí)放大器增益。
當(dāng)需進(jìn)行溫度補(bǔ)償時(shí),,使VB=VB0+VTB×b1,,其中VBO為當(dāng)前(補(bǔ)償前)的VB,。將(3)式代入則有:
從(6)式中的第2項(xiàng)可見,,含有溫度漂移的傳感器輸出信號(hào)Vc被修正,溫漂被補(bǔ)償,,零點(diǎn)被校準(zhǔn),。
當(dāng)傳感器工作于間歇方式,溫度補(bǔ)償后二級(jí)放大后輸出為V=Vout×b2,。當(dāng)V小于被測(cè)物理量的閾值時(shí),,V即為補(bǔ)償量-V,使
其中b2為二級(jí)放大器選擇的增益,,顯然再經(jīng)二級(jí)放大后的輸出將為0,,即零漂被補(bǔ)償了,零點(diǎn)被自動(dòng)校準(zhǔn)了,。
當(dāng)傳感器工作于非間歇方式,,或被測(cè)物理量的閾值很小,與一個(gè)工作周期內(nèi)的漂移量相當(dāng)時(shí),,則需采用人為的零點(diǎn)校準(zhǔn),。即當(dāng)傳感器處于零點(diǎn)時(shí),發(fā)出校準(zhǔn)指令,,收到指令后,,MCU立即將當(dāng)前二級(jí)放大后的電壓值V,通過(7)式疊加到信號(hào)中,,使輸出為零,,零點(diǎn)被校準(zhǔn)。
3 信號(hào)的A/D變換及定標(biāo)
CAN總線上傳送的信息為數(shù)字量,,為此,,選用SoC內(nèi)部的具有12位分辨率、最高轉(zhuǎn)換速度達(dá)到100 ksps的SAR ADC0,,將模擬量轉(zhuǎn)換為數(shù)字量(參見圖2),。該ADC的工作方式與啟動(dòng)方式,將在傳感器接入系統(tǒng)后,由主機(jī)確定,。
定標(biāo)系數(shù)可通過標(biāo)定傳感器獲得,,即將加載到傳感器上的已知被測(cè)物理量A,除以此時(shí)采集到的數(shù)字量N,,即定標(biāo)系數(shù)為A/N,;也可通過傳感器的靈敏度、放大器的增益,、ADC的分辨率及參考電壓計(jì)算獲得,,但這樣得到的定標(biāo)系數(shù)精度稍差。與定標(biāo)系數(shù)所對(duì)應(yīng)的物理量綱,,則在傳感器接入CAN總線時(shí),,通過向系統(tǒng)主機(jī)發(fā)送的電子數(shù)據(jù)表單(Transducer Electronic Data sheet,TEDs),,告知系統(tǒng)主機(jī),;從而系統(tǒng)主機(jī)收到某傳感器發(fā)來的數(shù)字量,就是具有特定物理量綱的被測(cè)物理量實(shí)際數(shù)值,。這樣做,,第一可減少主機(jī)的運(yùn)算工作量;第二也降低了TEDs的復(fù)雜度(只需約定物理量綱,,而無需傳送定標(biāo)系數(shù)等),;第三使接口可靈活地根據(jù)傳感器信號(hào)幅度選擇適當(dāng)?shù)脑鲆妫岣咝⌒盘?hào)的分辨率,,此時(shí)接口只需自行改變相應(yīng)的定標(biāo)系數(shù)即可,,無需與主機(jī)交互變換定標(biāo)系數(shù)。
4 CAN應(yīng)用層協(xié)議
智能接口利用SoC內(nèi)嵌的CAN協(xié)議控制器外加CAN驅(qū)動(dòng)器,,實(shí)現(xiàn)CAN報(bào)文的收發(fā),,系統(tǒng)構(gòu)成如圖3所示。內(nèi)嵌的Silicon Labs CAN協(xié)議控制器,,符合Bosch規(guī)范2.0A(基本CAN)和2.0B(全功能CAN),。該CAN控制器包含一個(gè)CAN控制器核、消息RAM(獨(dú)立于CIP-51的RAM),、消息處理器和控制寄存器,;由于該協(xié)議控制器不提供物理層的驅(qū)動(dòng),為此,,外接了一個(gè)CAN收發(fā)器CTM8251T,,將CAN控制器的邏輯電平轉(zhuǎn)換為CAN總線的差分電平。
為實(shí)現(xiàn)傳感器的即插即用,,需對(duì)收發(fā)的CAN報(bào)文內(nèi)容與格式進(jìn)行一定的約定,,即在CAN應(yīng)用層上制定相應(yīng)的協(xié)議,以保證測(cè)控系統(tǒng)的即插即用。
4.1 發(fā)送報(bào)文的協(xié)議
由圖3可見,,該SoC內(nèi)嵌的消息RAM可保存32個(gè)消息對(duì)象,。協(xié)議將其中的3個(gè)消息對(duì)象配置為下面介紹的發(fā)送消息對(duì)象。
4.1.1 發(fā)送電子數(shù)據(jù)表單
傳感器初次接人系統(tǒng)時(shí),,須首先向主機(jī)申請(qǐng)加入——申請(qǐng)從機(jī)ID標(biāo)識(shí),。申請(qǐng)辦法是:傳感器一接入系統(tǒng),立即發(fā)送其第1條消息對(duì)象,,發(fā)送的報(bào)文為一數(shù)據(jù)幀,,其仲裁域的ID是系統(tǒng)特別約定的“申請(qǐng)ID”。約定:系統(tǒng)中僅主機(jī)對(duì)申請(qǐng)ID作出反應(yīng),,即通過讀取該數(shù)據(jù)幀的8字節(jié)數(shù)據(jù)(該傳感器的電子數(shù)據(jù)表單——TEDs),,了解該傳感器的類型、特性,、編號(hào),、物理量綱及數(shù)據(jù)特征,。主機(jī)比較/記錄該數(shù)據(jù)項(xiàng),,并根據(jù)其TEDs中類型、特性項(xiàng),,結(jié)合系統(tǒng)要求,,確定其諸如采樣方式、采樣周期,、是否數(shù)字濾波,、濾波方式、數(shù)據(jù)區(qū)長(zhǎng)度等,,并分配給其相應(yīng)的從機(jī)“標(biāo)識(shí)ID”和啟動(dòng)A/D轉(zhuǎn)換的“啟動(dòng)ID”,。傳感器TEDs中的編號(hào)項(xiàng),用于區(qū)分系統(tǒng)中類型,、特性相同的傳感器,;物理量綱項(xiàng),用于告知主機(jī)該傳感器所傳數(shù)據(jù)的實(shí)際物理單位,,也表征了該被測(cè)物理量數(shù)值的實(shí)際大?。粩?shù)據(jù)特征項(xiàng),,用于表征所傳16位數(shù)據(jù)的特征(BCD碼,、二進(jìn)制整數(shù)、二進(jìn)制小數(shù),、小數(shù)點(diǎn)位置等),。
申請(qǐng)ID,一般可約定采用CAN系統(tǒng)優(yōu)先級(jí)較低的ID,確定后,,系統(tǒng)主機(jī)將不再將此ID分配給任何CAN節(jié)點(diǎn),。
4.1.2 發(fā)送配置/管理申請(qǐng)
傳感器可獲得主機(jī)分配的2個(gè)從機(jī)標(biāo)識(shí)ID,分別為“標(biāo)識(shí)1ID”和“標(biāo)識(shí)0ID”,。用標(biāo)識(shí)1ID配置第2條發(fā)送消息對(duì)象,,該消息對(duì)象將成為與主機(jī)交互的發(fā)送接口,用于向主機(jī)申請(qǐng)各種各樣的配置/管理要求,。但當(dāng)傳感器由于某些原因需要重新接入系統(tǒng)時(shí),,仍需用第1條發(fā)送消息對(duì)象向主機(jī)申請(qǐng)加入。
4.1.3 發(fā)送數(shù)據(jù)
由于物理接口方面的原因,,目前CAN網(wǎng)絡(luò)的規(guī)模大約在110個(gè)節(jié)點(diǎn)左右,,即使BasicCAN也有11位的ID標(biāo)識(shí),所能標(biāo)識(shí)的節(jié)點(diǎn)數(shù)遠(yuǎn)超當(dāng)前所能使用的節(jié)點(diǎn)數(shù),,只是11位ID的最低3位不參與報(bào)文濾波,。為此,規(guī)定:主機(jī)分配給節(jié)點(diǎn)的兩個(gè)從機(jī)標(biāo)識(shí)ID,,其前10位相同,,最低位為1即標(biāo)識(shí)1 ID,用于配置第2條發(fā)送消息對(duì)象,,該消息對(duì)象為與主機(jī)進(jìn)行常規(guī)交互的發(fā)送接口,,如上所述;最低位為0即從機(jī)標(biāo)識(shí)0ID,,用于配置第3條發(fā)送消息對(duì)象,,該消息對(duì)象用于上傳節(jié)點(diǎn)數(shù)據(jù)。
4.2 接收?qǐng)?bào)文的協(xié)議
協(xié)議要求配置3個(gè)接收消息對(duì)象,,作用分別為:
?、贋V波接收用本節(jié)點(diǎn)“申請(qǐng)ID”發(fā)來的數(shù)據(jù)幀。傳感器接入系統(tǒng)后,,首先用申請(qǐng)ID發(fā)送傳感器電子數(shù)據(jù)表單,,主機(jī)用同樣的ID回復(fù)一數(shù)據(jù)幀,該數(shù)據(jù)幀包含有分配給傳感器的標(biāo)識(shí)ID,、啟動(dòng)ADC的啟動(dòng)ID及對(duì)該節(jié)點(diǎn)的基本配置要求,。CAN控制器配置的第1條接收消息對(duì)象,即用來濾波接收該數(shù)據(jù)幀,。
?、跒V波接收用本節(jié)點(diǎn)“標(biāo)識(shí)ID”發(fā)來的數(shù)據(jù)幀。當(dāng)需要對(duì)傳感器進(jìn)一步進(jìn)行配置管理時(shí),,用第2條發(fā)送消息對(duì)象,,向主機(jī)發(fā)送配置/管理申請(qǐng),,主機(jī)將使用相同的ID(該從機(jī)的標(biāo)識(shí)ID),回復(fù)對(duì)其的配置/管理指令(位于該報(bào)文數(shù)據(jù)域),。為此,,需配置第2條接收消息對(duì)象,濾波接收用本從機(jī)標(biāo)識(shí)ID發(fā)送的數(shù)據(jù)幀,。
?、蹫V波接收用本節(jié)點(diǎn)“啟動(dòng)ID”發(fā)來的數(shù)據(jù)幀。用啟動(dòng)ID配置第3條接收消息對(duì)象,,即該消息對(duì)象能實(shí)現(xiàn)對(duì)該“啟動(dòng)ID”的濾波,。
結(jié)語
基于SOC技術(shù)的C8051F041的使用,極大地簡(jiǎn)化了系統(tǒng)構(gòu)成,,最大限度地減小了接口板的尺寸,,使其更易于嵌入傳感器中。由MCU控制的信號(hào)調(diào)理,、零點(diǎn)校準(zhǔn)及信息的定標(biāo)轉(zhuǎn)換,,使傳感器成為CAN總線上的一個(gè)智能節(jié)點(diǎn),從而可充分利用CAN總線的各種技術(shù)優(yōu)勢(shì),。再通過設(shè)計(jì)一套比較完備的應(yīng)用層協(xié)議,,最終實(shí)現(xiàn)了傳感器的即插即用。