基于SX單片機實現(xiàn)WebServer和網(wǎng)絡協(xié)議棧
前 言
本文引用地址:http://butianyuan.cn/article/171885.htmInternet的日益普及,信息共享程度的不斷提高,給工作和生活帶來了極大的方便。現(xiàn)在,上網(wǎng)瀏覽對于人們來說是一件很平常的事情。不僅如此,架構(gòu)一個WebServer,做自己的主頁也是司空見慣的。一般情況下,人們通過一臺上網(wǎng)的電腦來建立WebServer。在這里將討論另外一種方法:通過單片機來建立WebServer。之所以會想到用單片機來實現(xiàn) WebServer,是因為隨著嵌入式系統(tǒng)的迅猛發(fā)展和IA(信息電器)的出現(xiàn),以單片機為中心的應用系統(tǒng)將搭上Internet的快車逐步取代傳統(tǒng)的以 PC為中心的應用,成為未來Internet發(fā)展中的主力軍。
一、 具體應用方案
1. 基于單片機的WebServer方案
基于單片機的WebServer的硬件平臺如圖1所示。
2. 主要芯片介紹
(1) SX52BD100
SX52BD100 是UBICOM公司生產(chǎn)的一款RISC指令集的單片機,片上帶有4K×16 位的Flash存儲器和262×8位的RAM。由于采用CPU并行流水線方式及單時鐘周期指令,在100MHz晶振驅(qū)動下指令執(zhí)行速度可達 100MIPS。該單片機的最大特點就是虛擬外設功能,即通過軟件對I/O口進行靈活的配置,CPU執(zhí)行虛擬軟件模塊就可以驅(qū)動普通的I/O口來模擬外設的功能,比如UART、SPI、IIC和FSK等。當然,令人驚奇的是,SX52BD100可以通過虛擬外設功能來運行網(wǎng)絡協(xié)議棧,例如TCP、IP、 HTTP以及SMTP等。
(2)RTL8019AS
RTL8019AS是RealTek公司出品的一種全雙工以太網(wǎng)控制器。它自帶16KB的SRAM,工作在Ethernet II和IEEE802.3、 10Base5、10Base2、10BaseT下,與NE2000兼容。
(3)24LC256
24LC256是Microchip公司生產(chǎn)的一種串行32KB的 E2PROM存儲器,采用CMOS工藝,通過2根數(shù)據(jù)線和外界通信,兼容I2C總線接口,可設為硬件寫保護,10萬次的擦寫,200年以上的數(shù)據(jù)保護。
3.工作流程和軟件設計
RJ45為此系統(tǒng)與局域網(wǎng)的接口。由于大部分局域網(wǎng)都采用以太網(wǎng),這里的RTL8019AS就是處理以太網(wǎng)協(xié)議(IEEE802.3)的。數(shù)據(jù)的流向為:請求信息從局域網(wǎng)中來,通過RJ45送到RTL8019AS,處理后的數(shù)據(jù)包送入SX52BD100協(xié)議棧,由協(xié)議棧對數(shù)據(jù)包進行解析,得到原始請求信息。請求信息再經(jīng)過SX52BD100的處理,產(chǎn)生回復信息?;貜托畔⒌骄钟蚓W(wǎng)的過程與上面正好相反。
整個系統(tǒng)的軟件流程如圖2所示。
圖1中的E2PROM 24LC256用來存儲WebServer的網(wǎng)頁信息。它可以處理Web頁面、圖像文件、PDF文檔記憶其它文件。當然,它不能像PC上WebServer中的硬盤那樣可以存儲大量的頁面。它的容量決定了WebServer的資源文件的大小。
評論