版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
精品文檔-下載后可編輯一種多協(xié)議的嵌入式總線集成器的設(shè)計(jì)與研究-新品速遞由于工業(yè)現(xiàn)場(chǎng)總線在工業(yè)控制、智能儀器儀表、數(shù)據(jù)采集等方面得到了廣泛的應(yīng)用,因此對(duì)于總線集成的需求也應(yīng)運(yùn)而生。不同種類的現(xiàn)場(chǎng)總線協(xié)議側(cè)重于各自的應(yīng)用領(lǐng)域,導(dǎo)致基于各種現(xiàn)場(chǎng)總線的產(chǎn)品由于協(xié)議的不同而無(wú)法相互通信。而一些傳統(tǒng)的總線集成方法采用總線橋級(jí)連的方式來(lái)完成協(xié)議之間的通信,存在通信延時(shí)大、穩(wěn)定性差、節(jié)點(diǎn)通信困難等缺點(diǎn)。針對(duì)以上問(wèn)題,本文提出一套總線集成器的設(shè)計(jì)方案。該系統(tǒng)同時(shí)支持LonWorks、PPI、CANOpen和TCP/IP協(xié)議,C8051F120作為主控制芯片,采用模塊化結(jié)構(gòu),提供實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)功能,具有成本低、實(shí)時(shí)性高、可移植能力強(qiáng)等特點(diǎn),有較高的組態(tài)性和靈活性[1~2]。1系統(tǒng)總體設(shè)計(jì)與工作流程
1.1系統(tǒng)的總體設(shè)計(jì)系統(tǒng)結(jié)構(gòu)框圖如圖1所示。C8051F120是整個(gè)系統(tǒng)的主控制芯片,負(fù)責(zé)對(duì)數(shù)據(jù)的處理和交換,包括通過(guò)RTL8019與以態(tài)網(wǎng)的通信,通過(guò)UART口與PPI總線通信,通過(guò)RS232口與LonWorks總線通信以及和CAN總線控制器SJA1000通信等。CAN模塊和LON模塊分別完成對(duì)CAN和LON數(shù)據(jù)的收發(fā)處理。一方面,系統(tǒng)分別作為L(zhǎng)onWorks、PPI、CANOpen總線的一個(gè)節(jié)點(diǎn),完成相應(yīng)通信協(xié)議的通信及數(shù)據(jù)解析;另一方面,系統(tǒng)又要能夠完成各總線之間的數(shù)據(jù)轉(zhuǎn)發(fā)與共享。同時(shí),為了支持遠(yuǎn)程監(jiān)控能力,系統(tǒng)必須提供以太網(wǎng)接口以支持Internet功能。為了在現(xiàn)場(chǎng)提供監(jiān)測(cè)環(huán)境,系統(tǒng)設(shè)計(jì)了人機(jī)界面[3]。
1.2各模塊工作流程主控制芯片C8051F120與RTL8019之間的接口是通過(guò)并行方式擴(kuò)展的,為避免RTL8019A在C8051F120上的映射地址空間與C8051F120內(nèi)部的8KBRAM地址空間(0X0000~0X3FFF)重迭,擴(kuò)展的外部設(shè)備被放到端(0X8000~0XFFFF),并采用非復(fù)用方式連接。模塊中還包括RS232與RS485之間的轉(zhuǎn)換。SN75LBC176是RS485差分總線收發(fā)器芯片。RS232數(shù)據(jù)由TX0通過(guò)光隔傳送到SN75LBC176的發(fā)送端,同時(shí)驅(qū)動(dòng)發(fā)送控制端,數(shù)據(jù)就由SN75LBC176發(fā)送到RS485總線。當(dāng)SN75LBC176接收數(shù)據(jù)時(shí),數(shù)據(jù)傳送到RS232的RX0端。這樣就完成RS485到RS232的轉(zhuǎn)換。在系統(tǒng)中,為了提供人機(jī)交互的功能,設(shè)計(jì)了T6963C點(diǎn)陣式液晶圖形顯示控制器,在設(shè)計(jì)時(shí),需要用一根地址線來(lái)實(shí)現(xiàn)液晶的數(shù)據(jù)通道和指令通道的區(qū)分。T6963C外接114x64的液晶顯示屏,可以提供監(jiān)測(cè)數(shù)據(jù)顯示的實(shí)例。CAN總線模塊由SJA1000、82C250、6N137等芯片組成。SJA1000是并行接口的CAN控制器。82C250是CAN控制器接口芯片。當(dāng)C8051F120要向某節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),它向SJA1000的一些緩沖器寫數(shù)據(jù)和命令。數(shù)據(jù)通過(guò)SJA1000處理后,合成CAN幀格式,通過(guò)6N137至82C250,由82C250的差分端CANH和CANL傳送到物理總線。外部節(jié)點(diǎn)發(fā)送過(guò)來(lái)的數(shù)據(jù)通過(guò)82C250經(jīng)光電隔離器6N137后被SJA1000接收,存放在SJA1000相應(yīng)的寄存器中。C8051F120就可以讀取這些CAN幀格式數(shù)據(jù)。LON模塊由MCl43150、FTF-10A、MC145407以及外擴(kuò)SRAM儲(chǔ)存器IS61C256AH-15N和外擴(kuò)Flash存儲(chǔ)器AT29C512組成。MC143150是LonWorks控制芯片,含有Lontalk協(xié)議的固態(tài)軟件,主要用于Lonworks數(shù)據(jù)的處理。FTT-10A是LonWorks收發(fā)器,它是一種變壓器耦合收發(fā)器,支持網(wǎng)絡(luò)的自由拓?fù)浣Y(jié)構(gòu),作為L(zhǎng)ON網(wǎng)的網(wǎng)絡(luò)介質(zhì)的接口。MC145407是電平轉(zhuǎn)換芯片,負(fù)責(zé)MC143150與RS232之間的電平轉(zhuǎn)換。當(dāng)C8051F120要向MC143150發(fā)送數(shù)據(jù)時(shí),C8051F120把數(shù)據(jù)發(fā)送到串口緩沖區(qū),通過(guò)MC145407將I/O引腳輸入的TTL電平和輸出的CMOS電平轉(zhuǎn)換為EIA232C電平。MC143150收到數(shù)據(jù)信息后,將數(shù)據(jù)讀入儲(chǔ)存于MC143150的緩沖區(qū)中,然后由MC143150打包為L(zhǎng)onWorks網(wǎng)絡(luò)變量,通過(guò)不同節(jié)點(diǎn)、相同類型的網(wǎng)絡(luò)變量的互聯(lián),即可實(shí)現(xiàn)LON節(jié)點(diǎn)之間的數(shù)據(jù)傳送。另外,還外擴(kuò)SRAM儲(chǔ)存器IS61C256AH-15N和Flash存儲(chǔ)器At29C512,讓用戶能編制使用較大的程序。
2軟件設(shè)計(jì)
2.1系統(tǒng)的分層結(jié)構(gòu)整個(gè)系統(tǒng)采用分層方式完成各協(xié)議間的通信。系統(tǒng)分為硬件驅(qū)動(dòng)層、協(xié)議層及其應(yīng)用層,如圖2所示。
由于下層模塊只向上層提供一個(gè)軟件接口,屏蔽了下層的具體實(shí)現(xiàn)細(xì)節(jié)。上層軟件只有通過(guò)該接口才能與下層軟件發(fā)生聯(lián)系,這樣就保證了各層之間的獨(dú)立性。系統(tǒng)根據(jù)硬件接口、總線協(xié)議的不同,分為三個(gè)大的分層功能模塊,它們分別是LonWorks模塊、PPI模塊、CANOPEN模塊。這些模塊又各自提供了硬件接收緩沖區(qū)、硬件發(fā)送緩沖區(qū)、協(xié)議接收緩沖區(qū)、協(xié)議發(fā)送緩沖區(qū)[4-5].
2.2軟件實(shí)現(xiàn)的框架系統(tǒng)的軟件分為系統(tǒng)初始化模塊、系統(tǒng)配置模塊、協(xié)議通信總調(diào)度模塊、三個(gè)協(xié)議實(shí)現(xiàn)模塊及硬件驅(qū)動(dòng)模塊。它們分別對(duì)應(yīng)系統(tǒng)軟件的不同分層。其中,系統(tǒng)配置模塊、協(xié)議間通信總調(diào)度模塊為應(yīng)用層程序。協(xié)議實(shí)現(xiàn)模塊(LonWorks協(xié)議模塊、PPI協(xié)議模塊、CANOpen協(xié)議模塊)為協(xié)議層程序。硬件驅(qū)動(dòng)模塊為硬件驅(qū)動(dòng)層程序。其流程圖如圖3所示。
系統(tǒng)配置模塊主要完成系統(tǒng)的配置。它包括總線各端口是配置為主模式還是從模式、各通信協(xié)議的波特率等。系統(tǒng)可以通過(guò)兩種方式配置:一種為硬件方式配置,另一種是通過(guò)互連網(wǎng)進(jìn)行軟件配置。協(xié)議間通信總調(diào)度模塊主要是驅(qū)動(dòng)不同協(xié)議之間進(jìn)行相互通信。各總線協(xié)議的格式解析分別由相應(yīng)的協(xié)議模塊完成。硬件驅(qū)動(dòng)模塊主要完成把各硬件緩沖區(qū)中的數(shù)據(jù)發(fā)送到總線,同時(shí)把從總線接收來(lái)的數(shù)據(jù)存放到協(xié)議緩沖區(qū)中。
2.3緩沖區(qū)結(jié)構(gòu)本系統(tǒng)的緩沖區(qū)采用改進(jìn)的循環(huán)隊(duì)列結(jié)構(gòu),采用了三個(gè)指針Bp.In、Bp.Out、Bp.Try。其中,Bp.In是隊(duì)頭指針。當(dāng)隊(duì)列接收一數(shù)據(jù)時(shí),如果隊(duì)列緩沖區(qū)尚有空間,則數(shù)據(jù)入隊(duì),同時(shí)Bp.In加1。Bp.0ut是隊(duì)尾指針。當(dāng)數(shù)據(jù)要出隊(duì)時(shí),如果隊(duì)列緩沖區(qū)非空,則Bp.Out加1。隊(duì)列緩沖區(qū)空或滿的判定方法可以用下面的偽C語(yǔ)言描述:if(Bp.In++==Bp.Out){隊(duì)列緩沖區(qū)已滿};//如隊(duì)頭加1等于隊(duì)尾指針,則//表示該隊(duì)列已滿if(Bp.0ut==Bp.In){隊(duì)列緩沖區(qū)已空};//如果隊(duì)尾指針趕上隊(duì)頭則表示//該隊(duì)列已空Bp.Try是為通信時(shí)重發(fā)而準(zhǔn)備的。當(dāng)要發(fā)送數(shù)據(jù)時(shí),Bp.Try向前移動(dòng)(Bp.Try++),但Bp.Out不動(dòng)(數(shù)據(jù)不出隊(duì))。當(dāng)Bp.Try=Bp.In時(shí),表示隊(duì)列緩沖區(qū)已沒(méi)有數(shù)據(jù)要發(fā)送。如果要求數(shù)據(jù)重發(fā),僅僅把Bp.Try重新指回Bp.Out(Bp.Try=Bp.Out)再次發(fā)送。只有當(dāng)發(fā)送成功時(shí),才允許數(shù)據(jù)出隊(duì)(Bp.Out=Bp.Try)。由于發(fā)送數(shù)據(jù)的多少由Bp.Try決定(不一定把隊(duì)列緩沖區(qū)數(shù)據(jù)都發(fā)送完),這樣給數(shù)據(jù)的發(fā)送提供了極大的方便。2.4硬件緩沖區(qū)系統(tǒng)要發(fā)送數(shù)據(jù)時(shí)把發(fā)送協(xié)議緩沖區(qū)的數(shù)據(jù)拷貝到發(fā)送硬件緩沖區(qū),并驅(qū)動(dòng)發(fā)送后退出。硬件發(fā)送緩沖區(qū)中的數(shù)據(jù)是由發(fā)送中斷自動(dòng)完成的。硬件發(fā)送中斷驅(qū)動(dòng)完數(shù)據(jù)發(fā)送就退出。當(dāng)硬件發(fā)送完數(shù)據(jù)后就會(huì)產(chǎn)生中斷標(biāo)志并重新進(jìn)入中斷,重復(fù)上面的過(guò)程直到數(shù)據(jù)發(fā)送完。同樣,發(fā)送中斷只負(fù)責(zé)發(fā)送完硬件發(fā)送緩沖區(qū)中的數(shù)據(jù)而不關(guān)心這些數(shù)據(jù)代表的意義。中斷程序流程圖如圖4所示。2.5各總線協(xié)議間的通信方法各總線協(xié)議間通信是采用周期輪詢方式下的實(shí)地址共享。其基本思想就是系統(tǒng)定時(shí)地由配置為主模式的端口向其對(duì)應(yīng)總線的每個(gè)從機(jī)發(fā)送請(qǐng)求讀數(shù)命令包。從機(jī)接收到命令后就把它的數(shù)據(jù)傳送給主機(jī)(總線集成器)。主機(jī)把接收到的數(shù)據(jù)存放在對(duì)應(yīng)的協(xié)議地址中。當(dāng)配置為從機(jī)的端口所對(duì)應(yīng)的總線上的主機(jī)向總線集成器請(qǐng)求數(shù)據(jù)時(shí),總線集成器只是簡(jiǎn)單地把前一個(gè)周期輪詢的數(shù)據(jù)應(yīng)答過(guò)去。由于輪詢總線的周期比較短,因此應(yīng)答的數(shù)據(jù)稍微滯后。但對(duì)總線采集的數(shù)據(jù)的真實(shí)性影響不大。
下面以圖5中CANOpen總線的節(jié)點(diǎn)B向LonWorks節(jié)點(diǎn)A請(qǐng)求數(shù)據(jù)為例來(lái)說(shuō)明這種方式的通信過(guò)程。首先,系統(tǒng)周期性地改變從機(jī)號(hào)、通信命令、通信狀態(tài),向LonWorks所有的從機(jī)請(qǐng)求數(shù)據(jù),從機(jī)應(yīng)答的數(shù)據(jù)存放在其協(xié)議地址中。然后CANOpen主節(jié)點(diǎn)B向總線集成器請(qǐng)求LonWorks總線A節(jié)點(diǎn)中的數(shù)據(jù)。,總線集成器收到該命令,把剛采集到的協(xié)議地址上的值傳送給節(jié)點(diǎn)B。這通信至此結(jié)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 針織上裝細(xì)分市場(chǎng)深度研究報(bào)告
- 馬甲細(xì)分市場(chǎng)深度研究報(bào)告
- 膠合板壓合機(jī)市場(chǎng)分析及投資價(jià)值研究報(bào)告
- 美容用月桂油商業(yè)機(jī)會(huì)挖掘與戰(zhàn)略布局策略研究報(bào)告
- 耶穌受難雕像首飾商業(yè)機(jī)會(huì)挖掘與戰(zhàn)略布局策略研究報(bào)告
- 飛機(jī)起落架輪子市場(chǎng)發(fā)展前景分析及供需格局研究預(yù)測(cè)報(bào)告
- 脊椎牽開(kāi)器商業(yè)機(jī)會(huì)挖掘與戰(zhàn)略布局策略研究報(bào)告
- 拆建房屋安全責(zé)任書協(xié)議書
- 財(cái)務(wù)數(shù)據(jù)清理協(xié)議書
- 保險(xiǎn)公司賠案協(xié)議書模板
- (完整版)綜合管理信息系統(tǒng)QC成果報(bào)告
- 人教版2020-2021學(xué)年度第一學(xué)期一年級(jí)數(shù)學(xué)教學(xué)計(jì)劃及進(jìn)度表
- 法律顧問(wèn)服務(wù)方案范文
- 華為通信設(shè)備最全圖標(biāo)庫(kù).ppt
- 電鍍知識(shí)簡(jiǎn)介PPT
- 職業(yè)價(jià)值觀研究綜述
- 智慧樹(shù)知到韓國(guó)語(yǔ)入門(延邊大學(xué))網(wǎng)課章節(jié)測(cè)試答案
- 各國(guó)標(biāo)準(zhǔn)螺紋基本尺寸對(duì)照表
- 論文范文淺談兒童自閉癥
- 城市公園管理養(yǎng)護(hù)中的難點(diǎn)、重點(diǎn)與建議
- 必看!設(shè)備管理必須要懂的一、二、三、四、五
評(píng)論
0/150
提交評(píng)論