日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于SX52的嵌入式Web服務(wù)器的快速實(shí)現(xiàn)

隨著互聯(lián)網(wǎng)的日益普及,信息共享的程度不斷提高,網(wǎng)絡(luò)儀表及網(wǎng)絡(luò)控制設(shè)備的流行逐漸成為趨勢(shì)。如何通過(guò)互聯(lián)網(wǎng)共享以單片機(jī)應(yīng)用系統(tǒng)為中心的小型嵌入式設(shè)備的信息,成為當(dāng)今電子界的熱門話題。傳統(tǒng)的互聯(lián)網(wǎng)應(yīng)用以PC為中心。如今,互聯(lián)網(wǎng)應(yīng)用正在轉(zhuǎn)到以嵌入式設(shè)備為中心。用單片機(jī)實(shí)現(xiàn)嵌入式互聯(lián)網(wǎng)方案的技術(shù)難點(diǎn)是:如何利用單片機(jī)本身有限的資源對(duì)信息進(jìn)行TCP/IP協(xié)議處理,使之變成可以在互聯(lián)網(wǎng)上傳輸?shù)腎P數(shù)據(jù)包。目前解決這個(gè)問(wèn)題有兩種方案:一種是PC網(wǎng)關(guān)+專用網(wǎng),缺點(diǎn)是要增加布線和第三方協(xié)議轉(zhuǎn)換軟件;另一種是32位MCU+RTOS,弊端是開發(fā)難,成本極高。而用軟件方法實(shí)現(xiàn)網(wǎng)絡(luò)協(xié)議比采用集成網(wǎng)絡(luò)協(xié)議的芯片,具有節(jié)省空間、降低成本的優(yōu)點(diǎn),更重要的是可以隨意配置甚至修改各種協(xié)議,且能通過(guò)軟件升級(jí)方式跟隨未來(lái)的發(fā)展。八位單片機(jī)目前仍占有很大的市場(chǎng)份額,而通過(guò)美國(guó)Ubicom公司的SX52微控器進(jìn)行網(wǎng)絡(luò)控制更具其獨(dú)特優(yōu)勢(shì),主要體現(xiàn)在:(1)速度快,在100MHz頻率下能達(dá)到100MIPS;(2)現(xiàn)成的協(xié)議模塊供使用,即使對(duì)不熟悉網(wǎng)絡(luò)協(xié)議的開發(fā)人員也能簡(jiǎn)單套用。雖然其它八位單片機(jī)也能用軟件實(shí)現(xiàn)精簡(jiǎn)的TCP/IP協(xié)議,如PICl6C76等,但上面所說(shuō)兩大優(yōu)點(diǎn)是采用SX52MCU的充分理由。套用成熟的現(xiàn)有程序是最具效率的開發(fā)辦法,這也是避免目前國(guó)內(nèi)普遍存在的低水平開發(fā)的有效途徑。雖然目前還沒(méi)有單獨(dú)的TCP/IP軟件虛擬模塊提供,但在演示板程序的基礎(chǔ)上,可以采用其成功的網(wǎng)絡(luò)協(xié)議模塊和一些適用于小型嵌入系統(tǒng)的做法構(gòu)筑現(xiàn)場(chǎng)控制Web服務(wù)器。

1SX52控制器簡(jiǎn)介

SX52MCU與PIC單片機(jī)有很多地方相似,它也采用RISC指令系統(tǒng),帶可擦寫上萬(wàn)次的片上Flash程序存儲(chǔ)器,具在系統(tǒng)編程等。SX52的流水線指令操作可1個(gè)時(shí)鐘周期執(zhí)行一條指令。沒(méi)有中斷嵌套使中斷響應(yīng)時(shí)間固定為3個(gè)時(shí)鐘周期,適用于一些要求強(qiáng)實(shí)時(shí)性的系統(tǒng)。5個(gè)可驅(qū)動(dòng)30mA電流的I/O口可自由設(shè)置為TI‘L或CMOS輸入電子,262×8bit的SRAM數(shù)據(jù)空間,4096×12bit的EE/Flash程序空間。內(nèi)部集成有模擬比較器、定時(shí)器、捕捉/PWM比較器、欠壓檢測(cè)、看門狗等多種功能部件。具有三個(gè)特殊器件配置寄存器,其長(zhǎng)度分別為12位,(FUSE、FUSEX、DEVICE),硬件配置靈活多樣,加密性能好,能有效地防止產(chǎn)品被盜版或仿制的可能性。已提供的軟件虛擬模塊有UART、A/D、DTMF、PWM、FSK、IRDA、VC等眾多常用功能塊。應(yīng)用微控器用軟件方法替代硬件功能是一大特色,可以避免一些常用功能的重復(fù)開發(fā)。

2聯(lián)網(wǎng)的實(shí)現(xiàn)

對(duì)于資源緊缺的小型嵌入系統(tǒng),一般都要對(duì)TCP/IP協(xié)議族做一些精簡(jiǎn)處理。WingPoon等提供的演示板程序集合了如下模塊:ARP、DHCP、ICMP的echo響應(yīng),精簡(jiǎn)的TCP/IP、HTYP、SMTP等;還可以看到應(yīng)用了I2C以及∑-△A/D的軟件虛擬模塊。由于程序空間的限制,當(dāng)實(shí)現(xiàn)DHCP時(shí),只能用SMTP。底層采用8019AS網(wǎng)絡(luò)接口芯片。網(wǎng)頁(yè)通過(guò)12C存儲(chǔ)于24C256中,中斷程序可用于A/D虛擬模塊的計(jì)數(shù)及TCP/IP協(xié)議族的各個(gè)定時(shí)器。

系統(tǒng)設(shè)計(jì)主程序流程如圖1。當(dāng)IP包頭有選項(xiàng)或存在分片時(shí),此包被簡(jiǎn)單丟棄而不處理。TCP能同時(shí)打開兩個(gè)連接,連接1用于SMTP(套接字用Bank3,TCBI_BANK),連接2用于HTTP(套接字用Bank4,TCB2_BANK)。TCP不使用滑動(dòng)窗口的流量控制,發(fā)送時(shí)每發(fā)一個(gè)分組就停下來(lái)等待確認(rèn)。程序中發(fā)送的數(shù)據(jù)長(zhǎng)度放在變量Tcp2Un-AckMSB、Tcp2UnAckLSB中。在接收模塊TcpProcPktln中只有接收到Ack包后才復(fù)位這兩個(gè)變量;而發(fā)送模塊Tcp·Transmit中只有這兩個(gè)變量為零才允許發(fā)送下一段數(shù)據(jù),否則檢查Tcp2TimeMSB是否超時(shí);如是則重發(fā)。TCP接收模塊TcpProcPktln檢查端口號(hào)及32序列號(hào)是否與套接字內(nèi)的相符,如不符則可能是收到重發(fā)的包,TCP簡(jiǎn)單地發(fā)Ack的空包并丟棄本包;否則處理本包數(shù)據(jù)同時(shí)清除上次發(fā)送數(shù)據(jù)長(zhǎng)度變量Tcp2UnAckMSB、Tcp2UnAckLSB,以便在TcpTransmit中能發(fā)送下一段數(shù)據(jù)。

子模塊TcpAppTxBytes、TcpAppRxData是TCP處理發(fā)送及接收數(shù)據(jù)的模塊。用戶如不變更原TCP/IP的精簡(jiǎn)設(shè)計(jì),只要修改這兩個(gè)模塊就能實(shí)現(xiàn)自己特定的應(yīng)用功能。

16位校驗(yàn)和Checksum的計(jì)算對(duì)于很少或沒(méi)有數(shù)據(jù)緩沖的系統(tǒng)來(lái)說(shuō)并不容易,一般有兩種方法處理。一是在TCP頭的檢驗(yàn)和域放任意一個(gè)16位數(shù),數(shù)據(jù)發(fā)送的同時(shí)計(jì)算Checksum,然后在數(shù)據(jù)最后附加2個(gè)字節(jié)以保證之前任意取值的正確。這種方法的缺點(diǎn)是要讓接收的應(yīng)用程序忽略最后2個(gè)字節(jié)的數(shù)據(jù),可能導(dǎo)致許多程序的運(yùn)行異常。二是先對(duì)產(chǎn)生的數(shù)據(jù)計(jì)算Checksum,但不發(fā)送,然后再產(chǎn)生同樣的數(shù)據(jù)加上正確的校驗(yàn)和發(fā)送。顯然要求系統(tǒng)產(chǎn)生重復(fù)的數(shù)據(jù)有時(shí)是不現(xiàn)實(shí)的,利用網(wǎng)卡芯片8019的緩沖可以解決這一問(wèn)題,將數(shù)據(jù)寫入8019的同時(shí)計(jì)算Checksum,最后將Checksum寫入8019后調(diào)用NicSendTxFrame才真正發(fā)送數(shù)據(jù)。

3Web服務(wù)器實(shí)現(xiàn)

TCP在Web服務(wù)器下采用的狀態(tài)轉(zhuǎn)移見圖2。

(1)服務(wù)器在closed狀態(tài)下主動(dòng)打開端口80進(jìn)入listen狀態(tài);

(2)經(jīng)過(guò)3次常規(guī)握手后進(jìn)人establish的數(shù)據(jù)傳送狀態(tài);

(3)服務(wù)器發(fā)完數(shù)據(jù)發(fā)fin關(guān)閉請(qǐng)求進(jìn)入finwait-1狀態(tài);

(4)收到對(duì)方發(fā)來(lái)的Ack后進(jìn)入finwait-2狀態(tài);

(5)收到對(duì)方發(fā)來(lái)的fin關(guān)閉請(qǐng)求后回送Ack回到closed狀態(tài)。

考慮HTYP常用的abs_path形式的統(tǒng)一資源標(biāo)識(shí)符URI,在資源緊缺的系統(tǒng)中實(shí)現(xiàn)完整的文件結(jié)構(gòu)如"imagesledon.gif‘‘的查詢與定位,如果采用一般計(jì)算機(jī)程序中常用的方法則代價(jià)很高。一種簡(jiǎn)便有效的方法是計(jì)算URI各字符的ASCII碼之和。網(wǎng)頁(yè)存放于SX52的外部EEPROM中。假設(shè)利用前512字節(jié)存放最大256個(gè)網(wǎng)頁(yè)的地址,絕對(duì)路徑"index.btm"的不帶進(jìn)位ASCII碼之和為#$be,可以到2x#$be+#$17c的地方找到要發(fā)送回客戶瀏覽器的數(shù)據(jù)存放地址;下載網(wǎng)頁(yè)到服務(wù)器時(shí)也用一個(gè)程序按上述方法將各網(wǎng)頁(yè)排好即可,當(dāng)然網(wǎng)頁(yè)前都加了一段HTYP1.0的標(biāo)準(zhǔn)響應(yīng)頭信息。這正是Ubicom公司提供的E2File程序所做的,也可以自己編寫一個(gè)這樣的程序以實(shí)現(xiàn)HTFP1.1的除GET、POST方法外的其它方法或擴(kuò)展功能。[!--empirenews.page--]

除了用JavaApplet實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)外,利用post方法也可與服務(wù)器交互。例如通過(guò)IE瀏覽器用復(fù)選框按鈕控制并顯示一組燈的開與關(guān)的基本W(wǎng)eb控制,其HTML網(wǎng)頁(yè)的提交表單FORM內(nèi)應(yīng)該包含有的類似語(yǔ)句,其中0~n為欲控制燈的編號(hào),name的取值為一位數(shù)字或字符,有利于節(jié)省SX52的查詢匹配程序空間,E2File程序?qū)⒕W(wǎng)頁(yè)中如下顯示燈的狀態(tài)的HTML超鏈接語(yǔ)句中的"?"編號(hào)為非ASCII字符#$f0~#$fn等下載存儲(chǔ)到服務(wù)器的EEPROM中。當(dāng)n用POST方法發(fā)送數(shù)據(jù)給服務(wù)器時(shí),SX52服務(wù)器計(jì)算兩個(gè)空格間的abs_path形式的URI的ASCII字符之和后到相應(yīng)EEPROM中,用上述下載網(wǎng)頁(yè)的計(jì)算方法找到該網(wǎng)頁(yè)的地址后,跳過(guò)HTTP的請(qǐng)求頭匹配l=0&…l=n表示復(fù)選框被選中的數(shù)據(jù)并對(duì)相應(yīng)編號(hào)的燈開關(guān)后,返回該網(wǎng)頁(yè)給IE時(shí)會(huì)根據(jù)實(shí)際燈的狀態(tài)將EEPROM中存儲(chǔ)網(wǎng)頁(yè)的非ASCII字符#$f0~#$fn退換為ASCII字符"n"或"f"。這樣IE就能正確地通過(guò)超鏈接再次與服務(wù)器交互(GET方法),下載顯示ledon.gif或ledof.gif顯示實(shí)際燈的狀態(tài)了。而要在IE上正確顯示現(xiàn)場(chǎng)某個(gè)控制變量的值時(shí),同樣可以將n位顯示數(shù)值編號(hào)為非ASCII字符#$f0#$fl…#$fn的形式存儲(chǔ)到服務(wù)器中,SX52服務(wù)器端先將實(shí)際的數(shù)值轉(zhuǎn)換為BCD碼后再用對(duì)應(yīng)的ASCII字符將#Sf0#$f1…#$fn替換返回,從而能在瀏覽器端顯示服務(wù)器端控制變量的變化。國(guó)內(nèi)用戶使用的北京革新提供的開發(fā)演示板程序較充分地提供了常用的Intemet網(wǎng)絡(luò)協(xié)議軟件虛擬模塊,也提供了一個(gè)基本可實(shí)際應(yīng)用的Web演示控制,只要做較少改動(dòng)就可以用于實(shí)際控制中。不過(guò)它只能一次控制一個(gè)燈的開關(guān),且任何人都可以輕易地更改?,F(xiàn)要求一次能控制所有的燈,但需要在IE瀏覽器上輸入密碼123abc方可生效。程序修改如下:

(5)在模塊TcpAppRxData的分支:lookforl的開頭增加以下語(yǔ)句:

當(dāng)然以上密碼通過(guò)IE仍以明文傳送,不安全,但是它可以通過(guò)常用的IE瀏覽器操作,不需要專用的客戶端軟件。這適用于大企業(yè),它們有局域網(wǎng),電腦上只能用固定的幾種軟件。當(dāng)然編寫客戶端軟件加入加密解密算法來(lái)適應(yīng)各種應(yīng)用環(huán)境也是容易實(shí)現(xiàn)的。用SX52構(gòu)建各種小型的現(xiàn)場(chǎng)控制Web服務(wù)器只要合理利用相應(yīng)的網(wǎng)絡(luò)協(xié)議軟件虛擬模塊,參照演示板的做法在應(yīng)用子模塊TcpAppTxBytes、TcpAppRxData中對(duì)發(fā)送及接收數(shù)據(jù)按照自己特定的要求做處理即可。它還可以通過(guò)UDP的方式同時(shí)與客戶端軟件傳送語(yǔ)音或視頻數(shù)據(jù)流,只要增加很少的外圍接口電路并改動(dòng)相應(yīng)的UDP處理模塊UDPProcPktIn即可。而如果未來(lái)協(xié)議的更新也只要下載最新的程序替換即可,開發(fā)人員單獨(dú)修改特定協(xié)議模塊的一些實(shí)現(xiàn)方式如增加滑動(dòng)窗口的TCP/IP等也比重新編寫一個(gè)完整的協(xié)議族遠(yuǎn)為輕松。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

舍弗勒以"專注驅(qū)動(dòng)技術(shù)的科技公司"為主題亮相IAA MOBILITY 2025(B3館B40展臺(tái)) 合并緯湃科技后首次亮相IAA MOBILITY,展示拓展后的汽車產(chǎn)品組合 憑借在軟件、...

關(guān)鍵字: 電氣 軟件 驅(qū)動(dòng)技術(shù) BSP

-DXC通過(guò)初創(chuàng)企業(yè)合作推動(dòng)汽車與制造業(yè)AI創(chuàng)新 初創(chuàng)企業(yè)Acumino、CAMB.AI與GreenMatterAI合作將AI創(chuàng)新推向市場(chǎng) 合作源于DXC與STARTUP AUTOBAHN的伙伴關(guān)系 弗吉尼亞州阿什...

關(guān)鍵字: 汽車 AI AN AC

上海2025年8月26日 /美通社/ -- 在全球數(shù)字經(jīng)濟(jì)加速演進(jìn)的時(shí)代浪潮中,海量數(shù)據(jù)資源正成為企業(yè)發(fā)展的雙刃劍。超66%的企業(yè)面臨"數(shù)據(jù)沉睡"危機(jī)——分散于供應(yīng)鏈、財(cái)務(wù)、客戶運(yùn)營(yíng)等數(shù)十個(gè)系統(tǒng)的業(yè)務(wù)...

關(guān)鍵字: AI 模型 軟件 數(shù)據(jù)分析

在工業(yè)自動(dòng)化領(lǐng)域,Modbus協(xié)議憑借其開放性和易用性成為設(shè)備通信的"通用語(yǔ)言"。然而,當(dāng)工程師面對(duì)Modbus RTU、ASCII和TCP三種變體時(shí),如何根據(jù)具體場(chǎng)景做出最優(yōu)選擇?本文將從編碼機(jī)制、通信效率、錯(cuò)誤檢測(cè)等...

關(guān)鍵字: Modbus協(xié)議 TCP

加快開發(fā)進(jìn)程;提升質(zhì)量、安全性、性能與成本效益 利用耐世特在底盤領(lǐng)域的專業(yè)知識(shí)和線控技術(shù)產(chǎn)品組合 美國(guó)密西根州奧本山2025年8月11日 /美通社/ --?耐...

關(guān)鍵字: MOTION 軟件 運(yùn)動(dòng)控制 NI

臺(tái)北2025年8月8日 /美通社/ -- 作為專業(yè)伺服器設(shè)計(jì)與制造商,神達(dá)控股股份有限公司(股票代號(hào):3706)旗下子公司神雲(yún)科技股份有限公司(MiTAC Computing Technology Corporation...

關(guān)鍵字: MIT AI AC BSP

從自然汲取,向未來(lái)創(chuàng)造 上海2025年8月8日 /美通社/ -- 2025 世界機(jī)器人大會(huì)將于8月8-12日在北京亦創(chuàng)國(guó)際會(huì)展中心拉開帷幕,F(xiàn)esto(A112展位­)將以"從自然汲取,向未來(lái)創(chuàng)造&q...

關(guān)鍵字: FESTO 機(jī)器人 BSP 軟件

多款高性能平臺(tái)登場(chǎng),以快速響應(yīng)服務(wù)能力滿足中國(guó)多元化市場(chǎng)需求 上海2025年7月26日 /美通社/ -- 世界人工智能大會(huì)訊—神雲(yún)科技股份有限公司(MiTAC Computing Technology Cor...

關(guān)鍵字: AI 數(shù)據(jù)中心 IC AC

引言:穿越變革浪潮,迎接智能金融時(shí)代 上海2025年7月28日 /美通社/ -- 在全球科技變革的浪潮中,生成式AI正加速驅(qū)動(dòng)各行業(yè)變革,金融行業(yè)尤為顯著。在強(qiáng)監(jiān)管與用戶需求升級(jí)的雙重壓力,行業(yè)亟需重構(gòu)服務(wù)模...

關(guān)鍵字: 軟件 生成式AI 模型 數(shù)字化

寧波2025年7月28日 /美通社/ -- 日前,在第四屆寧波市專利創(chuàng)新大賽的聚光燈下,中之杰智能的創(chuàng)新技術(shù)"一種基于電子周轉(zhuǎn)箱的生產(chǎn)管理方法及系統(tǒng)"強(qiáng)勢(shì)斬獲專利優(yōu)秀獎(jiǎng)。這枚沉甸甸的獎(jiǎng)?wù)卤澈?..

關(guān)鍵字: 軟件 電子 智能工廠 BSP
關(guān)閉