RTL8019型控制器與DSP的接口設計及編程技巧
基于美國TI公司的高速數字信號處理器,詳細描述RTL8019型以太網(wǎng)控制器的性能特點(diǎn)和引腳功能。同時(shí)給出DSP與RTL8019的硬件電路接口設計方法及DSP控制RTL8019進(jìn)行網(wǎng)絡(luò )傳輸的相應軟件編程方法。
本文引用地址:http://dyxdggzs.com/article/81969.htm1 引言
數字信號處理器(DSP)具有先進(jìn)的并行處理結構,特別適合于信號處理,已經(jīng)越來(lái)越多地應用于工業(yè)控制領(lǐng)域和各類(lèi)儀器儀表的開(kāi)發(fā)設計?;ヂ?lián)網(wǎng)絡(luò )硬件和軟件的迅猛發(fā)展使得網(wǎng)絡(luò )用戶(hù)呈指數增長(cháng),在使用計算機進(jìn)行網(wǎng)絡(luò )互聯(lián)的同時(shí),各種家電設備、儀器儀表以及工業(yè)生產(chǎn)中的數據采集與控制設備逐步走向網(wǎng)絡(luò )化,以便共享網(wǎng)絡(luò )中龐大的信息資源。在電子設備日趨網(wǎng)絡(luò )化的背景下,利用高速數字信號處理器控制RTL8019實(shí)現以太網(wǎng)通訊具有十分重要的意義。
TMS320F206是TI公司生產(chǎn)的16-bit定點(diǎn)DSP,它有l條程序總線(xiàn)和3條數據總線(xiàn),采用了改進(jìn)的哈佛結構,內含高度并行的32-bit算術(shù)邏輯單元、16×16-bit并行硬件乘法器、片內存儲器和片內外設,配備了高度專(zhuān)業(yè)化的指令集,功耗相當低,特別適合于信號處理。RTL8019采用100引腳POFP封裝,性能優(yōu)良,價(jià)格低。它支持PnP自動(dòng)探測.符合EthernetⅡ與IEEE802.3(10Base5、10Base2、10BoseT)標準,內嵌16 KB SRAM,有全雙工通信接口,可以通過(guò)交換機在雙絞線(xiàn)上同時(shí)發(fā)送和接收數據,使帶寬從lO MHz增加到20 MHz,是進(jìn)行以太網(wǎng)通信的理想器件。本文即結合DSP處理器的特點(diǎn),詳細介紹Realtek公司生產(chǎn)的RTL8019型以太網(wǎng)控制器的硬件電路設計方法及編程技巧。
2 RTL8019的主要引腳功能
AEN(34):地址使能引腳,決定電路被分得的地址空間:
INT0-INT7(97~100,1~4):中斷請求引腳;
IOCHRDY(35):讀/寫(xiě)命令準備引腳;
IOCSl6B(96):8位/16位數據選擇引腳,高電平選擇16位數據總線(xiàn),低電平選擇8位數據總線(xiàn);
IORB,IOWB(29,30):I/O端口讀命令、寫(xiě)命令;
SMEMRB,SMEMWB(3l,32):寄存器讀命令、寫(xiě)命令;
RSTDRV(33):復位信號;
SD0-SDl5(36~43,87,88,90~96):數據線(xiàn);
SA0-SDl9(5,7~13,15,16,18~27):地址線(xiàn);
X1(50):20 MHz晶體振蕩器或外部晶體振蕩器輸入引腳;
LEDBNC,LEDO,LEDl,LED2(60~63):網(wǎng)卡狀態(tài)指示;
TPOUT+、TPOUT-、TPIN-、TPIN+(45,46,58,59);數據發(fā)送和接收引腳。
3 寄存器配置
RTL8019有4頁(yè)寄存器組,每頁(yè)寄存器組有16個(gè)寄存器。進(jìn)行網(wǎng)絡(luò )通信時(shí)需要對這些寄存器進(jìn)行設置。
CR是控制命令寄存器,地址是00H,這個(gè)寄存器用來(lái)選擇寄存器頁(yè),控制遠程DMA操作。其中STP(O bit)是停止命令位,PSO、PSl(6 bit、7 bit)是頁(yè)寄存器選擇位,在實(shí)際配置寄存器時(shí),首先要指定要配置的寄存器屬于哪一頁(yè)(就是進(jìn)行PSI和PSO的設置),然后對該頁(yè)中的寄存器寫(xiě)入配置信息。
PSTART是接收緩沖區起始頁(yè)位置,地址是01H。
PSTOP是接收緩沖區中止頁(yè)位置,地址是02H。
BNRY是邊界寄存器,地址是03H。
TSR是發(fā)送狀態(tài)寄存器,TPSR是發(fā)送緩沖區起始頁(yè)位置,地址是04H。
NCR是發(fā)送期間碰撞次數,地址是05H。
FIFO是回環(huán)檢測后,查看FIFO內容,地址是06H。
ISR是中斷狀態(tài)寄存器,寫(xiě)“1”清除內部所有寄存器位,地址是07H。
CRDAO,CRDAl是當前的遠程DMA地址寄存器,地址是08H、09H。
RBCR0,RBCRl是遠程DMA字節計數寄存器,地址是0AH、OBH。
RSR接收狀態(tài)寄存器,RCR是接收配置寄存器,地址是0CH。
TCR發(fā)送配置寄存器,TSR是發(fā)送狀態(tài)寄存器,CNTR0是幀同步錯總計數器,地址是0DH。
DCR是數據配置寄存器,CNTRl是CRC錯總計數器,地址是0EH。
CNTR2是丟包總計數器,地址是0FH。
遠程DMA端口寄存器,地址是10H。
復位端口寄存器,地址是1AH。
要進(jìn)行網(wǎng)絡(luò )通信必須對網(wǎng)絡(luò )控制器的各個(gè)寄存器初始化,初始化比較煩瑣,但非常重要,它決定網(wǎng)絡(luò )通信的一些重要參數。初始化時(shí)需要對上述的各個(gè)寄存器進(jìn)行詳細配置。
4 硬件接口電路設計
在具體應用中,由于DSP本身的限制,進(jìn)行了一系列的簡(jiǎn)化設計。采用跳線(xiàn)工作方式即網(wǎng)卡的I/0和中斷由跳線(xiàn)決定,JP引腳接高電平時(shí)選擇16位數據總線(xiàn)。僅通過(guò)4條地址線(xiàn)A0-A3選擇RTL8019的寄存器地址和存儲器地址,控制并實(shí)現數據的讀取。LEDBNC、LEDO、LEDl、LED2網(wǎng)卡狀態(tài)指示引腳連接發(fā)光二極管,便于直觀(guān)判斷網(wǎng)卡狀態(tài)。通過(guò)GAL22V10型邏輯編程器對RTL8019的片選信號進(jìn)行控制。具體的硬件接口電路圖如圖1所示。
5 軟件編程
TMS320F206的用戶(hù)可以用匯編語(yǔ)言或C語(yǔ)言進(jìn)行源程序的編寫(xiě),用C語(yǔ)言開(kāi)發(fā)出的系統易于維護,可靠性高,可移植性好。下面介紹用C語(yǔ)言編寫(xiě)的RTL8019的開(kāi)發(fā)程序。由于篇幅有限,本文僅給出RTL8019的初始化程序和接收包子程序。
void ethernetinit()
6 結束語(yǔ)
本文詳細論述了RTL8019的引腳功能、寄存器配置、硬件配置和軟件編程方法,這些同樣可以作為單片機、微處理器以及PC等其他應用系統對于網(wǎng)絡(luò )通信設計的直接參考,用戶(hù)也可以針對自己的特殊需要進(jìn)行一些特殊設置。這些方面的研究和逐步推進(jìn)將為測控領(lǐng)域注入新的生機和活力。
評論