在所选择的气象传感器中,输出信号概括起来有三大类,即0~5V电压输出、RS232串口输出以及开关量输出,分述如下:
0~5V电压输出的有:温度传感器,湿度传感器。
RS232串口输出的有:数字传感器、风向传感器、风速传感器和气压传感器。
开关量输出的有:雨量传感器。
节点硬件系统框图如图7-12所示。
1.模拟电压输入的节点设计
CC2530内部具有8个12位的A-D转换器,其输入是一个多路复用器,根据A-D转换器控制寄存器的设置可以选择输入端为AIN0~AIN7,GND,且AIN0~AIN7还可以组合为差分输入模式。基准电压源也可以设置为内部基准,AIN7上的外部基准,AVDD5引脚电压或AIN6~AIN7上的差分电压。
图7-12 节点硬件系统框图
A-D转换器的工作模式有两种,一种是单个转换,一种是连续转换,单个转换可以通过置位转换寄存器开始一次转换,而连续转换则可以通过外部触发,全速,定时器以及手动开始一个转换序列。工作于单个转换模式且转换完成时会产生一个中断,但是如果是工作在连续模式时不会产生CPU中断,而是由DMA完成数据到存储器的传输并在序列转换结束时产生DMA中断。
A-D转换器在不同的采样率下具有不同的分辨率,如512采样率具有12位分辨率,而256采样率具有10位分辨率,而64采样率具有7位分辨率。这是因为CC2530中的A-D转换器是一个delta-sigma类型的A-D转换器,因此采样率越高其分辨率也越高,但是功耗相应地会增加。
待测的模拟电压的电路图如图7-13所示。
图7-13 待测模拟电压与CC2530连接电路图
通过设置CC2530的ADCCON2.SCH位使节点的转换通道序列为AIN0~AIN7、单端输入,设置ADCCON2.SREF选择一个内部生成的电压(1.8V)作为A-D转换的正参考电压,设置ADCCON2.SDIV选择转换抽取率为256(10位有效数字),通过置位ADC-CON1.ST开启转换,读取ADCCON1.EOC位可判断转换是否完成,读取ADCCON2.SCH位,将指示转换在哪个通道上进行,通过读取ADCH和ADCL两个寄存器可获得A-D转换的补码形式的结果。由于A-D转换器采用256抽取率,量化单位Δ=1.76mV,小于ACS712输出灵敏度66mV,所以A-D转换不影响电流检测的精度。A-D转换器采用256抽取率时,执行一个转换所需的时间TCONV=(抽取率+16)×0.25μs=68μs,满足使用要求。(www.daowen.com)
经A-D转换后,将数据分别存储到CC2530存储区指定的存储单元。当接到汇聚节点的命令时,以MAC方式将DATA区中的数据传送到FIFO缓存中,经过一系列处理后,通过无线通信上传给路由器节点或协调器节点。
2.RS232串口输入的节点设计
当气象传感器是串口输出时,与CC2530连接,就需要设计串行接口电路,实现CC2530与气象传感器之间的串口通信。串行接口电路的电路图如图7-14所示。
由于CC2530串口是TTL电平,需要进行电平转换才能实现RS232数据通信,这里选用SP3232,其满足EIA/TIA-232-F标准,工作电压为+3.0~+5.5V。SP3232由驱动器、接收器和Sipex公司特有的电荷泵组成,其在驱动器满载工作时的典型数据传输速率是235kbit/s。当气象传感器要传送数据给CC2530时,双方需按制定的帧格式将数据发送。CC2530波特率设置为57600,CC2530串口发送数据的帧格式见表7-2。
表7-2 CC2530串口接收数据帧格式
图7-14中右侧的DB9头是否需要视气象传感器的接口而定。
图7-14 串行接口电路
接收数据时,先将传感器采集的数据存放在收发电路的先进先出(FIFO)缓存中,数据接收完后以DMA方式将收发缓存中的数据输入到CC2530指定的存储区。发送数据时以DMA方式将需要发送的数据送到射频电路的FIFO,由无线模块发送。
3.开关量输入的节点设计
采用翻斗式雨量传感器,其输出是一对节点,可以将降雨量转换为脉冲个数。该信号经整形后接在CC2530的INTO端,每次中断一次,则雨量加上0.1mm,准确实现对降雨的测量。接口电路如图7-15所示。
图7-15 雨量接口电路图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。