日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

CAN總線與以太網(wǎng)在嵌入式網(wǎng)關中的應用

出處:李加升,李寧,曾 哲 湖南大學 發(fā)布于:2011-09-02 11:01:44

 

  隨著網(wǎng)絡技術和微處理器技術的發(fā)展,網(wǎng)絡和信息家電已越來越多地出現(xiàn)在人們的生活之中,這一切使得家電總線網(wǎng)絡的趨勢已不可逆轉。而為了使這一趨勢得以實現(xiàn),連接Internet網(wǎng)絡的嵌入式網(wǎng)關是其關鍵。

  從現(xiàn)實來看,以太網(wǎng)擴展了現(xiàn)有的系統(tǒng),但是現(xiàn)場總線不可能完全被工業(yè)以太網(wǎng)替代,后者的潛力巨大,其應用領域一定會不斷擴大。所以,將現(xiàn)場總線與以太網(wǎng)結合,從而實現(xiàn)底層生產(chǎn)與上層管理的緊密集成,已經(jīng)成為一種趨勢。CAN總線作為國際上應用廣泛的現(xiàn)場總線之一,在我國也得到了很廣泛的應用,該設計以 CAN總線作為工業(yè)現(xiàn)場總線,實現(xiàn)其與以太網(wǎng)的互聯(lián)。

  以太網(wǎng)(Ethernet)指的是由早由Xerox(施樂)公司創(chuàng)建,在1980年,DEC、lntel和Xerox三家公司聯(lián)合開發(fā)成為一個標準。以太網(wǎng)是應用為廣泛的局域網(wǎng),包括標準的以太網(wǎng)(10Mbit/s)、快速以太網(wǎng)(100Mbit/s)和10G(10Gbit/s)以太網(wǎng),采用的是CSMA/CD訪問控制法,它們都符合IEEE802.3.是當今現(xiàn)有局域網(wǎng)采用的通用的通信協(xié)議標準。以太網(wǎng)絡使用CSMA/CD(載波監(jiān)聽多路訪問及沖突檢測)技術,并以10M/S的速率運行在多種類型的電纜上。以太網(wǎng)與IEEE802·3系列標準相類似。

  1 硬件結構

  CAN是控制器局域網(wǎng)絡(ControllerAreaNetwork,CAN)的簡稱,是由研發(fā)和生產(chǎn)汽車電子產(chǎn)品著稱的德國BOSCH公司開發(fā)了的,并終成為國際標準(ISO118?8)。是國際上應用廣泛的現(xiàn)場總線之一。在北美和西歐,CAN總線協(xié)議已經(jīng)成為汽車計算機控制系統(tǒng)和嵌入式工業(yè)控制局域網(wǎng)的標準總線,并且擁有以CAN為底層協(xié)議專為大型貨車和重工機械車輛設計的J1939協(xié)議。近年來,其所具有的高可靠性和良好的錯誤檢測能力受到重視,被廣泛應用于汽車計算機控制系統(tǒng)和環(huán)境溫度惡劣、電磁輻射強和振動大的工業(yè)環(huán)境

  目前,對于CAN和以太網(wǎng)相連的嵌入式網(wǎng)關設計主要有兩種方法:一種是低檔MCU加接口芯片的設計方法,另一種是MCU加EOS(實時多任務操作系統(tǒng))再加接口芯片的設計方法。因CAN只采用了ISO/OSI參考模型的一、二層,協(xié)議相對簡單,比較適合用于低成本、速率要求不高的離散控制系統(tǒng)。從合理的成本和有效利用處理能力這兩方面考慮,該設計采用低檔MCU加接口芯片的方法,其硬件框圖見圖 1.

  1.1 主控芯片及以太網(wǎng)接口模塊

  根據(jù)要求,該系統(tǒng)選擇了性能價格比較高的Atmel公司生產(chǎn)的AT89C55單片機。它是面向測控對象和嵌入式應用的,所以它的體系結構以及CPU、指令系統(tǒng)、外圍單元電路都是按照這種要求專門設計的。它內(nèi)部帶高達20 KB的FLASH程序存儲器,AT89C55完全兼容8051指令集,片上FLASH方便了使用者進行在線編程,工作速率可達33 MHz,256 B的內(nèi)部RAM,32個可編程的I/O口,3個16位的定時/計數(shù)器,8個中斷源,支持低功耗的空閑工作模式。以太網(wǎng)接口選用的是RTL8019AS芯片,它是由Realtek公司生產(chǎn)的一種高度集成的以太網(wǎng)控制器,能實現(xiàn)以太網(wǎng)媒介訪問層(MAC)和物理層(PHY)的全部功能。RTL8019AS內(nèi)部有兩個RAM區(qū)域:一是16 KB,地址為0x4000~0x7fff,要接收和發(fā)送數(shù)據(jù)包必須通過DMA讀寫RTL8019AS內(nèi)部的16 KB的RAM,它實際上是雙端口RAM,即有兩條總線與其連接,一條總線用于RTL8019AS讀/寫或寫/讀該RAM,即本地DMA;另一條總線用于單片機讀或寫該RAM,即遠程DMA;二是32個字節(jié),地址為0x0000~0x001F,用于存儲以太網(wǎng)物理地址。主控芯片和以太網(wǎng)接口芯片的硬件接口原理圖見圖2.值得注意的是由于以太網(wǎng)的包可以超過1 500個字節(jié),AT89C55的片內(nèi)RAM只有256個字節(jié),因此無法存儲這么大的包,所以這里擴展了一個32 KB的外部RAM,這樣同時也能提高單片機的數(shù)據(jù)傳輸速度。

  RAM(隨機存取存儲器)RAM-randomaccessmemory隨機存儲器。存儲單元的內(nèi)容可按需隨意取出或存入,且存取的速度與存儲單元的位置無關的存儲器。這種存儲器在斷電時將丟失其存儲內(nèi)容,故主要用于存儲短時間使用的程序。按照存儲信息的不同,隨機存儲器又分為靜態(tài)隨機存儲器(StaticRAM,SRAM)和動態(tài)隨機存儲器(DynamicRAM,DRAM)。

  1.2 CAN接口模塊

  組成CAN系統(tǒng)的主要器件是CAN控制器和收發(fā)器。該設計中,CAN接口模塊選用SJA1000芯片和PCA82C250芯片。SJA1000是一個獨立的CAN控制器,它是Philips公司另一個CAN控制器PCA82C200的替代產(chǎn)品,且增加了一種新的工作模式(Peli CAN),這種模式支持CAN 2.0B協(xié)議。SJA1000主要完成CAN的通信協(xié)議,實現(xiàn)報文的裝配和拆分、接收信息的過濾和校驗等。

  PCA82C250是CAN控制器與物理總線之間的接口,主要用于增強系統(tǒng)的驅動能力。采用收發(fā)器的系統(tǒng)中,節(jié)點數(shù)至少可以達到110個,同時還具有降低射頻干擾(RFI)和很強的抗電磁干擾 (EMI)能力。在處理這部分電路時,有幾個地方要特別注意:

  (1)晶振電路的問題。89C55和SJA1000都應該有各自獨立的晶振電路,不能夠用SJA1000的時鐘輸出信號CLKOUT來驅動單片機。

  (2)復位引腳的問題。雖然SJA1000的復位是低電平,但不能通過一個非門直接連接單片機的復位引腳。一般對解決復位引腳問題有兩種方式:種是使用單片機的I/O引腳控制SJA的復位引腳,其好處是單片機可以完全控制SJA的復位過程;第二種是采用適當?shù)膹臀恍酒瑸榱私档统杀荆撛O計采取的是種方法。

  (3)RX1引腳的電位必須維持在約0.5 VCC上,否則將不能形成CAN協(xié)議所要求的邏輯電平。

  (4)一定要注意電纜的終端阻抗匹配,它直接影響CAN總線是否能正常工作和網(wǎng)絡性能。CAN接口模塊的硬件電路圖見圖3,在PCA82C250的RS腳上接有一個斜率電阻R,可根據(jù)總線通信速度適當調(diào)整電阻的大小。


  2 通信模塊軟件設計

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

  SJA1000是一種獨立的CAN控制器,主要用于移動目標和一般工業(yè)環(huán)境中的區(qū)域網(wǎng)絡控制。它是Philips半導體公司PCA82C200CAN控制器(BasicCAN)的替代產(chǎn)品,而且它增加了一種新的操作模式--PeliCAN,這種模式支持具有很多新特性的CAN2.0B協(xié)議。

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

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

  首先程序檢測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驅動程序的實現(xiàn)

  RTL8019AS以太網(wǎng)控制器是由Realtek公司出的一款高集成度的以太網(wǎng)控制芯片,具有8/16位總線模式,集成了IEEE802.3協(xié)議標準的介質訪問控制子層(MAC)和物理層的性能,與NE2000相兼容,支持以太網(wǎng)全雙工通信方式,支持UTP,AUI和BNC自動檢測,支持16條I/O基本地址選項和額外I/O地址輸入輸出完全解碼方式,支持存儲器瞬時讀寫,收發(fā)可同時達到10Mbps的速率,內(nèi)置16KB的SRAM,可以方便的與微處理器進行連接

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

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


 

  (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é)議轉換流程

  嵌入式網(wǎng)絡接口實現(xiàn)兩種網(wǎng)絡的互連。當以太網(wǎng)應用層有數(shù)據(jù)要發(fā)送到CAN節(jié)點時,首先將數(shù)據(jù)發(fā)送到網(wǎng)關,由以太網(wǎng)控制器協(xié)議轉換模塊解析完整的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é)議轉換模塊,將完整的 CAN協(xié)議數(shù)據(jù)包作為應用層數(shù)據(jù)封裝起來,再發(fā)送到以太網(wǎng)的應用層。

  3 結 語

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

 


  
關鍵詞:CAN  CAN總線嵌入式總線

版權與免責聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權均屬于維庫電子市場網(wǎng),轉載請必須注明維庫電子市場網(wǎng),http://hbjingang.com,違反者本網(wǎng)將追究相關法律責任。

本網(wǎng)轉載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉載時,必須保留本網(wǎng)注明的作品出處,并自負版權等法律責任。

如涉及作品內(nèi)容、版權等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關權利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務:
賣家服務:
技術客服:

0571-85317607

網(wǎng)站技術支持

13606545031

客服在線時間周一至周五
9:00-17:30

關注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!