摘要 基于VxWorks操作系統,以S3C4480為核心CPU,用RTL8019作網絡控制器,設計并實現了嵌入式網絡接口。本方案在兼顧成本的同時,更加注重較高的可靠性和較強的實用性,因此具有一定的推廣價值。
關鍵詞 VxWorks S3C4480 RTL8019 網絡 MUX接口
VxWorks操作系統以其高度的可靠性、優秀的實時性、靈活的可裁減性等優勢在嵌入式系統中備受關注,廣泛應用于許多行業;而隨著網絡技術的發展,嵌入式技術與網絡技術的結合已成必然。VxWorks是最早在其內核中加入TCP/IP協議的嵌入式實時操作系統。如何設計基于VxWorks的網絡接口,是擺在嵌入式開發人員面前的首要課題。本設計以三星公司的ARM7(S3C44B0)為核心CPU,開發了VxWorks下的網絡接口,包括硬件設計和軟件實現兩個部分。
1 硬件設計
核心CPU采用三星公司的S3C4480。S3C4480采用ARM7TDMI內核,它通過提供全面的、通用的片上外設,大大減少了系統電路除處理器以外的元器件配置,降低了系統成本。
網絡接口芯片采用Realtek公司生產的RTL8019AS。它是一款高度集成的以太網控制器,不僅集成了MAC(介質訪問控制)子層和物理層的性能,而且與NE200O兼容,具有軟件可移植性強以及價格低廉等優點。
S3C4480與RTL8019AS的硬件接口原理如圖l所示。從圖1中可以看出,RTL8019AS的使能端連到S3C44B0的nGCS3,因此它的地址映射在系統的Bank3上,基地址為Ox06000000。RTL8019AS支持8位/16位數據總線,在本電路中采用16位方式。
RTL8019AS共有32個輸入/輸出地址,對應地址偏移量為Ox00~Oxlf。現分別說明如下:
①Ox00~OxOf的16個地址,為寄存器地址。
②0xlO~0x17的8個地址,為數據讀寫端口地址。它們都是一樣的,每個都可以用來做數據讀寫端口,只要用其中一個就可以了。
③Oxl8~0xlf的8個地址,為復位端口。它們的功能都是一樣的。但需要注意,實際上只有0x18、0xla、Oxk、Oxle這幾個復位端口是有效的,其他不要使用;因為有些兼容卡不支持0x19、0xlb、0xld等奇數地址的復位。
在軟件設計時,尤其要注意以下兩點:
①RTL8019As的地址線從SAO~SA4依次連到S3Cd480的ADDRl~ADDR5上,因此,RTL8019的寄存器地址要左移1位。
②RTL8019AS使用EXINTl中斷,且上升沿觸發。