在電子設備日趨網絡的背景下,目前廣泛使用的以太網及TCP/IP協議已經成為事實上最常用的網絡標准之一,它的高速、可靠、分層及可擴充性使得它在各個領域的應用越來越靈活,很多情況下運用以太網和TCP/IP能夠簡化結構和降低成本。目前關於嵌入式以太網的設計方案不是很多,其中大多是基於單片機的,缺點是速度慢、成本太高。DSP作為一種特殊的嵌入式微處理器系統,具有嵌入的協處理器和用於快速數據處理的並行數據通道,在嵌入式網絡設備中引入DSP技術可以使嵌入式以太網變得更快、更便宜、更容易進行功能擴充。本文介紹了基於TMS320LF2407型的嵌入式系統與LAN91C111型自適應10Mb/s/100Mb/s嵌入式以太網控制芯片的接口電路和實現方法。
1 LAN91C111嵌入式以太網控制器芯片
LAN91C111是SMSC公司推出的為嵌入式應用系統設計的第三代快速以太網控制器。在LAN91C111芯片上集成了CSMA/CD協議的媒體層(MAC)和物理層(PHY),其系統結構圖如圖1所示。該以太網控制器的主要功能特性如下。
(1)自適應地選擇傳輸速率,支持10M/100Mbps。
(2)8KB的內部存儲器用於接收和發送的緩存。
(3)支持突發數據傳輸。
(4)提前發送和接收功能。
(5)支持總線8位、16位和32位的CPU訪問。
該以太網控制器遵循的標准與協議為IEEE頒布的802.3以太網傳輸協議。8~32位數據總線接口單元由控制總線、地址總線和數據總線與外部的CPU控制芯片相連。該單元還集成了E2PROM接口,所有內部寄存器的初始值可先放在E2PROM中,自舉時通過E2PROM接口輸入到芯片中,實現自動初始化。總線仲裁器(Arbiter)監視以太網總線的數據交流情況,一旦發生阻塞,一方面通過總線接口單元與外部CPU聯系,另一方面控制內存控制單元(MMU),實現總線數據協調。內存控制單元控制8KB動態SRAM的存儲情況,實現與DMA控制器之間的數據聯絡。DMA控制器與總線控制器一起控制數據在DMA與以太網協議處理器(EPH)之間的交換。由以太網協議處理器輸出的數據最終經過10M/100M的物理層直接到達以太網總線。
2 硬件電路組成
出於性價比的考慮,采用了DSP控制器作為主CPU。TMS320LF2407是TI公司發布的240X系列中功能最強的一種控制器,有很大的存儲空間(高達32K字的Flash程序存儲器,可擴展外部64K字存儲器和64K字I/O尋址空間),非常適合於處理復雜的TCP/IP協議。
由於LAN91C111是為嵌入式系統設計,其外圍電路相對比較簡單,其硬件接口框圖如圖2所示。LANC91C111內部寄存器可通過地址線A0~A15來訪問。地址總線A1~A15與DSP的A1~A15相連,A0沒有被懸空;數據總線D0~D15與DSP的D0~D15相連,可以傳輸16位數據。D16~D32懸空(因為LF2407是16位數據總線);LAN91C111的片選信號AEN由DSP的外部I/O接口選通信號IS提供。二元件的讀電平RD和寫電平WR分別相連。LAN91C111端的中斷輸出信號INTR0送入DSP的外部中斷腳XINT1觸發中斷。TG110-S050N2是針對10M/100M以太網的變壓濾波器。LAN91C111模塊的Protel原理圖。
3 軟件設計
編寫控制以太網接口程序的步驟如下
3.1μC/OSⅡ實時操作系統的移植
μC/OSⅡ是一種開放源碼的實時嵌入式操作系統,具有很好的實時性。它是可移植、可裁減、可固化的占先式多任務操作系統,其大部分源碼由ANSIC語言編寫。
移植工作包括以下幾個內容:
(1)用匯編語言改寫OS_CPU_A.ASM。
(2)用C語言改寫OS_CPU_C。C。