TMS320LF2407與LAN91C111型嵌入式以太網(wǎng)接口電路的實現(xiàn)
嵌入式以太網(wǎng)不僅可用于工業(yè)現(xiàn)場實現(xiàn)現(xiàn)場節(jié)點的自動上網(wǎng)功能,而且還可以用于信息家電的以太網(wǎng)接口實現(xiàn)遠程控制,具有很好的發(fā)展前景。文章介紹基于TMS320LF2407型DSP的嵌入式系統(tǒng)與LAN91C111型自適應(yīng)10Mb/s/100Mb/s嵌入式以太網(wǎng)控制的接口電路及軟硬件實現(xiàn)方法。
1 引言
目前關(guān)于嵌入式以太網(wǎng)的設(shè)計方案不是很多,其中大多是基于單片機的,缺點是速度慢、成本太高。DSP作為一種特殊的嵌入式微處理器系統(tǒng),具有嵌入的協(xié)處理器和用于快速數(shù)據(jù)處理的并行數(shù)據(jù)通道,在嵌入式網(wǎng)絡(luò)設(shè)備中引入DSP技術(shù)可以使嵌入式以太網(wǎng)變得更快、更便宜、更容易進行功能擴充。本文介紹了基于TMS320LF2407型的嵌入式系統(tǒng)與LAN91C111型自適應(yīng)10Mb/s/100Mb/s嵌入式以太網(wǎng)控制芯片的接口電路和實現(xiàn)方法。
2 LAN91C111
LAN91C111是SMSC公司為嵌入式應(yīng)用系統(tǒng)推出的第三代快速以太網(wǎng)控制器。LAN91C111的芯片上集成了遵循SMSC/CD協(xié)議的MAC(媒體層)和PHY(物理層),符合IEEE802.3/802.U-100Base-Tx/10Base-T規(guī)范,其系統(tǒng)結(jié)構(gòu)如圖1所示。該以太網(wǎng)控制器的主要功能如下:
·自適應(yīng)地選傳輸速率,支持10Mb/s/100Mb/s;
·充分支持全雙工交換式以太網(wǎng);
·支持突發(fā)數(shù)據(jù)傳輸;
·8k字節(jié)的內(nèi)部存儲器用作接收發(fā)送的FIFO緩存;
·增強式能量管理功能;
·支持總線8位、16位、32位的CPU訪問;
·提前發(fā)送和接收。
LAN91C111以太網(wǎng)控制器遵循IEEE頒布的802.3以太網(wǎng)傳輸協(xié)議。其8-32位數(shù)據(jù)總線接口單元通過控制總線、地址總線和數(shù)據(jù)總線與外部的CPU相連。外部數(shù)據(jù)可以8位、16位或32位的方式與LAN91C111進行交換。該電路還集成了EEPROM接口,自舉時再通過EEOROM接口輸入到芯片中,從而實現(xiàn)自動初始化。總線仲裁器(Arbiter)用來監(jiān)視以太網(wǎng)總線的數(shù)據(jù)交流情況,一旦發(fā)生阻塞,仲裁器一方面通過總線接口單元與外部CPU聯(lián)系,另一方面控制內(nèi)存控制單元(MMU),實現(xiàn)總線數(shù)據(jù)協(xié)調(diào)。內(nèi)存控制單元可控制8kB動態(tài)SRAM的存儲情況,實現(xiàn)與DMA控制器之間的數(shù)據(jù)聯(lián)絡(luò)。DMA控制器與總線控制器一起控制DMA與以太網(wǎng)協(xié)議處理器(EPH)之間的數(shù)據(jù)交換。以太網(wǎng)協(xié)議處理器(EPH)之間的數(shù)據(jù)交換。以太網(wǎng)協(xié)議處理器出來的數(shù)量最終經(jīng)過10Mb/s/100Mb/s的物理層(PHY)直接到達以太網(wǎng)總線。
3 硬件電路組成
出于性價比的考慮,選用DSP控制器作為主CPU。TMS320LF2407是TI公司發(fā)布的一款高性價比的,適用于工業(yè)控制領(lǐng)域的DSP。該系列具有強大的指令系統(tǒng)、較強的靈活性、高速的數(shù)學(xué)處理功能及全新的內(nèi)部結(jié)構(gòu),可廣泛用于通信、計算機、商業(yè)、工業(yè)、軍事等領(lǐng)域。TMS320LF2407是240X系列控制器中功能最強的一款,采用低功耗CMOS技術(shù),具有30MI/s的執(zhí)行速率,片上還集成了豐富的外圍部件(EVM、A/D模塊、CAN、SCI、SPI及JTAG)。TMS320LF2407的工作頻率較高(40MHz),存貯空間較大(高達32k字的FLASH程序存儲器,可擴展外部64k字存儲器,64k字I/O尋址空間),非常適合處理復(fù)雜的TCP/IP協(xié)議。
由于LAN91C111是專為嵌入式系統(tǒng)設(shè)計的,因此,其外圍電路相對比較簡單。它和沒有DMA傳輸性能的16位DSP(TMS320LF2407)及TG110-S050N2型電磁耦合變壓器構(gòu)成的嵌入式以太網(wǎng)結(jié)構(gòu)如圖2所示。圖中,地址總線A1-A15相連。A0沒有被LAN91C111使用,懸空;數(shù)據(jù)總線D0-D15相連,用于16位數(shù)據(jù)傳輸。LAN91C111端D16-D32懸空;LAN91C111的片選信號AEN由DSP的外部I/O接口選通信號IS提供。二個元件的讀電平RD、寫電平WR分別相連。LAN91C111的中斷輸出信號INTRO送入DSP的外部中斷腳XINT1觸發(fā)中斷。嵌入式以太網(wǎng)通信模塊的電路原理如圖3所示。[!--empirenews.page--]嵌入式以太網(wǎng)不僅可用于工業(yè)現(xiàn)場實現(xiàn)現(xiàn)場節(jié)點的自動上網(wǎng)功能,而且還可以用于信息家電的以太網(wǎng)接口實現(xiàn)遠程控制,具有很好的發(fā)展前景。文章介紹基于TMS320LF2407型DSP的嵌入式系統(tǒng)與LAN91C111型自適應(yīng)10Mb/s/100Mb/s嵌入式以太網(wǎng)控制的接口電路及軟硬件實現(xiàn)方法。[!--empirenews.page--]TX INT:當(dāng)TX completion FIFO不為空時置1e;
TX EMPTY INT:當(dāng)TX FIFO為空時置to;
AUTO RELEASE:如果置為1,發(fā)送包成功后,packet number不寫到TX completion FIFO中,而且它所使用的存儲空間被自動釋放。
(7)使用“每發(fā)送一個包產(chǎn)生一個中斷”方案時,AUTO RELEASE=0,該方案的流程如上文所述。使用“每發(fā)送一個序列的包產(chǎn)生一個中斷”方案時允許TX EMPTY INT和TX INT,AUTORELEASE=1,當(dāng)發(fā)送完FIFO中的最后一個包后,產(chǎn)生TX EMPTY INT中斷。若出現(xiàn)嚴(yán)重的發(fā)送錯誤,則產(chǎn)生TX INT中斷,同時將發(fā)送失敗的包的packet number保存到FIFO Ports寄存器,這樣DSP就可以知道發(fā)送過程停止了。這種方案可以減少DSP的負(fù)擔(dān),而且存儲空間的釋放也更迅速。當(dāng)AUTO RELEASE=1時,DSP不能得到成功發(fā)送包的packet number。
4.2.3 接收數(shù)據(jù)包流程
(1)DSP設(shè)置receive control寄存器中的RXEN位,允許接收包。
(2)含有正確地址的包被接收到,從MMU請求存儲空間,并分派一個packet number,內(nèi)部的DMA邏輯產(chǎn)生連續(xù)的地址,并將接收到的字寫到memory中,如果超界,包被丟棄,存儲空間被釋放。當(dāng)檢測到包的結(jié)束,Status Word被寫到接收包的最前面,byte count寫到第二個字。如果CRC校驗正確,packet number被寫到RX FIFO,由于RX FIFO非空時,因此將產(chǎn)生RCV INT中斷;如果RCR校驗不正確,則存儲空間被釋放,而且不產(chǎn)生中斷。
(3)DSP接收到中斷后開始執(zhí)行中斷處理程序,首先讀入Interrupt Status寄存器,如果產(chǎn)生接收中斷(RCV INT位為1),則可從FIFO ports寄存器得到接收包的packet number,而且可從data register將接收包傳送到DSP的內(nèi)存或外存中。當(dāng)處理結(jié)束,DSP向處理器發(fā)送REMOVE AND RELEASE FROM TOP OF RX命令(即設(shè)置寄存器MMUCOM為0x0060)以釋放使用的存儲空間和packet number。
5 結(jié)束語
該系統(tǒng)能夠正確地接入快速以太網(wǎng),具備100/10Mbit/s、全雙工/半雙工自適應(yīng)等多種功能,符合IEEE802.3/802.3μ-100Base-TX/1Obase-T規(guī)范,其嵌入式以太網(wǎng)接口支持RJ45和以太網(wǎng)的連接,可以通過以太網(wǎng)接入Internet,從而實現(xiàn)從Internet上監(jiān)控嵌入式設(shè)備。