<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è) > 嵌入式系統 > 設計應用 > 基于CAN總線(xiàn)的多機通信中的設計應用

基于CAN總線(xiàn)的多機通信中的設計應用

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

隨著(zhù)微處理器的發(fā)展,利用微處理器對工業(yè)生產(chǎn)過(guò)程進(jìn)行控制已成為趨勢。在工業(yè)控制過(guò)程中,由于大量數據信息的共享和傳輸,傳統的串行模式已不能滿(mǎn)足要求。在工業(yè)控制領(lǐng)域中,需要一種抗干擾性強、可靠性高、傳輸速度快和傳輸距離長(cháng)的結構。技術(shù)不僅滿(mǎn)足上述要求,而且還能實(shí)現多點(diǎn)間的信息傳遞。本文使用PCI9810-cAN適配卡上的組成局域網(wǎng)絡(luò ),實(shí)現多微處理器間的信息傳遞和PC機對多處理器的檢控、。

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

1 總線(xiàn)簡(jiǎn)介

CAN(Controller Area Networks)總線(xiàn),最早是由德國B(niǎo)osch公司開(kāi)發(fā)用于局域網(wǎng)控制的總線(xiàn)技術(shù)。CAN總線(xiàn)采用傳統的雙線(xiàn)串行方式,具有診斷能力,抗電磁干擾,其最陜傳輸速率可達1 Mb·s-1,最長(cháng)通信距離可達10 km(此時(shí)的傳輸速率大約為40 kb·s-1)。在CAN總線(xiàn)組成的局域網(wǎng)絡(luò )中,通信節點(diǎn)之間不采用主從方式,而是具有總線(xiàn)訪(fǎng)問(wèn)優(yōu)先權,通信方式靈活,可實(shí)現點(diǎn)對點(diǎn),一點(diǎn)對多點(diǎn)及廣播方式傳輸數據。

2 系統通信模塊的硬件

CAN總線(xiàn)是由PCI9810-CAN適配卡提供,本文主要完成通信節點(diǎn)的。通信節點(diǎn)不僅可以和PC機進(jìn)行信息交換,還可獨立與其他各節點(diǎn)通信。微處理器在需要和主機或其它節點(diǎn)通信時(shí),其通過(guò)P0口向SJA1000T的寄存器發(fā)送信息,再由PCA82C250把信息傳遞到CAN總線(xiàn)上。主機和其他通信節點(diǎn)判斷接收報文的標識符,將對接收到的信息作相應的處理,從而實(shí)現通信功能,如圖1所示。

系統通信接點(diǎn)的原理

圖1 系統通信接點(diǎn)的原理

過(guò)程中,為了滿(mǎn)足多微處理器間通信的實(shí)時(shí)性和可靠性要求,結合CAN控制器的特點(diǎn),對圖1作簡(jiǎn)單介紹:

(1)收發(fā)器PCA82C250的引腳8(Rs)有3種工作方式:高速,斜率控制和待機。斜率控制方式具有抗射頻干擾的功能,所以采用47 kΩ的電阻連接引腳8,實(shí)現斜率控制方式。

(2)圖1中應為兩個(gè)高速光電耦合隔離器件6N137,由于6N137輸出引腳的驅動(dòng)能力不夠,需要連接一個(gè)約390 Ω的上拉電阻,以增加輸出引腳的驅動(dòng)能力。兩個(gè)光電耦合隔離器件6N137的電源信號采用5 V的DC-DC隔離模塊WRA0505P,以增強系統的抗干擾能力。

(3)收發(fā)器PCA82C250的CANH和CANL引腳各自由通過(guò)一個(gè)5 Ω的電阻與CAN總線(xiàn)相連,電阻起到一定的限流作用,保護PCA82C250免受CAN總線(xiàn)上的過(guò)流沖擊。

(4)收發(fā)器PCA82C250的CANH和CANL引腳與電源地之間分別反接一個(gè)保護二極管和30 pF的電容,可以起到CAN總線(xiàn)的過(guò)壓保護作用和過(guò)流沖擊。

(5)CAN控制器SJA1000T輸入方式有2種:Intel輸入方式和Motorola輸入方式。在此采用Intel輸入方式,所以SJA1000T的MODE引腳接高電平。

(6)設計僅用到TX0和RX0引腳,根據SJA1000T通信協(xié)議所要求的輸入/輸出邏輯電平關(guān)系,SJA1000T的TX1腳懸空,RX1引腳的電位必須維持在0.5 Vcc以上,所以在TX1引腳接上約6.8 kΩ和3.6 kΩ分壓電阻。

(7)微處理器C51的引腳P2.7接CAN控制器SJA1000T的片選信號/CS,可知CAN控制器SJA1000T的寄存器首地址為8000H。處理器C41和CAN控制器SJA1000T共用12 MHz的晶振,以提高通信速率。

通過(guò)上述分析,設計的電路原理圖,如圖2所示。

通信節點(diǎn)的電路原理圖

圖2 通信節點(diǎn)的電路原理圖

3 系統通信模塊的軟件設計

通信模塊的軟件由3部分組成:初始化程序,發(fā)送程序和接受程序。僅這3部分程序,就能完成通信節點(diǎn)間信息的傳遞。要將CAN總線(xiàn)于更復雜的通信系統中,還要考慮CAN總線(xiàn)的錯誤處理,超載處理等功能和節點(diǎn)間的計算方法。由于每個(gè)通信節點(diǎn)都有自己的MCU,所以它們之間可以自由通信。通過(guò)CAN收發(fā)器PCA82C250的引腳CANH和CANL對總線(xiàn)輸出,使總線(xiàn)表現“顯性”,這時(shí)可發(fā)送信息。判斷總線(xiàn)表現為“顯性”時(shí),就要為接受信息做好準備。

3.1 CAN控制器SJA1000T初始化程序

該程序首先進(jìn)入復位狀態(tài),設置SJAl000T的模式寄存器MR為Basic CAN模式,驗收碼寄存器ACR和屏蔽碼寄存器AMR,再設置定時(shí)器0和定時(shí)器1,輸出控制寄存器OCR,重新設置控制寄存器CR,返回到正常工作模式下。初始化程序流程圖如圖3所示。

初始化程序流程圖

圖3 初始化程序流程圖

3.2 發(fā)送程序

此系統采用中斷方式發(fā)送信息,這樣能節省資源,提高通信效率。需要發(fā)送信息時(shí),先將信息組合成一幀報文:數據幀或遠程幀。進(jìn)入發(fā)送程序后,首先關(guān)閉中斷,保護現場(chǎng),讀中斷寄存器是否為發(fā)送中斷,將報文寫(xiě)入發(fā)送緩沖區,設置命令寄存器允許發(fā)送,開(kāi)中斷。發(fā)送程序流程圖,如圖4所示。

 發(fā)送程序流程圖

圖4 發(fā)送程序流程圖

3.3 接受程序

此系統仍采用中斷方式接收信息。接收程序比較復雜,需要對錯誤報警,接收溢出等情況作進(jìn)一步的處理。信息報文通過(guò)CAN總線(xiàn)被送入接收緩存器中,接收中斷被置位,處理器從控制器SJA1000T的緩存器內讀取信息,再設置新的接收標志,開(kāi)中斷。接收程序流程圖如圖5所示。

接收程序流程圖

圖5 接收程序流程圖

4 結束語(yǔ)

把多個(gè)通信節點(diǎn)連接到PCI9810-CAN適配卡上的CAN總線(xiàn),構成一個(gè)局部通信網(wǎng)絡(luò ),從而實(shí)現PC機對多通信節點(diǎn)的檢控和信息傳送,通信節點(diǎn)間的高速通信。在實(shí)際中,可以實(shí)現約110個(gè)通信節點(diǎn)間的通信,但系統比較復雜,通信效率降低,就需要考慮PCI9810-CAN適配卡和通信節點(diǎn)的程序改進(jìn)和相應算法的。在多機通信系統的設計過(guò)程中,主要是通過(guò)軟件的編寫(xiě),提高系統的高速傳輸性。



評論


相關(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>