国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于CAN總線的灌區(qū)低功耗溫濕度采集系統(tǒng)設計

2014-03-05 10:58許燕屈寶鵬
現代電子技術 2014年3期
關鍵詞:CAN總線數據采集低功耗

許燕+屈寶鵬

摘 要: 由于灌區(qū)自然環(huán)境惡劣,觀測點多且布局分散。為了分析灌區(qū)水量調配對溫濕度監(jiān)測的需求,設計開發(fā)了一種基于CAN總線和MSP430單片機相結合的低功耗溫濕度采集系統(tǒng)。溫濕度信號采集采用SHT10數字溫濕度傳感器,通過SPI總線技術與控制器進行通信,并引進CAN總線通信技術實現終端數據的傳輸。相比其他總線技術,CAN總線具有抗干擾能力強、數據的傳輸速率高、傳輸距離遠、可靠性及性價比高等優(yōu)點。設計中擬采用Microchip公司生產帶SPI接口的CAN控制器MCP2515為CAN通信模塊。

關鍵詞: CAN總線; MSP430單片機; SHT10; 數據采集; 低功耗

中圖分類號: TN911.7?34 文獻標識碼: A 文章編號: 1004?373X(2014)03?0105?03

Design of temperature and humidity data acquisition system with low power consumption for irrigated area based on CAN bus

XU Yan, QU Bao?peng

(Shaanxi Institute of Technology, Xian 710300, China)

Abstract: Due to the harsh natural environment in irrigated area, there are many observation points and the distribution is scattered, to analyze the requirements of water allocation for temperature and humidity monitoring, a temperature and humidity data acquisition system with low power consumption based on the combination of CAN bus and MSP430 microcontroller is designed and developed. The temperature and humidity signal is collected by using SHT10 digital temperature and humidity sensor, and communicates with the controller through SPI bus technology. CAN bus communication technology is introduced to realize the terminal data transmission. Compared to other bus technologies, CAN bus has the advantages of strong anti?interference ability, high data transmission rate, long transmission distance, high stability and low price. CAN controller MCP2515 with SPI interface of the Microchip is adopted as CAN communication module in the design.

Keywords: CAN bus; MSP430 singlechip; SHT10; data acquisition; low power consumption

0 引 言

灌區(qū)內作物的良好生長發(fā)育依賴于適宜的溫濕度條件,合適的溫濕度變化能夠為灌區(qū)作物提供充足的能量促進其健康生長。因此,在灌區(qū)內對溫濕度進行適時準確的測量具有重要意義。由于灌區(qū)自然環(huán)境惡劣,觀測點多且布局分散,而CAN總線具有抗干擾能力強、數據的傳輸速率高、傳輸距離遠、可靠性及性價比高等優(yōu)點。

因此,設計開發(fā)一種基于CAN總線的低功耗溫濕度測量系統(tǒng),采用美國TI公司生產的低功耗MSP430單片機作為核心處理器,以瑞士Sensirion公司推出的新一代基于CMOSensTM技術的數字式溫濕度傳感器SHT10對溫濕度進行采集處理,通過CAN總線穩(wěn)定地將采集的數據傳輸到通用計算機上,進行進一步的數據處理和分析。

1 系統(tǒng)組成

整個系統(tǒng)包括觀測節(jié)點單元、CAN適配卡及上位機三部分。灌區(qū)溫濕度采集系統(tǒng)總體設計如圖1所示。

圖1 溫濕度采集系統(tǒng)結構框圖

其中觀測節(jié)點單元系統(tǒng)設計結構如圖2所示,其包括溫濕度傳感器模塊、主控單元以及CAN通信模塊。觀測節(jié)點單元由微控制器MSP430F169控制,采集處理溫濕度傳感器的數據并通過CAN通信模塊進行數據傳輸;通信模塊包括CAN控制器MCP2515和CAN收發(fā)器PCA82C250,負責通過MCP2515與MSP430F169進行基于CAN總線上的數據發(fā)送和接收。

圖2 觀測節(jié)點單元結構框圖

2 硬件結構設計

2.1 溫濕度測量

本設計選用表面貼片式濕度傳感器SHT10,由于其具有兩線制串行接口,可將MSP430F169直接與其相連,通過MSP430F169自身編程來完成相關的非線性補償計算。具體硬件連接如圖3所示。

另外,SHT10的溫度最大(默認)測量精度及最小測量精度分別為14位和12位,濕度的最大(默認)測量精度及最小測量精度分別為12位和8位,用戶可根據需求通過修改其狀態(tài)寄存器來更改溫濕度測量精度[1]。

圖3 SHT10與MSP430F169硬件連接圖

2.2 微處理器MSP430F169及通信模塊設計

MSP430F169是美國德州儀器(TI)公司推出的一款16位超低功耗、具有RISC(精簡指令集)的微控制器。與其他類型的單片機相比,其高性能的處理能力及超低功耗的特點十分適合本設計中對微控制器選型的要求[2]。

本設計CAN通信模塊選用CAN控制器MCP2515和CAN收發(fā)器PCA82C250。其與微控制器MSP430F169、CAN總線之間的電路連接如圖4所示。

MSP430F169通過差分放大、A/D轉換、數據校正等處理后,將溫濕度數據通過SPI接口寫入MCP2515的發(fā)送緩存器中,然后再通過SPI接口訪問MCP2515控制寄存器來啟動報文發(fā)送,即可將數據發(fā)送至CAN總線上[3]。

3 軟件設計

單個觀測節(jié)點單元的主程序設計擬采用模塊化程序設計方式,其主要由微控制器MSP430F189與CAN控制器MCP2515的初始化、SHT10溫濕度數據采集模塊及CAN通信模塊三部分構成。該灌區(qū)低功耗溫濕度采集系統(tǒng)觀測節(jié)點軟件實現流程圖如5所示。

3.1 MSP430F169端溫濕度采集

MSP430F169端溫濕度采集編程要點如下:

int_clk();

SVCC_H;

S_Connectionreset();

S_WriteStatusReg((unsigned char *)&RegCMD);

while(1)

{

error=0;

error+=S_Measure((unsigned char*) &humi_val.i,&checksum,HUMIDITY); //測量濕度

error+=S_Measure((unsigned char*) &temp_val.i,&checksum,TEMPERATURE); //測量溫度

if(error!=0)

S_Connectionreset();

{

templow=(humi_val.i&0xff00);

humi_val.i=templow>>8;

temphigh=((temp_val.i&0xf)<<8);

templow=((temp_val.i&0xff00)>>8);

temp_val.i=temphigh+templow;

humi_val.f=(float)humi_val.i; //轉換為浮點數

temp_val.f=(float)temp_val.i; //轉換為浮點數

S_Calculate(&humi_val.f,&temp_val.f); //計算溫濕度

}

}

圖5 觀測節(jié)點主程序流程圖

3.2 MSP430F169端SPI端口初始化

MSP430F169端SPI端口初始化程序如下:

void InitSPI()

{

U1CTL|=CHAR+SYNC+MM;//8位數據,SPI模式,主機模式

U1TCTL|=SSEL1+SSEL0+STC+CKPL;//時鐘為SMCLK,3線模式

U1BR0=0x08; //SMCLK 8分頻

U1BR1=0x00;

U1MCTL=0x00;

ME2|=USPIE1; //打開SPI1模塊

P5SEL|=BIT1+BIT2+BIT3; //P5.1 P5.2 P5.3設置為SPI口

UCTL1&=~SWRST;

}

3.3 主程序

主程序如下:

void main(){

uchar Buf[1];

InitClock(); //初始化時鐘

InitPort(); //初始化端口

InitSPI(); //初始化SPI

MCP2510_Init(); //MCP2510初始化

CH452_Init(); //初始化CH452

LcdInit(); //Lcd初始化

_EINT(); //打開中斷

while(1){

if(KeyValue!=0xFF){

Buf[0]=KeyValue;

SendData(0x0000,Buf,1);

//發(fā)鍵值到地址0x0000的節(jié)點

KeyValue=0xFF;

}

}

4 結 論

本系統(tǒng)在灌區(qū)進行了一系列試驗,成功地實現了基于CAN總線的遠距離的溫濕度采集。在實際的電路測試過程中,系統(tǒng)進行數據采集的工作電流≤6 mA,由此可見這種低功耗的溫度采集系統(tǒng)使電池供電成為可能。

由于CAN總線的工作方式為多主類型,因此系統(tǒng)中的每個CAN總線節(jié)點設備均可實現即插即拔的操作,用戶可根據實際需要還可增加其他氣象因素的監(jiān)測,比如降雨量、風速、風向以及光照量等。從而方便用戶對各節(jié)點設備進行維護,提高了灌區(qū)低功耗溫濕度采集系統(tǒng)的可操作性和穩(wěn)定性 [4]。

參考文獻

[1] 匡宇國.智能傳感器SHT11及其在便攜式溫濕度檢測儀中的應用[J].電子器件,2006(4):1312?1315.

[2] 秦龍.MSP430單片機常用模塊與綜合系統(tǒng)實例精講[M].北京:電子工業(yè)出版社,2007.

[3] 許燕.基于CAN總線的灌區(qū)氣象數據采集處理系統(tǒng)[D].西安:西北農林科技大學,2011.

[4] 毛春奎,張穎超.基于CAN總線的氣象數據采集系統(tǒng)[J].南京信息工程大學學報:自然科學版,2009.

[5] 劉培國,周希偉,劉志勇.CAN總線智能檢測儀的設計與實現[J].現代電子技術,2012,35(18):44?46.

[6] 周素琴,楊曉京.基于單片機的烤煙房多點溫濕度測控系統(tǒng)[J].現代電子技術,2012,35(21):109?111.

另外,SHT10的溫度最大(默認)測量精度及最小測量精度分別為14位和12位,濕度的最大(默認)測量精度及最小測量精度分別為12位和8位,用戶可根據需求通過修改其狀態(tài)寄存器來更改溫濕度測量精度[1]。

圖3 SHT10與MSP430F169硬件連接圖

2.2 微處理器MSP430F169及通信模塊設計

MSP430F169是美國德州儀器(TI)公司推出的一款16位超低功耗、具有RISC(精簡指令集)的微控制器。與其他類型的單片機相比,其高性能的處理能力及超低功耗的特點十分適合本設計中對微控制器選型的要求[2]。

本設計CAN通信模塊選用CAN控制器MCP2515和CAN收發(fā)器PCA82C250。其與微控制器MSP430F169、CAN總線之間的電路連接如圖4所示。

MSP430F169通過差分放大、A/D轉換、數據校正等處理后,將溫濕度數據通過SPI接口寫入MCP2515的發(fā)送緩存器中,然后再通過SPI接口訪問MCP2515控制寄存器來啟動報文發(fā)送,即可將數據發(fā)送至CAN總線上[3]。

3 軟件設計

單個觀測節(jié)點單元的主程序設計擬采用模塊化程序設計方式,其主要由微控制器MSP430F189與CAN控制器MCP2515的初始化、SHT10溫濕度數據采集模塊及CAN通信模塊三部分構成。該灌區(qū)低功耗溫濕度采集系統(tǒng)觀測節(jié)點軟件實現流程圖如5所示。

3.1 MSP430F169端溫濕度采集

MSP430F169端溫濕度采集編程要點如下:

int_clk();

SVCC_H;

S_Connectionreset();

S_WriteStatusReg((unsigned char *)&RegCMD);

while(1)

{

error=0;

error+=S_Measure((unsigned char*) &humi_val.i,&checksum,HUMIDITY); //測量濕度

error+=S_Measure((unsigned char*) &temp_val.i,&checksum,TEMPERATURE); //測量溫度

if(error!=0)

S_Connectionreset();

{

templow=(humi_val.i&0xff00);

humi_val.i=templow>>8;

temphigh=((temp_val.i&0xf)<<8);

templow=((temp_val.i&0xff00)>>8);

temp_val.i=temphigh+templow;

humi_val.f=(float)humi_val.i; //轉換為浮點數

temp_val.f=(float)temp_val.i; //轉換為浮點數

S_Calculate(&humi_val.f,&temp_val.f); //計算溫濕度

}

}

圖5 觀測節(jié)點主程序流程圖

3.2 MSP430F169端SPI端口初始化

MSP430F169端SPI端口初始化程序如下:

void InitSPI()

{

U1CTL|=CHAR+SYNC+MM;//8位數據,SPI模式,主機模式

U1TCTL|=SSEL1+SSEL0+STC+CKPL;//時鐘為SMCLK,3線模式

U1BR0=0x08; //SMCLK 8分頻

U1BR1=0x00;

U1MCTL=0x00;

ME2|=USPIE1; //打開SPI1模塊

P5SEL|=BIT1+BIT2+BIT3; //P5.1 P5.2 P5.3設置為SPI口

UCTL1&=~SWRST;

}

3.3 主程序

主程序如下:

void main(){

uchar Buf[1];

InitClock(); //初始化時鐘

InitPort(); //初始化端口

InitSPI(); //初始化SPI

MCP2510_Init(); //MCP2510初始化

CH452_Init(); //初始化CH452

LcdInit(); //Lcd初始化

_EINT(); //打開中斷

while(1){

if(KeyValue!=0xFF){

Buf[0]=KeyValue;

SendData(0x0000,Buf,1);

//發(fā)鍵值到地址0x0000的節(jié)點

KeyValue=0xFF;

}

}

4 結 論

本系統(tǒng)在灌區(qū)進行了一系列試驗,成功地實現了基于CAN總線的遠距離的溫濕度采集。在實際的電路測試過程中,系統(tǒng)進行數據采集的工作電流≤6 mA,由此可見這種低功耗的溫度采集系統(tǒng)使電池供電成為可能。

由于CAN總線的工作方式為多主類型,因此系統(tǒng)中的每個CAN總線節(jié)點設備均可實現即插即拔的操作,用戶可根據實際需要還可增加其他氣象因素的監(jiān)測,比如降雨量、風速、風向以及光照量等。從而方便用戶對各節(jié)點設備進行維護,提高了灌區(qū)低功耗溫濕度采集系統(tǒng)的可操作性和穩(wěn)定性 [4]。

參考文獻

[1] 匡宇國.智能傳感器SHT11及其在便攜式溫濕度檢測儀中的應用[J].電子器件,2006(4):1312?1315.

[2] 秦龍.MSP430單片機常用模塊與綜合系統(tǒng)實例精講[M].北京:電子工業(yè)出版社,2007.

[3] 許燕.基于CAN總線的灌區(qū)氣象數據采集處理系統(tǒng)[D].西安:西北農林科技大學,2011.

[4] 毛春奎,張穎超.基于CAN總線的氣象數據采集系統(tǒng)[J].南京信息工程大學學報:自然科學版,2009.

[5] 劉培國,周希偉,劉志勇.CAN總線智能檢測儀的設計與實現[J].現代電子技術,2012,35(18):44?46.

[6] 周素琴,楊曉京.基于單片機的烤煙房多點溫濕度測控系統(tǒng)[J].現代電子技術,2012,35(21):109?111.

另外,SHT10的溫度最大(默認)測量精度及最小測量精度分別為14位和12位,濕度的最大(默認)測量精度及最小測量精度分別為12位和8位,用戶可根據需求通過修改其狀態(tài)寄存器來更改溫濕度測量精度[1]。

圖3 SHT10與MSP430F169硬件連接圖

2.2 微處理器MSP430F169及通信模塊設計

MSP430F169是美國德州儀器(TI)公司推出的一款16位超低功耗、具有RISC(精簡指令集)的微控制器。與其他類型的單片機相比,其高性能的處理能力及超低功耗的特點十分適合本設計中對微控制器選型的要求[2]。

本設計CAN通信模塊選用CAN控制器MCP2515和CAN收發(fā)器PCA82C250。其與微控制器MSP430F169、CAN總線之間的電路連接如圖4所示。

MSP430F169通過差分放大、A/D轉換、數據校正等處理后,將溫濕度數據通過SPI接口寫入MCP2515的發(fā)送緩存器中,然后再通過SPI接口訪問MCP2515控制寄存器來啟動報文發(fā)送,即可將數據發(fā)送至CAN總線上[3]。

3 軟件設計

單個觀測節(jié)點單元的主程序設計擬采用模塊化程序設計方式,其主要由微控制器MSP430F189與CAN控制器MCP2515的初始化、SHT10溫濕度數據采集模塊及CAN通信模塊三部分構成。該灌區(qū)低功耗溫濕度采集系統(tǒng)觀測節(jié)點軟件實現流程圖如5所示。

3.1 MSP430F169端溫濕度采集

MSP430F169端溫濕度采集編程要點如下:

int_clk();

SVCC_H;

S_Connectionreset();

S_WriteStatusReg((unsigned char *)&RegCMD);

while(1)

{

error=0;

error+=S_Measure((unsigned char*) &humi_val.i,&checksum,HUMIDITY); //測量濕度

error+=S_Measure((unsigned char*) &temp_val.i,&checksum,TEMPERATURE); //測量溫度

if(error!=0)

S_Connectionreset();

{

templow=(humi_val.i&0xff00);

humi_val.i=templow>>8;

temphigh=((temp_val.i&0xf)<<8);

templow=((temp_val.i&0xff00)>>8);

temp_val.i=temphigh+templow;

humi_val.f=(float)humi_val.i; //轉換為浮點數

temp_val.f=(float)temp_val.i; //轉換為浮點數

S_Calculate(&humi_val.f,&temp_val.f); //計算溫濕度

}

}

圖5 觀測節(jié)點主程序流程圖

3.2 MSP430F169端SPI端口初始化

MSP430F169端SPI端口初始化程序如下:

void InitSPI()

{

U1CTL|=CHAR+SYNC+MM;//8位數據,SPI模式,主機模式

U1TCTL|=SSEL1+SSEL0+STC+CKPL;//時鐘為SMCLK,3線模式

U1BR0=0x08; //SMCLK 8分頻

U1BR1=0x00;

U1MCTL=0x00;

ME2|=USPIE1; //打開SPI1模塊

P5SEL|=BIT1+BIT2+BIT3; //P5.1 P5.2 P5.3設置為SPI口

UCTL1&=~SWRST;

}

3.3 主程序

主程序如下:

void main(){

uchar Buf[1];

InitClock(); //初始化時鐘

InitPort(); //初始化端口

InitSPI(); //初始化SPI

MCP2510_Init(); //MCP2510初始化

CH452_Init(); //初始化CH452

LcdInit(); //Lcd初始化

_EINT(); //打開中斷

while(1){

if(KeyValue!=0xFF){

Buf[0]=KeyValue;

SendData(0x0000,Buf,1);

//發(fā)鍵值到地址0x0000的節(jié)點

KeyValue=0xFF;

}

}

4 結 論

本系統(tǒng)在灌區(qū)進行了一系列試驗,成功地實現了基于CAN總線的遠距離的溫濕度采集。在實際的電路測試過程中,系統(tǒng)進行數據采集的工作電流≤6 mA,由此可見這種低功耗的溫度采集系統(tǒng)使電池供電成為可能。

由于CAN總線的工作方式為多主類型,因此系統(tǒng)中的每個CAN總線節(jié)點設備均可實現即插即拔的操作,用戶可根據實際需要還可增加其他氣象因素的監(jiān)測,比如降雨量、風速、風向以及光照量等。從而方便用戶對各節(jié)點設備進行維護,提高了灌區(qū)低功耗溫濕度采集系統(tǒng)的可操作性和穩(wěn)定性 [4]。

參考文獻

[1] 匡宇國.智能傳感器SHT11及其在便攜式溫濕度檢測儀中的應用[J].電子器件,2006(4):1312?1315.

[2] 秦龍.MSP430單片機常用模塊與綜合系統(tǒng)實例精講[M].北京:電子工業(yè)出版社,2007.

[3] 許燕.基于CAN總線的灌區(qū)氣象數據采集處理系統(tǒng)[D].西安:西北農林科技大學,2011.

[4] 毛春奎,張穎超.基于CAN總線的氣象數據采集系統(tǒng)[J].南京信息工程大學學報:自然科學版,2009.

[5] 劉培國,周希偉,劉志勇.CAN總線智能檢測儀的設計與實現[J].現代電子技術,2012,35(18):44?46.

[6] 周素琴,楊曉京.基于單片機的烤煙房多點溫濕度測控系統(tǒng)[J].現代電子技術,2012,35(21):109?111.

猜你喜歡
CAN總線數據采集低功耗
一種高速低功耗比較器設計
論網絡通信技術
CAN總線通信技術在電梯監(jiān)控系統(tǒng)中的應用
基于CANoe的J1939協議在ECU通信中的應用
基于廣播模式的數據實時采集與處理系統(tǒng)
通用Web表單數據采集系統(tǒng)的設計與實現
基于開源系統(tǒng)的綜合業(yè)務數據采集系統(tǒng)的開發(fā)研究
ADI推出三款超低功耗多通道ADC
IDT針對下一代無線通信推出低功耗IQ調制器
低功耗加權cache替換策略
林周县| 舟曲县| 榆树市| 常熟市| 和平区| 黎平县| 辽宁省| 东安县| 容城县| 台山市| 华宁县| 搜索| 明水县| 惠来县| 隆昌县| 会东县| 昌都县| 安康市| 澄城县| 德昌县| 太湖县| 锦州市| 陵川县| 中西区| 建水县| 封丘县| 伊金霍洛旗| 通榆县| 镇远县| 颍上县| 拉萨市| 农安县| 忻城县| 青浦区| 剑川县| 宝应县| 米易县| 修文县| 清镇市| 台东市| 扶风县|