彭 芬
(武漢職業(yè)技術(shù)學(xué)院電子信息工程系,湖北武漢 430074)
用單片機(jī)實(shí)現(xiàn)的檢測(cè)系統(tǒng)中,數(shù)據(jù)采集裝置往往是安裝在環(huán)境條件惡劣的現(xiàn)場(chǎng)和野外那些地方不適合或不方便架設(shè)電纜線的地方。而采集到的數(shù)據(jù)需要通過(guò)傳輸?shù)绞殖纸K端,然后通過(guò)手持終端送到后臺(tái)機(jī)進(jìn)行數(shù)據(jù)分析、處理。這樣,數(shù)據(jù)采集裝置與手持終端之間的數(shù)據(jù)傳輸需要解決通信問(wèn)題。在這樣的工作環(huán)境中利用紅外線這種非電信號(hào)作為傳輸介質(zhì),來(lái)傳送數(shù)據(jù)信息,即采用紅外通信方式比較合適。
本文以單片機(jī) AT89S52作為檢測(cè)和控制核心,根據(jù) 51單片機(jī)之間的串行通信原理,利用紅外傳輸來(lái)實(shí)現(xiàn)用于惡劣的現(xiàn)場(chǎng)環(huán)境的溫度遙測(cè)系統(tǒng)。
根據(jù)要求本系統(tǒng)做成兩個(gè)模塊。一個(gè)是從機(jī)模塊,負(fù)責(zé)收集現(xiàn)場(chǎng)信息,進(jìn)行一定的數(shù)據(jù)處理,根據(jù)主機(jī)的要求返回?cái)?shù)據(jù),并執(zhí)行主機(jī)發(fā)出的命令,用單片機(jī)控制溫度傳感器實(shí)現(xiàn)溫度檢測(cè)和轉(zhuǎn)換,再接上一個(gè)紅外發(fā)射管將溫度數(shù)據(jù)發(fā)送出去;另一個(gè)是主機(jī)模塊,用單片機(jī)控制一個(gè)紅外管實(shí)現(xiàn)溫度數(shù)據(jù)的接收和顯示。主機(jī)與從機(jī)之間的信息交換是通過(guò)串行通信來(lái)實(shí)現(xiàn)。在采用主從式串行通信系統(tǒng)中[1],從機(jī)不主動(dòng)發(fā)送命令或數(shù)據(jù),一切都由主機(jī)控制。由于發(fā)送和接收共用同一物理信道只有被主機(jī)呼叫時(shí),從機(jī)才對(duì)主機(jī)做出應(yīng)答。喚醒被叫從機(jī)后,主、從兩機(jī)之間進(jìn)行數(shù)據(jù)交換,而未被呼叫的從機(jī)則繼續(xù)處于等待狀態(tài)。
主機(jī)模塊如圖1所示中,單片機(jī)AT89S52作為控制器,開關(guān) S用來(lái)控制是否需要傳送溫度參數(shù),按下表示需要傳送,否則不需要傳送;紅外通信芯片MAX3100在單片機(jī)的控制下完成單片機(jī)串口和紅外通信之間的轉(zhuǎn)換,IRLED1為發(fā)送紅外的LED發(fā)光二極管,用于發(fā)送要求從機(jī)傳送溫度參數(shù)的呼叫信號(hào),IRLED2為接收紅外的發(fā)光二極管,用于接收從機(jī)傳送來(lái)的溫度參數(shù),點(diǎn)陣圖形液晶芯片 MGLS-12032A用于顯示相應(yīng)溫度參數(shù)。
從機(jī)模塊如圖2所示中,單片機(jī) AT89S52作為控制器,溫度傳感器DS1820實(shí)現(xiàn)被測(cè)現(xiàn)場(chǎng)的溫度檢測(cè),通過(guò)單總線[2]傳送給控制中心單片機(jī)如圖中的 P1.7。IRLED1為發(fā)送紅外的 LED發(fā)光二極管,用于發(fā)送傳感器檢測(cè)到的溫度參數(shù),IRLED2為接收紅外的發(fā)光二極管,用于接收主機(jī)發(fā)送的要求傳送數(shù)據(jù)的呼叫信號(hào),紅外通信芯片MAX3100在單片機(jī)的控制下完成單片機(jī)串口和紅外通信之間的轉(zhuǎn)換。
圖1 主機(jī)模塊硬件接口電路圖
51系列單片機(jī)自身帶有具有串行通信接口可以很方便地實(shí)現(xiàn)單片機(jī)之間的串行通信,但是其串行口是不支持紅外數(shù)據(jù)傳輸功能。
本系統(tǒng)設(shè)計(jì)希望利用紅外通信的方式來(lái)完成采集到的溫度數(shù)據(jù)的傳輸,這樣就需要采用串口/紅外的轉(zhuǎn)換芯片,完成單片機(jī)串口 /紅外數(shù)據(jù)傳輸?shù)墓δ苻D(zhuǎn)換。
圖2 從機(jī)模塊硬件接口電路圖
MAX3100是Maxim公司生產(chǎn)的通用異步收發(fā)芯片,不僅適合于速率高達(dá) 230kbit/s的 RS-232數(shù)據(jù)鏈路,而且支持紅外數(shù)據(jù)傳輸格式,可以完成單片機(jī)串口紅外數(shù)據(jù)傳輸?shù)墓δ苻D(zhuǎn)換,就是一個(gè)針對(duì)紅外信道的調(diào)制解調(diào)器。
MAX3100的原理如圖3所示。MAX3100中組合了一個(gè)簡(jiǎn)單的UART、一個(gè)帶有 SPI接口的波特率發(fā)生器及一個(gè)中斷發(fā)生器 。通過(guò)將一個(gè)長(zhǎng)度為 16位的字寫入到寫狀態(tài)寄存器中形成一個(gè)通用異步接收發(fā)送器。該字節(jié)中包含了波特率 (位B0~B3)、數(shù)據(jù)字節(jié)長(zhǎng)度、校驗(yàn)設(shè)定、8字節(jié)接收 F1F0、普通 UART與 IR da ta時(shí)基選擇、關(guān)機(jī)控制及 4個(gè)中斷屏蔽位。通過(guò)寫一個(gè) 16位字到一個(gè)寫數(shù)據(jù)寄存器中發(fā)送數(shù)據(jù),其中最后的 7(校驗(yàn)位未設(shè)定)或 8位 (校驗(yàn)位被設(shè)定)是實(shí)際上被發(fā)送的數(shù)據(jù)。該寄存器控制著 RTS輸出端的狀態(tài)。當(dāng)接收中斷被設(shè)定時(shí),在接收到數(shù)據(jù)時(shí)就會(huì)產(chǎn)生一個(gè)中斷[3]。根據(jù)接收到的校驗(yàn)數(shù)據(jù)及 CTS腳輸入的邏輯電平,從一個(gè) 16位的寄存器中依據(jù)先進(jìn)先出原理讀取數(shù)據(jù)。該寄存器同樣還包含有用于普通操作出錯(cuò)及關(guān)機(jī)狀態(tài)中的接收顯示。
圖3 MAX3100原理圖
使用 MAX3100實(shí)現(xiàn)串口的紅外通信,需要對(duì)MAX3100的寄存器進(jìn)行操作,其中 MAX3100的 SPI口主要對(duì) CS、SCLK、D IN、DOUT4個(gè)端口進(jìn)行控制。
MAX3100的引腳如表1所示。MAX3100采用的是全雙工通信,即 D IN,DOUT引腳上同時(shí)有數(shù)據(jù)傳送。在SCLK時(shí)鐘的下降沿,將數(shù)據(jù)從 DOUT引腳發(fā)送出去,在SCLK時(shí)鐘的上升沿,從 D IN引腳接收數(shù)據(jù)。
表1 MAX3100引腳功能表
現(xiàn)場(chǎng)溫度數(shù)據(jù)的采集采用溫度傳感器 DS1820。DS1820是美國(guó) DALLAS公司生產(chǎn)的單線數(shù)字溫度傳感器,可直接將溫度轉(zhuǎn)化成串行數(shù)字信號(hào)供微機(jī)處理。目前常用的微機(jī)與外設(shè)之間進(jìn)行數(shù)據(jù)傳輸?shù)拇锌偩€主要有 I2C總線、SPI總線等,這些總線至少需要兩條或兩條以上的信號(hào)線。而DS1820采用的是單總線技術(shù),即單根信號(hào)線既可以傳輸時(shí)鐘,又可以傳輸雙向數(shù)據(jù),這樣會(huì)使得系統(tǒng)線路簡(jiǎn)單、硬件開支少。
DS1820采用 3腳PR-35封裝,管腳排列如圖4所示。圖中 1腳 GND為地;2腳 DQ為數(shù)據(jù)輸入/輸出端(即單線總線),該腳為漏極開路輸出,常態(tài)下呈高電平;3腳 VDD是外部 +5V電源端,不用時(shí)應(yīng)接地。
圖4 DS1820的 PR-35封裝
軟件部分由主機(jī)模塊程序和從機(jī)模塊程序兩大部分組成。
主機(jī)模塊部分程序主要由主機(jī)主程序、要求傳送溫度參數(shù)的命令紅外發(fā)射子程序、溫度參數(shù)紅外接收中斷程序[4]及顯示子程序組成,其中主機(jī)主程序流程框圖如圖5所示,溫度參數(shù)紅外接收中斷程序流程框圖如圖6所示。
從機(jī)模塊的程序主要由從機(jī)主程序、溫度參數(shù)采集子程序、要求傳送溫度參數(shù)的命令紅外接收及溫度參數(shù)傳送的紅外發(fā)送中斷程序組成,其中從機(jī)主程序流程框圖如圖7所示,溫度參數(shù)傳送的紅外發(fā)送中斷程序流程框圖如圖8所示。
圖7 從機(jī)主程序流程框圖
本文設(shè)計(jì)采用紅外傳輸硬件系統(tǒng)裝置,制作簡(jiǎn)單。由于采用紅外線傳輸數(shù)據(jù),形成了數(shù)據(jù)通信設(shè)備非接觸的方式,真正起到了全面保護(hù)串行通信的作用,實(shí)現(xiàn)了惡劣現(xiàn)場(chǎng)環(huán)境條件的溫度參數(shù)遙測(cè),具有一定的實(shí)用性。
圖8 溫度參數(shù)接收中斷程序流程框圖