王炳祥,李先鋒,陳 中
(1.鹽城工學院 信息工程學院,江蘇 鹽城 224051;2.鹽城工學院 電氣工程學院,江蘇 鹽城 224051)
隨著人們環保意識的不斷增強,環境監測越來越被重視。北京益衫科技公司出品的第4代激光傳感器CP-15-A4,可以監測PM2.5、PM10等多種大氣顆粒,同時具有自校正功能[1];而無線模塊傳輸不僅可以節省成本,還可以降低人為故障率。因此,利用CP-15-A4傳感器通信和無線模塊可發送幀數據的特點,可以進行遠程大氣顆粒檢測系統的設計,實現對大氣顆粒的濃度計算、無線傳輸、數據處理和顯示等功能。試驗結果表明,該監測系統具有較高的應用價值。
監測系統選擇北京益衫科技公司出品的第4代激光傳感器CP-15-A4,以大氣顆粒為檢測對象,以無線模塊為傳輸橋梁,經單片機處理后實現大氣顆粒的無線遠程監測,其結構框圖如圖1所示。由圖1可知,大氣顆粒遠程監測系統由發射系統和接收系統兩部分組成,發射系統利用大氣顆粒傳感器CP-15-A4檢測數據,通過單片機MSP430f169處理后,由無線模塊nRF24L01發送到接收系統;接收系統由無線模塊nRF24L01接收數據,經過單片機MSP430f169處理后再在顯示屏12864上實時顯示。

監測及發射系統 接收系統圖1 系統結構框圖Fig.1 System structure block diagram
圖1中的傳感器CP-15-A4,標準工作電壓為5 V,端口電壓為3.3 V,響應時間小于10 s,量程為0~6 mg/m3,能夠檢測0.3~0.8 μm的大氣顆粒[2],具有較強的抗干擾性能和自校驗功能,檢測響應快速、數據準確,在環境監測方面有著廣泛的應用。單片機MSP430f169是MSP430系列單片機中的一種,該系列單片機比51系列單片機擁有多性能、低成本、低功耗等特點[3],具有哈佛結構、三級流水線和分支預測、可以嵌套中斷等特征,多應用于醫療和手持設備及工業檢測與控制儀器中。
在監測系統數據傳輸過程中,為了驗證數據傳輸的正確性,需要在系統發送端和接收端均配置液晶顯示屏。另外,在系統調試過程中,采用雙重驗證方法,分別驗證CP-15-A4校驗后的數據是否和所監測的數據相等,是否和進口儀器檢測的一致。
CP-15-A4模塊和MCU控制器之間是串行通信,而MSP430單片機對于串行通信有著固定的接口,所以不能采用其他普通端口來實現串行通信[4]。
MSP430單片機有兩個獨立的移位寄存器,從最低位開始發送和接收數據,采用串行中斷方式。使用時用戶可以通過軟件設置數據位、停止位和波特率等參數,設定后,單片機就能夠實時發送和接收數據,并具有喚醒發送和激活等功能。
CP-15-A4模塊有6個端口,分別是電源、接地、復位、置位、RXD和TXD。其置位端口和復位端口均接高電平,表明是無條件傳輸;TXD端口為發送端口,將信息以多幀數據塊形式傳送到單片機的串行接收端口,波特率設置為9 600 b/s;RXD端口懸空。
CP-15-A4傳感器把監測到的室外多種大氣顆粒數據發送到單片機MSP430f169,經過處理后一邊發送到無線模塊nRF24L01,由無線模塊發送數據包,無線傳輸到室內監控系統;一邊在發射系統顯示屏12864上實時顯示,顯示內容有大氣顆粒數值及校驗和等。因此,無線模塊是室外監測和室內監控的橋梁,其通信方式為SPI、波特率為9 600 b/s,可以傳輸數據的長度為40 b,且高位先出[5]。
MSP430單片機的SPI通信有3種方式,分別為模擬SPI時序、寄存器方式和中斷方式。由于寄存器和中斷的通信方式必須使用MSP430專用端口,而傳感器采用的是串行通信方式,兩者的專用端口相同;如果無線模塊采用寄存器方式,就占據了單片機MSP430端口的第二功能,使得大氣顆粒傳感器無法正常工作,所以無線模塊必須采用模擬時序的方法通信[6],且接口方式為無線模塊的IQR接單片機P1.7、MOSI接單片機P3.1、CSN接單片機P3.0、MISO接單片機P3.2、SCK接單片機P3.3、CE接單片機P1.6,3.3 V供電。
液晶顯示電路用于顯示大氣顆粒數據,采用串行通信方式,電源為3.3 V,其串并行選擇端口為低電平,串同步時鐘信號端口接單片機P5.2端口,讀寫選擇端口接單片機P5.1端口,命令選擇端口接單片機P5.0端口。
在進行系統的硬件設計后,需要進行軟件編程。軟件編程主要包括傳感器軟件編程和無線模塊的軟件編程兩個部分。
根據監測系統中CP-15-A4傳感器的工作原理,可知其運行流程如圖2所示。圖2中串口通信初始化程序為:
P3SEL |= 0x30; ∥ 選擇P3.4和P3.5作UART(串口)通信端
ME1|= UTXE0 + URXE0; ∥ 串口中斷0使能
UCTL0 |= CHAR; ∥ 字符的確定
UTCTL0 |= SSEL0; ∥ 時鐘源選擇
UBR00=0x03; ∥ 波特率的設定
UBR10=0x00; UMCTL0=0x4A; ∥ 波特率修正
UCTL0&= ~SWRST; ∥ 控制位
IE1 |= URXIE0; ∥ 使能0分中斷
IFG1&=~ URXIFG0; ∥ 清除標志位
_EINT();

圖2 大氣顆粒傳感器應用流程圖Fig.2 The flow chart of application of atmospheric particle sensor
由于采用串口通信,傳感器的軟件設計主要有端口和串口初始化、接收數據位、波特率修正、串口中斷等。發生串口中斷時,接收的數據(PM2.5濃度、PM10濃度、PM1.0濃度和校驗碼)被送入臨時變量,并清除中斷標志位。接收數據完成后經過單片機處理方能在顯示屏中顯示。另外,在主程序中可以看到數據接收是否完成,若未完成,則持續等待。同時,由校驗和可以判斷檢測數據的正確性,即PM1.0、PM2.5和PM10大氣顆粒濃度的數據之和必須與校驗和的數據相等,這樣才表明采集的數據正確。
CP-15-A4傳感器采用異步串行通信方式與單片機通信[7],其數據幀長度為32 B,主要包括起始位、數據位和校驗位等。異步串行通信方式運行時序如圖3所示、數據格式如圖4所示。

圖3 異步串行通信方式時序圖Fig.3 Sequence diagram of asynchronous serial communication mode

圖4 異步串行通信方式格式圖Fig.4 Format diagram of asynchronous serial communication mode
異步傳輸模式中接收方和發送方有各自的時鐘來控制數據的接收和發送過程。用戶可以通過軟件設置停止位以及數據位的位數,甚至可以設置有無奇偶位、選擇時鐘源的波特率寄存器來確定幀數據和位周期。
圖4中,單片機MSP430f169收到CP-15-A4傳感器發送的有效起始位(SYN)時就可以進行接收操作,并以RXD端口下降沿為標志,由3次采樣多數表決方法確定下降沿;MSP430f169單片機按照控制寄存器設定的控制方式,接收數據幀數據,包括異步字符SYN、序始字符、標題、幀長度、源地址等信息,直到一幀數據采集并發送完畢。
CP-15-A4傳感器監測的數據有PM1.0、PM2.5和PM10的大氣顆粒濃度,而0.1 L空氣中質量濃度在0.3 μg/m3以上的顆粒物,其個數等數值是不開放的,即這些數據的輸出為零。
單片機把傳感器輸出的16進制數據轉換為10進制數據的程序如下:
if(Uart_RecvFlag==1)
{
PM1_0=100*rx_buffer[4]+rx_buffer[5];
PM2_5=100*rx_buffer[6]+rx_buffer[7];
PM10=100*rx_buffer[8]+rx_buffer[9];
.........
上面語句顯示,單片機把通過串行通信接收的PM1.0、PM2.5和PM10大氣顆粒濃度數據轉換為十進制數據。
無線模塊運行流程如圖5所示。無線模塊是SPI通信方式,采用模擬SPI時序控制,其初始化設置只需要設置端口即可,即把IRQ、MISO設置成輸入,其他端口設置為輸出[8]。

圖5 無線模塊應用流程圖Fig.5 The flow chart of wireless module application
無線模塊發送部分程序如下:
char SPI_RW(char data)
{
char i,temp=0;
for(i=0;i<8;i++) ∥ 輸出 8位
{
if((data & 0x80)==0x80) ∥檢測最高位是否為1?
{
RF24L01_MOSI_1; ∥ 輸出高電平
}
else
{
RF24L01_MOSI_0; ∥否則輸出低電平
}
data = (data ? 1); ∥ 數據左移
temp?=1;
RF24L01_SCK_1; ∥ 拉高 SCK
if((P3IN&0x04)==0x04)temp++; ∥ 捕獲當前 MISO 位
RF24L01_SCK_0; ∥ 拉低SCK
}
return(temp); ∥ 返回數據
}
根據檢測系統的工作原理及其硬件設計和軟件編程,研制成具體成品,并進行檢測試驗,結果如圖6所示。
由圖6可知,檢測系統發射板12864液晶顯示和接收板的12864液晶顯示相同,大氣顆粒PM1.0、PM2.5、PM10質量濃度分別為107 μg/m3、114 μg/m3、148 μg/m3;而且當大氣顆粒發生改變時,發射板和接收板的顯示數據也隨之改變。因此,該檢測系統有效。

圖6 實驗效果圖Fig.6 Experimental renderings
為遠程監測空氣中PM1.0、PM2.5、PM10濃度,根據單片機的相關理論和CP-15-A4傳感器的工作原理,采用MSP430f169單片機為主控芯片,以CP-15-A4傳感器檢測大氣顆粒濃度,以無線模塊為傳播媒介,進行了UART通信和SPI通信設計,并在12864液晶屏上顯示結果,實現對空氣環境中多種大氣顆粒的遠程檢測;最后通過產品研制試驗,驗證了該監測系統的有效性,同時也為分析和設計大氣顆粒檢測提供了新的途徑。