微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 超低功耗奶牛发情期监测器的设计

超低功耗奶牛发情期监测器的设计

时间:01-07 来源:互联网 点击:

一、奶牛发情期监测器的设计背景

奶牛发情期监测器(以下简称监测器)的设计启发主要来自于北威尔士大学附属学院的克莱夫、非利普斯和安斯尔德博士提出的母牛发情期运动量偏差的研究。在大多数牛群中不用计步器收集发情期母牛的成功率为40%~60%之间,而用计步器试验(一般发情期母牛一天走7英里,是正常母牛走2~3英里举例的两倍以上),现实成功率达90%~100%之间。于是这个研究小组就提出研制自动计算母牛每天活动量的电子计步器,母牛所增加的活动量将启动计步器,产生一个声频信号。监测器自动计量传感器的信号,通过奶牛每天运动量是否有大幅增加来判断奶牛是否处于发情期中。

二、奶牛发情期监测器的设计原理

(一)奶牛监测器结构图

完整的奶牛监测器包括两个大的组成部分:数据采集/发送模块和数据接受/转换模块。如图1所示:

图1:奶牛监测器结构

(二)奶牛监测器中的信号源及数据流分析

(1)信号主要由振动传感器产生。www.51kaifa.com

(2)数据采集/发送模块采集母牛运动中产生的信号,软件累计计数并且将计数结果存储到寄存器指定位置。将寄存器中的计数结果串行传输到TX5000中,进行数据的无线发射(24小时发送一次)。

(3)利用短距离无线发送芯片TX5000,PCB天线通过433.92M赫兹民用波段将数据进行无方向性的自动增益发送。

(4)数据接受/转换模块接受TX5000传送的数据包,并且将数据传送到单片机中,最后通过RS232数据转换接口传输到PC机上。

(5)数据将载入用户系统,存储到后台数据库中。用户随时可以管理数据库,调用相关数据。

三、硬件电路分析及PROTEL制图

(一) MSP430F1121A工作机理

监测器的数据采集/发送模块是被挂在牛脖子上的,供电源仅有一节干电池。因为更换电池的不便,监测器必然要工作在低功耗模式下(一节干电池的保持系统正常工作期限为10年)。TI公司生产的MSP430F1121A单片机的时钟系统产生CPU和各功能模块所需的时钟,并且这些时钟可以在指令的控制下打开或者关闭,即只需打开工作模块的时钟。这样单片机的功耗可以大大降低,单片机能在2微瓦的低能耗模式中稳定而准确的保证单片机工作模块的运转(一般单片机工作能耗为毫安瓦级)。这也是在监测器的设计中选择MSP430F1121A的理论根据。本设计中单片机工作在第三种低能耗模式(LMP3)下,外接32766赫兹的时钟晶振。利用MSP430F1121A内部16为定时器Timer_A中的捕捉/比较模块CCR0的捕捉功能进行计步。

分析CCR0控制寄存器,如图所示:

15 14

13 12

11

10

9

8

7 6 5

4

3

2

1

0

CAPTMOD1-0

CCISI-0

SCS

SCCIx

CAP

OUTMODx

CCIEx

CCIx

OUT

COV

CCIFGx

图2:CCTLx 捕捉/比较模块

对于本设计中必要的初始化进行说明,选择捕捉模式(CAPTMOD1-0)设置为01,即选择上升沿捕捉;捕捉模式中定义提供捕捉事件的输入源(CCIS1-0)设置为CCI0A,即选择Timer_A的第一个捕捉器;选择捕捉信号与定时时钟同步、异步关系设置为1,即同步捕捉,根据是此时捕捉器反复捕捉脉冲上升沿总是有效;选择/捕捉模式(CAP)设置为1,即捕捉模式;中断允许位(CCIEx)设置为1,即允许中断,这也是计步子程序的入口;溢出标志(COV)设置为1,根据时通常情况下母牛一天的运动量不会达到溢出水平量0xFFFF。Timer_A有中断标志时,选择捕捉器 1CCIFG1后,TAIV中的值为2,PC+2后转入累加子程序,即捕捉到了一个上升沿(母牛走动了一步)。中断返回后重新扫描信号源的脉冲。www.51kaifa.com

(二)TX5000发送机理

TX5000具有两种数据发送模式:OOK模式和ASK模式。在OOK工作模式中,信号输出端以通断脉冲来表示信号“1”和“0”;而在ASK工作模式中,输出信号则分别以高、低电平来表示信号“1”和“0”;休眠模式的信号端通常被置于高阻状态。OOK模式的功耗较低,但数据传输率也低(10kbps);ASK模式的功耗较高,但数据传输率也较高(115.2kbps)。由于在ASK模式时,信号可调幅,因此抗干扰能力也较强,本设计同样采用了ASK工作模式。发送芯片大部分时间处于休眠状态,每天发送数据的时候激活进入发送模式,以保证低功耗的实现。

(三)PROTEL硬件电路图

由于本文主要讨论的是监测器的计步环节,因此给出了部分的硬件电路图。如图3所示:

图3:计步器硬件设计电路图

三、串行通讯程序

文中的数据流进行串行传输的部分核心程序如下所示

程序初始化阶段(省略)

void main (void)

{WDTCTL = WDTPW + WDTHOLD;

CCTL0 = OUT;

TACTL = TASSEL0+MC1;

P1SEL = TXD;www.51kaifa.com

P1DIR = TXD;

P1SEL = RXD;

_EINT();

for

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top