国产肉体XXXX裸体137大胆,国产成人久久精品流白浆,国产乱子伦视频在线观看,无码中文字幕免费一区二区三区 国产成人手机在线-午夜国产精品无套-swag国产精品-国产毛片久久国产

新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于CAN總線與以太網(wǎng)的嵌入式網(wǎng)關設計技術

基于CAN總線與以太網(wǎng)的嵌入式網(wǎng)關設計技術

作者: 時間:2016-12-20 來源:網(wǎng)絡 收藏

2 通信模塊軟件設計

2.1 SJA1000驅(qū)動程序的實現(xiàn)

SJA1000驅(qū)動程序是由SJA的初始化函數(shù)、發(fā)送函數(shù)、接收函數(shù)組成的,圖4所示為其流程圖。

(1)SJA1000的初始化。SJA1000在系統(tǒng)上電、硬件復位或主控制器發(fā)出復位命令后需要進行初始化,以設定它的工作模式、通信速率、輸出控制方式和標識符屏蔽格式等重要參數(shù)。CAN控制器SJA1000的初始化只能在復位模式下才能完成。程序的流程圖如圖4所示。

SJA1000驅(qū)動程序

首先程序檢測CAN接口是否正常工作,即向SJA1000的測試寄存器寫入并讀出,校驗其結果是否一致,如果結果一致則進入復位模式進行初始化設置。在初始化的過程中,如果對某個寄存器的設置超過規(guī)定的時間還未完成,則認為初始化失敗,初始化程序自動發(fā)送錯誤信號。

(2)數(shù)據(jù)的發(fā)送與接收。SJA1000芯片有一個報文發(fā)送緩沖區(qū)和兩個報文接收緩沖區(qū),用于CAN報文傳送。數(shù)據(jù)從CAN控制器SJA1000發(fā)送到 CAN總線首先是由CAN控制器自動完成的,發(fā)送數(shù)據(jù)程序把數(shù)據(jù)存儲區(qū)中待發(fā)送的數(shù)據(jù)取出,組成信息幀,并將主機的ID地址填人幀頭;然后將信息幀發(fā)送到 CAN控制器的發(fā)送緩沖區(qū);最后啟動發(fā)送命令即可。信息從CAN總線到CAN接收緩沖區(qū)也是由CAN控制器自動完成的。接收程序只需從接收緩沖區(qū)讀取要接收的信息,并將其存儲在數(shù)據(jù)存儲區(qū)即可。

2.2 RTL8019AS驅(qū)動程序的實現(xiàn)

RTL8019AS的驅(qū)動程序和SJA的驅(qū)動程序一樣,有3種功能:芯片初始化、收包、發(fā)包。

(1)RTL8019AS的初始化。RTL8019AS的初始化過程比較復雜,但十分重要,它決定了通信過程中的一些重要參數(shù)。如設置相關工作模式的寄存器,分配和初始化接收及發(fā)送緩沖區(qū),初始化網(wǎng)卡接收地址等,其流程圖見圖5所示。

RTL8019AS驅(qū)動程序

(2)數(shù)據(jù)的發(fā)送與接收。因為在RTL8019AS的初始化程序中已經(jīng)完成了以太網(wǎng)的物理地址設置,并指定了發(fā)送緩沖區(qū)起始頁面地址寄存器TPSR。此外,RTL8019AS的CRC校驗自動生成器也被使能,所以RTL8019AS的數(shù)據(jù)包發(fā)送程序相對要簡單。在數(shù)據(jù)包的發(fā)送過程中,AT89C55只要通過遠程DMA將待發(fā)送的數(shù)據(jù)包寫至RTL8019AS片內(nèi)SRAM的發(fā)送緩沖區(qū),并啟動發(fā)送過程即可。

在接收數(shù)據(jù)包時,有查詢和中斷兩種方式,鑒于AT89C55的處理能力有限,在該設計中采用查詢方式,根據(jù)判斷CURB==BNRY+1,可以判斷是否收到新的數(shù)據(jù)包,如果有則通過DMA讀操作從網(wǎng)卡芯片RAM讀出數(shù)據(jù)。

2.3 網(wǎng)關協(xié)議轉(zhuǎn)換流程

嵌入式網(wǎng)絡接口實現(xiàn)兩種網(wǎng)絡的互連。當以太網(wǎng)應用層有數(shù)據(jù)要發(fā)送到CAN節(jié)點時,首先將數(shù)據(jù)發(fā)送到網(wǎng)關,由以太網(wǎng)控制器協(xié)議轉(zhuǎn)換模塊解析完整的CAN協(xié)議數(shù)據(jù)包,通過CAN控制器發(fā)送到CAN總線。反之,當CAN設備有數(shù)據(jù)要發(fā)送到用戶層時,首先將數(shù)據(jù)發(fā)送到透明網(wǎng)關,由CAN控制器協(xié)議模塊將完整的CAN協(xié)議數(shù)據(jù)包存放在緩沖區(qū),再通知主控芯片,由它調(diào)用以太網(wǎng)控制協(xié)議轉(zhuǎn)換模塊,將完整的 CAN協(xié)議數(shù)據(jù)包作為應用層數(shù)據(jù)封裝起來,再發(fā)送到以太網(wǎng)的應用層。

3 結 語

這里介紹的是一種低成本、高可靠性、快捷的CAN以太網(wǎng)網(wǎng)關的硬件、軟件設計方案,通過實際應用證明,該設計可以作為CAN總線節(jié)點的一個模塊,能夠與儀器儀表等設備相結合,使其具有網(wǎng)絡通信的能力,比較同類產(chǎn)品的設計,該設計能大大提高其性價比。


上一頁 1 2 下一頁

評論


技術專區(qū)

關閉