• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于AM2301單總線協(xié)議數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

      2015-10-10 08:35:26陸正杰
      河池學(xué)院學(xué)報(bào) 2015年5期
      關(guān)鍵詞:數(shù)據(jù)位采集器時(shí)序

      陸正杰

      (河池學(xué)院 物理與機(jī)電工程學(xué)院,廣西 宜州 546300)

      0 引言

      AM2301是廣州奧松公司研發(fā)的一款單總線數(shù)字式溫濕度傳感器,其單總線數(shù)據(jù)傳輸協(xié)議簡(jiǎn)單有效,通信距離較遠(yuǎn),數(shù)據(jù)通信程序設(shè)計(jì)簡(jiǎn)單,非常適合在分布式溫濕度采集系統(tǒng)中應(yīng)用。將這種單總線協(xié)議應(yīng)用到分布式數(shù)據(jù)采集系統(tǒng)終端的設(shè)計(jì)中將大大簡(jiǎn)化采集網(wǎng)絡(luò)的設(shè)計(jì)。本文將設(shè)計(jì)一款模仿AM2301的單總線協(xié)議的數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)可以把采集到的數(shù)據(jù)按照AM2301的數(shù)據(jù)格式對(duì)采集信號(hào)進(jìn)行處理,并能按照AM2301的單總線協(xié)議向主控設(shè)備傳送數(shù)據(jù)。在分布式數(shù)據(jù)采集網(wǎng)絡(luò)中具有廣泛的應(yīng)用前景。

      1 單總線數(shù)據(jù)采集器設(shè)計(jì)方案

      1.1 單總線數(shù)據(jù)采集器功能分析

      單總線數(shù)據(jù)采集器設(shè)計(jì)為一個(gè)終端設(shè)備,主要用于采集兩路模擬信號(hào),然后按照單總線器件AM2301的數(shù)據(jù)格式存儲(chǔ),并能按AM2301的讀寫時(shí)序把采集到的數(shù)據(jù)與主控設(shè)備進(jìn)行通信。因此采集器的主要功能有:一是數(shù)據(jù)采集功能;二是數(shù)據(jù)處理及顯示功能;三是數(shù)據(jù)傳輸功能。

      1.2 單總線數(shù)據(jù)采集器的方案設(shè)計(jì)

      根據(jù)功能需求,單總線數(shù)據(jù)采集器方案設(shè)計(jì)如圖1所示。

      圖1 數(shù)據(jù)采集器結(jié)構(gòu)圖

      系統(tǒng)可以實(shí)時(shí)采集兩通道模擬信號(hào),然后進(jìn)行AD轉(zhuǎn)換,并把采集到的數(shù)據(jù)按AM2301的數(shù)據(jù)格式進(jìn)行處理、存儲(chǔ)和顯示。在主控設(shè)備請(qǐng)求數(shù)據(jù)時(shí),由單總線協(xié)議發(fā)生器負(fù)責(zé)把存儲(chǔ)的數(shù)據(jù)通過單總線傳送。

      2 單總線數(shù)據(jù)采集系統(tǒng)的硬件設(shè)計(jì)

      系統(tǒng)主要有數(shù)據(jù)采集和數(shù)據(jù)傳輸兩大部分,而數(shù)據(jù)傳輸主要依靠軟件來完成相關(guān)傳輸協(xié)議,將在軟件設(shè)計(jì)部分介紹。硬件部分主要由單片機(jī)最小系統(tǒng)控制ADC電路實(shí)現(xiàn)模擬信號(hào)的實(shí)時(shí)采集。根據(jù)設(shè)計(jì)方案,硬件電路如圖2所示。

      圖2 單總線數(shù)據(jù)采集器硬件電路圖

      控制核心采用AT89C52及其外圍電路構(gòu)成的最小系統(tǒng),用LCD1602實(shí)時(shí)顯示采集的數(shù)據(jù)。

      數(shù)據(jù)采集電路采用雙通道高速16位ADC集成電路LTC1865,其串行數(shù)據(jù)輸出(SDO)引腳、串行同步時(shí)鐘(SCK)引腳、啟動(dòng)轉(zhuǎn)換控制(CONV)引腳和串行數(shù)據(jù)輸入(SDI)引腳分別連接到單片機(jī)的P1.4~P1.7。單片機(jī)通過SDI寫入命令選擇數(shù)據(jù)通道,然后通過CONV引腳控制ADC電路啟動(dòng)A/D轉(zhuǎn)換,從SDO引腳讀取串行數(shù)據(jù)即可采集到相應(yīng)通道的實(shí)時(shí)數(shù)據(jù)。

      3 單總線數(shù)據(jù)采集系統(tǒng)的軟件設(shè)計(jì)

      3.1 采集器的數(shù)據(jù)傳送協(xié)議的時(shí)序分析與實(shí)現(xiàn)

      根據(jù)AM2301數(shù)據(jù)手冊(cè),主控設(shè)備與其通信時(shí)序表示及數(shù)據(jù)位時(shí)序表示分別如表1、表2所示。采集器的數(shù)據(jù)傳送協(xié)議時(shí)序采用AM2301時(shí)序的典型值,根據(jù)表1和表2所示的各種控制信號(hào)和數(shù)據(jù)位的時(shí)序信號(hào),采集器的數(shù)據(jù)傳送協(xié)議程序設(shè)計(jì)思路如下:

      表1 AM2301數(shù)據(jù)通信時(shí)序

      (1)數(shù)據(jù)采集器平時(shí)一直在監(jiān)視主控設(shè)備發(fā)起通信的起始信號(hào),即先把數(shù)據(jù)線SDA拉高,然后一直監(jiān)測(cè)數(shù)據(jù)線SDA的電平狀態(tài);

      (2)監(jiān)測(cè)到SDA被主控設(shè)備拉低時(shí)計(jì)時(shí)(0.8~20 ms)確定是否為主控設(shè)備發(fā)起通信請(qǐng)求;

      (3)主控設(shè)備發(fā)起通信請(qǐng)求低電平信號(hào)后,等待主控設(shè)備拉高釋放總路線約30 μs,然后拉低總線約80 μs作為應(yīng)答信號(hào);

      (4)然后拉高釋放總線約80 μs后開始發(fā)送數(shù)據(jù)位;

      (5)發(fā)送數(shù)據(jù)時(shí)每個(gè)數(shù)據(jù)位之間有一個(gè)50 μs的低電平時(shí)隙。數(shù)據(jù)從高位到低位移出數(shù)據(jù)位,然后進(jìn)行判斷:為0則在低電平時(shí)隙信號(hào)后把總線拉高26 μs,為1則在低電平時(shí)隙后把總線拉高70 μs;

      (6)40位數(shù)據(jù)發(fā)送完畢,把總路線拉高;

      (7)啟動(dòng)ADC電路采集一次數(shù)據(jù),并把數(shù)據(jù)保存到數(shù)據(jù)存儲(chǔ)單元替換掉舊的數(shù)據(jù)。協(xié)議時(shí)序如圖3所示。

      表2 AM2301數(shù)據(jù)位的表示

      圖3 協(xié)議發(fā)生器的時(shí)序圖

      3.2 采集系統(tǒng)的設(shè)計(jì)

      根據(jù)以上對(duì)協(xié)議發(fā)生器的工作過程和通信時(shí)序分析,程序從功能上可以劃分為主函數(shù)、數(shù)據(jù)采集函數(shù)、數(shù)據(jù)處理函數(shù)、顯示函數(shù)、數(shù)據(jù)傳送函數(shù)五大模塊。程序采用模塊化編程,分別用main.c,data_transfer.c,data_simple.c,data_proce.c,disp.c實(shí)現(xiàn)上述五大功能并建立相應(yīng)的接口文件(*.h)。其中,顯示函數(shù)針對(duì)LCD1602編程,主要實(shí)現(xiàn)在LCD1602指定位置(x,y)寫字符串和寫數(shù)據(jù)功能,功能函數(shù)分別為write_n_char(unsigned char x,unsigned char y,unsigned char*string)和 write_data(unsigned char x,unsigned char y,unsigned char date),作為常用函數(shù)模塊,不是本文討論的重點(diǎn)。

      3.2.1 數(shù)據(jù)采集與數(shù)據(jù)處理

      根據(jù)LTC1865數(shù)據(jù)手冊(cè),模擬信號(hào)的A/D轉(zhuǎn)換是由MCU向LTC1865發(fā)出轉(zhuǎn)換命令并按照時(shí)序采集轉(zhuǎn)換得到的測(cè)量值的數(shù)字量分別保存到數(shù)組conv_data[2]中。參考LTC1865數(shù)據(jù)手冊(cè),采集程序設(shè)計(jì)流程如圖4所示。

      數(shù)據(jù)處理函數(shù)將采集的數(shù)字量conv_data[2]拆分為四個(gè)字節(jié)的無符號(hào)字符型數(shù)據(jù)并計(jì)算其CRC較驗(yàn)值,按照AM2301的數(shù)據(jù)格式保存在數(shù)據(jù)寄存器RT_Data[]中。

      具體實(shí)現(xiàn)代碼為:

      數(shù)據(jù)格式為:

      較驗(yàn)值1通道高8位1通道低8位2通道高8位2通道低8位CRC

      3.2.2 數(shù)據(jù)傳送函數(shù)的設(shè)計(jì)

      根據(jù)圖3所示數(shù)據(jù)傳輸時(shí)序,數(shù)據(jù)傳輸程序主要是將需要傳輸?shù)臄?shù)據(jù)在單總線上構(gòu)建數(shù)據(jù)位低電平時(shí)隙和高電平數(shù)據(jù)位,程序設(shè)計(jì)流程如圖5所示。

      圖4 LTC1865數(shù)據(jù)采集程序流程

      圖5 數(shù)據(jù)傳送程序流程

      將傳送過程設(shè)計(jì)成子函數(shù)的形式方便調(diào)用和程序的移植,子函數(shù)命名為data_tranfer(),實(shí)現(xiàn)代碼如下:

      圖6 主函數(shù)流程圖

      3.2.3 主程序的設(shè)計(jì)

      主函數(shù)中,首先定義數(shù)據(jù)總線SDA及ADC的數(shù)據(jù)線SDO,時(shí)鐘線SCK和轉(zhuǎn)換控制線CONV并進(jìn)行初始化操作,然后一直監(jiān)測(cè)數(shù)據(jù)端口,根據(jù)圖2所示的協(xié)議時(shí)序,當(dāng)檢測(cè)到數(shù)據(jù)端口SDA被拉低后就開始計(jì)時(shí)判斷是否為主控設(shè)備發(fā)出的通信請(qǐng)求,是則調(diào)用數(shù)據(jù)傳送函數(shù)將保存在數(shù)據(jù)器寄存器中的40位數(shù)據(jù)按協(xié)議移位傳送。然后進(jìn)行一次數(shù)據(jù)采集和處理,將新的數(shù)據(jù)保存到數(shù)據(jù)寄存器中,程序流程如圖6所示。

      4 系統(tǒng)測(cè)試與應(yīng)用

      根據(jù)設(shè)計(jì)目的,系統(tǒng)的測(cè)試主要包括兩個(gè)方面,一是系統(tǒng)能否正確采集信號(hào)并顯示出來;二是系統(tǒng)能否按照設(shè)計(jì)的協(xié)議將采集到的信號(hào)傳送給主控設(shè)備。

      4.1 數(shù)據(jù)采集功能的測(cè)試

      在protues中設(shè)計(jì)測(cè)試電路,如圖7所示,用兩個(gè)電位計(jì)RV1和RV2產(chǎn)生和改變兩路輸入電壓,通過電壓探針可觀察兩路輸入電壓的大小及其變化情況。單片機(jī)控制ADC電路采集數(shù)據(jù)并處理后,將在顯示器顯示當(dāng)前值,測(cè)試結(jié)果如圖8所示,通過比對(duì),圖8中兩處虛線框處,電壓探針顯示的輸入信號(hào)電壓與采集系統(tǒng)采集顯示的信號(hào)大小一致,表明電路實(shí)現(xiàn)了兩路模擬信號(hào)的采集并進(jìn)行數(shù)據(jù)處理的功能。

      4.2 數(shù)據(jù)傳輸功能測(cè)試

      測(cè)試實(shí)驗(yàn)過程示意圖如圖9所示。

      測(cè)試時(shí)在Protues中設(shè)計(jì)一單片機(jī)系統(tǒng)作為主控設(shè)備,按設(shè)計(jì)的協(xié)議向單總線數(shù)據(jù)采集系統(tǒng)請(qǐng)求數(shù)據(jù)并顯示出來。

      具體測(cè)試電路和測(cè)試結(jié)果如圖10所示,通過對(duì)比圖中虛線框處數(shù)據(jù),主控設(shè)備顯示的接收數(shù)據(jù)和采集系統(tǒng)實(shí)時(shí)顯示的數(shù)據(jù)一致,表明本文設(shè)計(jì)的系統(tǒng)能按照設(shè)計(jì)的協(xié)議正確傳輸數(shù)據(jù),實(shí)現(xiàn)了預(yù)期的功能。

      5 結(jié)論

      本文討論設(shè)計(jì)的基于AM2301的單總線協(xié)議的數(shù)據(jù)采集系統(tǒng),硬件系統(tǒng)簡(jiǎn)潔明了,可擴(kuò)展性較好,在分布式電壓型模擬信號(hào)采集系統(tǒng)中有很好的優(yōu)勢(shì)。系統(tǒng)通過Protues仿真測(cè)試,達(dá)到預(yù)期的功能。

      圖7 數(shù)據(jù)采集功能測(cè)試電路圖

      圖8 數(shù)據(jù)采集功能測(cè)試結(jié)果

      圖9 數(shù)據(jù)傳輸功能測(cè)試方法示意圖

      圖10 數(shù)據(jù)傳輸測(cè)試結(jié)果

      [1]濟(jì)南聯(lián)誠(chéng)創(chuàng)發(fā)科技有限公司.數(shù)字溫濕度傳感器DHT21(AM2301)[Z],2003.

      [2]陶凌,聶惠娟.基于RS-485總線的蠶種催青控制系統(tǒng)[J].微計(jì)算機(jī)信息,2008(4):23-25.

      [3]許才銓.蠶種催青室控制系統(tǒng)的研制與應(yīng)用[J].蠶桑通報(bào),2003(4):39-40.

      [4]曾慶波,何一楠,辛春紅.單片機(jī)應(yīng)用技術(shù)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2012.

      [5]深圳奧松傳感器科技有限公司.數(shù)字溫濕度傳感器AM23XX使用說明[Z],2010.

      [6]LINEAR TECHNOLOGY CORPORATION.LTC1864/LTC1865 μPower,16 - Bit,250ksps 1 - and 2 - Channel ADCs in MSOP[Z],2001.

      [7]李富偉,翟守忠,何萬平,等.基于LTC1865和McBSP的高速串行數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].信息化縱橫,2009(13):18-21.

      猜你喜歡
      數(shù)據(jù)位采集器時(shí)序
      時(shí)序坐標(biāo)
      A320飛機(jī)大氣數(shù)據(jù)的采集和計(jì)算在排故中的應(yīng)用
      基于Sentinel-2時(shí)序NDVI的麥冬識(shí)別研究
      COVID-19大便標(biāo)本采集器的設(shè)計(jì)及應(yīng)用
      基于ZigBee的大型公共建筑能耗采集器設(shè)計(jì)
      基于LabVIEW的多數(shù)據(jù)采集器自動(dòng)監(jiān)控軟件設(shè)計(jì)與開發(fā)
      一種毫米波放大器時(shí)序直流電源的設(shè)計(jì)
      電子制作(2016年15期)2017-01-15 13:39:08
      一種適用于FPGA系統(tǒng)中的變速箱電路設(shè)計(jì)
      減少調(diào)度自動(dòng)化設(shè)備通訊串口丟包率的措施
      DPBUS時(shí)序及其設(shè)定方法
      河南科技(2014年15期)2014-02-27 14:12:36
      都昌县| 宝清县| 宿州市| 甘南县| 阜宁县| 黄大仙区| 宁武县| 凤庆县| 清原| 东宁县| 莒南县| 云霄县| 泸州市| 玉环县| 赤壁市| 云梦县| 同德县| 松阳县| 靖西县| 神农架林区| 金山区| 绵竹市| 凤翔县| 南开区| 库车县| 梁平县| 石屏县| 民权县| 奈曼旗| 都安| 佛教| 汉阴县| 射阳县| 棋牌| 彰化市| 象山县| 竹溪县| 郎溪县| 瓮安县| 乌兰浩特市| 竹山县|