基于CAN總線與以太網(wǎng)的嵌入式網(wǎng)關(guān)設(shè)計(jì)
近年來(lái),隨著以太網(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ì)來(lái)看,以太網(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í)來(lái)看,以太網(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加接口芯片的方法,其硬件框圖見(jiàn)圖 1。
1.1 主控芯片及以太網(wǎng)接口模塊
根據(jù)要求,該系統(tǒng)選擇了性能價(jià)格比較高的Atmel公司生產(chǎn)的AT89C55單片機(jī)。它是面向測(cè)控對(duì)象和嵌入式應(yīng)用的,所以它的體系結(jié)構(gòu)以及CPU、指令系統(tǒng)、外圍單元電路都是按照這種要求專門(mén)設(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)媒介訪問(wèn)層(MAC)和物理層(PHY)的全部功能。RTL8019AS內(nèi)部有兩個(gè)RAM區(qū)域:一是16 KB,地址為0x4000~0x7fff,要接收和發(fā)送數(shù)據(jù)包必須通過(guò)DMA讀寫(xiě)RTL8019AS內(nèi)部的16 KB的RAM,它實(shí)際上是雙端口RAM,即有兩條總線與其連接,一條總線用于RTL8019AS讀/寫(xiě)或?qū)懀x該RAM,即本地DMA;另一條總線用于單片機(jī)讀或?qū)懺揜AM,即遠(yuǎn)程DMA;二是32個(gè)字節(jié),地址為0x0000~0x001F,用于存儲(chǔ)以太網(wǎng)物理地址。主控芯片和以太網(wǎng)接口芯片的硬件接口原理圖見(jiàn)圖2。值得注意的是由于以太網(wǎng)的包最大可以超過(guò)1 500個(gè)字節(jié),AT89C55的片內(nèi)RAM只有256個(gè)字節(jié),因此無(wú)法存儲(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)文的裝配和拆分、接收信息的過(guò)濾和校驗(yàn)等。
評(píng)論