《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于ARM處理器的遠(yuǎn)程參數(shù)測(cè)量的設(shè)計(jì)
基于ARM處理器的遠(yuǎn)程參數(shù)測(cè)量的設(shè)計(jì)
摘要: 嵌入式系統(tǒng)由于性?xún)r(jià)比高開(kāi)發(fā)周期短等優(yōu)點(diǎn)目前得到了迅猛發(fā)展,各類(lèi)基于 ARM 處理器的應(yīng)用開(kāi)發(fā)更是如火如荼。這里介紹基于 ARM9 嵌入式芯片 S3C2410 構(gòu)建的測(cè)量監(jiān)控系統(tǒng),該系統(tǒng)設(shè)計(jì)方案先進(jìn),集成度較高,在實(shí)踐中得到了廣泛的應(yīng)用。
Abstract:
Key words :

     1 引言

     嵌入式系統(tǒng)由于性?xún)r(jià)比高開(kāi)發(fā)周期短等優(yōu)點(diǎn)目前得到了迅猛發(fā)展,各類(lèi)基于 ARM 處理器的應(yīng)用開(kāi)發(fā)更是如火如荼。這里介紹基于 ARM9 嵌入式芯片 S3C2410 構(gòu)建的測(cè)量監(jiān)控系統(tǒng),該系統(tǒng)設(shè)計(jì)方案先進(jìn),集成度較高,在實(shí)踐中得到了廣泛的應(yīng)用。

  2. 嵌入式 ARM9 S3C2410X 簡(jiǎn)介

  S3C2410X 是三星公司提供的基于 ARM920T 內(nèi)核的 32 位 RISC 處理器,它的低功耗、低價(jià)格、高性能設(shè)計(jì)特別適合于手持設(shè)備和通用嵌入式應(yīng)用場(chǎng)合,為降低整個(gè)系統(tǒng)的成本,它提供了豐富的內(nèi)部設(shè)備,包括分開(kāi)的 16KB 指令 Cache 和 16KB 數(shù)據(jù) Cache,MMU 虛擬存儲(chǔ)器管理,24bbp 模式下最大 16M 色 TFT LCD 控制器,支持 NAND Flash 系統(tǒng)引導(dǎo),片選邏輯和dram 控制器的系統(tǒng)管理器,3 通道 UART,4 通道 DMA,4 通道 PWM 定時(shí)器,117個(gè)通用 IO 端口和 24 通道外部中斷源,具有日歷功能的 RTC,8 通道 10 位 ADC 和觸摸屏接口,IIC、IIS 接口,USB 主從設(shè)備,SD&MMC 卡接口,2 通道的 SPI 以及 PLL 時(shí)鐘倍頻器。S3C2410X 具有豐富的接口和內(nèi)嵌硬件控制器,使用其最簡(jiǎn)系統(tǒng)即可實(shí)現(xiàn)大部分應(yīng)用系統(tǒng)的功能。

  3. 嵌入式測(cè)量監(jiān)控系統(tǒng)設(shè)計(jì)

  本系統(tǒng)需對(duì)被測(cè)設(shè)備如電力設(shè)備或太陽(yáng)能的電壓、電流或溫度、光照度等進(jìn)行測(cè)量、參數(shù)采集、存儲(chǔ),并實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。數(shù)據(jù)存儲(chǔ)格式為 SNMP 的 MIB 數(shù)據(jù)庫(kù)方式,數(shù)據(jù)庫(kù)能夠通過(guò)系統(tǒng)的NMP 代理被遠(yuǎn)方操作員的 SNMP 控制平臺(tái)所訪(fǎng)問(wèn)存取。傳輸協(xié)議為以太網(wǎng)的 IP 協(xié)議。信息同時(shí)能夠被本地操作顯示,因此本地附有串行接口,基于以上應(yīng)用需求,實(shí)現(xiàn)系統(tǒng)框圖如下圖 1 所示。

  

 

  圖 1 系統(tǒng)原理框圖(Fig1 System Diagram)

  本系統(tǒng)需采集遠(yuǎn)端、本地兩個(gè)溫度檢測(cè),一個(gè)光照度檢測(cè),三個(gè)直流 DC 8-130V 電壓檢測(cè),三個(gè)直流 DC 0-20A@12VDC 電流檢測(cè),一個(gè)交流 AC 105-280V 電壓檢測(cè),一個(gè)交流AC 0-20A@120VAC 電流檢測(cè)。測(cè)量使用原理及所用傳感器件下節(jié)敘述。測(cè)量時(shí)通過(guò) ARM9 的 IO 端口測(cè)量溫度和光照度, 通過(guò)片內(nèi)ADC將交直流電壓電流通過(guò)傳感器轉(zhuǎn)變后的輸出電壓進(jìn)行采樣,然后通過(guò) CPU 計(jì)算后存入數(shù)據(jù)庫(kù)。

  4. 參數(shù)測(cè)量實(shí)現(xiàn)

  各參數(shù)測(cè)量是本系統(tǒng)的前端電路,也是最終目的。由于 ARM 系統(tǒng) 3.3V 供電,具有通用IO 接口和內(nèi)置 ADC 電路,因此只要將各測(cè)量參數(shù)通過(guò)相應(yīng)的傳感設(shè)備轉(zhuǎn)換為 IO 數(shù)據(jù)或0-3.3V 的模擬電壓量,就可通過(guò) ARM 處理器采集,從而轉(zhuǎn)換為數(shù)字信號(hào)進(jìn)而數(shù)字存儲(chǔ)或通過(guò)網(wǎng)絡(luò)傳輸。各參數(shù)的測(cè)量采集電路見(jiàn)圖 2 所示。

  

 

  直流電壓的采集可以直接通過(guò)電阻分壓取得,因?yàn)橐阎枰杉闹绷麟妷旱姆秶?,將最大電壓值映射?3.3V,即可獲得圖 2 中的兩個(gè)分壓電阻的值。設(shè)分壓電阻分別是12KΩ和470KΩ, 則Uo = 12/(12+470)×Ui = Ui/40,按照 ARM 10 位 ADC 采樣結(jié)果,如 ADC 采樣值為 Uadc,則采集到的輸入電壓值為:Ui = [ Uadc/1024] ×3.3×40(V)。交流電壓的采集采用 TV19G_E 系列精密電壓互感器,該器件采用坡膜合金鐵芯,線(xiàn)性度優(yōu)于 0.1%。體積小,直接焊接在電路板。它是一種電流型電壓互感器,不同的輸入電壓通過(guò)限流電阻使一次側(cè)流過(guò)不同的電流,二次得到一個(gè)與一次相同的電流。經(jīng)運(yùn)算放大器或電阻直接取樣,得到不同的輸出電壓,如圖 2 所示。

 

  此時(shí)采集到的電壓值實(shí)際上是交流電壓的瞬時(shí)值,其實(shí)時(shí)性好,相位失真小,本文用軟件代替硬件實(shí)現(xiàn)交流電壓采集可以使得硬件投資減小,實(shí)踐證明,采用該方法并通過(guò)算法計(jì)算后獲得的電壓、電流、有功功率、功率因數(shù)等電力參數(shù)有著較好的精確度和穩(wěn)定性。

  電壓有效值公式為

將其離散化,以一個(gè)周期內(nèi)有限個(gè)采樣電壓數(shù)字量來(lái)代替一個(gè)周期內(nèi)連續(xù)變化的電壓函數(shù)值,則

式中 ΔTm為相鄰兩次采樣的時(shí)間間隔;um 為第 m-1 個(gè)時(shí)間間隔的電壓采樣瞬時(shí)值;N 為 1 個(gè)周期的采樣點(diǎn)數(shù)。若相鄰兩采樣的時(shí)間間隔相等,即 ΔTm 為常數(shù) ΔT,考慮到 N=(T/ΔT)+1,則有

 

  

 

  周期內(nèi)等時(shí)間間隔準(zhǔn)確采樣 16 點(diǎn)并存儲(chǔ)結(jié)果,采集完后,對(duì)采集的數(shù)據(jù)進(jìn)行數(shù)字濾波并計(jì)算得到相應(yīng)的值。

  系統(tǒng)中溫度測(cè)量采用 DS18B20 分辨率可編程單線(xiàn)數(shù)字溫度計(jì),并可結(jié)聯(lián)使用。測(cè)量溫度范圍為-55 度至+125 度,精度可達(dá) 0.5 度,數(shù)字精度可編程為9 至12bit。該芯片僅單線(xiàn)輸出,可連接 CPU 的 IO 管腳,需進(jìn)行編程控制。本系統(tǒng)采用Linux 操作系統(tǒng)下的 IO 輸入輸出設(shè)備驅(qū)動(dòng)控制進(jìn)行讀寫(xiě)操作,進(jìn)而實(shí)現(xiàn)溫度數(shù)據(jù)的采集,具體的程序流程如下節(jié)所述。

  

 

  圖 3a 電流感應(yīng)輸出電壓關(guān)系圖 圖 3b 光照度頻率關(guān)系圖

  系統(tǒng)中光照度測(cè)量采用光敏傳感器 TSL235 電路,該電路是光照度到頻率的轉(zhuǎn)換電路,內(nèi)置一個(gè)硅光敏二極管和電流到頻率的轉(zhuǎn)換器,輸出為 50%占空比的不同頻率的方波,管腳只有電源、地和輸出,輸出可直接和 CPU 的 IO 相連,CPU 通過(guò) TIMER 控制或中斷檢測(cè)即可測(cè)得該方波的頻率,從而可計(jì)算出相應(yīng)的光照度。其光照度和頻率的關(guān)系曲線(xiàn)如圖 3b 所示。

  5. 軟件模塊

  本系統(tǒng)軟件在 linux 操作系統(tǒng)下實(shí)現(xiàn),其軟件結(jié)構(gòu)如圖 4 所示。

  

 

  系統(tǒng)中 ADC、IO 等操作均采用設(shè)備驅(qū)動(dòng)方法實(shí)現(xiàn),先編寫(xiě)設(shè)備驅(qū)動(dòng)程序,將驅(qū)動(dòng)加入到操作系統(tǒng)中,然后在應(yīng)用中調(diào)用驅(qū)動(dòng)程序。如 ds18b20 溫度采集采用 IO 操作的方法。先建立 IO 驅(qū)動(dòng), module_init(DS18B20_init), 主要實(shí)現(xiàn)設(shè)備注冊(cè) register_chrdev(240, "ds18b20", &DS18B20_fops)。DS18B20_fops 文件操作主要包括 ioctl,通過(guò) ioctl 中WriteOneChar,ReadOneChar 等 IO 的控制實(shí)現(xiàn)溫度的采集。

  6.結(jié)語(yǔ)

   本文介紹了基于 S3C2410X ARM 的參數(shù)測(cè)量系統(tǒng),該系統(tǒng)可針對(duì)電力設(shè)備的電壓、電流、溫度、光敏度等進(jìn)行測(cè)量、采集,存儲(chǔ)于系統(tǒng)內(nèi)部基于 SNMP 的 MIB 數(shù)據(jù)庫(kù)中,并通過(guò)網(wǎng)絡(luò)協(xié)議進(jìn)行遠(yuǎn)程訪(fǎng)問(wèn)。系統(tǒng)采用 ARM 嵌入式實(shí)現(xiàn),性?xún)r(jià)比高,功能強(qiáng),在實(shí)際中得到了很好的應(yīng)用。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。