提出一種工業現場總線與以太網互聯方法,介紹以太網與CAN現場總線之間協議轉換網關的設計與實現,采用AT89C55作為主處理器,通過兩個接口芯片實現CAN總線與以太網的互連,分別給出其硬件結構和軟件設計思想。為企業信息網絡與控制網絡集成提供一種可行的方法。
以太網接口模塊:該系統選擇了性能價格比較高的Atmel公司生產的AT89C55 單片機。它是面向測控對象和嵌入式應用的,所以它的體系結構以及CPU、指令系統、外圍單元電路都是按照這種要求專門設計的。它內部帶高達20 KB的FLASH程序存儲器,AT89C55完全兼容8051指令集,片上FLASH方便了使用者進行在線編程,工作速率最高可達33 MHz,256 B的內部RAM,32個可編程的I/O口,3個16位的定時/計數器,8個中斷源,支持低功耗的空閑工作模式。以太網接口選用的是RTL8019AS芯片,它是由Realtek公司生產的一種高度集成的以太網控制器,能實現以太網媒介訪問層(MAC)和物理層(PHY)的全部功能。RTL8019AS內部有兩個RAM區域:一是16 KB,地址為0x4000~0x7fff,要接收和發送數據包必須通過DMA讀寫RTL8019AS內部的16 KB的RAM,它實際上是雙端口RAM,即有兩條總線與其連接,一條總線用于RTL8019AS讀/寫或寫/讀該RAM,即本地DMA;另一條總線用于單片機讀或寫該RAM,即遠程DMA;二是32個字節,地址為0x0000~0x001F,用于存儲以太網物理地址。主控芯片和以太網接口芯片的硬件接口原理圖見圖2。值得注意的是由于以太網的包最大可以超過1 500個字節,AT89C55的片內RAM只有256個字節,因此無法存儲這么大的包,所以這里擴展了一個32 KB的外部RAM,這樣同時也能提高單片機的數據傳輸速度。
CAN接口模塊:組成CAN系統的主要器件是CAN控制器和收發器。該設計中,CAN接口模塊選用 SJA1000芯片和PCA82C250芯片。SJA1000是一個獨立的CAN控制器,它是Philips公司另一個CAN控制器PCA82C200的替代產品,且增加了一種新的工作模式(Peli CAN),這種模式支持CAN 2.0B協議。SJA1000主要完成CAN的通信協議,實現報文的裝配和拆分、接收信息的過濾和校驗等。
PCA82C250是CAN控制器與物理總線之間的接口,主要用于增強系統的驅動能力。采用收發器的系統中,節點數至少可以達到110個,同時還具有降低射頻干擾(RFI)和很強的抗電磁干擾 (EMI)能力。在處理這部分電路時,有幾個地方要特別注意:
(1)晶振電路的問題。89C55和SJA1000都應該有各自獨立的晶振電路,不能夠用SJA1000的時鐘輸出信號CLKOUT來驅動單片機。
(2)復位引腳的問題。雖然SJA1000的復位是低電平,但不能通過一個非門直接連接單片機的復位引腳。一般對解決復位引腳問題有兩種方式:第一種是使用單片機的I/O引腳控制SJA的復位引腳,其好處是單片機可以完全控制SJA的復位過程;第二種是采用適當的復位芯片,為了降低成本,該設計采取的是第一種方法。
(3)RX1引腳的電位必須維持在約0.5 VCC上,否則將不能形成CAN協議所要求的邏輯電平。
(4)一定要注意電纜的終端阻抗匹配,它直接影響CAN總線是否能正常工作和網絡性能。CAN接口模塊的硬件電路圖見圖3,在PCA82C250的RS腳上接有一個斜率電阻R,可根據總線通信速度適當調整電阻的大小。
。 (本文來源網友上傳,如有侵權,可聯系管理員刪除)
版權聲明:網站轉載的所有的文章、圖片、音頻視頻文件等資料的版權歸版權所有人所有。如果本網所選內容的文章作者及編輯認為其作品不宜公開自由傳播,或不應無償使用,請及時聯絡我們,采取適當措施,避免給雙方造成不必要的經濟損失。