|
|
| <!--插入廣告JS代碼--> |
TMS320F206 DSP的以太網(wǎng)接口設(shè)計(jì)
陳雪平 渠慎豐 謝剛
(北京航空航天大學(xué) 電子信息工程學(xué)院 北京 100083)
摘要:本文介紹了一種用TMS320F206 DSP控制RTL8019AS實(shí)現(xiàn)的以太網(wǎng)接口設(shè)計(jì),給出了以太網(wǎng)接口的硬件電路的設(shè)計(jì),分網(wǎng)卡初始化、接收控制和發(fā)送控制三部分介紹了網(wǎng)絡(luò)接口驅(qū)動(dòng)程序的設(shè)計(jì)。實(shí)踐表明,該接口穩(wěn)定實(shí)現(xiàn)了上位機(jī)與下位機(jī)的網(wǎng)絡(luò)通信。
關(guān)鍵詞: TMS320F206 RTL8019AS 以太網(wǎng)接口
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 引言
本文中實(shí)現(xiàn)的以太網(wǎng)接口是某型導(dǎo)彈飛控組件測(cè)試系統(tǒng)主測(cè)試板的一部分。該系統(tǒng)硬件的整體框圖如圖1。

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

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

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

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

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