www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀] 基于CAN總線與以太網(wǎng)的嵌入式網(wǎng)關(guān)設(shè)計(jì)

    近年來,隨著以太網(wǎng)技術(shù)的進(jìn)一步發(fā)展和完善,特別是通信速率的提高和交互技術(shù)的應(yīng)用,使得以太網(wǎng)技術(shù)應(yīng)用于現(xiàn)場(chǎng)控制領(lǐng)域成為可能,這對(duì)工業(yè)控制網(wǎng)絡(luò)產(chǎn)生了新的影響。從目前的趨勢(shì)來看,以太網(wǎng)己經(jīng)進(jìn)入了現(xiàn)場(chǎng)控制級(jí),但是已有的現(xiàn)場(chǎng)總線仍將繼續(xù)存在,工業(yè)以太網(wǎng)只能占領(lǐng)一定的市場(chǎng)。
    從現(xiàn)實(shí)來看,以太網(wǎng)擴(kuò)展了現(xiàn)有的系統(tǒng),但是現(xiàn)場(chǎng)總線不可能完全被工業(yè)以太網(wǎng)替代,后者的潛力巨大,其應(yīng)用領(lǐng)域一定會(huì)不斷擴(kuò)大。所以,將現(xiàn)場(chǎng)總線與以太網(wǎng)結(jié)合,從而實(shí)現(xiàn)底層生產(chǎn)與上層管理的緊密集成,已經(jīng)成為一種趨勢(shì)。CAN總線作為國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一,在我國(guó)也得到了很廣泛的應(yīng)用,該設(shè)計(jì)以 CAN總線作為工業(yè)現(xiàn)場(chǎng)總線,實(shí)現(xiàn)其與以太網(wǎng)的互聯(lián)。

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

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

1.2 CAN接口模塊
    組成CAN系統(tǒng)的主要器件是CAN控制器和收發(fā)器。該設(shè)計(jì)中,CAN接口模塊選用SJA1000芯片和PCA82C250芯片。SJA1000是一個(gè)獨(dú)立的CAN控制器,它是Philips公司另一個(gè)CAN控制器PCA82C200的替代產(chǎn)品,且增加了一種新的工作模式(Peli CAN),這種模式支持CAN 2.0B協(xié)議。SJA1000主要完成CAN的通信協(xié)議,實(shí)現(xiàn)報(bào)文的裝配和拆分、接收信息的過濾和校驗(yàn)等。[!--empirenews.page--]PCA82C250是CAN控制器與物理總線之間的接口,主要用于增強(qiáng)系統(tǒng)的驅(qū)動(dòng)能力。采用收發(fā)器的系統(tǒng)中,節(jié)點(diǎn)數(shù)至少可以達(dá)到110個(gè),同時(shí)還具有降低射頻干擾(RFI)和很強(qiáng)的抗電磁干擾 (EMI)能力。在處理這部分電路時(shí),有幾個(gè)地方要特別注意:
    (1)晶振電路的問題。89C55和SJA1000都應(yīng)該有各自獨(dú)立的晶振電路,不能夠用SJA1000的時(shí)鐘輸出信號(hào)CLKOUT來驅(qū)動(dòng)單片機(jī)。
    (2)復(fù)位引腳的問題。雖然SJA1000的復(fù)位是低電平,但不能通過一個(gè)非門直接連接單片機(jī)的復(fù)位引腳。一般對(duì)解決復(fù)位引腳問題有兩種方式:第一種是使用單片機(jī)的I/O引腳控制SJA的復(fù)位引腳,其好處是單片機(jī)可以完全控制SJA的復(fù)位過程;第二種是采用適當(dāng)?shù)膹?fù)位芯片,為了降低成本,該設(shè)計(jì)采取的是第一種方法。
    (3)RX1引腳的電位必須維持在約0.5 VCC上,否則將不能形成CAN協(xié)議所要求的邏輯電平。
    (4)一定要注意電纜的終端阻抗匹配,它直接影響CAN總線是否能正常工作和網(wǎng)絡(luò)性能。CAN接口模塊的硬件電路圖見圖3,在PCA82C250的RS腳上接有一個(gè)斜率電阻R,可根據(jù)總線通信速度適當(dāng)調(diào)整電阻的大小。

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

    (1)SJA1000的初始化。SJA1000在系統(tǒng)上電、硬件復(fù)位或主控制器發(fā)出復(fù)位命令后需要進(jìn)行初始化,以設(shè)定它的工作模式、通信速率、輸出控制方式和標(biāo)識(shí)符屏蔽格式等重要參數(shù)。CAN控制器SJA1000的初始化只能在復(fù)位模式下才能完成。程序的流程圖如圖4所示。
    首先程序檢測(cè)CAN接口是否正常工作,即向SJA1000的測(cè)試寄存器寫入并讀出,校驗(yàn)其結(jié)果是否一致,如果結(jié)果一致則進(jìn)入復(fù)位模式進(jìn)行初始化設(shè)置。在初始化的過程中,如果對(duì)某個(gè)寄存器的設(shè)置超過規(guī)定的時(shí)間還未完成,則認(rèn)為初始化失敗,初始化程序自動(dòng)發(fā)送錯(cuò)誤信號(hào)。
    (2)數(shù)據(jù)的發(fā)送與接收。SJA1000芯片有一個(gè)報(bào)文發(fā)送緩沖區(qū)和兩個(gè)報(bào)文接收緩沖區(qū),用于CAN報(bào)文傳送。數(shù)據(jù)從CAN控制器SJA1000發(fā)送到 CAN總線首先是由CAN控制器自動(dòng)完成的,發(fā)送數(shù)據(jù)程序把數(shù)據(jù)存儲(chǔ)區(qū)中待發(fā)送的數(shù)據(jù)取出,組成信息幀,并將主機(jī)的ID地址填人幀頭;然后將信息幀發(fā)送到 CAN控制器的發(fā)送緩沖區(qū);最后啟動(dòng)發(fā)送命令即可。信息從CAN總線到CAN接收緩沖區(qū)也是由CAN控制器自動(dòng)完成的。接收程序只需從接收緩沖區(qū)讀取要接收的信息,并將其存儲(chǔ)在數(shù)據(jù)存儲(chǔ)區(qū)即可。[!--empirenews.page--]
2.2 RTL8019AS驅(qū)動(dòng)程序的實(shí)現(xiàn)
    RTL8019AS的驅(qū)動(dòng)程序和SJA的驅(qū)動(dòng)程序一樣,有3種功能:芯片初始化、收包、發(fā)包。
    (1)RTL8019AS的初始化。RTL8019AS的初始化過程比較復(fù)雜,但十分重要,它決定了通信過程中的一些重要參數(shù)。如設(shè)置相關(guān)工作模式的寄存器,分配和初始化接收及發(fā)送緩沖區(qū),初始化網(wǎng)卡接收地址等,其流程圖見圖5所示。

    (2)數(shù)據(jù)的發(fā)送與接收。因?yàn)樵赗TL8019AS的初始化程序中已經(jīng)完成了以太網(wǎng)的物理地址設(shè)置,并指定了發(fā)送緩沖區(qū)起始頁面地址寄存器TPSR。此外,RTL8019AS的CRC校驗(yàn)自動(dòng)生成器也被使能,所以RTL8019AS的數(shù)據(jù)包發(fā)送程序相對(duì)要簡(jiǎn)單。在數(shù)據(jù)包的發(fā)送過程中,AT89C55只要通過遠(yuǎn)程DMA將待發(fā)送的數(shù)據(jù)包寫至RTL8019AS片內(nèi)SRAM的發(fā)送緩沖區(qū),并啟動(dòng)發(fā)送過程即可。
    在接收數(shù)據(jù)包時(shí),有查詢和中斷兩種方式,鑒于AT89C55的處理能力有限,在該設(shè)計(jì)中采用查詢方式,根據(jù)判斷CURB==BNRY+1,可以判斷是否收到新的數(shù)據(jù)包,如果有則通過DMA讀操作從網(wǎng)卡芯片RAM讀出數(shù)據(jù)。
2.3 網(wǎng)關(guān)協(xié)議轉(zhuǎn)換流程
    嵌入式網(wǎng)絡(luò)接口實(shí)現(xiàn)兩種網(wǎng)絡(luò)的互連。當(dāng)以太網(wǎng)應(yīng)用層有數(shù)據(jù)要發(fā)送到CAN節(jié)點(diǎn)時(shí),首先將數(shù)據(jù)發(fā)送到網(wǎng)關(guān),由以太網(wǎng)控制器協(xié)議轉(zhuǎn)換模塊解析完整的CAN協(xié)議數(shù)據(jù)包,通過CAN控制器發(fā)送到CAN總線。反之,當(dāng)CAN設(shè)備有數(shù)據(jù)要發(fā)送到用戶層時(shí),首先將數(shù)據(jù)發(fā)送到透明網(wǎng)關(guān),由CAN控制器協(xié)議模塊將完整的CAN協(xié)議數(shù)據(jù)包存放在緩沖區(qū),再通知主控芯片,由它調(diào)用以太網(wǎng)控制協(xié)議轉(zhuǎn)換模塊,將完整的 CAN協(xié)議數(shù)據(jù)包作為應(yīng)用層數(shù)據(jù)封裝起來,再發(fā)送到以太網(wǎng)的應(yīng)用層。

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險(xiǎn)積極籌備個(gè)人養(yǎng)老金的產(chǎn)品設(shè)計(jì)和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動(dòng)商業(yè)養(yǎng)老保險(xiǎn)、個(gè)人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險(xiǎn)等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動(dòng)的最基本功能。而對(duì)于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對(duì)于空間和生活深層關(guān)系的思考,同時(shí)也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進(jìn)程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績(jī)預(yù)告。今年前三季度,公司預(yù)計(jì)實(shí)現(xiàn)營(yíng)業(yè)收入7.54億元至8.33億元,同比增長(zhǎng)60.24%至77.03%;歸母凈利潤(rùn)預(yù)計(jì)為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟(jì)和信息化局發(fā)布2022年度第一批北京市市級(jí)企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠(chéng)健華正式獲得"北京市企業(yè)技術(shù)中心"認(rèn)定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國(guó)際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國(guó)軟件定義存儲(chǔ)及超融合市場(chǎng)研究報(bào)告》,報(bào)告顯示:2022年上半年浪潮超融合銷售額同比增長(zhǎng)59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團(tuán)成立60周年的紀(jì)念日。趁著首都銀行集團(tuán)成立60周年與首都銀行(中國(guó))在華深耕經(jīng)營(yíng)12年的“大日子”,圍繞作為外資金融機(jī)構(gòu)對(duì)在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會(huì)社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團(tuán)公司上海通運(yùn)國(guó)際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國(guó)進(jìn)出口商品交易會(huì)("廣交會(huì)")于"云端"開幕。本屆廣交會(huì)上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過140,...

關(guān)鍵字: 中國(guó)智造 BSP 手機(jī) CAN

要問機(jī)器人公司哪家強(qiáng),波士頓動(dòng)力絕對(duì)是其中的佼佼者。近來年該公司在機(jī)器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機(jī)器人會(huì)后空翻,自主爬樓梯等。這不,波士頓動(dòng)力又發(fā)布了其機(jī)器人組團(tuán)跳男團(tuán)舞的新視頻,表演的機(jī)器人包括...

關(guān)鍵字: 機(jī)器人 BSP 工業(yè)機(jī)器人 現(xiàn)代汽車

南京2022年10月17日 /美通社/ -- 日前《2022第三屆中國(guó)高端家電品牌G50峰會(huì)》于浙江寧波落幕,來自兩百余名行業(yè)大咖、專家學(xué)者共同探討了在形勢(shì)依然嚴(yán)峻的當(dāng)下,如何以科技創(chuàng)新、高端化轉(zhuǎn)型等手段,幫助...

關(guān)鍵字: LINK AI BSP 智能家電

嵌入式教程

6897 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉