基于CAN總線的嵌入式水位監(jiān)測系統(tǒng)設(shè)計
1.2.1 器件選型
為提高系統(tǒng)的實時性和可靠性,監(jiān)測終端選用可移植嵌入式操作系統(tǒng)的ARM7 TDMI內(nèi)核的32位RISC芯片LPC2368。LPC2368是一款功能強(qiáng)大的超低功耗ARM7TDMIS內(nèi)核的32位微控制器,最高支持72MHz工作頻率,片內(nèi)有Flash 512KB,ROM 56KB,集成10/100全雙工Ethemet MAC,2個兼容CAN2.0A/2.OB的CAN控制器,帶RMII接口,其性能穩(wěn)定、功能強(qiáng)大,廣泛應(yīng)用于協(xié)議轉(zhuǎn)換、通信、工業(yè)控制領(lǐng)域。應(yīng)用LPC2368開發(fā)監(jiān)測終端可以有效控制成本。工業(yè)網(wǎng)絡(luò)需要強(qiáng)穩(wěn)定性,但實驗證明超過60%的總線帶寬使用率就會造成沖突。1根AHB總線是完全不夠的,而LPC2368具有雙總線機(jī)制和DMA協(xié)處理機(jī)制。任何一根總線都可以通過總線橋與其余總線通信,消除了通信瓶頸。
1.2.2 CAN總線接口硬件設(shè)計
通過CAN總線通信接口可使各監(jiān)測終端和監(jiān)控計算機(jī)通信,實現(xiàn)監(jiān)測終端的數(shù)據(jù)共享。CAN總線接口硬件電路如圖3所示。
LPC2368內(nèi)部集成有2個兼容CAN2.0/2.0B的CAN控制器,只需增加一個CAN總線收發(fā)器就能滿足設(shè)計要求。CTM8251T是一款帶隔離的通用CAN收發(fā)器,該器件內(nèi)部集成了所需的CAN隔離及CAN收、發(fā)器,它可以將CAN控制器的邏輯電平轉(zhuǎn)換為CAN總線的差分電平,將CAN總線差分電平轉(zhuǎn)換成邏輯電平,具有DC 2 500 V的隔離功能和CAN總線過壓保護(hù)功能,而且在某一節(jié)點掉電時不會影響總線。
各個監(jiān)測終端間通過帶屏蔽雙絞線構(gòu)成CAN總線網(wǎng)絡(luò),總線兩端連接120 Ω的匹配電阻,用于提高系統(tǒng)的穩(wěn)定性、增強(qiáng)系統(tǒng)的抗干擾能力。
1.2.3 嵌入式終端電源電路設(shè)計
基于ARM內(nèi)核的微處理器的嵌入式系統(tǒng)性能在很大程度上取決于電源電路的穩(wěn)定性和可靠性,因此設(shè)計穩(wěn)定可靠的電源非常重要。LPC23 68有數(shù)字電源輸入和模擬電源輸入2種,分別是+3.3 V和-3.3 V,另外CAN收發(fā)器的供電電壓為+5 V。系統(tǒng)電源采用LM2576系列穩(wěn)壓器,把外部直流電源穩(wěn)壓成+5 V電源,為CAN收發(fā)器提供電源。采用SPXlll7把+5 V電源穩(wěn)壓成2路+3.3 V電源,以提供LPC2368的數(shù)字和模擬電源,數(shù)字電源和模擬電源之間通過磁珠隔離。
2 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件設(shè)計部分包括2方面:1)監(jiān)測終端軟件設(shè)計,主要是對傳感器的數(shù)據(jù)采集和處理,完成與上位機(jī)之間的數(shù)據(jù)通信功能;2)上位機(jī)軟件設(shè)計,主要包括CAN節(jié)點初始化、報文發(fā)送和報文接收。
2.1 監(jiān)測終端軟件設(shè)計
監(jiān)測終端軟件主要由啟動代碼、斷處理、實時操作系統(tǒng)、設(shè)備驅(qū)動和應(yīng)用程序組成。啟動代碼完成啟動、初始化硬件、引導(dǎo)系統(tǒng)正常運(yùn)行等工作。實時操作系統(tǒng)μC/OS-Ⅱ是系統(tǒng)運(yùn)行的指揮中心,完成任務(wù)調(diào)度和資源分配等工作。設(shè)備驅(qū)動是操作系統(tǒng)上層應(yīng)用軟件和下層硬件的聯(lián)系,本設(shè)計主要包括CAN控制器驅(qū)動、A/D采集驅(qū)動等。上層應(yīng)用程序基于以上各個模塊,完成用戶要實現(xiàn)的各種功能,通常按功能分成多個模塊。本設(shè)計中主要包括傳感器數(shù)據(jù)采集模塊、參數(shù)設(shè)置模塊、CAN通信模塊。由表1所列的任務(wù)完成以上模塊功能。
2.1.1 定時數(shù)據(jù)采集
定時數(shù)據(jù)采集模塊負(fù)責(zé)定時采集傳感器的信號。A/D轉(zhuǎn)換由定時器產(chǎn)生周期中斷標(biāo)志觸發(fā),當(dāng)采樣完1個周期后,由中斷服務(wù)程序發(fā)給Task_AD發(fā)送信號量,Task_AD收到信號量后,將數(shù)據(jù)進(jìn)行相應(yīng)的處理。
評論