引言 在工業(yè)生產(chǎn)的很多領(lǐng)域都需要對生產(chǎn)過(guò)程進(jìn)行監控管理,因此以A/D轉換器為核心的數據采集系統必不可少。為了提高監控系統的準確性與可靠性,數據采集卡可選用∑一△型高分辨率的A/D轉換器。而控制器局域網(wǎng)(CAN)能有效支持具有高安全級的分布式實(shí)時(shí)控制,憑借其在噪聲環(huán)境中的可靠性及其故障狀態(tài)檢測,以及從故障狀態(tài)恢復的能力被廣泛應用于工業(yè)控制等領(lǐng)域。本文設計了一種關(guān)于CAN總線(xiàn)的雙通道高精度采集系統,提高了工業(yè)控制中的信號采集處理以及傳輸抗干擾能力。 1 系統原理 系統選用Philips公司的LPC2292(支持實(shí)時(shí)仿真和跟蹤的32位ARM7TDMI—S CPU的微控制器)作為主芯片,功耗極低,具有高速Flash存儲器、多個(gè)32位定時(shí)器、2路CAN以及多達9個(gè)外部中斷,特別適用于工業(yè)控制等。 Maxim公司的MAX811作為系統的復位開(kāi)關(guān),系統原理圖如圖1所示。雙通道O~5 V的模擬信號,經(jīng)過(guò)信號調理電路轉換為適合ADC采樣的電壓信號,被2個(gè)24位精度的低功耗A/D轉換器ADSl251采樣;所采樣的數據經(jīng)過(guò) LPC2292的處理后存入擴展的SRAM靜態(tài)存儲器(Cypress公司的CY7C1061AV33)當中,再通過(guò)ARM內嵌的2個(gè)CAN控制器控制2 路CTM8231(通用CAN隔離收發(fā)器)進(jìn)行數據傳輸。其中,CP2102是ARM中UART與USB端口的橋接芯片,它將USB口模擬為串口,可在 PC機上方便地對LPC2292進(jìn)行上電之前的Flash擦寫(xiě)等操作。 ![]() 2 信號調理電路 其中一路通道的信號調理電路如圖2所示。ADSl251是24位低功耗、寬動(dòng)態(tài)范圍、高信噪比的deIta—sigma型A/D轉換器。ADSl251為差分模擬輸入,當參考輸入電壓等于+4.096 V時(shí),雙端輸入電壓為一4.096~+4.096 V。本設計利用LM4040AIM3—4.1穩壓管為ADC提供+4.096 V參考電壓,系統時(shí)鐘信號和串行時(shí)鐘信號都由ARM提供。為了更好地發(fā)揮ADC的性能,最重要的是信號的滿(mǎn)量程輸入,因此在A(yíng)DC雙端輸入的前端,采用軌到軌運算放大器0PA4350設計了一個(gè)變換電平電路。首先外部信號進(jìn)入一個(gè)射隨放大器,然后通過(guò)2個(gè)運算放大器進(jìn)行電平移位,讓0~5 V的外部信號轉變?yōu)橐?.096~+4.096 V的信號進(jìn)入ADSl251的差分輸入端。 ![]() 3 CAN通信傳輸電路 CAN 相關(guān)電路如圖3所示。LPC2292中雖然內嵌CAN控制器,但是必須與CAN收發(fā)器連接才能具備收發(fā)功能,在以往的設計中ARM和CAN收發(fā)器之間通常需要加入DC-DC電源隔離模塊和高速光電耦合器組成的隔離電路,以確保在CAN總線(xiàn)遭受?chē)乐氐母蓴_時(shí)控制器能夠正常工作。然而考慮到復雜度、系統集成等因素,本設計中利用CTM8231接口芯片來(lái)實(shí)現帶隔離的CAN收發(fā)電路。它將LPC2292中內建的CAN控制器邏輯電平轉換為CAN總線(xiàn)的差分電平,實(shí)現起來(lái)非常簡(jiǎn)單而且有高抗電磁干擾性;每一路獨立的CAN總線(xiàn)接口均配上120Ω的可跨接的終端匹配電阻,同時(shí)在印制板上留有可另接一其他阻值電阻的接口,以便在調試和使用過(guò)程中進(jìn)行終端電阻的調整,由撥碼開(kāi)關(guān)選擇。CAN總線(xiàn)上有數據傳輸時(shí),用發(fā)光二極管閃爍指示。 ![]() 4 軟件設計 4.1 A/D轉換程序設計 整個(gè)A/D轉換的時(shí)間需要384個(gè)CLK時(shí)鐘周期,ADsl251的工作時(shí)序如圖4所示。ADS1251的輸出信號DOUT/DRDY是在兩種工作模式下轉換的:第一種模式是DRDY(需要36個(gè)CLK時(shí)鐘周期),它表明新的數據已經(jīng)加載到數據輸出寄存器中,可以進(jìn)行讀操作;第二種模式是DOUT(需要 384個(gè)CLK時(shí)鐘周期),它將數據以串行方式送到數據輸出寄存器DOR。DRDY模式持續t4(24個(gè)CLK時(shí)鐘周期)、t2(6個(gè)CLK時(shí)鐘周期)、 t2(6個(gè)CLK時(shí)鐘周期)時(shí)間,然后在t3的下降沿進(jìn)入DOUT模式,數據在t7之后開(kāi)始輸出。而LPC2292在t6時(shí)間后為ADS1251提供 SCLK時(shí)鐘,并在SCLK的上升沿鎖存數據,為了接收到有效數據,DOR數據輸出寄存器必須在DOUT/DRDY變回到DRDY模式之前將數據讀出。 ![]() A/D轉換器的部分程序如下: ![]() ![]() ![]() 4.2 CAN控制器程序設計 CAN控制器的初始化流程是:首先將ARM中CAN控制器相關(guān)的硬件和連接的引腳使能,并對CAN控制器進(jìn)行復位操作,設置CAN總線(xiàn)的通信波特率;接著(zhù)是中斷處理的初始化,然后配置驗收過(guò)濾器(即對接收標識符的查詢(xún)),最后是初始化CAN的工作模式。初始化CAN控制器之后就可以進(jìn)行數據的發(fā)送與中斷接收操作了。 CAN控制器的部分程序如下: 結語(yǔ) 本文所設計的系統目前已經(jīng)投入工業(yè)中實(shí)際使用,其運行性能穩定,信噪比在93 dB以上,采樣精度為19~22位。由于LPC2292中內置了RTC實(shí)時(shí)時(shí)鐘,所以本系統還可以添加實(shí)時(shí)控制的功能;也可以利用ARM剩下的I/0口等資源,輔以DC-DC電源模塊、驅動(dòng)芯片、繼電器開(kāi)關(guān)、光耦等元件實(shí)現多路可選相互隔離的穩定電源輸出功能,作為工業(yè)相關(guān)領(lǐng)域的供電設備,以而可使系統的應用更加廣泛,功能更為豐富。 參考文獻 1. 饒運濤.鄒繼軍 現場(chǎng)總線(xiàn)CAN原理與應用技術(shù) 2003 2. 吳明暉 基于A(yíng)RM的嵌入式系統開(kāi)發(fā)與應用 2004 3. 沈紅衛 基于單片機的智能系統設計與實(shí)現 2005 4. 周立功 ARM 嵌入式系統基礎教程 2005 5. Furber Steve.Furber Stephen B ARM System?on?Chip Architecture 2000 作者:四川大學(xué) 曾涌泉 王勇 植涌 來(lái)源:?jiǎn)纹瑱C與嵌入式系統 2008 (11) |