摘要:本文基於lwIP乙太網協議棧將AJAX動態網頁設計技術應用於嵌入式Cortex-M3平臺,實現Web嵌入式應用。相比於CGI技術,AJAX實現簡易,移植性強,可支持傳統IE或是手機等不同的網頁訪問終端用戶。所選Cortex-M3平臺內部集成PHY,lwIP協議棧及實時作業系統FreeRTOS均是開源、免費,整個系統成本在60RMB以內,對於成本較敏感的網絡互聯產品提供了一種解決方案,並給出了硬體原理圖及軟體代碼。
本文引用地址:http://www.eepw.com.cn/article/146836.htm引言
嵌入式系統是融合了SoC半導體技術、電子技術、計算機技術,針對具體應用硬體軟體均量身定製的計算機系統。低成本、高可靠性、高靈活性、高集成性使得嵌入式產品在工業領域獲得了巨大的發展契機。嵌入式產品一般服務於工業現場,通過RS232、RS485、或是CAN等通信接口與外界互聯通信。如今伴隨著Internet技術的成熟,帶寬的日益提高,公共場所無線網絡覆蓋,智慧型手機日益普及,網絡化、信息化的要求越來越受到關注,Internet網絡互聯成為必然的趨勢[1]。
目前在實際應用中支持Internet應用的嵌入式系統產品,主要是通過ARM9平臺實現,如Samsung S3C2442或是ATMEL AT91SAM9G25平臺,作業系統一般是用Linux,網絡開發則多是採用傳統的CGI(Common Gateway Interface)技術[2]。此種解決方案在成本上過高,僅一顆ARM9處理器就將近70RMB,對於成本敏感的產品無法承擔;CGI維護複雜,運行效率低下,每響應一個客戶就會打開一個新的進程,當用戶訪問數量增大時,會嚴重地損耗系統資源,大幅度地降低系統性能,訪問資料庫的程序也不容易編寫,這也就是最近幾年來隨著各種新的後臺技術的誕生,CGI應用在Internet上越來越少的原因,CGI方式不適合訪問量大的應用[3]。
基於此現狀,本文給出了一個TI Cortex-M3平臺上,運用AJAX(Asynchronous JavaScript and XML)技術實現Web嵌入式應用方案。Cortex-M3平臺成本和性能介於ARM9和MCU之間一類處理器,而TI Cortex-M3是目前市場上唯一內部集成PHY,這可進一步降低方案硬體成本。作業系統採用開源的FreeRTOS,相對Linux,FreeRTOS小巧精緻,對硬體Flash和RAM需求極小,5KB Flash和0.6KB RAM便可運行,相對於μC/OS-II商業作業系統,FreeRTOS則是完全免費。TCP/IP協議棧採用瑞典開源免費的lwIP(Light Weight IP),一般它只需要0.5KB的RAM和7KB左右的Flash就可以運行[4];網絡開發採用AJAX技術,AJAX是一種基於客戶端瀏覽器的語言[5],使用AJAX的最大優點就是能在不刷新整個頁面的前提下維護數據。這使得Web應用程式更為迅捷地響應用戶交互,並避免了在網絡上發送那些沒有改變的信息[6]。由於採用了高性價比處理器平臺和免費開源的系統軟體,整個系統成本可控制在60RMB以內,為成本較敏感的網絡互聯產品提供了一種解決方案。
系統硬體設計
TI推出的Cortex-M3 LM3S9D96,提供豐富的片內外設:片上集成512KB Flash,96KB RAM,18通道ADC,1個USB(OTG),2通道SPI,2路CAN,3通道UART,1路10/100M Ethernet,內部集成PHY,看門狗,支持EPI、NVIC和DMA,65個通用IO,處理速度80MHz,ROM固化了FreeRTOS作業系統,Bootloader及常用外設操作接口函數庫,方便快速高效產品開發。
基於LM3S9D96平臺的硬體系統框圖如圖1所示。
(1)PowerMode:系統工作電源,採用DC5V,由外置Adaptor設備提供。整個系統的電源包括:5V,3.3V及5V_ISO(用於RS485通信電源)。
(2)RS4851/RS4852:系統通過RS4851或RS4851接口電路實時採集現場設備運行數據。
(3)LEDs:通過4個LED指示一些重要功能模塊的工作狀態,如5V電源,RS4851,RS4852及LAN的通信狀態等。
(4)LAN:實現標準TCP/IP網際網路通信。
(5)Clock:為整個系統提供時鐘源。
(6)JTAG:軟體開發調試接口。
(7)EEPROM:採用512Kb SPI接口式EEPROM,存儲一些採集到的重要運行數據及系統配製參數如IP位址,子網掩碼,網關及DNS伺服器,Internet時間伺服器,時區等。
(8)Recover:恢復出廠設置,當上電時按住此鍵可使系統所有參數恢復到出廠默認值。
(9)Reset:系統復位電路。
linux相關文章:linux教程