|
|
| <!--插入廣告JS代碼--> |
TMS320F206 DSP的以太網接口設計
陳雪平 渠慎豐 謝剛
(北京航空航天大學 電子信息工程學院 北京 100083)
摘要:本文介紹了一種用TMS320F206 DSP控制RTL8019AS實現的以太網接口設計,給出了以太網接口的硬件電路的設計,分網卡初始化、接收控制和發送控制三部分介紹了網絡接口驅動程序的設計。實踐表明,該接口穩定實現了上位機與下位機的網絡通信。
關鍵詞: TMS320F206 RTL8019AS 以太網接口
Design of Ethernet Interface Based on TMS320F206 DSP
Chen xueping Qu Shenfeng Xiegang
School of Electronic and Information Engineering, BeiHang University, Beijing, 100083
Abstract This paper introduces an ethernet interface based on TMS320F206 DSP controlling RTL8019AS.The ethernet hardware interface is presented.The design of the drivers is given by network initialization, receival and transmission control. The practical results demonstrate that the interface reliably implements the network communication.
Key words TMS320F206 RTL8019AS Ethernet Interface
1 引言
本文中實現的以太網接口是某型導彈飛控組件測試系統主測試板的一部分。該系統硬件的整體框圖如圖1。

圖1 硬件整體框圖
其中上位機為工控計算機,測試人員通過人機界面完成所有測試。下位機主要由TMS320F206組成,控制整個測試項目的時序和流程,負責與被測系統進行各種數據交換和與上位機的實時通訊。由于被測系統與上位機有一定距離而且被測信號頻率較高,如果采用傳統的主測試板通過PCI方式集成于工控機的方式,將會出現數據線信號的衰減和信號延時問題有可能使信號時序錯位,而不能完成系統測試的要求。為此將主測試板獨立出來,移至被測系統附近,通過比較短的線纜與設備相連,這樣就可以避免出現上述問題,F在就需要選擇一種適合的通信方式完成上位機和下位機的數據交互,綜合考慮到測試系統實時性和可靠性的要求我們選擇以太網作為該系統的通信方式。本文以TMS320F206為控制平臺,應用RTL8019AS
以太網控制器具體實現了DSP系統接入以太網的功能。
2 以太網接口的硬件設計
本設計選用RTL8019AS作為以太網控制器。RTL8019AS芯片是由臺灣Realtek公司生產,廣泛用于10M的ISA總線接口的集成以太網控制芯片。它與NE2000標準相兼容,支持即插即用方式,具有16位的數據線接口和20位的地址線接口。RTL8019AS在其典型應用中,可以在發送的物理幀上自動添加幀頭、幀起始定界符和校驗和,可以與很少的外圍電路一起完成效據的發送和接收功能。
2.1 RTL8019AS與TMS320F206的連接
RTL8019AS的接口模式有三種,即跳線模式、PnP模式和RT模式。在此系統內采用跳線模式,所有RTL8019AS的配置都由DSP編程控制。為了簡化DSP網絡接口的軟、硬件設計,不使用遠程自舉加載功能,將JP腿直接接高電平設置位跳線模式,IOS0~IOS3接底電平設置I/O基地址為300H,這樣既省去了93C46,又避免了跳線器更改變資源配置的麻煩。RTL8019AS的總線接口是與ISA總線兼容的,因此可以和DSP直接相連,F206與RTL8019AS的接口如圖2所示。

圖2 F206與RTL8019AS硬件連接原理圖
1. 地址總線 RTL8019AS的20根地址線主要是為了讀/寫自舉ROM,對于I/O端口尋址來說只要16根地址線就足夠了,因此將DSP的地址總線A0~A15與RTL8019AS的地址總線SA0~SA15相連,而SA16~SA19全部接地。由于DSP系統無DMA控制器,因此將RTL8019AS的AEN引腳也接地。
2. 數據總線 RTL8019AS的IOCS16引腳接高電平,選擇16位數據總線方式。
3. 讀/寫控制 F206的I/O口控制信號IS、IOSTRB、R/W等信號經過FPGA變換后與RTL8019AS的IOR、IOW連接。由于F206的I/O口讀/寫速度很快,因此將RTL8019AS的IOCHRDY信號與F206的外設準備好信號READY相連。另外,將SMEMR和SMEMW引腳接高電平,屏蔽了遠程自舉加載功能。
4. 初始化配置 為了簡化電路和編程,本系統直接將IOS0~IOS3接地,設置RTL8019AS的I/O口基地址為300H,IRQ0~IRQ3接地,選擇IOSC16接高電平,選擇16為數據傳輸方式。用DSP一個IO信號作為RTL8019AS的復位信號。RTL8019AS復位結束時采樣這些配置引腳,并根據引腳狀態自動初始化其內部的配置寄存器。
如圖3所示,RTL8019AS與網絡介質之間的連接由濾波器20F001完成。20F001是網絡發送\接收濾波器,主要用于與以太網接口,以提高網絡通信的抗干擾能力。圖中TPOUT+,TPOUT-,TPIN+,TPIN- 是RTL8019芯片輸出信號的四個引腳,濾波器右邊是以太網RJ45接口,通過標準RJ45插頭的雙絞線接入以太網,在本系統中該插頭直接通過網線接至上位機。

圖3 RTL8019與網絡介質間的連接
3 RTL8019AS的驅動程序設計
RTL8019AS硬件驅動實現就是對其內部寄存器進行編程控制,完成數據的正確發送和接收。限于篇幅,有關RTL8019AS頁面寄存器的詳細說明和編程技術請參閱文獻2。網絡通信過程可分為網卡初始化、接收控制和發送控制三部分,下面一一介紹。
3.1 網卡初始化過程
在接收和發送數據以前要進行必需的檢測和初始化,對網卡的初始化就是對相關寄存器進行初始化,建立網絡接口收發的條件。本段程序如下:
void Init_NIC()
{
CR=0x0021;
/*設置頁0為當前頁*/
DCR=0x00c9;
/*初始化數據配置寄存器DCR*/
RBCR0=0x0000;
/*初始化遠程字節計數寄存器*/
RBCR1=0x0000;
/*初始化遠程字節計數寄存器*/
RSAR0=0x0000;
/*初始化遠程字節地址寄存器*/
RSAR1=0x0000;
/*初始化遠程字節地址寄存器*/
RCR=0x00cc;
/*初始化接收配置寄存器*/
TCR=0x00f0;
/*初始化發送配置寄存器*/
PSTART=0x004c;
/*初始化頁起始地址寄存器*/
PSTOP=0x004f;
/*初始化頁終止地址寄存器*/
BNRY=0x004c;
/*界限指針寄存器BNRY的值為0x4c,即BNRY=PSTART*/
IMR=0x00ff;
/*設置中斷屏蔽寄存器IMR的值為0xff,以便允許產生中斷*/
ISR=0x00ff;
/*設置中斷狀態寄存器ISR的值為0xff,以便清除ISR*/
CR=0x0061;
/*將頁1設置為當前頁*/
PAR0=Local_MAC[0];
PAR1=Local_MAC[1];
PAR2=Local_MAC[2];
PAR3=Local_MAC[3];
PAR4=Local_MAC[4];
PAR5=Local_MAC[5];
/*設置物理地址寄存器PAR0~PAR5的值*/
CURR=0x004d;
/*設置當前頁地址寄存器CURR的值為0x4d,即CURR=PSTART+1*/
next_pkt=0x004d;
/*將當前頁地址寄存器CURR的值保存在next_pkt中。*/
CR=0x0022;
/*將NIC置于開始工作模式。*/
}
3.2 以太網幀接收過程
對RTL8019AS接收數據操作,有查詢和中斷兩種方式。在中斷方式下,控制器每收到一個完整的以太網數據包后,向CPU發出中斷請求,CPU響應RTL8019AS的中斷申請后,進人中斷服務程序并開始接收數據。在查詢方式下,通過查詢CURR和BNRY兩個寄存器的值來判斷是否收到一幀數據。當BNRY+l與CURR不等時,說明接收緩沖區接收到了新的數據幀。若收到新數據幀,則先讀取前2個字的數據,這2字的數據代表此次傳輸的數據幀的基本狀態:第一個字的低字節表示接收狀態,與ISR寄存器相對應; 第一個字的高字節為下一個包的開始地址指針;第二個字節為本數據包的長度(以字節為單位計算)。本課題采用中斷和查詢組合的方式接收數據包,具體軟件實現流程如圖4所示:

圖4 以太網幀接收過程
3.3 以太網幀發送過程
數據發送過程應包含三個步驟:數據包的封裝通過遠程DMA;將數據包送入RTL8019AS的數據發送緩沖區;通過RTL8019AS的本地DMA將數據送入FIFO進行發送。本部分軟件實現流程如圖5所示。
4 結束語
本文介紹了一種DSP系統應用RTL8019AS接入以太網的具體實現方法。應用本文實現的以太網接口的測試系統現已交付使用,實踐表明,該接口在穩定性、實時性、速率方面都有良好的表現。
參考文獻
[1] Texas Instruments.TMS320F206 Digital Signal Processor. USA: 1998
[2] Realtek Inc,RTL8019AS Full-Duplex Ethernet Controller with Plug and Play Function,2000
[3] 黃智剛,劉亞斌,謝剛,李軍. 飛控組件測試系統實施方案設計. 北京航空航天大學, 2004

4 結束語
本文介紹了一種DSP系統應用RTL8019AS接入以太網的具體實現方法。應用本文實現的以太網接口的測試系統現已交付使用,實踐表明,該接口在穩定性、實時性、速率方面都有良好的表現。
參考文獻
[1] Texas Instruments.TMS320F206 Digital Signal Processor. USA: 1998
[2] Realtek Inc,RTL8019AS Full-Duplex Ethernet Controller with Plug and Play Function,2000
[3] 黃智剛,劉亞斌,謝剛,李軍. 飛控組件測試系統實施方案設計. 北京航空航天大學, 2004