基于DSP的CAN和以太網接口設計
摘要:浮點型DSP以豐富的外設,較高的主頻在工業控制領域得到廣泛的應用,CAN總線設備構成的現場總線與以太網構成的高速通信網絡已成為工業控制領域的發展趨勢。介紹了一種基于的CAN總線與以太網互聯系統的設計方法,給出了系統各組成部分的硬件及軟件的設計與實現。控制部分采用TI公司的TMS320F28335,CAN總線接口模塊采用TI公司的0,以太網接口模塊控制芯片采用Realtek公司的RTL8019AS。該設計具有可擴展性好和性價比高的優點。
本文引用地址:http://www.104case.com/article/234981.htm0 引言
工業現場設備復雜化,單一的串行通信使系統越來越復雜,總線控制也成為控制系統的主流,而CAN總線以其高速率,高抗干擾性成為最有前途的總線之一。基于以太網的工業控制網絡具有數據傳輸率高,可靠性好,易維護,可遠程傳輸等優點。隨著互聯網技術的普及與推廣,以太網通信速率的提高,交換技術的發展,使得它受到了全球的擁護和軟硬件的支持,因此,基于以太網的工業控制網絡是工業控制系統的發展趨勢。本文通過主流控制器TMS320F28335在已有豐富外設的基礎上,擴展了CAN總線和以太網接口,具有重要的工程價值。
1 系統硬件設計
TMS320F28335型單精度浮點DSP主頻可達150 MHz,內核電壓1.9 V,I/O電壓3.3 V;片上帶有256 KB的16位FLASH和34 KB的16位SAR AM,并有128位安全密碼鑰匙鎖,保護FLASH防止固件反向工程。片上通信端口豐富,集成有3個SCI串口輸出通道,并帶有16 B的FIFO,2個多通道McBSP串口,2個增強型CAN,1個SPI總線。還帶有16通道的12位A/D轉換器等資源口(具體原理圖限于篇幅只畫CAN和以太網部分)。
CAN驅動器選用TI公司的,供電電壓為3.3 V,CAN接口部分原理圖如圖1所示。

以太網控制器選用Realtek公司的RTL8019AS,其具有集成度高,支持全雙工通信,與NE2000相兼容等特性,具有廣泛應用場合。以太網接口部分原理圖如圖2所示。

2 系統軟件設計
本文中的軟件設計主要包括三個部分:CAN驅動通信程序,RTL8019AS驅動程序和以太網協議棧移植。程序的編寫在DSP集成開發環境CCS 3.3下完成。
2.1 CAN總線驅動
2.1.1 初始化
CAN模塊使用前必須初始化,初始化需要完成的主要工作有:引腳配置;郵箱配置;波特率配置;中段功能設置。限于篇幅,初始化程序從略。
2.1.2 CAN發送
本文采用郵箱0進行數據的發送,郵箱0的ID在初始化函數中已設置(程序解釋以注釋的形式給出,下文同):

2.1.3 CAN接收
為保證數據能及時接收,像其他串行通信一樣,接收一般在中斷中完成:


實際工作中通過PCCAN軟件觀察到的CAN發送和接收數據,如圖3所示。

2.2 以太網驅動
RTL8019AS工作在網絡中的數據鏈路層,完成數據鏈路層及網絡層的協議轉換,數據的發送和接收等任務,主要有兩個基本函數:數據幀的發送和接收函數。
2.2.1 初始化函數
RTL8019AS的初始化函數操作步驟依次為:
(1)使芯片處于停止工作模式;
(2)選中PAGE1,設置組播和MAC地址;
(3)選中PAGE0,使芯片處于正常工作模式;
(4)啟動芯片,開始工作并清除所有中斷標志。
2.2.2 數據包發送
RTL8019AS發送數據包遵循IEEE 802.3協議,發送數據函數操作步驟依次為:
(1)設置以太網協議類型,目的地址、源地址;
(2)將數據幀發送到RTL8019AS發送緩沖區;
(3)進行數據包發送。
如圖4所示,完成了從源(192.168.0.250)到目的(192.168.0.160)的TCP傳輸。

2.2.3 數據包接收
RTL8019AS接收數據函數操作步驟依次為:
(1)進行中斷服務程序設置;
(2)產生中斷后,查看RTL8019AS寄存器得知接收數據長度、存放地址等信息;
(3)使用遠程DMA將接收數據從RTL8019AS內部RAM移植到TMS320F28335內部RAM。
3 結語
本文使用通用控制器TMS320F28335在自帶眾多串行接口的基礎上外擴了CAN和以太網接口,既能根據工程實際需要使用某一兩種外設,又能完成各種協議的轉換,是一種低成本、應用性強的CAN總線和以太網設計方案。
評論