亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        談ARM對(duì)多傳感器的精確定時(shí)

        2010-06-22 08:19:50劉敦放
        關(guān)鍵詞:服務(wù)程序模擬信號(hào)報(bào)警器

        劉敦放

        (重慶普天通信設(shè)備有限公司,重慶400050)

        煤礦井下環(huán)境十分惡劣,隨時(shí)可能遇到的塌方和煤粉塵大等情況,影響固定報(bào)警器檢查瓦斯?jié)舛鹊恼9ぷ鳌0踩珯z查最可靠的方式是,所有的下井人員人人都隨身攜帶煤礦瓦斯報(bào)警器,隨時(shí)檢查井下瓦斯?jié)舛?但僅檢查瓦斯?jié)舛韧遣粔虻?當(dāng)井下的一氧化碳的濃度升高時(shí)對(duì)人體也是十分有害的。為了確保下井人員的安全,不僅隨時(shí)要檢查瓦斯?jié)舛?同時(shí)也要檢查一氧化碳濃度。

        能同時(shí)檢查兩種以上有害氣體的裝置,既要便于攜帶,又要精確定時(shí)檢查多種有害氣體,這里選用32位ARM微處理器來實(shí)現(xiàn)該功能。

        利用32位ARM微處理器的優(yōu)勢(shì),可以滿足便于攜帶與精確定時(shí)報(bào)警的要求。本文將針對(duì)精確定時(shí)這一問題進(jìn)行一些探討。

        1 ARM嵌入式隨身瓦斯報(bào)警器的基本原理

        如圖1所示,瓦斯報(bào)警器主要包括:ARM芯片外部的輸入輸出部分,ARM芯片內(nèi)部與外部輸入連接的A/D轉(zhuǎn)換部分和與芯片內(nèi)部與外部輸出連接的GPIO部分。

        圖1 ARM隨身帶瓦斯報(bào)警器原理圖

        1.1 輸入輸出部分

        輸入部分:由瓦斯傳感器與一個(gè)模擬信號(hào)放大器通過跳線連接到P0.22引腳,將瓦斯模擬信號(hào)送入AIN0模擬輸入通道0;一氧化碳傳感器與另一個(gè)模擬信號(hào)放大器連接到P0.23引腳,將一氧化碳模擬信號(hào)送入AIN1模擬輸入通道1。

        輸出部分:由P0.17和P0.18引腳通過470 Ω電阻與LED發(fā)光告警二極管連接;P0.19引腳通過470 Ω電阻與一個(gè)蜂鳴器相連,電阻的作用是分壓,以便產(chǎn)生中度蜂鳴告警;P0.20引腳直接與另一蜂鳴器相連,以便產(chǎn)生強(qiáng)度蜂鳴告警。

        ARM LPC2103微處理器A/D轉(zhuǎn)換器的特性是:10位逐次逼近式模數(shù)轉(zhuǎn)換器;測(cè)量范圍為0~3.3 V;10位轉(zhuǎn)換時(shí)間≥2.44 μ s;1路或多路輸入的Burst轉(zhuǎn)換模式;轉(zhuǎn)換觸發(fā)信號(hào)可選擇輸入引腳的跳變或定時(shí)器的匹配情況;A/D轉(zhuǎn)換器的基本時(shí)鐘由VPB時(shí)鐘提供,可編程分頻器將時(shí)鐘調(diào)整至4.5 MHz(逐次逼近轉(zhuǎn)換的最大時(shí)鐘),10位精度要求的轉(zhuǎn)換需要11個(gè)A/D轉(zhuǎn)換時(shí)鐘。

        ARM微處理器運(yùn)行程序在A/D控制寄存器參數(shù)的控制下,將AIN0采集到的瓦斯模擬信號(hào)送入10位逐次逼近式模數(shù)轉(zhuǎn)換器,轉(zhuǎn)換后的數(shù)字信號(hào)值存入ADDR 0 A/D數(shù)字寄存器0。將這一值與瓦斯初告警值、瓦斯中度告警值、瓦斯強(qiáng)度告警值進(jìn)行比較,在哪一種告警范圍,立即進(jìn)行哪一種告警。

        將AIN1采集到的一氧化碳模擬信號(hào)送入10位逐次逼近式模數(shù)轉(zhuǎn)換器,轉(zhuǎn)換后的數(shù)字信號(hào)值存入ADDR1 A/D數(shù)字寄存器1。將這一值與一氧化碳初告警值、一氧化碳中度告警值、一氧化碳強(qiáng)度告警值進(jìn)行比較,在哪一種告警范圍,立即進(jìn)行哪一種告警。

        1.2 模擬信號(hào)采集通道的選擇與設(shè)置

        從圖1可看到,P0.22引腳連接AIN0通道,通過設(shè)置AD0CR A/D控制寄存器,選擇通道0采集瓦斯?jié)舛刃畔?并設(shè)置轉(zhuǎn)換時(shí)鐘頻率為1 MHz;BURST=0,軟件控制轉(zhuǎn)換操作;CLKS=0,使用11clock轉(zhuǎn)換;PDN=1,正常工作模式;START=4,當(dāng)EDGE選擇的邊沿出現(xiàn)在MAT0.1時(shí)啟動(dòng)A/D轉(zhuǎn)換;EDGE=0,MAT0.1下降沿觸發(fā)。

        P0.23引腳連接 AIN1通道,通過設(shè)置AD0CR A/D控制寄存器,選擇通道1采集一氧化碳濃度信息,設(shè)置轉(zhuǎn)換時(shí)鐘頻率為1 M Hz;BURST=0,軟件控制轉(zhuǎn)換操作;CLKS=0,使用11clock轉(zhuǎn)換;PDN=1,正常工作模式;START=5,當(dāng)EDGE選擇的邊沿出現(xiàn)在MAT0.3時(shí)啟動(dòng)A/D轉(zhuǎn)換;EDGE=0,MAT0.3下降沿觸發(fā)。

        2 精確的定時(shí)觸發(fā)

        A/D轉(zhuǎn)換的硬件觸發(fā)可通過定時(shí)器翻轉(zhuǎn)功能觸發(fā)A/D轉(zhuǎn)換,這樣無需CPU干預(yù)就能精確地定時(shí)觸發(fā)(這是本文主要討論的問題)。ARM LPC2103定時(shí)器0寄存器結(jié)構(gòu)框圖如圖2所示。

        圖2 定時(shí)器0寄存器結(jié)構(gòu)框圖

        初始化定時(shí)器0時(shí),使定時(shí)器0匹配1(T0MR1)每逢第5 s時(shí)MAT0.1輸出翻轉(zhuǎn);同時(shí)使定時(shí)器 0匹配 3(T0MR1)每逢第10 s時(shí)MAT0.3輸出翻轉(zhuǎn)。對(duì)定時(shí)器0設(shè)置代碼如下:

        因?qū)τ贏DCR A/D轉(zhuǎn)換控制寄存器的START位選擇100~111時(shí),MAT信號(hào)不必輸出到引腳上。對(duì)于上述代碼初始化定時(shí)器需要說明,MAT 0.1的START=4即十六進(jìn)制的100,下降沿觸發(fā)啟動(dòng)A/D轉(zhuǎn)換。對(duì)于MAT0.3的START=5即二進(jìn)制的101,下降沿觸發(fā)啟動(dòng)A/D轉(zhuǎn)換器。

        怎樣精確地定時(shí)觸發(fā)呢?先設(shè)置定時(shí)器0清零復(fù)位(Fpclk=1 s),每隔5 s,定時(shí)器計(jì)數(shù)器 TC的值與T0MR1設(shè)置值相等時(shí),MAT0.1輸出信號(hào)翻轉(zhuǎn);每隔10 s時(shí),定時(shí)器 0復(fù)位。這樣在定時(shí)器 0復(fù)位后的第 5 s時(shí),MAT0.1輸出再次翻轉(zhuǎn);MAT0.1每隔10 s輸出翻轉(zhuǎn)一次,它的精確匹配值是:

        Fpclk×10 s(復(fù)位時(shí)間)-Fpclk×5 s(翻轉(zhuǎn)時(shí)間)+Fpclk×5(再次翻轉(zhuǎn)時(shí)間)=10 s

        因?yàn)镸AT0.1翻轉(zhuǎn)2次才會(huì)有1次下降沿觸發(fā)A/D轉(zhuǎn)換,采集瓦斯?jié)舛刃畔⒍〞r(shí)觸發(fā),即可精確地計(jì)算出MAT0.1每隔20 s產(chǎn)生1次下降沿,定時(shí)觸發(fā)1次,采集一次新的瓦斯?jié)舛刃畔ⅰ?/p>

        同理,每隔10 s定時(shí)器計(jì)數(shù)器TC的值與T0M R3設(shè)置值相等時(shí),MAT0.3輸出翻轉(zhuǎn),并且定時(shí)器0復(fù)位。這樣在定時(shí)器0復(fù)位后的第10 s時(shí),MAT0.3輸出再次翻轉(zhuǎn)。MAT0.3每隔10 s輸出翻轉(zhuǎn)1次,因?yàn)镸AT0.3翻轉(zhuǎn)2次才會(huì)有1次采集一氧化碳濃度信息,即可精確地計(jì)算出MAT0.3,也是每隔20 s產(chǎn)生1次下降沿,定時(shí)觸發(fā)1次,產(chǎn)生1次新的一氧化碳濃度信息。這樣會(huì)給報(bào)警留有較長的時(shí)間。

        上述兩段就是通過程序設(shè)置,無需CPU干預(yù)就能精確地定時(shí)觸發(fā)(是本文主要討論的問題)。這里的每隔20 s定時(shí)觸發(fā)1次,“20 s”這一數(shù)據(jù)可根據(jù)實(shí)際需求修改設(shè)定。

        3 報(bào)警服務(wù)的實(shí)現(xiàn)

        數(shù)字?jǐn)?shù)據(jù)的提取、報(bào)警與A/D控制寄存器的設(shè)置均可通過中斷服務(wù)程序來完成。

        定時(shí)器0為4號(hào)中斷源,如圖3所示,所以需要用中斷使能寄存器對(duì)4號(hào)中斷源進(jìn)行使能。采用向量IRQ中斷,需要用VICIntSelect將4號(hào)中斷源選擇為向量IRQ,即第 4位置 1。然后將中斷服務(wù)程序地址賦給VICVectAddr0(因?yàn)橄蛄客ǖ?是最快的),最后用向量控制寄存器對(duì)向量通道0分配中斷源并使能。

        圖3 定時(shí)器0中斷原理框圖

        在初始化定時(shí)器0時(shí),將匹配控制寄存器T0MCR賦值;它的二進(jìn)制賦值是10001000001,即它的十六進(jìn)制賦值是0x441,每3位設(shè)置一個(gè)匹配;設(shè)置的是當(dāng)定時(shí)器0計(jì)數(shù)器的值與匹配0寄存器值相等時(shí)產(chǎn)生一個(gè)中斷,當(dāng)定時(shí)器0計(jì)數(shù)器的值與匹配2寄存器值相等時(shí)又產(chǎn)生1次中斷,當(dāng)定時(shí)器0計(jì)數(shù)器的值與匹配3寄存器值相等時(shí)定時(shí)器0計(jì)數(shù)器TC清零復(fù)位。

        TC每次復(fù)位后將產(chǎn)生2次中斷,產(chǎn)生第1次中斷后,中斷服務(wù)程序?qū)⒆x取A/D數(shù)據(jù)寄存器 ADDR1的值,并提取10位A/D轉(zhuǎn)換的結(jié)果(即一氧化碳濃度值);再將這一數(shù)據(jù)與初告警、中度告警和強(qiáng)度告警值進(jìn)行比較,滿足這3種告警的某一種,就立刻進(jìn)行聲光報(bào)警。因A/D控制寄存器 ADCR的 MAT信號(hào)不必輸出到引腳上的START位設(shè)置是唯一的,中斷服務(wù)程序還需對(duì)A/D控制寄存器ADCR進(jìn)行設(shè)置。設(shè)置START=4,當(dāng)EDGE選擇的邊沿出現(xiàn)在MAT0.1時(shí)啟動(dòng)A/D轉(zhuǎn)換;EDGE=0,MAT0.1為下降沿觸發(fā)。通過中斷服務(wù)程序來完成對(duì)AIN0通道(即瓦斯?jié)舛刃盘?hào)通道)A/D轉(zhuǎn)換器的啟動(dòng)。

        產(chǎn)生第2次中斷后,中斷服務(wù)程序?qū)⒆x取A/D數(shù)據(jù)寄存器ADDR0的值,并提取10位A/D轉(zhuǎn)換的結(jié)果(即瓦斯?jié)舛戎?;再將這一數(shù)據(jù)與初度告警、中度告警和強(qiáng)度告警值進(jìn)行比較,滿足這3種告警的某一種,就立刻進(jìn)行該聲光報(bào)警。因A/D控制寄存器的MAT信號(hào)不必輸出到引腳上的START位置是唯一的,因此還需對(duì)A/D控制寄存器進(jìn)行設(shè)置。設(shè)置START=5,當(dāng)EDGE選擇的邊沿出現(xiàn)在MAT 0.3時(shí)啟動(dòng)ADC轉(zhuǎn)換;EDGE=0,MAT0.3為下降沿觸發(fā)。通過中斷服務(wù)程序來完成對(duì)AIN1通道(即一氧化碳濃度信號(hào)通道)A/D轉(zhuǎn)換器的啟動(dòng)。

        這樣,當(dāng)TC值與M R0值相等時(shí),響應(yīng)中斷服務(wù)進(jìn)行一氧化碳值判斷與告警并設(shè)置MAT0.1的啟動(dòng)轉(zhuǎn)換。當(dāng)TC值與 MR1值相等時(shí),設(shè)置MAT1輸出信號(hào)翻轉(zhuǎn);當(dāng)TC值與MR2值相等時(shí),響應(yīng)中斷服務(wù)進(jìn)行瓦斯值判斷與告警并設(shè)置MAT0.3的啟動(dòng)轉(zhuǎn)換;當(dāng)TC值與M R3值相等時(shí),設(shè)置MAT3輸出信號(hào)翻轉(zhuǎn)并同時(shí)TC復(fù)位。這樣循環(huán)往復(fù),可以無需CPU干預(yù)就能精確地定時(shí)觸發(fā),精確地按時(shí)進(jìn)行多個(gè)傳感器的觸發(fā)和多個(gè)判斷告警,即通過中斷服務(wù)程序?qū)崿F(xiàn)了有害氣體檢測(cè)告警服務(wù)。

        結(jié) 語

        根據(jù)上述原理,使用ARM LPC2103芯片,已完成了一個(gè)可隨身攜帶的煤礦瓦斯報(bào)警器。它能及時(shí)檢測(cè)與顯示煤礦、隧道及各種地下工程等環(huán)境中的瓦斯(即甲烷)及一氧化碳濃度。當(dāng)達(dá)到有害濃度值時(shí),可進(jìn)行不同級(jí)別的聲光報(bào)警。

        此種報(bào)警器不僅適用于煤礦,安裝其他傳感器后也可用于其他礦山、化工重地、倉庫等具有爆炸危險(xiǎn)的氣體環(huán)境中,提高安全監(jiān)控能力。

        將煤礦瓦斯報(bào)警器CH4、C2O傳感器換成可燃?xì)怏w、甲醛傳感器,就可用在廚房和居室,對(duì)有害氣體的超標(biāo)情況進(jìn)行報(bào)警。它的用途還可進(jìn)一步擴(kuò)展。

        [1]周立功.ARM嵌入式系統(tǒng)基礎(chǔ)教程[M].北京:北京航空航天大學(xué)出版社,2004.

        [2]Philips公司.LPC2101_02_03數(shù)據(jù)手冊(cè),2006-04-11.

        猜你喜歡
        服務(wù)程序模擬信號(hào)報(bào)警器
        基于移動(dòng)終端的人事信息員工自助服務(wù)系統(tǒng)設(shè)計(jì)
        基于C#的進(jìn)程守護(hù)程序的設(shè)計(jì)
        視聽(2020年3期)2020-06-11 14:28:18
        一種基于ADG426多路模擬開關(guān)的模擬信號(hào)輸入接口設(shè)計(jì)
        電子制作(2019年7期)2019-04-25 13:18:00
        一種模擬信號(hào)選通運(yùn)算電路的設(shè)計(jì)
        自制下雨報(bào)警器
        模擬信號(hào)的三種調(diào)制方法比較研究
        電子制作(2017年24期)2017-02-02 07:14:19
        基于無線通信的入侵報(bào)警器設(shè)計(jì)
        電子制作(2017年24期)2017-02-02 07:14:15
        水利工程施工監(jiān)理服務(wù)程序及質(zhì)量控制
        基于AltiumDesigner10 的UPS電源停電報(bào)警器的設(shè)計(jì)
        西藏科技(2015年2期)2015-09-26 12:18:34
        基于單片機(jī)的模擬信號(hào)自動(dòng)追蹤控制器
        国产三级av在线播放| 久久久久久亚洲av成人无码国产| 在线 | 一区二区三区四区| 东方aⅴ免费观看久久av| 国产一级在线现免费观看| 日本一区二区三区专区| 亚洲美女主播内射在线| 欧美拍拍视频免费大全| 被黑人猛烈30分钟视频| 国产亚洲视频在线观看网址| 久久精品国产只有精品96| 国产精品午夜福利亚洲综合网 | 一区二区三区国产黄色| av免费不卡国产观看| 国产精品午夜无码av天美传媒| 国产在线精品福利大全| 少妇又紧又色又爽又刺| 精品久久久少妇一区二区| 亚洲精品色婷婷在线影院| 日本三级欧美三级人妇视频| 国产做床爱无遮挡免费视频| av国产免费在线播放| 亚洲精品国产精品乱码在线观看| av无码人妻中文字幕| 无码中文av有码中文av| 日本黑人人妻一区二区水多多 | 无码乱人伦一区二区亚洲一| 国产精品无码片在线观看| 人妻尤物娇呻雪白丰挺| 24小时免费在线观看av| 免费a级毛片无码免费视频120软件| 亚洲成a人片在线观看天堂无码 | 在线观看国产视频你懂得| 久久99热狠狠色精品一区| 久久精品人成免费| 国产亚洲av手机在线观看| 国产三级精品av在线| 男人的天堂免费a级毛片无码| 欧美极品美女| 中文字幕精品人妻av在线| 一本色道久久88—综合亚洲精品|