基于SX52BD單片機的以太網(wǎng)控制應用
隨著(zhù)Internet應用日益普及,信息共享的程度不斷提高,如何通過(guò)Internet共享以單片機應用系統為中心的小型嵌入式設備的信息,成為當今電子界的熱門(mén)話(huà)題。傳統的Internet應用是以PC為中心,現在的Internet應用正在轉到以嵌入式設備為中心。據網(wǎng)絡(luò )專(zhuān)家預測,將來(lái)在Internet上傳輸的信息中,有70%的是來(lái)自小型嵌入式系統 [1]。
利用單片機實(shí)現嵌入式互聯(lián)網(wǎng)方案的技術(shù)難點(diǎn)是如何利用單片機本身有限的資源對信息進(jìn)行TCP/IP協(xié)議處理,使之變成可以在互聯(lián)網(wǎng)上傳輸的IP數據包。從解決這個(gè)技術(shù)問(wèn)題出發(fā),目前普遍存在以下兩種方案 [2]:
(1)“PC網(wǎng)關(guān)+專(zhuān)用網(wǎng)”方案:采用專(zhuān)用網(wǎng)絡(luò )(如RS232,RS485,CAN Bus等)把一小批單片機連接在一起,然后再將專(zhuān)用網(wǎng)絡(luò )接到一臺 PC上。這臺PC起網(wǎng)關(guān)的作用,將專(zhuān)用網(wǎng)絡(luò )上的信息轉換為T(mén)CP/IP協(xié)議數據包,然后發(fā)到網(wǎng)上實(shí)現信息共享。這個(gè)方案可以連接多種單片機,但存在以下缺點(diǎn):它依賴(lài)PC機作為網(wǎng)關(guān)進(jìn)行協(xié)議轉換在多個(gè)單片機系統分散的情況下,專(zhuān)用網(wǎng)絡(luò )布線(xiàn)極為不便;需要在PC機上安裝專(zhuān)門(mén)的協(xié)議轉換軟件,而這些軟件通常是由第三方軟件商提供,費用較高。
(2)“32位MCU+RTOS”方案:采用32位高檔單片機,在RTOS(實(shí)時(shí)多任務(wù)操作系統)的平臺上進(jìn)行軟件開(kāi)發(fā),在嵌入式系統中實(shí)現TCP/IP 的協(xié)議處理。由于采用高檔單片機,這個(gè)方案可以完成很多復雜的功能。它的缺點(diǎn)是:高檔單片機價(jià)格較高,開(kāi)發(fā)周期較長(cháng);并需要購買(mǎi)昂貴的RTOS開(kāi)發(fā)軟件,對開(kāi)發(fā)人員的開(kāi)發(fā)能力要求較高。
鑒于上述兩種方案的缺點(diǎn),提出了“MCU+虛擬軟件包”的方案,即采用UBICOM公司的8位超高速單片機SX52BD,通過(guò)用軟件固化TCP/IP協(xié)議來(lái)實(shí)現互聯(lián)網(wǎng)接入功能。由于SX52BD單片機的速度極高,能夠實(shí)現實(shí)時(shí)多任務(wù)操作,可以在 MCU執行數據采集和控制功能的同時(shí)把數據打包并傳送到互聯(lián)網(wǎng)上。其優(yōu)點(diǎn)很明顯:用8位微控制器通過(guò)ISP接入互聯(lián)網(wǎng),不需要使用PC機或高檔單片機;硬件電路相對簡(jiǎn)單,系統成本低;由于UBICOM公司免費提供用于互聯(lián)網(wǎng)處理的軟件模塊,可以大幅度的縮短開(kāi)發(fā)周期并降低開(kāi)發(fā)成本。
2 具體應用方案
2.1 基于SX52BD的Web服務(wù)器方案
基于SX52BD的Web服務(wù)器的硬件平臺如圖1
![]() |
2.2 主要芯片介紹
(1)SX52BD:SX52BD 是UBICOM公司生產(chǎn)的一款RISC指令集的單片機,片上帶有4k×16 位的Flash存儲器和256×12位的SRAM,具有在線(xiàn)系統編程調試功能。由于采用CPU并行流水線(xiàn)方式及單時(shí)鐘周期指令,在50MHz晶振驅動(dòng)下指令執行速度可達50MIPS。該單片機的最大特點(diǎn)就是虛擬外設功能,即CPU通過(guò)執行虛擬軟件模塊直接驅動(dòng)普通I/O口實(shí)現硬件外設功能(如UART、I 2C、SPI、Caller ID、FSK等)。
(2)RTL8019AS:RTL8019AS是RealTek公司生產(chǎn)的一種全雙工以太網(wǎng)控制器。它內置16KB的SRAM,收發(fā)可同時(shí)達到10Mbps的速率,支持Ethernet II和IEEE802.3、 10Base5、10Base2、10BaseT。
(3)AT24C256:AT24LC256是ATMEL公司生產(chǎn)的一種串行256KB的 EEPROM存儲器,采用CMOS工藝,通過(guò)2根數據線(xiàn)和外界通信,兼容I 2C總線(xiàn)接口,可分別設為硬件和軟件寫(xiě)保護,10萬(wàn)次的擦寫(xiě),40年以上的數據保護。在此方案,主要用來(lái)存儲Web服務(wù)器的網(wǎng)頁(yè)信息,它可以處理Web頁(yè)面、圖象文件、PDF文檔記憶其他文件。
2.3 Internet協(xié)議棧
Internet協(xié)議棧是SX52BD虛擬外設的一個(gè)重要的實(shí)現,是基于 SX52BD的應用系統實(shí)現與Internet互聯(lián)的基礎。SX52BD可以運行流行的各種互聯(lián)網(wǎng)協(xié)議棧,如HTTP、SMTP、POP3、TCP、UDP、ICMP、IP及PPP,還可以實(shí)現Ethernet (IEEE802.3)協(xié)議。由于以太網(wǎng)作為物理非常普及,目前大部分的局域網(wǎng)都使用以太網(wǎng)。圖2所示為用匯編語(yǔ)言實(shí)現的以太網(wǎng)協(xié)議棧 [3,4],即 TCP/IP軟件的四層抽象分層:最底層,是專(zhuān)門(mén)用來(lái)傳輸IP包的物理層,即 NIC設備驅動(dòng)程序;向上一層,是網(wǎng)絡(luò )層,負責數據在網(wǎng)上的端到端傳輸;再向上,是我們熟悉的 TCP,UDP的傳輸層,一般的應用程序都是建立在傳輸層上的,例如Web服務(wù)、簡(jiǎn)單郵件服務(wù);在應用層,用戶(hù)可以選擇HTTP,SMTP,DHTP中的任意一種作為單片機系統與Internet遠程管理終端之間的通信協(xié)議,例如,用HTTP 協(xié)議可以構造Web服務(wù)器,用SMTP協(xié)議可以構造郵件服務(wù)的客戶(hù)端。
![]() |
對應圖1所示的硬件平臺,其運行的協(xié)議棧結構如下:應用層 HTTP;傳輸層 TCP;網(wǎng)絡(luò )層 IP/ICMP;物理層 Ethernet NIC Driver。
評論