當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀] 一、基于STC單片機的智能LED路燈控制器設(shè)計  摘要:為了充分節(jié)約能源,提高路燈控制系統(tǒng)的智能化,介紹了一種基于STC 單片機的智能LED 路燈控制器,引入在線監(jiān)測、PWM 和電力線載波通信技術(shù),實踐應(yīng)用效果良好,

 一、基于STC單片機的智能LED路燈控制器設(shè)計

  摘要:為了充分節(jié)約能源,提高路燈控制系統(tǒng)的智能化,介紹了一種基于STC 單片機的智能LED 路燈控制器,引入在線監(jiān)測、PWM 和電力線載波通信技術(shù),實踐應(yīng)用效果良好,具有成本低、運行穩(wěn)定的特點。本控制器對智能化路燈管理有很大幫助,應(yīng)用前景廣闊。

  當(dāng)前巨量的能源消耗和由此引起的能源短缺、價格上漲等已使得節(jié)約能源成為一項十分迫切的任務(wù)。各國消耗的能源中很大一部分用于照明,其中城市公共照明(主要是道路照明和景觀照明)在我國照明耗電中占30%.有資料顯示,每年用于照明的電力在3 000 億度以上,若采用LED 照明,每年就可以節(jié)約1/3 的照明用電,基本上相當(dāng)于總投資規(guī)模超過2 000 億元的三峽工程的全年發(fā)電量。綜合以上優(yōu)點,LED光源自然成為城市公共照明的首選,同時目前國內(nèi)大部分城市的道路照明管理系統(tǒng)直至現(xiàn)在仍在沿用簡單的光控、鐘控等傳統(tǒng)控制方式。這些系統(tǒng)普遍存在著難以反饋路燈運行狀態(tài)信息、難以進行遠程控制等局限,基本沒有節(jié)電效果,并且采用傳統(tǒng)的人工巡檢,不僅使路燈管理部門的任務(wù)繁重,也增加了運行維護的費用??紤]到這些因素,本文針對LED 光源開發(fā)了智能路燈控制器。結(jié)合LED 光源的特點,并引入了電力線載波通信技術(shù),PWM 調(diào)光技術(shù)。

  1 LED 技術(shù)概述

  1.1 體積小而堅固耐用

  LED 基本上是一塊很小的晶片被封裝在環(huán)氧樹脂里面,它比燈泡和熒光燈管都堅固。燈體內(nèi)也沒有松動的部分,不易損壞。

  1.2 耗電量低

  一般來說LED 的工作電壓是2~3.6 V.工作電流是0.02~0.03 A.這就是說:它消耗的電不超過0.1 W.

  1.3 使用壽命長

  當(dāng)光通量衰減到80%時,其壽命達到了25 000 h.而金屬鹵化物燈的壽命在6 000~12 000 h,高壓鈉燈的壽命是12 000 h.

  1.4 調(diào)光功能

  由于LED 的工作范圍較大,其光輸出和工作電流成正比,因此可以通過減小電流的方法來調(diào)光。LED 的調(diào)光還可以采用脈沖寬度調(diào)節(jié)的方法來得到,通過調(diào)節(jié)電壓的占空比和工作頻率,有效調(diào)節(jié)LED 的發(fā)光強度。

  1.5 環(huán)保

  LED 是由無毒的材料制成,不像熒光燈含水銀會造成污染,同時LED 也可以回收再利用。

  1.6 光色、顯色性好

  在中間視覺水平下,人眼在高色溫環(huán)境里比低色溫環(huán)境更容易辨別事物。白光LED 的顯色性也比高壓鈉燈好很多,高壓鈉燈的顯色指數(shù)只有20 左右,而白光LED 可以達到65~80.

  2 系統(tǒng)的工作原理

  智能LED 路燈控制器是作為智能路燈控制系統(tǒng)參考的一部分,主要由STC 單片機、采樣電路、載波收發(fā)模塊等組成。系統(tǒng)上位機的命令和控制器的反饋都通過載波模塊利用電力線進行收發(fā);路燈的電壓、電流由采樣電路實時采集;單片機實時處理采集的電壓、電流,進行判斷處理,同時判斷執(zhí)行上位機的指令,及時反饋路燈的信息。

  3 硬件電路的設(shè)計

  3.1 主要器件的選擇和相關(guān)的性能

  STC12C5404AD 單片機是一款高速、寬電壓、低功耗的增強型8051 內(nèi)核單片機,最高16 k 字節(jié)片內(nèi)Flash 程序存儲器,512 字節(jié)片內(nèi)RAM 數(shù)據(jù)存儲器。STC12C5404AD 有10 位ADC 通道捕獲/ 比較單元,6 個16 位定時器,硬件看門狗,高速SPI 通信端口,全雙工異步串行口,每個通用I/O 口驅(qū)動能力均可達到20 mA.在線可編程,無需編程器,無需仿真器,可遠程升級,有效節(jié)約成本,方便客戶的各種應(yīng)用。

  PL2102 是特別針對中國電力網(wǎng)惡劣的環(huán)境所研制開發(fā)的低壓電力線載波通信芯片。它僅由單一的+5 V 電源供電,以及一個外部的接口電路與電力線耦合。PL2102 除具備基本的通訊控制功能外,還內(nèi)置了五種常用的功能電路:可數(shù)字頻率校正的實時鐘電路、32 Bytes SRAM、電壓監(jiān)測、看門狗定時器及復(fù)位電路。它們通過標(biāo)準(zhǔn)的I2C 接口與外部的微處理器相聯(lián),其中實時鐘與32 Bytes SRAM 在主電源掉電的情況下可由3 V 備用電池供電繼續(xù)保持工作。由于采用大規(guī)模數(shù)字/ 模擬混合0.35 μm CMOS 工藝制作,所以在抗干擾、抗衰落性能以及國內(nèi)外同類產(chǎn)品性能價格比等方面有著出眾的表現(xiàn)。

  3.2 通信技術(shù)特點

  本控制器采用了主流的擴頻通信技術(shù),有效提高了通信的可靠性,同時創(chuàng)造性的采用動態(tài)路由算法,可靠的延長了控制范圍。

 ?。?)擴頻通信技術(shù)其信號所占有的頻帶寬度遠大于所傳信息必須的最小帶寬。頻帶的展寬是通過編碼及調(diào)制的方法來實現(xiàn)的,與所傳信息數(shù)據(jù)無關(guān)。接收端使用與發(fā)送端相同的擴頻碼進行相關(guān)解調(diào),恢復(fù)出所傳輸?shù)男畔ⅰ8鶕?jù)香農(nóng)關(guān)于信道容量的理論:

  C=WLog2(1 十P/N)。

  式中:C 稱為信道容量;W 是頻帶寬度;P/N 是信號與噪聲的功率比。此式說明:在保持信息容量C 不變的條件下,可以有不同的W 和P/N,亦即,如果頻帶寬度變寬,信道的信噪可以比較低,而可以達到同樣的信道容量(有效的信息傳輸速率)。甚至,在信號被噪聲淹沒的情況下,只要相應(yīng)地增加信號傳輸帶寬,也能夠達到可靠傳輸?shù)哪康摹U頻通信就是基于這一原理。

  (2)動態(tài)路由方法需要在集中器建立中心路由表和信息素表,各終端建立子路由表,集中器和所有終端都要建立各自的電氣距離表, 用來記錄與其能夠直接通信的其他終端的電氣距離。算法主要包含路由發(fā)現(xiàn)和路由維護兩部分,下面分別進行描述。

  路由發(fā)現(xiàn),是指按一定的規(guī)則來尋找并發(fā)現(xiàn)路由,即路由邏輯樹的建立過程。集中器根據(jù)目的終端的回應(yīng)信號建立中心路由表,其他終端通過接收或監(jiān)聽電力線上的信號,根據(jù)計算出的電氣距離值不斷地更新其電氣距離表,從而調(diào)整其可直達節(jié)點路由表。

  載波信號從集中器出發(fā),根據(jù)約束集的約束、信息素濃度τi,j以及問題的啟發(fā)信息,按一定策略選擇下一終端,直至到達目標(biāo)終端。同時載波信號按原路徑返回,回到集中器之后,對路徑質(zhì)量進行評估, 采用全局更新規(guī)則對迭代或全局最優(yōu)路徑上的信息素濃度進行更新。

  由于電力線信道環(huán)境隨時間會發(fā)生緩慢的變化,信息素表中在較早時間里獲得的信息素會逐漸失去代表電力線信道當(dāng)前環(huán)境狀況的效力,所以對其他路徑的信息素采取定期按照一定比例揮發(fā)的機制。同時為了避免搜索出現(xiàn)停滯現(xiàn)象,設(shè)定了路徑上信息素的濃度值的上、下限。當(dāng)獲得的最優(yōu)路徑達到要求的精度時,認(rèn)為本次路由發(fā)現(xiàn)完成。集中器通過不斷發(fā)出尋路信號,來完成各終端的路由發(fā)現(xiàn)過程,最終建立到達各終端的中心路由表。

  算法中,載波信號在選擇下一個節(jié)點的時候,采用了氣距離作為約束的候選集策略,并結(jié)合了確定性隨機性的選路原則。首先,設(shè)定一個能正常通的電氣距離的閥值,當(dāng)電氣距離大于這一閥值時,認(rèn)為信道狀態(tài)較差,兩節(jié)點間不能直接通信。

  從大量的實驗結(jié)果來看,最大可通信距離附近的節(jié)點在通信上并不穩(wěn)定,不適合作為中繼使用,所以,在算法中選擇電氣距離為閥值的[1/2,3/4]這個區(qū)間上的節(jié)點作為下一節(jié)點的候選集。同時通過公式(1)作為下一節(jié)點的選擇策略。

  

  式中:pi,j(t)為在第t 次迭代中,編號為i 的節(jié)點到編號為j 的節(jié)點的轉(zhuǎn)移概率;τi,j(t)為路徑(i,j)上的信息素強度;a 為信息素調(diào)整因子;ηi,j為節(jié)點i 到節(jié)點j 的電氣距離值;allowed 為載波信號下一跳候選節(jié)點集合;q 為在[0,1]區(qū)間隨機產(chǎn)生的服從均勻分布的隨機數(shù);q0為載波信號選擇下一跳的概率度量閥值。當(dāng)q≤q0時,載波信號選擇信息素最大的路徑節(jié)點作為下一跳節(jié)點,這就是確定性選擇策略,當(dāng)q》q0時,根據(jù)公式(2),用賭輪法隨機選擇下一跳,這就是隨機性選擇策略。算法的確定性使選擇趨向于獲得最優(yōu)候選解,而隨機性則通過擾動來發(fā)現(xiàn)新的解,防止陷入局部最優(yōu)。

  路由維護是指當(dāng)以前的路由變得無效時或為了尋找一條更加適合當(dāng)前電力線狀況的更優(yōu)路由,需要對路由表進行更新的過程。當(dāng)集中器按照中心路由表中的路由向目標(biāo)終端發(fā)送控制命令,由于該路由中某一路徑上的負(fù)載變大或受到強干擾而使通信失敗,則集中器在確認(rèn)該路徑已經(jīng)不適合當(dāng)前信道的情況下,將重新選擇路由或使用路由發(fā)現(xiàn)規(guī)則尋找到達目標(biāo)節(jié)點的新路由。進行路由維護的搜索過程是針對個別節(jié)點或局部區(qū)域節(jié)點進行的,因此可以大大地節(jié)約時間。

3.3 電路設(shè)計

  STC 單片機將路燈電壓、電流的現(xiàn)場數(shù)據(jù)進行采集,利用單片機內(nèi)部AD 進行轉(zhuǎn)換并與正常的上下限值進行比較得到路燈的運行狀態(tài)信息,判斷是否向上位機報警。STC 單片機的PWM 引腳輸出占空比可調(diào)的信號,直接控制LED 驅(qū)動芯片,調(diào)節(jié)LED 光源的亮度,實現(xiàn)有效的節(jié)能。電力載波模塊將需要傳遞的信息利用電力線進行收發(fā)??刂破髡w結(jié)構(gòu)見圖1.

  

  圖1 整體結(jié)構(gòu)

  如圖2、圖3 所示,電壓、電流采集電路[3]分別通過電壓、電流互感器感應(yīng)交流的電壓、電流,再通過I-V 互換得出相應(yīng)電壓值。

  

  圖2 電壓采集電路

  

  圖3 電流采集電路

  電力載波通信由PL2102 和STC 單片機配合操作完成,主要外圍電路有功率放大電路、濾波整形電路、耦合電路組成。電力載波通信主要電路組成見圖4.

  

  圖4 載波電路

  功率放大電路是用來將PL2102 芯片產(chǎn)生的載波調(diào)制信號進行功率放大后耦合到電力線上。載波功能被使用后,載波信號由PSK-OUT 輸出,波形為0~5 V 變化的方波,包含豐富的諧波;經(jīng)過推挽電路進行功率放大后,PSK-OUT 的方波信號被放大為IN 點信號。功率放大電路見圖5.

  

  圖5 功率放大電路

  圖7 中電感L1、電容C3 完成整形濾波后,再通過耦合線圈T1 耦合到低壓電力線上,雙向二極管D7 起保護作用。圖7 中包含接收回路部分。R3 在接收本地強發(fā)射信號時可以有效吸收衰減;電感L2、電容C6 組成并聯(lián)諧振回路,諧振以中心頻率為120 kHz 設(shè)計,完成對有效信號的帶通濾波;良好的選頻回路可以有效提高載波接收靈敏度。載波耦合及接收電路見圖6.

  

  圖6 載波耦合及接收電路

  4 路燈控制器的軟件設(shè)計

  軟件程序使用C51 語言,采用模塊化方式編程。軟件主要由主程序、AD 采樣程序、PWM 程序、通信程序組成。

  4.1 主程序

  系統(tǒng)開始工作后主程序首先對單片機內(nèi)部及外部的資源初始化,然后依次調(diào)用各功能模塊程序。

  4.2 A/D 采樣程序

  A/D 采樣程序由主程序循環(huán)調(diào)用,每次對外部10 個模擬量采集12 次,經(jīng)由數(shù)字濾波后送到數(shù)據(jù)緩沖區(qū),供其他程序使用。

  4.3 PWM 程序

  單片機將上位機命令解碼后,內(nèi)部控制寄存器置位,啟動可編程計數(shù)器陣列(PCA)/PWM 工作,輸出可調(diào)PWM,實現(xiàn)調(diào)光的功能。

4.4 通信程序

  載波通信模塊提供透明數(shù)據(jù)傳輸通道,用戶通信的可靠性由用戶的通信協(xié)議保證。上位機通過載波通信模塊向路燈控制器發(fā)出命令,由STC 命令解碼后,置位相應(yīng)的寄存器,實現(xiàn)對應(yīng)功能。

  主程序框圖、中斷程序流程圖見圖7、圖8.

  

  圖7 主程序框圖

  

  圖8 中斷程序流程圖

  5 結(jié)論

  智能LED 路燈控制器采用智能化設(shè)計,能夠可靠地對城市路燈進行有效的數(shù)據(jù)采集,自動判斷,自動報警。同時它作為智能路燈系統(tǒng)的一部分,通過電力線載波通信技術(shù)與上位機方便地聯(lián)系,便捷地接收系統(tǒng)命令并且利用自有的PWM 功能對LED 光源進行調(diào)光操作,達到節(jié)能要求,具有體積小,工作可靠,控制便捷的優(yōu)點。智能LED 路燈控制器如能推廣使用,會使城市路燈管理工作提高到一個新的水平,不但節(jié)約能源,同時也可減少照明燈具的損耗,因此具有廣泛的推廣前景。

  由圖7 所示的脈沖信號控制IGBT 導(dǎo)通和關(guān)斷,在負(fù)載兩端產(chǎn)生等效于圖4 的電壓,從而使電感L 上的電壓如圖8 所示,最終產(chǎn)生的電流波形如圖9.可以看出,電流波形為線性度良好的三角波。通過實驗驗證得到的數(shù)據(jù)與理論分析結(jié)果相一致,證明了該系統(tǒng)的正確性和可行性。

  二、基于Web的單片機遠程監(jiān)控系統(tǒng)設(shè)計方案

  摘 要:傳統(tǒng)的遠程監(jiān)控系統(tǒng)一般采用C/S 模型的方式,針對大型設(shè)備,成本高。文章采用SOC 芯片C8051F020 和10M 自適應(yīng)網(wǎng)絡(luò)芯片RTL8019AS 接口的方案,在單片機中嵌入了精簡的TCP/IP 協(xié)議棧,構(gòu)建了基于Web 的單片機遠程監(jiān)控系統(tǒng)軟、硬件平臺,在此基礎(chǔ)上實現(xiàn)了基于單片機的數(shù)據(jù)采集和遠程監(jiān)控,所實現(xiàn)的系統(tǒng)具有成本低廉、操作方便、可靠等優(yōu)點。

  1. 引言

  單片機系統(tǒng)以其簡單、高效的特點,在工業(yè)控制和日常生活中應(yīng)用越來越廣泛。目前大多數(shù)單片機系統(tǒng)是以51 單片機為核心,與檢測、伺服、顯示設(shè)備配合起來實現(xiàn)監(jiān)控功能。

  然而,這些監(jiān)控系統(tǒng)的數(shù)據(jù)傳輸多采用RS-232、RS-485 以及各種現(xiàn)場總線,這些方式有些通信速度不夠快,有些距離不夠遠,且各種總線之間難于實現(xiàn)互連和互操作。以太網(wǎng)作為目前應(yīng)用最為廣泛的局域網(wǎng),在工業(yè)自動化和過程控制領(lǐng)域得到了越來越多的應(yīng)用。同時,隨著Internet 的普及,現(xiàn)代通信技術(shù)的進步,基于TCP/IP 和Client/Server 架構(gòu)的分布式監(jiān)控技術(shù)也日趨成熟。把嵌入式系統(tǒng)連接到Internet 上,就可以方便、低廉地把信息傳送到世界的任何一個地方。

  傳統(tǒng)的遠程監(jiān)控系統(tǒng)一般采用C/S 模型的方式,主要針對大型的設(shè)備進行監(jiān)控。對于如攝像頭圖象監(jiān)控﹑家用儀表﹑門禁控制系統(tǒng)等小型的設(shè)備的監(jiān)控就需要采用低成本的方案。

  鑒于此,在低成本的單片機系統(tǒng)上移植精簡的TCP/IP 協(xié)議簇,實現(xiàn)對于小型設(shè)備遠程監(jiān)控是最佳選擇。該系統(tǒng)以Web 方式實現(xiàn),用戶可以在任何一臺裝有瀏覽器的PC 機上進行遠程監(jiān)視與控制,具有價格低廉、操作方便、界面友好等優(yōu)點。傳統(tǒng)的遠程監(jiān)控系統(tǒng)模型與本系統(tǒng)采用的模型如圖1 和圖2 所示。

  

  圖1 傳統(tǒng)遠程監(jiān)控系統(tǒng)模型

  

  圖2 單片機監(jiān)控系統(tǒng)模型

  2. 系統(tǒng)硬件設(shè)計

  本系統(tǒng)以 Cygnal 公司的完全集成的混合信號系統(tǒng)級芯片(SOC)C8051F020 單片機為核心,采用Realtek 公司的10M 自適應(yīng)以太網(wǎng)控制器RTL8019AS 實現(xiàn)系統(tǒng)的網(wǎng)絡(luò)接口部分。

  SRAM 部分用于存放大量的數(shù)據(jù)信息。數(shù)據(jù)采集部分用于采集系統(tǒng)需要監(jiān)控的設(shè)備的運行情況,由于C8051F020 內(nèi)部帶有真正12 位100 ksps 的8 通道ADC 帶PGA 和模擬多路開關(guān),還有兩個12 位DAC 可編程更新時序,可以方便的進行模擬信號采集和對外設(shè)進行控制。

  C8051F020 單片機內(nèi)置64K FLASH 程序存儲器、4K 內(nèi)部SRAM,可以嵌入TCP /IP 協(xié)議, 從而實現(xiàn)嵌入式Web Sever 的功能。RTL8019AS 集成了介質(zhì)訪問控制子層(MAC)和物理層的性能,與單片機的接口簡單,可以方便地用來設(shè)計基于ISA 總線的系統(tǒng)。另外,它還具有與NE2000 兼容、軟件移植性好以及價格低廉等優(yōu)點,所以特別適合用于嵌入式系統(tǒng)。

  

  圖3 系統(tǒng)框圖

  3.系統(tǒng)軟件設(shè)計

  3.1 軟件流圖設(shè)計

  軟件的實現(xiàn)主要是根據(jù)數(shù)據(jù)在網(wǎng)絡(luò)中傳輸?shù)姆较蚝蛿?shù)據(jù)的流向來實現(xiàn)的。在本設(shè)計中數(shù)據(jù)的流向為:請求信息從局域網(wǎng)中來,通過RJ 45 送到RTL80l9AS,處理后的數(shù)據(jù)包送入單片機系統(tǒng)的協(xié)議棧,由協(xié)議棧對數(shù)據(jù)包進行解析,得到原始請求信息。請求信息再經(jīng)過單片機系統(tǒng)的處理,產(chǎn)生回復(fù)信息?;貜?fù)信息到局域網(wǎng)的過程與上面正好相反。整個系統(tǒng)的軟件流程如上圖4 所示。

  

  圖4 軟件框圖

  3.2 RTL8019 接收與發(fā)送數(shù)據(jù)

  1.RTL8019 芯片初始化主要是將網(wǎng)卡設(shè)置成正常的模式,跟外部網(wǎng)絡(luò)連接。清除所有中斷標(biāo)志位,讓芯片開始工作。

  2.對RTL8019 接收數(shù)據(jù)操作,有查詢和中斷兩種方式。因為單片機的速度和PC 機相差太遠,而且還有一些采集任務(wù),本系統(tǒng)不采用中斷方式,用查詢方式。在查詢方式下,通過查詢CURR 和BNRY 兩個寄存器的值來判斷是否收到一幀數(shù)據(jù)。當(dāng)BNRY+1 與CURR不相等,說明接收緩沖區(qū)接收到了新的數(shù)據(jù)幀。圖5 為RTL8019 報頭格式,接收部分子程序如下:

  UCHAR xdata * rcve_frame(void) //如收到有效數(shù)據(jù)包,返回收到的數(shù)據(jù),否則返回NULL

  

  圖5 RTL8019 報頭格式

  3.數(shù)據(jù)的發(fā)送包含三個步驟:封裝數(shù)據(jù)包;通過遠程DMA 將數(shù)據(jù)包送入RTL8019AS的數(shù)據(jù)發(fā)送緩沖區(qū);通過RTL8019 的本地DMA 將數(shù)據(jù)送入FIFO 進行發(fā)送。具體過程如下:

 ?。?)包在發(fā)送前應(yīng)該按規(guī)定的格式封裝好,格式如下圖6 所示:

  

  圖6 MAC 幀首部

 ?。?)把上面的數(shù)據(jù)包通過遠程DMA 寫入RTL8019AS 的數(shù)據(jù)發(fā)送緩沖區(qū);

 ?。?)啟動本地DMA,把數(shù)據(jù)發(fā)送出去,數(shù)據(jù)包長度最小為60 字節(jié),最大1514 字節(jié)。

  發(fā)送子程序為:void send_frame(UCHAR xdata * outbuf,UINT len)//發(fā)送一個數(shù)據(jù)包3.3 TCP/IP 協(xié)議棧的實現(xiàn)。

3.3.1 ARP 協(xié)議的實現(xiàn)

  ARP 地址解析協(xié)議的本質(zhì)是完成網(wǎng)絡(luò)地址到物理地址的映射。物理地址有以太網(wǎng)和令牌環(huán)網(wǎng)兩種基本類型,網(wǎng)絡(luò)地址特指IP 地址。具體到以太網(wǎng),使用的是動態(tài)綁定轉(zhuǎn)換的方法,但是會遇到許多細節(jié)問題,例如減少廣播,ARP 包丟失,物理地址變更(更換網(wǎng)卡)、移動(移動設(shè)備到另一子網(wǎng))、消失(關(guān)機)等。一般是設(shè)置ARP 高速緩存,通過學(xué)習(xí)、老化、更新、溢出算法處理ARP 映射表來解決這些問題。整個ARP 處理過程,主要用5 個函數(shù)實現(xiàn)。

  在實現(xiàn)網(wǎng)卡驅(qū)動程序后,所有ARP 處理操作就是填寫ARP 包。主要程序代碼編制如下:

 ?。?)void init_arp(void)//完成ARP 表初始化,概括說就是ARP 表state 字段清0

 ?。?)void arp_send(UCHAR * hwaddr,ULONG ipaddr,UCHAR msg_type)//完成ARP 請求

  (3)void arp_rcve(UCHAR xdata * inbuf)// 完成響應(yīng)操作

 ?。?)UCHAR xdata * arp_resolve(ULONG dest_ipaddr) //完成從cache 里面查找對應(yīng)//IP 地址的物理地址,如果沒有,就發(fā)送ARP 請求

  3.3.2 IP 協(xié)議的實現(xiàn)

  網(wǎng)際協(xié)議 IP 是TCP/IP 協(xié)議族中最為核心的協(xié)議,它的主要功能是負(fù)責(zé)把數(shù)據(jù)交付給主機,當(dāng)目標(biāo)主機與原主機處于不同的物理網(wǎng)絡(luò)中時,IP 負(fù)責(zé)把數(shù)據(jù)包路由到相應(yīng)的目標(biāo)網(wǎng)絡(luò)上。Internet 上所有的數(shù)據(jù)都以IP 數(shù)據(jù)包格式傳輸。IP 協(xié)議最大的特點是提供不可靠的和無連接的數(shù)據(jù)包傳送服務(wù)。IP 協(xié)議主要實現(xiàn)以下兩個子程序:

 ?。?) void ip_send(UCHAR xdata*outbuf,ULONG ipaddr, UCHAR proto_ id,DINT len)//發(fā)送IP 數(shù)據(jù);該子程序用來創(chuàng)建一個發(fā)送數(shù)據(jù)報。

  (2) void ip_rcve(UCHAR xdata *inbuf) //接收IP 數(shù)據(jù);該子程序檢測一個外來數(shù)據(jù)包,并對數(shù)據(jù)包作相應(yīng)的處理。

  3.3.3 TCP 協(xié)議的實現(xiàn)

  1.使用TCP 狀態(tài)機:TCP 協(xié)議是整個TCP/IP 協(xié)議的核心,也是傳輸層中最復(fù)雜的協(xié)議。TCP 協(xié)議在兩個端點之間建立了等效于物理連接的邏輯連接。數(shù)據(jù)沿著這個連接雙向傳輸。連接的雙方必須對發(fā)送和接收的數(shù)據(jù)保持跟蹤,以便能夠檢測出數(shù)據(jù)流中的遺漏和重復(fù)。

  2.使用簡單的確認(rèn)機制:序列號和確認(rèn)號這兩個字段用于協(xié)同完成TCP 協(xié)議中的確認(rèn)工作。對于每個接收到的數(shù)據(jù)包進行確認(rèn)號的計算,需要從接收到的數(shù)據(jù)包中提取TCP 報文的數(shù)據(jù)部分長度,并進行計算,這增加了處理器的運算量。但如果每次只對單個TCP 報文進行確認(rèn)的話,并沒有太大的難度。TCP 協(xié)議主要包含的程序如下:

  (1) init_tcp(void) //初始化TCP 協(xié)議

 ?。?) Tcp_send(UINT flags, DINT hdr_len, UCHAR nr) //發(fā)送TCP

  (2) Tcp_retransmit(void) //重發(fā)TCP 數(shù)據(jù)

 ?。?) Tcp_inactivity(void) //停止TCP

  (4) Tcp_rcve(UCHAR xdata * inbuf, UINT len) //接收TCP 數(shù)據(jù)

  3.3.4 HTTP 協(xié)議簡介

  HTTP 協(xié)議是TCP 協(xié)議的高層協(xié)議,HTTP 的請求和應(yīng)答都是一行或多行文本,它的結(jié)束標(biāo)志是一個換行符[5]。如果請求成功,數(shù)據(jù)就沿著該連接發(fā)送,直到發(fā)送完為止。HTTP的端口號為80.HTTP 中的命令稱呼為方法(method),其中GET 語句用來獲取文檔,POST語句用來粘貼文檔。通過判斷GET 和POST 語句后面的文件名來判斷所需要傳遞的文件的位置。

  請求:

  GET / HTTP/1.1

  響應(yīng):

  HTTP/1.1 200 OK

  Content-type: text/html

  ……

  《html》

  《body》

  ……

  《/body》

  《/html》

  4.應(yīng)用部分

  本 WEB 服務(wù)器系統(tǒng)幾乎可以應(yīng)用于所有對實時性要求不是很高的場合,只要對本系統(tǒng)的相關(guān)部分做些修改或改進,例如:客戶端的訪問權(quán)限、IP 地址的過濾等,就可應(yīng)用于諸如遠程抄表、信息家電的遠程控制等場合。下面圖7 為ping 命令測試網(wǎng)絡(luò)不通到通的連接狀態(tài),圖8 實現(xiàn)了局域網(wǎng)內(nèi)任意主機通過ip 地址形式訪問單片機內(nèi)部存諸的網(wǎng)頁,從而實現(xiàn)對單片機系統(tǒng)的遠程監(jiān)控。

  

  圖7 網(wǎng)絡(luò)連接測試

  

  圖8 遠程監(jiān)控溫度

  5.結(jié)束語

  實現(xiàn)了基于單片機的 TCP/IP 協(xié)議棧,使單片機控制的系統(tǒng)具有了WebServer 的功能,這樣可以使用PC 機通過因特網(wǎng)遠程訪問單片機系統(tǒng),也可以使用單片機系統(tǒng)將有用的信息通過因特網(wǎng)發(fā)送到遠端的PC 或其它終端上。為嵌入式設(shè)備實現(xiàn)遠程數(shù)據(jù)采集、遠程監(jiān)控、遠程診斷、遠程幫助、遠程升級、遠程重構(gòu)等功能提供了可能,這是嵌入式系統(tǒng)發(fā)展的趨勢。

  三、基于89C52單片機的微電壓信號源設(shè)計

  1 設(shè)計原理

  被測設(shè)備要求提供0.5~50mV的可調(diào)直流模擬電壓,分辨率達10微伏,精度達±0.01mV,溫度跟隨性要好,即要求提供高精度的微電壓信號。

  如果采用單片機通過D/A轉(zhuǎn)換器輸出所需電壓,輸出范圍0~5V,LSB=0.01mV,則D/A轉(zhuǎn)換器的位數(shù):

  X=lg2(5000/0.01)≈19(Bit)

  考慮D/A轉(zhuǎn)換器的量化誤差、溫漂、噪聲和其他各種誤差的影響,至少選擇21Bit以上的D/A轉(zhuǎn)換器,但目前尚無適合本系統(tǒng)設(shè)計的D/A轉(zhuǎn)換器。因此,在考慮系統(tǒng)分辨率和輸出電壓范圍的前提下,采用如下方案:先將小于50 mV的電壓數(shù)值擴大100倍,再用 16Bit D/A轉(zhuǎn)換器輸出,然后通過200倍的高精密分壓器和超低漂移的運算放大器緩沖輸出。與此同時,采用高位A/D轉(zhuǎn)換器組成電壓反饋回路,對輸出進行差值補償,進一步提高信號精度和穩(wěn)定性。 其原理結(jié)構(gòu)如圖1所示。

  

2 硬件設(shè)計

  2.1 電壓輸出電路

  在單片機(89C52)、D/A轉(zhuǎn)換器、分壓、運放組成的微電壓輸出電路中,設(shè)計的要點是如何用單片機控制D/A轉(zhuǎn)換器的輸出。本設(shè)計采用美國BB公司生產(chǎn)的16位高精度數(shù)/模轉(zhuǎn)換器DAC714(單通道、串行通訊方式,工作電壓±12V或±15V,能實現(xiàn)±10V、±5V和0~10V的模擬電壓輸出)。圖 2是D/A轉(zhuǎn)換器與單片機的連接電路。DAC714采用 ±15V工作電壓,通過外部連接的增益(OFFS)和雙極性偏移(GADJ)電位計調(diào)整,實現(xiàn)對輸出電壓的精度要求。在調(diào)節(jié)這兩個參數(shù)時,為了避免零點對比例調(diào)節(jié)的影響,應(yīng)注意先調(diào)整比例系數(shù),后調(diào)零點。其中,A0為輸入寄存器控制信號,A1為D/A鎖存控制信號,SDI為串行數(shù)據(jù)輸入。數(shù)據(jù)控制均為低電平有效,當(dāng)A0=0時,當(dāng)前數(shù)據(jù)進入移位寄存器;當(dāng)A1=0時,數(shù)據(jù)進入D/A鎖存。

  

  5V滿刻度的16位DAC714轉(zhuǎn)換器,1LSB對應(yīng)76μV。如果輸出端的負(fù)載電流為5mA,則60mΩ的線路和接觸電阻,就會產(chǎn)生300μV的壓降;此外,還有印刷電路板產(chǎn)生的壓降。因此,將模擬地和數(shù)字地分開,采用單點連接,盡量減小接地回路。模擬插釘互相靠近,有利于模擬與數(shù)字信號的隔離,而模擬信號應(yīng)該盡量遠離數(shù)字信號。為了將D/A轉(zhuǎn)換器與開關(guān)電流隔離,模擬地設(shè)在D/A周圍或者在其下方的模擬信號和電源的附近,最好在DAC714轉(zhuǎn)換器的下面將DCOM與ACOM直接接地。

  2.2 電壓反饋電路

  DAC714轉(zhuǎn)換器的輸出電壓經(jīng)精密分壓電路和OPA111BM運放組成的緩沖電路輸出后,理論上完全可達22位分辨率。但是由于溫漂和其他誤差影響,實際輸出時為19位分辨率,精度不能滿足要求,為此,設(shè)計了反饋補償電路。用22位A/D轉(zhuǎn)換器測量實際輸出電壓,在單片機中將實際輸出電壓與理論輸出值比較,其差值信號作為DAC714的補償電壓輸出,確保了電壓輸出精度。

  圖3是由ADS1212組成的電壓反饋電路。 ADS1212是美國BB公司生產(chǎn)的高精度、寬動態(tài)特性的22位單通道Δ-Σ模擬/數(shù)字轉(zhuǎn)換器。其差動輸入端直接與微小的電壓信號相連。由于采用了低噪聲的輸入放大器,在轉(zhuǎn)換速度為10Hz時仍可獲得20位的有效分辨率。它有一個靈活的同步串行接口,單一+5V供電,有內(nèi)/外參考電壓和內(nèi)部自校準(zhǔn)系統(tǒng)。與外部器件接口的形式有雙線制、三線制、四線制和多線制,此處采用三線制來實現(xiàn)與單片機的接口,接口信號是數(shù)據(jù)準(zhǔn)備就緒線(DRDY)、數(shù)據(jù)輸入輸出線 (SDIO)、時鐘信號線(SCLK)。

  

  2.3 溫控電路

  為了進一步降低溫漂的影響,必須保證系統(tǒng)工作溫度變化在一個較小的范圍內(nèi),為此,設(shè)計了自動恒溫控制電路。該電路由TMP01溫度控制芯片(AD公司)和加溫、降溫電路等組成。

  TMP01通過外接電阻值來設(shè)定高、低溫度控制點。當(dāng)系統(tǒng)溫度高于或低于設(shè)定值時,輸出電壓控制信號,啟動加溫或降溫電路的工作。TMP01溫度控制精度達±1℃,負(fù)載能力達20mA,可直接驅(qū)動繼電器。

  3 軟件流程

  本電壓信號源采用液晶顯示屏顯示漢字和數(shù)字,可通過按鍵直接控制輸出電壓的大小。用匯編語言編程,實現(xiàn)電壓的自動輸出。軟件流程如圖4所示。

  

  4 結(jié)束語

  本文介紹的數(shù)字式微電壓信號源,利用精密分壓和反饋補償原理,實現(xiàn)了用16位D/A數(shù)模轉(zhuǎn)換器輸出19位分辨率的直流電壓的目標(biāo)。部隊實際使用表明,采用單片機控制的數(shù)字式微電壓信號源不僅電壓精度穩(wěn)定,而且成本低,體積小,提高了測試自動化的程度。

  四、一款自制簡易示波器設(shè)計

  這款簡易示波器的性能如下:

  1.電壓擋位:200mV、500mV、1V、2V、5V、12.5V、25V、50V。

  2.頻率擋位:12MHz、6MHz、4MHz、3MHz、2MHz、1MHz、500kHz、250kHz、100 kHz、50kHz、25kHz、10kHz。

  3.能較好地測量300 kHz的波形。

  這次DIY的示波器性能雖然較弱,僅僅能用來測試音頻等300kHz以下頻率的周期波形。不過它還有一個實用的功能,可以用來測試+/-50V的電壓(量程是自動切換的)。

  

  主要零件

  編號 零件名稱 數(shù)量

  1    ATMEGA8單片機 1

  9   24MHz有源晶振 1

  8   128x64液晶屏

  [ST7565控制器] 1

  2    5532運放 2

  3   AD603壓控放大器 1

  4    TLV5618[DA] 1

  5    ADS830E[AD] 1

  6    IDT7205 1

  7    ILC7660 2

  10    1117-5.0 2

  11    1117-3.3 1

  12    79L05 1

  13       繼電器 2

  14 電容、電阻、二極管 若干

  15    三極管 2

  16    洞洞板 1

  17    按鈕 2

  電路分析

  這個版本示波器的電路原理如圖1所示。電路制作時,我用了1塊16cm×10cm的萬用板,電路中僅僅使用2個按鈕來操作示波器,因為我只使用了一片M8單片機作為控制器,1個按鈕用于循環(huán)改變采樣頻率,另一個按鈕用來選擇信號的耦合方式,直流或者交流耦合。

  大家要問了,如何用一片 M8 單片機產(chǎn)生12MHz的采樣時鐘呢?呵呵,其實我對M8單片機進行了超頻,使用24MHz的有源晶振作為它的時鐘頻率。然后,通過定時器2的比較匹配翻轉(zhuǎn)電平,以產(chǎn)生不同的時鐘。當(dāng)OCR2=0時,單片機的OC2引腳就能產(chǎn)生12MHz的方波了。當(dāng)然,如果大家不想超頻,那么最高的采樣頻率就是16MHz的一半,8MHz了。因為,M8的技術(shù)手冊上建議最高為16MHz的時鐘,而比較匹配的最高頻率為系統(tǒng)時鐘的2分頻,即8MHz。本次制作的源代碼使用WinAVR編譯。如果使用16MHz的晶振,請自行修改源代碼。

  電路中,被測量的信號,經(jīng)過500kΩ、480 kΩ、20 kΩ電阻串聯(lián)回路,通過繼電器進入第1個運放,運放起到阻抗匹配的作用,因為AD603的輸入電阻僅為100Ω。單片機通過繼電器選擇合適的衰減倍數(shù),在默認(rèn)情況下,為1/2倍的衰減。在測量較大的電壓時,單片機會選擇1/50 的衰減。選擇衰減的目的是為了方便后期的2次放大。后期放大使用了一片AD603,它是壓控放大器。通過改變GPOS(第1腳)與GNEG(第2腳)之間的電壓差,即可控制它的放大倍數(shù)。AD603的GPOS(第1腳)的電壓通過一片DA5618控制,它是12位串口DA,它的參考電壓為1.25V,由2個電阻分壓而得。整個電路的運放可以使用NE5532、AD8066、LM6172等,它們的引腳都是兼容的。由于采樣的速度比較快,遠大于M8單片機的讀取及處理速度,所以通過IDT7205來緩沖高速采樣的電平數(shù)據(jù)。最后,單片機讀取采樣的數(shù)據(jù),并在128×64的液晶上顯示。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉