基于TMS320F2812的快速以太網(wǎng)通信系統(tǒng)平臺(tái)
引言
本文引用地址:http://butianyuan.cn/article/86066.htm隨著Internet應(yīng)用的日益普及,信息共享程度的不斷提高。嵌入式設(shè)備的數(shù)字化和網(wǎng)絡(luò)化已經(jīng)成為必然趨勢(shì),目前市場上的主流嵌入式操作系統(tǒng)都包含了TCP/IP網(wǎng)絡(luò)協(xié)議棧。這些商品化的TCP/IP協(xié)議棧運(yùn)行可靠、性能也非常好,但是價(jià)格較高,降低了市場競爭力。因此,開發(fā)自主知識(shí)產(chǎn)權(quán)的TCP/IP協(xié)議棧的要求變的日益迫切而有意義。
本文的研究目標(biāo)是建立一個(gè)DSP系統(tǒng)的網(wǎng)絡(luò)通信平臺(tái),實(shí)現(xiàn)DSP系統(tǒng)與網(wǎng)絡(luò)中其他通信設(shè)備的高速數(shù)據(jù)傳輸。雖然選擇了TI公司的TMS320F2812 DSP,但是本文提出的方案,具有很大程度的通用性,對(duì)其他系列的DSP或CPU系統(tǒng)也有一定的參考價(jià)值。
TCP/IP協(xié)議棧的體系結(jié)構(gòu)
以太網(wǎng)最典型的應(yīng)用形式是Ethernet+TCP/IP,即在由以太網(wǎng)構(gòu)建的底層傳輸網(wǎng)絡(luò)上采用已成為通用標(biāo)準(zhǔn)的網(wǎng)絡(luò)傳輸協(xié)議TCP/IP進(jìn)行數(shù)據(jù)通信,這是當(dāng)今最流行,應(yīng)用最廣泛的以太網(wǎng)通信方式。
國際標(biāo)準(zhǔn)化組織(ISO)制定了開放式系統(tǒng)互連(OSI)參考模型,將通信會(huì)話需要的各個(gè)過程劃分為7個(gè)相對(duì)獨(dú)立的功能層次,與OSI參考模型不同,TCP/IP模型側(cè)重于互連設(shè)備之間的數(shù)據(jù)傳輸,而不是嚴(yán)格的層次劃分。
通常,OSI參考模型在從理論上解釋互聯(lián)網(wǎng)通信機(jī)制時(shí)比較適合,而TCP/IP模型則在具體的軟件實(shí)現(xiàn)中更為適合。
系統(tǒng)硬件設(shè)計(jì)
1 系統(tǒng)的總體結(jié)構(gòu)
本文的以太網(wǎng)通信系統(tǒng)大致分為5個(gè)層次,由下向上分別為:硬件層、設(shè)備驅(qū)動(dòng)層、操作系統(tǒng)、網(wǎng)絡(luò)模塊和用戶代碼。系統(tǒng)硬件電路,包括DSP系統(tǒng)和以太網(wǎng)控制芯片Ax88796的接口電路,是系統(tǒng)的物理基礎(chǔ)??焖僖蕴W(wǎng)驅(qū)動(dòng)程序處于硬件抽象層,本身雖為軟件,但與硬件結(jié)合緊密,為操作系統(tǒng)提供了訪問快速以太網(wǎng)控制芯片Ax88796或改變其工作行為的系統(tǒng)調(diào)用。μC/OS-Ⅱ操作系統(tǒng)處于系統(tǒng)內(nèi)核,為用戶代碼統(tǒng)一管理系統(tǒng)軟硬件資源,提供用戶所需的底層服務(wù)。TCP/IP協(xié)議棧軟件為μC/OS-Ⅱ操作系統(tǒng)擴(kuò)展了網(wǎng)絡(luò)通信能力。用戶代碼處理特定的應(yīng)用程序細(xì)節(jié),可以直接使用TCP/IP協(xié)議模塊提供的API函數(shù),開發(fā)基于以太網(wǎng)的通信項(xiàng)目。
2 系統(tǒng)硬件框圖
系統(tǒng)硬件包括TMS320F2812與IS61LV51216存儲(chǔ)器芯片的接口電路、TMS320F2812與快速以太網(wǎng)控制芯片Ax88796的接口電路。系統(tǒng)的軟件代碼在調(diào)試階段存放在擴(kuò)展的RAM中,脫機(jī)運(yùn)行后,用于存儲(chǔ)傳輸?shù)膱D像數(shù)據(jù),故擴(kuò)展了512KB。使用了ISSI公司生成的IS61LV51216存儲(chǔ)器芯片。以太網(wǎng)控制芯片Ax88796通過ISA接口與DSP相連,通過網(wǎng)絡(luò)隔離器16ST8515后,接入以太網(wǎng)絡(luò)中。電源監(jiān)控電路在系統(tǒng)電源電壓出現(xiàn)波動(dòng)時(shí),給DSP系統(tǒng)提供復(fù)位信號(hào),使系統(tǒng)程序重新初始化并運(yùn)行,避免出現(xiàn)不可預(yù)知的錯(cuò)誤。
圖1 硬件框圖
3 DSP系統(tǒng)硬件設(shè)計(jì)
?、傧到y(tǒng)電源設(shè)計(jì)
為了降低芯片功耗,TMS320F2812采用1.8V(1.9V@150MHz)內(nèi)核電壓,但GPIO、FLASH等模塊采用3.3V供電。本課題選用TI公司的TPS767D301電源芯片。該芯片輸出兩路電壓,一路3.3V,另一路1.5~5.5V可調(diào),支持1A電流輸出。系統(tǒng)中DSP芯片正常工作下消耗電流230mA,以太網(wǎng)接口芯片最大消耗電流120mA,RAM最大消耗電流180mA,系統(tǒng)總功耗為530mA,故TPS767D301能滿足系統(tǒng)要求。
?、谙到y(tǒng)時(shí)鐘設(shè)計(jì)
系統(tǒng)的時(shí)鐘電路有兩種方案可選擇,一種是使用外部時(shí)鐘源,即有源晶振。另一種是使用DSP內(nèi)部的振蕩驅(qū)動(dòng)電路,外接一個(gè)晶體和兩個(gè)電容。有源晶振的特點(diǎn)是不需要芯片內(nèi)部振蕩器,加上額定的電壓就能輸出規(guī)則的方波,缺點(diǎn)是輸出波形只能是固定的兩個(gè)電壓值:低電平(0V)和高電平(輸入供電電壓),另外器件成本高。外接晶體的特點(diǎn)是使用芯片內(nèi)部振蕩電路,輸出的波形為正弦波,波形幅度由控制器決定,不存在電壓匹配的問題。
TMS320F2812的I/O引腳一般為3.3V,但時(shí)鐘輸入腳卻是個(gè)例外,只能承受1.8V/1.9V的輸入電壓,而1.8V/1.9V的有源晶振市場上罕有出售,故采用無源晶振。
?、蹚?fù)位電路設(shè)計(jì)
系統(tǒng)中有兩個(gè)芯片需要復(fù)位信號(hào):DSP芯片和以太網(wǎng)控制芯片Ax88796。但二者對(duì)復(fù)位信號(hào)的要求各不相同,DSP是低電平復(fù)位,而Ax88796是高電平復(fù)位,故采用TI公司的專用復(fù)位芯片TPS3307。該芯片具有上電復(fù)位、手動(dòng)復(fù)位和電源監(jiān)控三項(xiàng)功能。電路如圖2所示。
進(jìn)入正常的程序入口,Ax88796初始化內(nèi)部寄存器。手動(dòng)復(fù)位的功能是當(dāng)系統(tǒng)出現(xiàn)程序跑飛或需要系統(tǒng)重新初始化并運(yùn)行時(shí),按下復(fù)位按鍵產(chǎn)生復(fù)位信號(hào),使DSP進(jìn)入正常的程序入口。
?、芟到y(tǒng)RAM擴(kuò)展
TMS320F2812內(nèi)部已經(jīng)集成了18KB的RAM,對(duì)于一般的應(yīng)用來說,已經(jīng)無須再擴(kuò)展外部RAM。但是片內(nèi)RAM能以150MIPS的速度進(jìn)行訪問,在對(duì)運(yùn)算速度要求很高的處理程序中,通常將經(jīng)常訪問的程序段放到內(nèi)部RAM中運(yùn)行,這樣能大大提高運(yùn)行速度,因此片內(nèi)RAM顯得格外寶貴。而且本系統(tǒng)是一個(gè)網(wǎng)絡(luò)通信系統(tǒng),將來會(huì)用于進(jìn)行大量圖像的網(wǎng)絡(luò)傳輸,因而也要求外括RAM用于存放圖像文件。
圖2 復(fù)位電路
RAM選用ISSI公司的IS61LV51216,存儲(chǔ)容量為512K×16位,3.3V的供電電壓,訪問速度有8ns、10ns、12ns、15ns可選擇。當(dāng)CPU運(yùn)行在150MHz的時(shí)候,地址和數(shù)據(jù)的最小有效時(shí)間為3個(gè)時(shí)鐘周期,即20ns,所以該存儲(chǔ)器接口不用考慮時(shí)序設(shè)計(jì)的問題。
4 快速以太網(wǎng)硬件接口設(shè)計(jì)
Ax88796內(nèi)部集成有10/100Mb/s自適應(yīng)的物理層收發(fā)器和8K×16位的SRAM,支持MCS-51系列、80186系列、ISA以及MC68K系列等多種CPU總線類型。Ax88796提供基于IEEE802.3/IEEE 802.3u局域網(wǎng)標(biāo)準(zhǔn)的10Mb/s和100Mb/s以太網(wǎng)控制功能,并采用IEEE 802.3u兼容的媒質(zhì)無關(guān)接口MII(Media Independent Interface)。此外,Ax88796還提供可選的標(biāo)準(zhǔn)打印接口,用于連接打印設(shè)備或作通用I/O端口。
①Ax88796的ISA接口設(shè)計(jì)
Ax88796有兩個(gè)輸入引腳CPU[1:0]設(shè)置不同的工作模式,用于和不同的CPU總線相連。在與TMS320F2812連接時(shí),將CPU[1:0]都拉低,設(shè)置為ISA總線接口。Ax88796的地址總線SA與數(shù)據(jù)總線SD分別與TMS320F2812的地址/數(shù)據(jù)總線相連,TMS320F2812通過I/O讀寫Ax88796的寄存器來控制其狀態(tài),通過遠(yuǎn)程DMA FIFOs與Ax88796的內(nèi)部SRAM進(jìn)行數(shù)據(jù)交換。Ax88796的基地址默認(rèn)值200H,所以基地址范圍為200H~21FH。Ax88796的ISA接口有10根地址線,SA[9:0]。
②Ax88796電源設(shè)計(jì)
Ax88796具有多種電壓類型:VDD、VDDA、VDDPD和VDDO,分別為芯片內(nèi)部的數(shù)字電路、模擬電路、相位偵測(cè)模塊、收發(fā)器驅(qū)動(dòng)模塊提供電源。雖然同為3.3V電壓,但為了防止各個(gè)模塊通過電源線發(fā)生串繞,要求各電源獨(dú)立供電,于是設(shè)計(jì)了電源隔離、濾波電路,將系統(tǒng)的3.3V供電電壓,通過LC濾波分為Ax88796所需的四路電壓。
評(píng)論