新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于SOPC 的嵌入式Web 服務(wù)器設(shè)計(jì)與實(shí)現(xiàn)

基于SOPC 的嵌入式Web 服務(wù)器設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2012-08-16 來源:網(wǎng)絡(luò) 收藏

在本中uC/OS-II主要完成任務(wù)的管理與調(diào)度,在網(wǎng)絡(luò)協(xié)議棧初始化后,使用標(biāo)準(zhǔn)套接字API創(chuàng)建新任務(wù)訪問網(wǎng)絡(luò)協(xié)議棧。在本中使用函數(shù)sys_thread_new()創(chuàng)建DHCP超時(shí)任務(wù)dhcp_timeout_task()來動(dòng)態(tài)分配IP地址,創(chuàng)建HTTP任務(wù)http_task()管理HTTP連接并調(diào)用相關(guān)的子程序來為HTTP請求服務(wù)。這里使用的sys_thread_new()位于LwIP的操作系統(tǒng)封裝層,實(shí)際上是調(diào)用uC/OS-II的OSTaskCteate()函數(shù)。通過創(chuàng)建消息郵箱、信號量任務(wù)與任務(wù)之間、任務(wù)與中斷服務(wù)程序之間的同步與互斥,以保證它們協(xié)調(diào)運(yùn)行。

5.2、LwIP網(wǎng)絡(luò)協(xié)議棧的

LwIP(輕量級網(wǎng)絡(luò)協(xié)議)是TCP/IP協(xié)議棧的一個(gè)。LwIP是一種專門針對系統(tǒng)應(yīng)用而的網(wǎng)絡(luò)通信協(xié)議,由于LwIP實(shí)現(xiàn)的關(guān)鍵在于削減代碼大小和內(nèi)存消耗,但可以完成傳統(tǒng)的TCP/IP協(xié)議的大部分功能,通常只需要大約40K的ROM和數(shù)十K的RAM即可運(yùn)行。在保持協(xié)議分層體系結(jié)構(gòu)的前提下,通過采用“零拷貝”技術(shù)提高實(shí)時(shí)性。

Nios II支持LwIP使用如下的3個(gè)基本任務(wù)[2]。這些任務(wù)在程序創(chuàng)建時(shí)添加后連續(xù)運(yùn)行:首先,被協(xié)議棧使用的主任務(wù)。這個(gè)任務(wù)用來接收包,任務(wù)模塊的主函數(shù)用于等待消息郵箱。當(dāng)一個(gè)新的包到來時(shí),產(chǎn)生一個(gè)中斷請求,中斷服務(wù)程序清除IRQ并且向消息郵箱發(fā)送一個(gè)消息。其次,新的消息激活接收任務(wù)。這一設(shè)計(jì)可以使中斷服務(wù)程序盡可能快的執(zhí)行,從而減少系統(tǒng)延時(shí)的影響。最后,實(shí)時(shí)器任務(wù)在于周期性地調(diào)用各種任務(wù)所需的時(shí)間。上述這些任務(wù)將在初始化成功后自動(dòng)運(yùn)行。系統(tǒng)初始化后,進(jìn)入主程序部分。主程序包括兩大部分:對接收到的以太網(wǎng)數(shù)據(jù)幀進(jìn)行解包和對欲發(fā)送的數(shù)據(jù)進(jìn)行封裝并發(fā)送。圖4為軟件框圖。

圖4 軟件框架圖

6、結(jié)語

經(jīng)測試,本設(shè)計(jì)可以正常工作,達(dá)到了預(yù)期的效果。,其功能可根據(jù)需要定制,非常靈活。該不僅可以廣泛應(yīng)用于工業(yè)控制領(lǐng)域,實(shí)現(xiàn)小型工業(yè)監(jiān)測系統(tǒng)網(wǎng)絡(luò)化,具有良好的應(yīng)用前景。

作者創(chuàng)新點(diǎn):本文介紹了軟核處理器的Web服務(wù)器實(shí)現(xiàn)方法,使設(shè)計(jì)變得靈活,操作系統(tǒng)的引入,滿足了設(shè)計(jì)對實(shí)時(shí)性的要求。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉