<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 基于A(yíng)RM7的MVB_CAN網(wǎng)關(guān)設計

基于A(yíng)RM7的MVB_CAN網(wǎng)關(guān)設計

作者: 時(shí)間:2011-03-25 來(lái)源:網(wǎng)絡(luò ) 收藏


2 CAN總線(xiàn)與MVB總線(xiàn)協(xié)議轉換
CAN總線(xiàn)和MVB總線(xiàn)都屬于現場(chǎng)總線(xiàn)范疇,因此,它們都有自己的網(wǎng)絡(luò )分層結構。對于大多數現場(chǎng)總線(xiàn),它們都包括物理層,數據鏈路層和應用層。
MVB有過(guò)程數據和消息數據之分。過(guò)程數據的網(wǎng)絡(luò )分層是三層(物理層、數據鏈路層、應用層),而消息數據的網(wǎng)絡(luò )分層則有7層。由于消息數據比較復雜且應用場(chǎng)合較少,因此,本文只討論過(guò)程數據。但實(shí)際上,有時(shí)也可以將MVB視為一個(gè)三層協(xié)議的網(wǎng)絡(luò )。
CAN網(wǎng)絡(luò )分層結構按照CAN總線(xiàn)協(xié)議來(lái)說(shuō),就只有兩層即物理層和數據鏈路層。但是涉及到具體的應用,它實(shí)際上也包括應用層。
為了實(shí)現兩種總線(xiàn)問(wèn)的協(xié)議轉換,通常需要首先對他們的幀格式進(jìn)行轉換,其主要原因是幀字節數大小不同,而幀的編碼解碼部分是由網(wǎng)卡硬件完成的;其次是對應用層的轉換,即通過(guò)一定的形式將CAN總線(xiàn)中表示過(guò)11位標志符的數據含義和MVB總線(xiàn)中過(guò)程變量的數據集對應起來(lái),以實(shí)現數據之間的傳輸。

3 MVB-CAN的硬件實(shí)現
為了方便,本的CAN側采用三星公司生產(chǎn)的S3C4480微控制器,MVB側則采用MVBC01 ASIC專(zhuān)用芯片。
MVB通信控制器選用的MVBC01 ASIC專(zhuān)用芯片采用的是16 bit數據總線(xiàn),該芯片同時(shí)可提供豐富的接口控制信號(如RDY、TMRDY等待信號),因此,可用于簡(jiǎn)化與各種宿主CPU以及通信存儲器的接口。此外,MVBC01還內嵌有完整的MVB1類(lèi)設備協(xié)議,其中,MVB物理層接口采用電氣短距離介質(zhì)ESD+接口,系統信號通道則使用光耦來(lái)實(shí)現主系統與外界的電隔離,從而提高了系統的可靠性。另外,系統還使用RS 485芯片作為收發(fā)器,并使用過(guò)壓保護模塊來(lái)防止瞬間過(guò)壓對器件造成的損壞。MVB側的接口單元如圖4所示。

本文引用地址:http://dyxdggzs.com/article/156540.htm

c.JPG


MVBC01端口ICA (MVB Input Data ChannelA)和ICB(MVB Input Data Channel B)分別為MVB輸入數據通道A和輸入數據通道B,來(lái)自物理層收發(fā)器的MVB信號可由此端口送入MVBC01中。MVBC01的端口OC (MVB Output Data Channel)是MVB的數據輸出端口,數據經(jīng)此端口可發(fā)送至物理層收發(fā)器。MVBC端口SF(Send Frame)的輸出信號可作為物理層的使能信號,該信號有效時(shí),表示一個(gè)報文正在通過(guò)MVBC端口OC(MVB Output Data Channel)輸出。
本系統CAN側采用的是三星公司生產(chǎn)的S3C44BOX微控制器,S3C44BOX是韓國三星公司推出的一款TDMI核的16/32位RISC高性?xún)r(jià)比、低功耗的嵌入式微處理器。該芯片的片上資源非常豐富,因為它本身帶有可滿(mǎn)足CAN2.0B協(xié)議的CAN控制器,故可省去CAN控制器和單片機之間的硬件連接。
CAN收發(fā)器采用PHILIPS公司的PCA82C250。主要提供對總線(xiàn)的差動(dòng)發(fā)送能力和對CAN控制器的差動(dòng)接收能力。當微處理器對CAN控制器進(jìn)行
相應配置后,收發(fā)器即可自動(dòng)完成相應的CAN總線(xiàn)動(dòng)作。
MVBC01的引腳f.jpg除在MVBC01復位時(shí)作為復位完成信號外,還可作為MVBC01接收到網(wǎng)絡(luò )數據時(shí)的通知信號。它的狀態(tài)通過(guò)s3c44b0x的g.jpg傳送給S3C44BOX。S3C44BOX輪詢(xún)檢測g.jpg,若檢測到跳變發(fā)生且MVBC01判斷此信號為網(wǎng)絡(luò )控制數據接收事件,則通過(guò)I2C接口讀取MVBC01的數據。MVBC01的復位可通過(guò)微控制器的PA0端口觸發(fā)。當MVBC01復位完成后,再通過(guò)/INT通知微控制器。MVBC01的控制口配置成串行方式的I2C接口,S3C44BOX通過(guò)該接口對MVBC01的寄存器進(jìn)行初始化和其它控制操作。其硬件連接圖如圖5所示。

d.JPG



4 軟件實(shí)現
由于MVB-CAN兩側連接的是兩個(gè)現場(chǎng)總線(xiàn),因此,它們實(shí)際的工作就是通過(guò)對信息的重新封裝以使MVB總線(xiàn)和CAN總線(xiàn)能夠讀取和傳
輸。
由于CAN數據幀包含8個(gè)字節的數據,而MVB從幀最多包含256個(gè)字節的數據,因此,從CAN側接收到的數據要通過(guò)MVB傳輸,就需要按照一定的格式把CAN幀中的數據組合成MVB幀的數據格式;同樣,從MVB側接收到的數據要通過(guò)CAN傳輸,也需要按照一定的格式對MVB幀中的數據進(jìn)行分幀處理。另外,為了實(shí)現透明傳輸,還需要把MVB側的過(guò)程數據的數據集與CAN側11位標志符對應起來(lái)。
本文采用的方案是建立一種規范的方式來(lái)定義MVB端的MVB各種變量的含義,如所在端的端口地址、長(cháng)度、以及變量在數據集中的偏移量
等。而后再將這些信息按照一定的規則和CAN總線(xiàn)側的幀的標識符等信息對應成一個(gè)表格,這樣,在CAN側的數據接收就可以借助這個(gè)表格來(lái)
完成。這樣做的優(yōu)點(diǎn)在于把一些必要的信息(位偏移、長(cháng)度等)按照約定的形式來(lái)實(shí)現共享,因而不再需要在數據集中分出空間來(lái)傳輸一些(包
括長(cháng)度和偏移等)信息。本文把表格定義為應用層轉換表(inbus-to-outbus或者out-to-inhus)。這里的端口指的是一種既可以被總線(xiàn)訪(fǎng)問(wèn),又可以被應用處理器訪(fǎng)問(wèn)的存儲器,它在MVB中是用來(lái)尋址的,數據的發(fā)送是通過(guò)應用將數據放入端口,數據的接收則是從端口中取數據放到應用中去。至于端口與端口間的數據拷貝,則是通過(guò)主輪詢(xún)方式來(lái)實(shí)現的。當主節點(diǎn)輪詢(xún)到需要發(fā)送數據的端口(源端口)時(shí),便會(huì )產(chǎn)生從源端口到宿端口(數據接收端口)的數據拷貝。數據集在MVB中其實(shí)就是一般的純數據,之所以稱(chēng)它為集,主要是因為MVB中一幀的數據較長(cháng),通常我們把多個(gè)變量的信息放在一個(gè)集中(一個(gè)幀中1來(lái)傳輸,這樣做較為經(jīng)濟。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>