《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于ARM和CAN總線的數(shù)據(jù)采集系統(tǒng)設(shè)計
基于ARM和CAN總線的數(shù)據(jù)采集系統(tǒng)設(shè)計
摘要: 在工業(yè)生產(chǎn)的很多領(lǐng)域都需要對生產(chǎn)過程進(jìn)行監(jiān)控管理,因此以A/D轉(zhuǎn)換器為核心的數(shù)據(jù)采集系統(tǒng)必不可少。為了提高監(jiān)控系統(tǒng)的準(zhǔn)確性與可靠性,數(shù)據(jù)采集卡可選用∑一△型高分辨率的A/D轉(zhuǎn)換器。而控制器局域網(wǎng)(CAN)能有效支持具有高安全級的分布式實時控制,憑借其在噪聲環(huán)境中的可靠性及其故障狀態(tài)檢測,以及從故障狀態(tài)恢復(fù)的能力被廣泛應(yīng)用于工業(yè)控制等領(lǐng)域。本文設(shè)計了一種關(guān)于CAN總線的雙通道高精度采集系統(tǒng),提高了工業(yè)控制中的信號采集處理以及傳輸抗干擾能力。
Abstract:
Key words :

  引 言

  在工業(yè)生產(chǎn)的很多領(lǐng)域都需要對生產(chǎn)過程進(jìn)行監(jiān)控管理,因此以A/D轉(zhuǎn)換器為核心的數(shù)據(jù)采集系統(tǒng)必不可少。為了提高監(jiān)控系統(tǒng)的準(zhǔn)確性與可靠性,數(shù)據(jù)采集卡可選用∑一△型高分辨率的A/D轉(zhuǎn)換器。而控制器局域網(wǎng)(CAN)能有效支持具有高安全級的分布式實時控制,憑借其在噪聲環(huán)境中的可靠性及其故障狀態(tài)檢測,以及從故障狀態(tài)恢復(fù)的能力被廣泛應(yīng)用于工業(yè)控制等領(lǐng)域。本文設(shè)計了一種關(guān)于CAN總線的雙通道高精度采集系統(tǒng),提高了工業(yè)控制中的信號采集處理以及傳輸抗干擾能力。

  1 系統(tǒng)原理

  系統(tǒng)選用Philips公司的LPC2292(支持實時仿真和跟蹤的32位ARM7TDMI—S CPU的微控制器)作為主芯片,功耗極低,具有高速Flash存儲器、多個32位定時器、2路CAN以及多達(dá)9個外部中斷,特別適用于工業(yè)控制等。Maxim公司的MAX811作為系統(tǒng)的復(fù)位開關(guān),系統(tǒng)原理圖如圖1所示。雙通道O~5 V的模擬信號,經(jīng)過信號調(diào)理電路轉(zhuǎn)換為適合ADC采樣的電壓信號,被2個24位精度的低功耗A/D轉(zhuǎn)換器ADSl251采樣;所采樣的數(shù)據(jù)經(jīng)過LPC2292的處理后存入擴展的SRAM靜態(tài)存儲器(Cypress公司的CY7C1061AV33)當(dāng)中,再通過ARM內(nèi)嵌的2個CAN控制器控制2路CTM8231(通用CAN隔離收發(fā)器)進(jìn)行數(shù)據(jù)傳輸。其中,CP2102是ARM中UART與USB端口的橋接芯片,它將USB口模擬為串口,可在PC機上方便地對LPC2292進(jìn)行上電之前的Flash擦寫等操作。

系統(tǒng)原理圖

 

  2 信號調(diào)理電路

  其中一路通道的信號調(diào)理電路如圖2所示。ADSl251是24位低功耗、寬動態(tài)范圍、高信噪比的deIta—sigma型A/D轉(zhuǎn)換器。ADSl251為差分模擬輸入,當(dāng)參考輸入電壓等于+4.096 V時,雙端輸入電壓為一4.096~+4.096 V。本設(shè)計利用LM4040AIM3—4.1穩(wěn)壓管為ADC提供+4.096 V參考電壓,系統(tǒng)時鐘信號和串行時鐘信號都由ARM提供。為了更好地發(fā)揮ADC的性能,最重要的是信號的滿量程輸入,因此在ADC雙端輸入的前端,采用軌到軌運算放大器0PA4350設(shè)計了一個變換電平電路。首先外部信號進(jìn)入一個射隨放大器,然后通過2個運算放大器進(jìn)行電平移位,讓0~5 V的外部信號轉(zhuǎn)變?yōu)橐?.096~+4.096 V的信號進(jìn)入ADSl251的差分輸入端。

其中一路通道的信號調(diào)理電路

點擊看原圖

 

 

  3 CAN通信傳輸電路

  CAN相關(guān)電路如圖3所示。LPC2292中雖然內(nèi)嵌CAN控制器,但是必須與CAN收發(fā)器連接才能具備收發(fā)功能,在以往的設(shè)計中ARM和CAN收發(fā)器之間通常需要加入DC-DC電源隔離模塊和高速光電耦合器組成的隔離電路,以確保在CAN總線遭受嚴(yán)重的干擾時控制器能夠正常工作。然而考慮到復(fù)雜度、系統(tǒng)集成等因素,本設(shè)計中利用CTM8231接口芯片來實現(xiàn)帶隔離的CAN收發(fā)電路。它將LPC2292中內(nèi)建的CAN控制器邏輯電平轉(zhuǎn)換為CAN總線的差分電平,實現(xiàn)起來非常簡單而且有高抗電磁干擾性;每一路獨立的CAN總線接口均配上120Ω的可跨接的終端匹配電阻,同時在印制板上留有可另接一其他阻值電阻的接口,以便在調(diào)試和使用過程中進(jìn)行終端電阻的調(diào)整,由撥碼開關(guān)選擇。CAN總線上有數(shù)據(jù)傳輸時,用發(fā)光二極管閃爍指示。

CAN相關(guān)電路

點擊看原圖

  4 軟件設(shè)計

  4.1 A/D轉(zhuǎn)換程序設(shè)計

  整個A/D轉(zhuǎn)換的時間需要384個CLK時鐘周期,ADsl251的工作時序如圖4所示。ADS1251的輸出信號DOUT/DRDY是在兩種工作模式下轉(zhuǎn)換的:第一種模式是DRDY(需要36個CLK時鐘周期),它表明新的數(shù)據(jù)已經(jīng)加載到數(shù)據(jù)輸出寄存器中,可以進(jìn)行讀操作;第二種模式是DOUT(需要384個CLK時鐘周期),它將數(shù)據(jù)以串行方式送到數(shù)據(jù)輸出寄存器DOR。DRDY模式持續(xù)t4(24個CLK時鐘周期)、t2(6個CLK時鐘周期)、t2(6個CLK時鐘周期)時間,然后在t3的下降沿進(jìn)入DOUT模式,數(shù)據(jù)在t7之后開始輸出。而LPC2292在t6時間后為ADS1251提供SCLK時鐘,并在SCLK的上升沿鎖存數(shù)據(jù),為了接收到有效數(shù)據(jù),DOR數(shù)據(jù)輸出寄存器必須在DOUT/DRDY變回到DRDY模式之前將數(shù)據(jù)讀出。

ADsl251的工作時序

 

  A/D轉(zhuǎn)換器的部分程序如下:

程序

 

程序

 

程序

 

  4.2 CAN控制器程序設(shè)計

  CAN控制器的初始化流程是:首先將ARM中CAN控制器相關(guān)的硬件和連接的引腳使能,并對CAN控制器進(jìn)行復(fù)位操作,設(shè)置CAN總線的通信波特率;接著是中斷處理的初始化,然后配置驗收過濾器(即對接收標(biāo)識符的查詢),最后是初始化CAN的工作模式。初始化CAN控制器之后就可以進(jìn)行數(shù)據(jù)的發(fā)送與中斷接收操作了。

  CAN控制器的部分程序如下:

 

程序

 

  結(jié) 語

  本文所設(shè)計的系統(tǒng)目前已經(jīng)投入工業(yè)中實際使用,其運行性能穩(wěn)定,信噪比在93 dB以上,采樣精度為19~22位。由于LPC2292中內(nèi)置了RTC實時時鐘,所以本系統(tǒng)還可以添加實時控制的功能;也可以利用ARM剩下的I/0口等資源,輔以DC-DC電源模塊、驅(qū)動芯片、繼電器開關(guān)、光耦等元件實現(xiàn)多路可選相互隔離的穩(wěn)定電源輸出功能,作為工業(yè)相關(guān)領(lǐng)域的供電設(shè)備,以而可使系統(tǒng)的應(yīng)用更加廣泛,功能更為豐富。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。