新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于ARM LPC2292 的CAN總線和以太網(wǎng)間的網(wǎng)關(guān)設(shè)計

基于ARM LPC2292 的CAN總線和以太網(wǎng)間的網(wǎng)關(guān)設(shè)計

作者: 時間:2009-02-25 來源:網(wǎng)絡(luò) 收藏

0 引言

本文引用地址:http://2s4d.com/article/152646.htm

   是一種設(shè)備互連的型控制網(wǎng)絡(luò),與其它的現(xiàn)場相比, 總線的數(shù)據(jù)通信具有突出的可靠性、實(shí)時性和靈活性。這些特點(diǎn)使得其能同時滿足過程控制和制造業(yè)自動化的需求,因此被認(rèn)為是最具有發(fā)展前途的現(xiàn)場總線之一。但是,由于其收發(fā)器驅(qū)動能力的限制,約束了 總線的最遠(yuǎn)直接傳輸距離和總線上可以掛接的最大節(jié)點(diǎn)數(shù),給系統(tǒng)組網(wǎng)帶來了一定的困難。而另一方面,由于的低成本、開放性、應(yīng)用軟硬件的支持以及強(qiáng)大的組網(wǎng)能力,目前已經(jīng)是應(yīng)用最廣泛的局域網(wǎng)絡(luò)技術(shù),越來越多的工程師們開始采用CAN 總線與結(jié)合的技術(shù)。針對這樣一種情況,本文提出一種CAN 總線和互連系統(tǒng)的方案,實(shí)現(xiàn)CAN 總線網(wǎng)和以太網(wǎng)的數(shù)據(jù)互連。

  1 系統(tǒng)結(jié)構(gòu)

  用連接CAN 現(xiàn)場總線和以太網(wǎng)的網(wǎng)絡(luò)架構(gòu)圖如圖1 所示。


圖1 系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖

  的嵌入不僅使管理深入到控制現(xiàn)場,同時給系統(tǒng)組網(wǎng)帶來了很大的方便。

  1.1 嵌入的益處

  ① 增大了系統(tǒng)的最大CAN節(jié)點(diǎn)數(shù)

  在不接中繼器的條件下,一個CAN 子網(wǎng)內(nèi)最多可以掛接110 個節(jié)點(diǎn),而每個網(wǎng)關(guān)下可以連接一個子網(wǎng),通過多個網(wǎng)關(guān)可以把多個子網(wǎng)聯(lián)系在一起,從而增加了系統(tǒng)的節(jié)點(diǎn)數(shù)。

 ?、?擴(kuò)大了系統(tǒng)的組網(wǎng)范圍

  CAN 的直接通信距離大概只有10km 左右,系統(tǒng)按照現(xiàn)場區(qū)域和節(jié)點(diǎn)數(shù)構(gòu)建子網(wǎng),子網(wǎng)與子網(wǎng)通過以太網(wǎng)連接,從而突破了區(qū)域和距離的限制。

  ③ 實(shí)現(xiàn)了具有不同傳輸速度的現(xiàn)場總線子網(wǎng)的相互通信網(wǎng)關(guān)提供一個友好的人機(jī)接口,用戶可以根據(jù)需要設(shè)置IP 地址和CAN 控制器的波特率。

  1.2 網(wǎng)關(guān)嵌入的問題

  網(wǎng)關(guān)的應(yīng)用給系統(tǒng)帶來方便的同時,也付出了一定的代價,在中必須考慮這些問題,以提高系統(tǒng)的整體效率。這些問題表現(xiàn)在:

  ①實(shí)時性

  由于使用網(wǎng)關(guān),對數(shù)據(jù)的處理必須經(jīng)歷先存儲,再轉(zhuǎn)換,最后再發(fā)送的過程,增加了一些存儲轉(zhuǎn)發(fā)延時。因此在中必須考慮系統(tǒng)的實(shí)時性,要求系統(tǒng)能在存儲新接收到的數(shù)據(jù)后立即啟動協(xié)議轉(zhuǎn)換和數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù),盡量減小系統(tǒng)延時。

  ② 安全性

  若網(wǎng)關(guān)出現(xiàn)故障,會對CAN 子網(wǎng)和以太網(wǎng)間的通信產(chǎn)生影響,甚至?xí)c瘓這個子網(wǎng)與整個系統(tǒng)的通信。因此在硬件設(shè)計中,要盡量避免干擾等問題的出現(xiàn);軟件設(shè)計必須能對一些可糾正錯誤及時作出反應(yīng),并把錯誤信息返回給用戶。

  2 網(wǎng)關(guān)硬件設(shè)計

  網(wǎng)關(guān)硬件設(shè)計分為CAN 接口、以太網(wǎng)網(wǎng)絡(luò)接口和人機(jī)接口等3 個部分。

  2.1 主控制器的選擇

  主控制器采用Philips 的 控制器。 一個支持實(shí)時仿真和跟蹤TM 的16/32 位7TDMI-SCPU。CPU 內(nèi)核工作電壓為1.8V,引腳工作電壓為3.3V。

   帶有256 k 字節(jié)(kB)嵌入的高速Flash 存儲器,完全可以滿足系統(tǒng)代碼的容量要求,無需外擴(kuò)存儲器;獨(dú)特的加速結(jié)構(gòu)使32 位代碼能夠在最大時鐘速率下運(yùn)行,可實(shí)現(xiàn)TCP/IP 協(xié)議棧中的ARP、TCP、UDP、ICMP 等網(wǎng)絡(luò)協(xié)議。

  LPC2292 內(nèi)部集成兩個CAN 控制器,方便系統(tǒng)采用冗余設(shè)計。CAN控制器主要特性有:單個總線上的數(shù)據(jù)傳輸速率高達(dá)1Mb/s;32 位寄存器和RAM 訪問;兼容CAN2.0B,ISO11898-1規(guī)范;全局驗(yàn)收濾波器可以識別所有的11 位和29 位Rx 標(biāo)識符;驗(yàn)收濾波器為選擇的標(biāo)準(zhǔn)標(biāo)識符提供了FullCAN-style 自動接收。

  CPU 外部靜態(tài)存儲器控制器為CPU 內(nèi)部系統(tǒng)總線和外部存儲器或外部I/O 器件提供了一個接口。利用這種外部總線可以方便與以太網(wǎng)網(wǎng)卡控制器進(jìn)行連接。

  2.2 CAN 接口

  考慮系統(tǒng)的安全性,CAN 接口部分采用冗余設(shè)計。當(dāng)正常通道發(fā)生故障時自動調(diào)用冗余通道進(jìn)行傳輸;如果冗余通道也發(fā)生故障,則進(jìn)入故障處理。其硬件接口示意圖如圖2 所示。LPC2292 兩路通道分別通過高速總線驅(qū)動器TJA1050 與總線相連??偩€驅(qū)動器采用帶隔離的DC/DC 單獨(dú)供電,不僅實(shí)現(xiàn)了兩路通道之間的電氣隔離,也實(shí)現(xiàn)了網(wǎng)關(guān)與總線之間的電氣隔離。

  2.3 網(wǎng)絡(luò)接口

  網(wǎng)卡控制器采用臺灣RETACK 公司的10M 以太網(wǎng)控制芯片RTL8019 ,支持全雙工工作模式,軟件兼容8 位或16 位的NE2000 模式;內(nèi)部集成DMA 控制器、ISA 總線控制器以及16kRAM 、網(wǎng)絡(luò)PHY 收發(fā)器等。RTL8019 使用LPC2292 外部存儲控制的BANK3 部分,它的數(shù)據(jù)地址范圍為0x83400000~0x8340001F 。RTL8019 的工作電壓為+5V,而LPC2292 的引腳工作電壓為3.3V ,所以還應(yīng)在連接線上串聯(lián)470 Ω 的保護(hù)電阻。網(wǎng)絡(luò)采用雙絞線傳輸。

圖2 網(wǎng)絡(luò)硬件結(jié)構(gòu)示意圖

  2.4 人機(jī)接口

  除了上面的主要部分外,還有LED 數(shù)碼管顯示和鍵盤部分,LED 用來顯示工作狀態(tài),鍵盤根據(jù)具體實(shí)際情況修正總線波特率和網(wǎng)關(guān)的IP 地址。

  3 軟件設(shè)計

  3.1 引入RTOS

  網(wǎng)關(guān)設(shè)計對系統(tǒng)的實(shí)時性要求比較高,而采用傳統(tǒng)的前后臺設(shè)計方法又會顯得過于復(fù)雜,實(shí)時性得不到保證。解決這個問題的最好方法就是采用實(shí)時操作系統(tǒng)RTOS 。目前世界上已有一大批成熟的嵌入式操作系統(tǒng),其中μC/OS-II 操作系統(tǒng)是一種源代碼公開的嵌入式操作系統(tǒng),具有代碼短小精悍、簡單易學(xué)的特點(diǎn),針對網(wǎng)關(guān)的設(shè)計,這是一個理想的選擇。

  μC/OS-II 完全是占先式的實(shí)時內(nèi)核,是優(yōu)先級的,即總是讓就緒態(tài)中優(yōu)先級最高的任務(wù)先運(yùn)行,因此實(shí)時性比非占先的內(nèi)核要好。它的絕大部分代碼是用C 語言編寫的,可移植性強(qiáng)。

圖3 嵌入式計算機(jī)系統(tǒng)

tcp/ip相關(guān)文章:tcp/ip是什么



上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉