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

當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]摘要:介紹了如何利用現(xiàn)有軟件虛擬模擬高效構(gòu)筑可現(xiàn)場控制的嵌入式Web服務(wù)器,一些方法也可用于其他資源有限的小型嵌入式網(wǎng)絡(luò)設(shè)備中。 關(guān)鍵詞:單片機 嵌入式系統(tǒng) Interne

摘要:介紹了如何利用現(xiàn)有軟件虛擬模擬高效構(gòu)筑可現(xiàn)場控制的嵌入式Web服務(wù)器,一些方法也可用于其他資源有限的小型嵌入式網(wǎng)絡(luò)設(shè)備中。 關(guān)鍵詞:單片機 嵌入式系統(tǒng) Internet Web服務(wù)器 隨著互聯(lián)網(wǎng)的日益普及,信息共享的程度不斷提高,網(wǎng)絡(luò)儀表及網(wǎng)絡(luò)控制設(shè)備的流行逐漸成為趨勢。如何通過互聯(lián)網(wǎng)共享以單片機應(yīng)用系統(tǒng)為中心的小型嵌入式設(shè)備的信息,成為當今電子界的熱門話題。傳統(tǒng)的互聯(lián)網(wǎng)應(yīng)用以PC為中心。如今,互聯(lián)網(wǎng)應(yīng)用正在轉(zhuǎn)到以嵌入式設(shè)備為中心。用單片機實現(xiàn)嵌入式互聯(lián)網(wǎng)方案的技術(shù)難點是:如何利用單片機本身有限的資源對信息進行TCP/IP協(xié)議處理,使之變成可以在互聯(lián)網(wǎng)上傳輸?shù)腎P數(shù)據(jù)包。目前解決這個問題有兩種方案:一種是PC 網(wǎng)關(guān)+專用網(wǎng),缺點是要增加布線和第三方協(xié)議轉(zhuǎn)換軟件;另一種是32位MCU+RTOS,弊端是開發(fā)難,成本極高。而用軟件方法實現(xiàn)網(wǎng)絡(luò)協(xié)議比采用集成網(wǎng)絡(luò)協(xié)議的芯片,具有節(jié)省空間、降低成本的優(yōu)點,更重要的是可以隨意配置甚至修改各種協(xié)議,且能通過軟件升級方式跟隨未來的發(fā)展。八位單片機目前仍占有很大的市場份額,而通過美國Ubicom公司的SX52微控器進行網(wǎng)絡(luò)控制更具其獨特優(yōu)勢,主要體現(xiàn)在:(1)速度快,在100MHz頻率下能達到 100MIPS;(2)現(xiàn)成的協(xié)議模塊供使用,即使對不熟悉網(wǎng)絡(luò)協(xié)議的開發(fā)人員也能簡單套用。雖然其它八位單片機也能用軟件實現(xiàn)精簡的TCP/IP協(xié)議,如PICl6C76等,但上面所說兩大優(yōu)點是采用SX52MCU的充分理由。套用成熟的現(xiàn)有程序是最具效率的開發(fā)辦法,這也是避免目前國內(nèi)普遍存在的低水平開發(fā)的有效途徑。雖然目前還沒有單獨的TCP/IP軟件虛擬模塊提供,但在演示板程序的基礎(chǔ)上,可以采用其成功的網(wǎng)絡(luò)協(xié)議模塊和一些適用于小型嵌入系統(tǒng)的做法構(gòu)筑現(xiàn)場控制Web服務(wù)器。 1 SX52控制器簡介 SX52 MCU與PIC單片機有很多地方相似,它也采用RISC指令系統(tǒng),帶可擦寫上萬次的片上Flash程序存儲器,具在系統(tǒng)編程等。SX52的流水線指令操作可1個時鐘周期執(zhí)行一條指令。沒有中斷嵌套使中斷響應(yīng)時間固定為3個時鐘周期,適用于一些要求強實時性的系統(tǒng)。5個可驅(qū)動30mA電流的I/O口可自由設(shè)置為TI"L或CMOS輸入電子,262%26;#215;8bit的SRAM數(shù)據(jù)空間,4096%26;#215;12bit的EE/Flash程序空間。內(nèi)部集成有模擬比較器、定時器、捕捉/PWM比較器、欠壓檢測、看門狗等多種功能部件。具有三個特殊器件配置寄存器,其長度分別為12位, (FUSE、FUSEX、DEVICE),硬件配置靈活多樣,加密性能好,能有效地防止產(chǎn)品被盜版或仿制的可能性。已提供的軟件虛擬模塊有UART、 A/D、DTMF、PWM、FSK、IRDA、VC等眾多常用功能塊。應(yīng)用微控器用軟件方法替代硬件功能是一大特色,可以避免一些常用功能的重復(fù)開發(fā)。

2 聯(lián)網(wǎng)的實現(xiàn) 對于資源緊缺的小型嵌入系統(tǒng),一般都要對TCP/IP協(xié)議族做一些精簡處理。Wing Poon等提供的演示板程序集合了如下模塊:ARP、DHCP、ICMP的echo響應(yīng),精簡的TCP/IP、HTYP、SMTP等;還可以看到應(yīng)用了 I2C以及∑-△A/D的軟件虛擬模塊。由于程序空間的限制,當實現(xiàn)DHCP時,只能用SMTP。底層采用8019AS網(wǎng)絡(luò)接口芯片。網(wǎng)頁通過12C存儲于24C256中,中斷程序可用于A/D虛擬模塊的計數(shù)及TCP/IP協(xié)議族的各個定時器。 系統(tǒng)設(shè)計主程序流程如圖1。當IP包頭有選項或存在分片時,此包被簡單丟棄而不處理。TCP能同時打開兩個連接,連接1用于SMTP(套接字用Bank 3,TCBI_BANK),連接2用于HTTP(套接字用Bank 4,TCB2_BANK)。TCP不使用滑動窗口的流量控制,發(fā)送時每發(fā)一個分組就停下來等待確認。程序中發(fā)送的數(shù)據(jù)長度放在變量Tcp2Un- AckMSB、Tcp2UnAckLSB中。在接收模塊TcpProcPktln中只有接收到Ack包后才復(fù)位這兩個變量;而發(fā)送模塊 Tcp%26;#183;Transmit中只有這兩個變量為零才允許發(fā)送下一段數(shù)據(jù),否則檢查Tcp2TimeMSB是否超時;如是則重發(fā)。TCP接收模塊TcpProcPktln檢查端口號及32序列號是否與套接字內(nèi)的相符,如不符則可能是收到重發(fā)的包,TCP簡單地發(fā)Ack的空包并丟棄本包;否則處理本包數(shù)據(jù)同時清除上次發(fā)送數(shù)據(jù)長度變量Tcp2UnAckMSB、Tcp2UnAckLSB,以便在TcpTransmit中能發(fā)送下一段數(shù)據(jù)。 子模塊TcpAppTxBytes、TcpAppRxData是TCP處理發(fā)送及接收數(shù)據(jù)的模塊。用戶如不變更原TCP/IP的精簡設(shè)計,只要修改這兩個模塊就能實現(xiàn)自己特定的應(yīng)用功能。 16位校驗和Checksum的計算對于很少或沒有數(shù)據(jù)緩沖的系統(tǒng)來說并不容易,一般有兩種方法處理。一是在TCP頭的檢驗和域放任意一個16位數(shù),數(shù)據(jù)發(fā)送的同時計算Checksum,然后在數(shù)據(jù)最后附加2個字節(jié)以保證之前任意取值的正確。這種方法的缺點是要讓接收的應(yīng)用程序忽略最后2個字節(jié)的數(shù)據(jù),可能導(dǎo)致許多程序的運行異常。二是先對產(chǎn)生的數(shù)據(jù)計算Checksum,但不發(fā)送,然后再產(chǎn)生同樣的數(shù)據(jù)加上正確的校驗和發(fā)送。顯然要求系統(tǒng)產(chǎn)生重復(fù)的數(shù)據(jù)有時是不現(xiàn)實的,利用網(wǎng)卡芯片8019的緩沖可以解決這一問題,將數(shù)據(jù)寫入8019的同時計算Checksum,最后將Checksum寫入8019后調(diào)用NicSendTxFrame才真正發(fā)送數(shù)據(jù)。

3 Web服務(wù)器實現(xiàn) TCP在Web服務(wù)器下采用的狀態(tài)轉(zhuǎn)移見圖2。 (1)服務(wù)器在closed狀態(tài)下主動打開端口80進入listen狀態(tài); (2)經(jīng)過3次常規(guī)握手后進人establish的數(shù)據(jù)傳送狀態(tài); (3)服務(wù)器發(fā)完數(shù)據(jù)發(fā)fin關(guān)閉請求進入fin wait-1狀態(tài); (4)收到對方發(fā)來的Ack后進入fin wait-2狀態(tài); (5)收到對方發(fā)來的fin關(guān)閉請求后回送Ack回到closed狀態(tài)。 考慮HTYP常用的abs_單片機 嵌入式系統(tǒng) Internet Web服務(wù)器形式的統(tǒng)一資源標識符URI,在資源緊缺的系統(tǒng)中實現(xiàn)完整的文件結(jié)構(gòu)如"images.gif""的查詢與定位,如果采用一般計算機程序中常用的方法則代價很高。一種簡便有效的方法是計算URI各字符的ASCII碼之和。網(wǎng)頁存放于SX52的外部EEPROM中。假設(shè)利用前512字節(jié)存放最大 256個網(wǎng)頁的地址,絕對路徑".btm"的不帶進位ASCII碼之和為#$be,可以到2x#$be+#$17c的地方找到要發(fā)送回客戶瀏覽器的數(shù)據(jù)存放地址;下載網(wǎng)頁到服務(wù)器時也用一個程序按上述方法將各網(wǎng)頁排好即可,當然網(wǎng)頁前都加了一段HTYP 1.0的標準響應(yīng)頭信息。這正是Ubicom公司提供的E2File程序所做的,也可以自己編寫一個這樣的程序以實現(xiàn)HTFP 1.1的除GET、POST方法外的其它方法或擴展功能。 除了用Java Applet實現(xiàn)動態(tài)網(wǎng)頁外,利用post方法也可與服務(wù)器交互。例如通過IE瀏覽器用復(fù)選框按鈕控制并顯示一組燈的開與關(guān)的基本W(wǎng)eb控制,其HTML 網(wǎng)頁的提交表單FORM內(nèi)應(yīng)該包含有的類似語句,其中0~n為欲控制燈的編號,name的取值為一位數(shù)字或字符,有利于節(jié)省SX52的查詢匹配程序空間,E2File程序?qū)⒕W(wǎng)頁中如下顯示燈的狀態(tài)的HTML超鏈接語句 中的"?"編號為非ASCII字符#$f0~#$fn等下載存儲到服務(wù)器的EEPROM中。當n用POST方法發(fā)送數(shù)據(jù)給服務(wù)器時,SX52服務(wù)器計算兩個空格間的abs_單片機 嵌入式系統(tǒng) Internet Web服務(wù)器形式的URI的ASCII字符之和后到相應(yīng)EEPROM中,用上述下載網(wǎng)頁的計算方法找到該網(wǎng)頁的地址后,跳過HTTP的請求頭匹配 l=0%26;amp;…l=n表示復(fù)選框被選中的數(shù)據(jù)并對相應(yīng)編號的燈開關(guān)后,返回該網(wǎng)頁給IE時會根據(jù)實際燈的狀態(tài)將EEPROM中存儲網(wǎng)頁的非 ASCII字符#$f0~#$fn退換為ASCII字符"n"或"f"。這樣IE就能正確地通過超鏈接再次與服務(wù)器交互(GET方法),下載顯示 ledon.gif或ledof.gif顯示實際燈的狀態(tài)了。而要在IE上正確顯示現(xiàn)場某個控制變量的值時,同樣可以將n位顯示數(shù)值編號為非ASCII字符#$f0#$fl…#$fn的形式存儲到服務(wù)器中,SX52服務(wù)器端先將實際的數(shù)值轉(zhuǎn)換為BCD碼后再用對應(yīng)的ASCII字符將#Sf0#$f1…#$fn替換返回,從而能在瀏覽器端顯示服務(wù)器端控制變量的變化。國內(nèi)用戶使用的北京革新提供的開發(fā)演示板程序較充分地提供了常用的 Intemet網(wǎng)絡(luò)協(xié)議軟件虛擬模塊,也提供了一個基本可實際應(yīng)用的Web演示控制,只要做較少改動就可以用于實際控制中。不過它只能一次控制一個燈的開關(guān),且任何人都可以輕易地更改。現(xiàn)要求一次能控制所有的燈,但需要在IE瀏覽器上輸入密碼123abc方可生效。程序修改如下: (5)在模塊TcpAppRxData的分支:lookforl的開頭增加以下語句: 當然以上密碼通過IE仍以明文傳送,不安全,但是它可以通過常用的IE瀏覽器操作,不需要專用的客戶端軟件。這適用于大企業(yè),它們有局域網(wǎng),電腦上只能用固定的幾種軟件。當然編寫客戶端軟件加入加密解密算法來適應(yīng)各種應(yīng)用環(huán)境也是容易實現(xiàn)的。用SX52構(gòu)建各種小型的現(xiàn)場控制Web服務(wù)器只要合理利用相應(yīng)的網(wǎng)絡(luò)協(xié)議軟件虛擬模塊,參照演示板的做法在應(yīng)用子模塊TcpAppTxBytes、TcpAppRxData中對發(fā)送及接收數(shù)據(jù)按照自己特定的要求做處理即可。它還可以通過UDP的方式同時與客戶端軟件傳送語音或視頻數(shù)據(jù)流,只要增加很少的外圍接口電路并改動相應(yīng)的UDP處理模塊 UDPProcPktIn即可。而如果未來協(xié)議的更新也只要下載最新的程序替換即可,開發(fā)人員單獨修改特定協(xié)議模塊的一些實現(xiàn)方式如增加滑動窗口的 TCP/IP等也比重新編寫一個完整的協(xié)議族遠為輕松。

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

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉