<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)與以太網(wǎng)的嵌入式網(wǎng)關(guān)設計

基于CAN總線(xiàn)與以太網(wǎng)的嵌入式網(wǎng)關(guān)設計

作者: 時(shí)間:2009-08-26 來(lái)源:網(wǎng)絡(luò ) 收藏
PCA82C250是控制器與物理之間的接口,主要用于增強系統的驅動(dòng)能力。采用收發(fā)器的系統中,節點(diǎn)數至少可以達到110個(gè),同時(shí)還具有降低射頻干擾(RFI)和很強的抗電磁干擾 (EMI)能力。在處理這部分電路時(shí),有幾個(gè)地方要特別注意:
(1)晶振電路的問(wèn)題。89C55和SJA1000都應該有各自獨立的晶振電路,不能夠用SJA1000的時(shí)鐘輸出信號CLKOUT來(lái)驅動(dòng)單片機。
(2)復位引腳的問(wèn)題。雖然SJA1000的復位是低電平,但不能通過(guò)一個(gè)非門(mén)直接連接單片機的復位引腳。一般對解決復位引腳問(wèn)題有兩種方式:第一種是使用單片機的I/O引腳控制SJA的復位引腳,其好處是單片機可以完全控制SJA的復位過(guò)程;第二種是采用適當的復位芯片,為了降低成本,該采取的是第一種方法。
(3)RX1引腳的電位必須維持在約0.5 VCC上,否則將不能形成協(xié)議所要求的邏輯電平。
(4)一定要注意電纜的終端阻抗匹配,它直接影響是否能正常工作和網(wǎng)絡(luò )性能。CAN接口模塊的硬件電路圖見(jiàn)圖3,在PCA82C250的RS腳上接有一個(gè)斜率電阻R,可根據通信速度適當調整電阻的大小。

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

2 通信模塊軟件
2.1 SJA1000驅動(dòng)程序的實(shí)現
SJA1000驅動(dòng)程序是由SJA的初始化函數、發(fā)送函數、接收函數組成的,圖4所示為其流程圖。

(1)SJA1000的初始化。SJA1000在系統上電、硬件復位或主控制器發(fā)出復位命令后需要進(jìn)行初始化,以設定它的工作模式、通信速率、輸出控制方式和標識符屏蔽格式等重要參數。CAN控制器SJA1000的初始化只能在復位模式下才能完成。程序的流程圖如圖4所示。
首先程序檢測CAN接口是否正常工作,即向SJA1000的測試寄存器寫(xiě)入并讀出,校驗其結果是否一致,如果結果一致則進(jìn)入復位模式進(jìn)行初始化設置。在初始化的過(guò)程中,如果對某個(gè)寄存器的設置超過(guò)規定的時(shí)間還未完成,則認為初始化失敗,初始化程序自動(dòng)發(fā)送錯誤信號。
(2)數據的發(fā)送與接收。SJA1000芯片有一個(gè)報文發(fā)送緩沖區和兩個(gè)報文接收緩沖區,用于CAN報文傳送。數據從CAN控制器SJA1000發(fā)送到 CAN總線(xiàn)首先是由CAN控制器自動(dòng)完成的,發(fā)送數據程序把數據存儲區中待發(fā)送的數據取出,組成信息幀,并將主機的ID地址填人幀頭;然后將信息幀發(fā)送到 CAN控制器的發(fā)送緩沖區;最后啟動(dòng)發(fā)送命令即可。信息從CAN總線(xiàn)到CAN接收緩沖區也是由CAN控制器自動(dòng)完成的。接收程序只需從接收緩沖區讀取要接收的信息,并將其存儲在數據存儲區即可。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


評論


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