基于CAN總線的分布式網(wǎng)架健康狀態(tài)監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)_第1頁(yè)
基于CAN總線的分布式網(wǎng)架健康狀態(tài)監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)_第2頁(yè)
基于CAN總線的分布式網(wǎng)架健康狀態(tài)監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)_第3頁(yè)
基于CAN總線的分布式網(wǎng)架健康狀態(tài)監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)_第4頁(yè)
基于CAN總線的分布式網(wǎng)架健康狀態(tài)監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、    基于CAN總線的分布式網(wǎng)架健康狀態(tài)監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)        黎洪生 杜 飛 曹 文 時(shí)間:2008年08月12日     字 體: 大 中 小        關(guān)鍵詞:<"cblue" " target='_blank'>A/D<"cblue" " tar

2、get='_blank'>控制單元<"cblue" " target='_blank'>上位機(jī)<"cblue" " target='_blank'>模塊設(shè)計(jì)<"cblue" " target='_blank'>程序設(shè)計(jì)            ? 摘 要: 針對(duì)某網(wǎng)架安全監(jiān)測(cè)的需要設(shè)計(jì)

3、了分布式健康狀態(tài)監(jiān)測(cè)系統(tǒng),介紹了在分布式系統(tǒng)中利用控制器局域網(wǎng)(CAN) 組建分布式通信網(wǎng)絡(luò)模塊的方案。詳細(xì)闡述了基于CAN總線控制器SJA1000的采集系統(tǒng)設(shè)計(jì)方案及具體的硬件電路設(shè)計(jì),并解決了在軟件設(shè)計(jì)中容易碰到的問(wèn)題。? 關(guān)鍵詞: CAN總線? 高速采集? <"cblue" " title="A/D">A/D轉(zhuǎn)換? 數(shù)據(jù)傳輸? 在某大網(wǎng)架結(jié)構(gòu)的建筑中,由于網(wǎng)架結(jié)構(gòu)的特殊性及其所處地理位置在沿海臺(tái)風(fēng)多發(fā)地帶,因此需要設(shè)計(jì)高速數(shù)據(jù)采集系統(tǒng)對(duì)網(wǎng)架結(jié)構(gòu)的健康狀況進(jìn)行實(shí)時(shí)監(jiān)測(cè),并對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)分析和評(píng)估。由于需要對(duì)網(wǎng)架上受力情況進(jìn)行多點(diǎn)

4、監(jiān)測(cè),考慮到硬件集中控制擴(kuò)展能力差且在現(xiàn)場(chǎng)施工有較大的布線困難,因此本系統(tǒng)采用目前廣泛應(yīng)用的分布式系統(tǒng)設(shè)計(jì)方案,將各個(gè)<"cblue" " title="控制單元">控制單元分布在現(xiàn)場(chǎng)各采集點(diǎn)上。為了實(shí)現(xiàn)分布式系統(tǒng)的監(jiān)測(cè)與控制功能,需要建立良好的通訊方式,以完成系統(tǒng)主機(jī)與各智能單元之間的信息交換與通信。根據(jù)本數(shù)據(jù)采集系統(tǒng)的特點(diǎn),其通信系統(tǒng)應(yīng)具有良好的可靠性、適應(yīng)性、可擴(kuò)展性和簡(jiǎn)單的連接方式,并能滿足長(zhǎng)距離傳輸?shù)男枰S捎诖藬?shù)據(jù)采集系統(tǒng)節(jié)點(diǎn)數(shù)多(100路)、對(duì)信號(hào)傳輸速度要求高且誤碼率低,利用485總線搭建數(shù)據(jù)采集系統(tǒng)的傳統(tǒng)方式,其最

5、大控制結(jié)點(diǎn)只能有32個(gè),在超過(guò)1km的布線結(jié)構(gòu)中傳輸速度只有100kbps,且“數(shù)據(jù)碰撞”和“死鎖”等問(wèn)題不易解決,因此采用485總線顯然達(dá)不到設(shè)計(jì)要求。? 相對(duì)于傳統(tǒng)的485總線來(lái)講,控制器局域網(wǎng)CAN(Controller Area Network)作為現(xiàn)場(chǎng)總線的一種,以其分時(shí)多主、非破壞性總線仲裁和自動(dòng)檢錯(cuò)重發(fā)等靈活、可靠的通信技術(shù)解決了485總線現(xiàn)場(chǎng)調(diào)試?yán)щy、開(kāi)發(fā)周期長(zhǎng)等問(wèn)題1。尤其在較為艱苦的安裝環(huán)境中,其高效的現(xiàn)場(chǎng)調(diào)試性能顯得尤為實(shí)用。作為一種分散式、數(shù)字化、雙向多點(diǎn)、具有高速率高可靠性特點(diǎn)的通信系統(tǒng),CAN可以構(gòu)建靈活的多主通訊機(jī)制,也可以建立主從式結(jié)構(gòu),而且這兩種方式下的硬件物

6、理聯(lián)接完全相同。其自動(dòng)進(jìn)行數(shù)據(jù)編碼、CRC冗余校驗(yàn)、出錯(cuò)自動(dòng)重發(fā)的功能保證了數(shù)據(jù)的準(zhǔn)確率,某一節(jié)點(diǎn)嚴(yán)重出錯(cuò)時(shí)能自動(dòng)脫離總線保證了系統(tǒng)的穩(wěn)定性,且其具有極強(qiáng)的帶負(fù)載能力,可驅(qū)動(dòng)多達(dá)110個(gè)節(jié)點(diǎn),可滿足本系統(tǒng)高速、精確、多負(fù)載的要求。1 采集卡硬件電路的設(shè)計(jì)1.1 CAN總線分布式系統(tǒng)結(jié)構(gòu)設(shè)計(jì)? 系統(tǒng)結(jié)構(gòu)如圖1所示。本系統(tǒng)由上位監(jiān)控PC機(jī)、CAN總線適配卡和控制單元三部分組成。上位監(jiān)控PC機(jī)采用IBM-PC兼容機(jī),主要負(fù)責(zé)對(duì)系統(tǒng)數(shù)據(jù)的接收與管理、控制命令的發(fā)送以及各控制單元?jiǎng)討B(tài)參數(shù)和設(shè)備狀態(tài)的實(shí)時(shí)顯示;CAN總線適配卡可以使PC機(jī)方便地連接到CAN總線上;控制單元以單片機(jī)為核心,主要負(fù)責(zé)對(duì)現(xiàn)場(chǎng)的環(huán)

7、境參數(shù)和設(shè)備狀態(tài)進(jìn)行監(jiān)測(cè),對(duì)采集來(lái)的數(shù)據(jù)進(jìn)行打包處理并將處理過(guò)的數(shù)字信號(hào)通過(guò)CAN通信控制器SJA1000送入CAN總線。?1.2 控制單元<"cblue" " title="模塊設(shè)計(jì)">模塊設(shè)計(jì)及關(guān)鍵問(wèn)題的解決? 控制單元的主要功能是將現(xiàn)場(chǎng)采集的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),通過(guò)CPU處理后再由CAN總線控制器打包送上CAN總線以便<"cblue" " title="上位機(jī)">上位機(jī)接收處理;接收上位機(jī)控制信號(hào),實(shí)現(xiàn)現(xiàn)場(chǎng)控制的具體操作。具體需要解決的問(wèn)題為:CAN模塊設(shè)計(jì);A

8、/D模塊設(shè)計(jì)。1.2.1 CAN模塊設(shè)計(jì)? 控制單元以8 位單片機(jī)AT89C51 為核心,選用器件SJA1000 作為CAN 控制器,并選用芯片82C250和6N137作為CAN控制器接口和光耦隔離。硬件電路如圖2所示。? 系統(tǒng)采用的CAN總線通信控制器SJA1000 是PHILIPS 公司生產(chǎn)的一種獨(dú)立式CAN 器件,其原理框圖如圖3所示。它與CAN2.0B相兼容1,同時(shí)支持11位(BasicCAN 模式)和29位(PeliCAN 模式)識(shí)別碼。? 圖2中AT89C51單片機(jī)的ALE、WR、RD端分別控制SJA1000 的ALE/AS、WR、RD端,地址和數(shù)據(jù)線AD0AD7 由P0口分時(shí)復(fù)用

9、實(shí)現(xiàn)。SJA1000 的中斷請(qǐng)求信號(hào)INT在中斷允許且有中斷發(fā)生時(shí), 由高電平跳變到低電平,所以INT和AT89C51的INT0直接相連。片選信號(hào)CS由GAL譯碼電路控制,當(dāng)CS接到低電平時(shí),SJA1000被選中,CPU可對(duì)SJA1000進(jìn)行讀/寫操作。為了增強(qiáng)控制節(jié)點(diǎn)的抗干擾能力,防止線路間串?dāng)_,SJA1000通過(guò)光耦6N137與82C250 相連,從而使總線上各個(gè)CAN 節(jié)點(diǎn)之間實(shí)現(xiàn)隔離,以保護(hù)CAN控制器正常工作。82C250 是CAN 總線收發(fā)器,是CAN 控制器SJA1000正常工作與CAN總線的接口器件,對(duì)CAN 總線以差分方式發(fā)送。其引腳RS 用于選擇82C250的工作模式(高速

10、、斜率控制或等待)。RS腳接地,82C250工作于高速方式,RS 腳串接一個(gè)電阻R后再接地,若82C250處于CAN總線的網(wǎng)絡(luò)終端,總線接口部分必須加一個(gè)120的匹配電阻,以保護(hù)82C250免受過(guò)流的沖擊。1.2.2? A/D模塊設(shè)計(jì)? A/D芯片選用12位高速采集芯片AD574。在本設(shè)計(jì)中,A/D模塊的功能是將外部模擬信號(hào)通過(guò)AD574轉(zhuǎn)換成數(shù)字信號(hào)后并行輸入到AT89C51,然后AT89C51將其打包,并行輸出至CAN總線通信控制器SJA1000,經(jīng)總線收發(fā)器至CAN總線。其監(jiān)控電路采用DS1232,它具有電源監(jiān)控、手動(dòng)復(fù)位和看門狗功能,還能同時(shí)輸出高低電平的兩路復(fù)位信號(hào),分別輸出至AT8

11、9C51和SJA1000的復(fù)位端,以滿足本次設(shè)計(jì)的要求。2 軟件設(shè)計(jì)? 本健康監(jiān)測(cè)系統(tǒng)要求軟件部分具有現(xiàn)場(chǎng)數(shù)字信號(hào)顯示、檢測(cè)并驅(qū)動(dòng)現(xiàn)場(chǎng)信號(hào)設(shè)備等功能。在本設(shè)計(jì)中主要完成兩部分任務(wù):第一是PC機(jī)部分的上位機(jī)顯示,主要通過(guò)集成開(kāi)發(fā)環(huán)境軟件設(shè)計(jì)出上位機(jī)監(jiān)視顯示界面,其重點(diǎn)在于PC機(jī)與現(xiàn)場(chǎng)節(jié)點(diǎn)間的通信;第二是現(xiàn)場(chǎng)節(jié)點(diǎn)控制設(shè)計(jì),即設(shè)備驅(qū)動(dòng)功能的實(shí)現(xiàn),目的是能接收上位機(jī)的控制信號(hào),使現(xiàn)場(chǎng)節(jié)點(diǎn)按既定的工作方式工作。? 根據(jù)系統(tǒng)的工作要求,工作重點(diǎn)包括CAN總線通信程序、看門狗的初始化、A/D采樣控制程序、執(zhí)行機(jī)構(gòu)控制程序和控制算法等,主要流程如圖4所示。限于篇幅,這里著重介紹SJA1000初始化<&q

12、uot;cblue" " title="程序設(shè)計(jì)">程序設(shè)計(jì)、發(fā)送程序設(shè)計(jì)、接收程序設(shè)計(jì)以及A/D轉(zhuǎn)換程序的設(shè)計(jì)。?2.1? SJA1000初始化設(shè)計(jì)? 初始化流程圖如圖5所示。AT89C51 上電或復(fù)位后, 調(diào)用復(fù)位程序給SJA1000 的復(fù)位端(RST)提供復(fù)位信號(hào),使SJA1000 進(jìn)入復(fù)位模式。SJA1000 的初始化只有在復(fù)位模式下才可以進(jìn)行。初始化程序主要完成以下寄存器的設(shè)計(jì):(1)通過(guò)對(duì)SJA1000的時(shí)鐘分頻寄存器定義,判斷是使用BassicCAN 模式還是使用PeliCAN 模式;是否使能CLOCKOUT及輸出時(shí)鐘頻率; 是否使用

13、旁路CAN 輸入比較器; TX1 輸出是否采用專門的接收中斷。(2)通過(guò)寫驗(yàn)收碼寄存器和驗(yàn)收屏蔽寄存器定義接收?qǐng)?bào)文的驗(yàn)收碼,以及對(duì)報(bào)文和驗(yàn)收碼進(jìn)行比較的相關(guān)位定義驗(yàn)收屏蔽碼。(3)通過(guò)寫總線定時(shí)寄存器定義總線的位速率、位周期內(nèi)的采樣點(diǎn)和一個(gè)位周期內(nèi)的采樣數(shù)量。(4)通過(guò)寫輸出寄存器定義CAN 總線輸出管腳TX0、TX1 的輸出模式和輸出配置。(5)清除SJA1000 的復(fù)位請(qǐng)求標(biāo)志,進(jìn)入正常工作模式, 這樣SJA1000方可進(jìn)行報(bào)文的發(fā)送和接收。?2.2? 發(fā)送和接收程序設(shè)計(jì)? 單片機(jī)將要發(fā)送的報(bào)文送到SJA1000的發(fā)送緩沖區(qū),然后將SJA1000命令寄存器的發(fā)送請(qǐng)求標(biāo)志位(TR)置位,發(fā)送

14、過(guò)程由SJA1000獨(dú)立完成。在新報(bào)文寫入發(fā)送緩沖區(qū)之前,必須檢查狀態(tài)寄存器的發(fā)送緩沖器的狀態(tài)標(biāo)志位(TBS),若為“1”,則發(fā)送緩沖器被釋放,可將新的報(bào)文寫入發(fā)送緩沖器;否則,發(fā)送緩沖器被鎖定,新的報(bào)文不能被寫入,發(fā)送程序可以采用中斷方式和查詢方式。在本次設(shè)計(jì)中,采用的是查詢方式。? 報(bào)文的接收也是由SJA1000獨(dú)立完成的。收到的報(bào)文通過(guò)接收濾波器存放在FIFO中,第一條報(bào)文進(jìn)入接收緩沖器,由狀態(tài)寄存器的接收緩沖器狀態(tài)標(biāo)志位(RBS)和接收中斷標(biāo)志位(RI)標(biāo)出。單片機(jī)從接收緩沖器取走一條報(bào)文后,要通過(guò)置位SJA1000的命令寄存器來(lái)釋放接收緩沖器。在本次設(shè)計(jì)中,接收程序的設(shè)計(jì)采用的是中斷方式。2.3 A/D轉(zhuǎn)換設(shè)計(jì)? 在本次設(shè)計(jì)中采用的是12位逐次逼近型A/D轉(zhuǎn)換器AD574。以查詢方式設(shè)計(jì)程序,通過(guò)連續(xù)查詢A/D轉(zhuǎn)換結(jié)束標(biāo)志位判斷轉(zhuǎn)換是否結(jié)束。當(dāng)轉(zhuǎn)換結(jié)束時(shí),將數(shù)據(jù)送入CPU中進(jìn)行處理,并將處理后的數(shù)據(jù)保存至6264芯片。? 基于CAN總線設(shè)計(jì)的高速分布式數(shù)據(jù)采集系統(tǒng)具有一定的使用價(jià)值,而且價(jià)格低廉、可靠性高。同時(shí)系統(tǒng)還具有可擴(kuò)展性,在需要多通道采集的情況下

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論