微生物发酵过程是生物技术产业化中的一个重要环节,直接影响着生物制品的数量、质量和生产成本。而在发酵过程中,pH值对微生物生长繁殖和代谢产物合成有着非常重要的影响,是生物发酵过程需要掌握的重要状态参数。以往国内实验室菌种筛选所用摇床大多不具备pH值实时测量功能,某些较高级的实验室用小型发酵罐虽然安装了pH探头,但信号线往往与其他动力线、气路、水路混杂在一起,使整个实验装置的安装和清洗变得复杂,不便于日常维护和使用。ZigBee技术作为一种新兴的无线通信方式,为有效解决上述问题提供了很好的技术支持和解决方案。
1 ZigBee技术
1.1 ZigBee技术概述
图1 ZigBee协议架构
ZigBee协议是基于IEEE 802.15.4标准研制开发的有关组网、安全和应用软件方面的技术。它包括IEEE 802.15.4协议制定的物理层 (Physical Layer,PHY) 和介质访问控制层 (Media Access Control,MAC),以及由ZigBee联盟所制定的网络层和部分应用层标准,其协议架构如图1所示。它工作于全球免费的2.4 GHz 和868/928 MHz ISM免费频段(Industrial Scientific Medical band,工业、科学与医学频段), 采用DSSS(Direct Sequence Spread Spectrum,直接序列扩频)技术,传输范围介于10~100 m,传输速率20~250 kb/s,支持星状、树状及网状3种网络架构,从网络拓扑结构上可分为网络协调器、路由器和末端节点3种角色。
1.2 ZigBee技术用于发酵设备的优势
(1) 无线传输、短距离
无线连接使得设备间原本复杂的连线变得简洁,便于实验装置的清洗和维护。通常实验室中设备与上位机之间距离多在几米至几十米之间,ZigBee的传输距离可以满足需要。
(2) 低速率、低功耗
生物发酵过程中pH值的采样频率很低,往往以分钟计(甚至更低),设计时可以充分利用ZigBee短时延、低功耗的特点,令控制状态下的大多数时间中传感器节点处于休眠状态,以此来有效地控制功耗,延长电池的使用寿命。节点间数据通信量不大,250 kb/s的传输速率也足够满足实际需求。
(3) 低成本、低复杂度
免专利费的协议栈、廉价的硬件平台以及相对简单的无线射频开发,有效地降低了产品成本和开发难度。
(4) 数据传输的安全与可靠
ZigBee在PHY层和MAC层的通信机制(如直序扩频、CSMA/CA机制等)有效保证了数据传输的可靠性,即使在干扰较多的实验室环境下也能正确地传输数据。
(5) 网络安装与维护简单
ZigBee协议允许支持3种拓扑结构,可以根据具体的需要选择合适的网络。网状网络的AdHoc路由算法具有自修复功能。当节点数量和位置发生变动或节点发生故障等情况下,网络能够进行自我修复而无需人工干预,以确保整个系统的正常工作。
2 系统设计
若干个pH变送器作为子节点,通过无线方式与ZigBee路由器连接,组成ZigBee子网,如一台摇床中的所有节点或一组发酵罐的所有节点。若干个路由器再与ZigBee网关(同时充当ZigBee网络协调器)组成主网,并通过RS232通信方式连接至上位机。网络架构如图2所示。其中ZigBee网关可选用诸如Digi公司的XBeePRO或Helicomm公司的IPLink系列模块,也可自行设计。
图2 ZigBee网络构成
3 pH变送器节点的硬件设计
3.1 硬件系统设计
pH变送器主要由信号调理、A/D转换、温度补偿、微处理器、无线收发及天线等部分组成,硬件部分的基本组成框图如图3所示。pH传感器输出的毫伏信号经运算放大器进行差分放大后,与集成温度传感器输出的温度补偿信号一同进入A/D转换芯片,经A/D芯片转换后通过SPI总线发送至MCU。MCU对采集进的信号进行处理后,通过天线发送至ZigBee路由器。pH标定值和温度补偿表存储于存储器单元。
3.2 信号调理和转换电路
信号调理和转换电路如图4所示。pH传感器输出信号呈双极性变化,pH=0时输出为0 mV;pH=1和pH=14时,分别对应±414 mV。此处使用的电极在25 ℃时变化率为59.15 mV/pH。由于pH输出信号阻抗较高,运放线路需要注意阻抗匹配。图4采用美国国家半导体公司生产的高精度双运放LMP7702构成运放电路。LMP7702最高输入偏置电压为±220 μV、最大输入偏置电流为±220 mA,共模抑制比为130 dB,输入电压噪声为9 nV/Hz,具有轨到轨的输入和输出。设置A1增益为2,同时作为输入缓冲。A2提供电平转移,通过精密带隙电压基准LM4140和电阻R1、R2分别为AD7705和A2提供1.024 V与0.512 V电压。使A2输出端电压满足VOUT=-2×VIN+1.024 V。
集成温度传感器LM35输入A/D,另一路作为温度补偿信号。LM35灵敏度为10 mV/℃,其输出电压与摄氏温度成线性比例关系,无需外部校准。在-55~+150 ℃温度范围内精度为0.4~±0.75 ℃,消耗电流最大只有70 μA,自身发热对测量精度影响在0.1 ℃以内。电阻RT连接至V-,以此保证在零下温度环境时温度参数的正常读取。
A/D转换器采用ADI公司的双通道16位∑Δ A/D转换器AD7705。它具有2个全差分输入通道,内含可编程数字滤波器,自校准系统和系统校准选项,自带1~128倍可编程增益放大器,可实现16位无误码输出。当基准电压为1.024 V时,可直接接收从0~±1.024 V的双极性信号。需要指出的是,这里的负极性电压是相对AIN(-)引脚而言的,因此应将这个引脚偏置到恰当的正电位上,即1.024 V。值得一提的是,CC2430片内集成了8路14位分辨率的A/D通道,在满足测量精度和I/O口允许的条件下亦可以使用。
图3 硬件系统组成框图
图4 信号调理和转换电路
图5 CC2430的硬件线路
3.3 微处理器和收发单元
微处理器和收发单元采用Chipcon公司新推出的SoC芯片CC2430。该器件包含2.4 GHz射频收发器和高性能、低功耗8051微控制器,片内集成了128 KB可编程Flash和8 KB SRAM。系统时钟采用16 MHz片内RC振荡器或32 MHz石英振荡器,实时时钟采用32.768 kHz晶体振荡器或低功耗RC振荡器。片内有一个符合IEEE 802.15.4规范的MAC计时器、1个16位时钟、2个8位时钟、21个通用I/O接口、8路8~14位ADC、2个UART/SPI接口、可编程看门狗、电池监控和温度传感器(此温度传感器误差较大,不适用于精密温度测量),其工作电压为2.0~3.6 V。
CC2430具有较高的灵敏度,接收灵敏度达-91 dBm,发射功耗低(RX 27 mA,TX 27 mA)。提供4种灵活的能耗方式,支持数字RSSI(Receive Signal Strength Indicator,接收信号强度指示)LQI,硬件支持CSMA/CA机制,拥有128位AES安全协处理器和DMA功能。线路调试的IDE(Integrated Development Environment,集成开发环境)遵从IAR公司的工业标准,结合Chipcon公司的ZigBee 协议栈,只需极少外部元件就可以构成性能稳定且功耗极低的片上系统(SoC),极大地降低了开发难度。
CC2430的应用如图5所示,其中的P1.2~1.7作为SPI接口和片选线连接至A/D和存储芯片。P2.1、P2.2、RESET脚引出作为DEBUG接口,DEBUG接口需有效连接VCC和GND方可正常烧录。在射频收发时,CC2430芯片内部的PA(Power Amplifier)及LNA(LowNoise Amplifier)提供直流偏置,外围射频输入/输出匹配电路主要用来匹配器件的输入/输出阻抗,使其输入/输出阻抗为50 Ω。天线部分可采用PCB上引线形成的板载偶极天线或鞭状天线。设计良好的板载天线可以达到非常好的效果,但需具有较丰富射频设计经验的工程师对天线尺寸进行缜密的计算,并相应调整平衡/非平衡阻抗转换电路(BALUN,巴伦电路),以达到最佳收发效果。如没有相关人员且不具备设备条件时,建议使用鞭状天线。
在PCB布线时,CC2430芯片底部应保持良好接地。电源线建议从电源主节点呈树状引出不同分支的电源线为每个电源引脚供电, 使引脚间产生空间上的隔离,以减小彼此之间的耦合。同时可使用多个去耦电容、旁路电容滤波,以保持电源的纯净。如采用多层板布线,敷铜时应注意不要使CC2430芯片下的地形成耦合。天线至引脚的PCB引线应尽可能粗,以降低阻抗。
4 软件设计
4.1 程序开发平台
Chipcon公司的ZigBee协议栈开发平台,采用的是在OSAL(Operating System Abstraction Layer,操作系统抽象层)操作系统上运行的、基于任务的触发机制。OSAL任务调度机制通过对任务事件的触发来实现任务调度。每个任务包含若干个事件,每个事件对应一个事件号。当一个事件产生时,对应任务的Event就被设置为相应的事件号,这样事件调度就会调用相应的任务处理程序。OSAL中的任务可以通过任务API来添加到系统中,这样就可以实现多任务机制。ZigBee协议栈是运行在一个叫OSAL的操作系统上,所以要进行ZigBee开发必须熟悉OSAL。OSAL任务调度流程如图6所示。
图6 OSAL操作系统任务调度机制
4.2 帧结构
CC2430支持IEEE 802.15.4的帧格式,其MAC层的帧格式为:帧头+数据帧+校验帧。在MAC帧前面加上同步头和PHY帧头则构成物理帧,帧头序列的长度可以通过寄存器的设置来改变。收发的数据帧被送入RAM中的128字节缓存区,并进行相应的帧打包和拆包操作。
在ZigBee网络中,采用具有信标的网络结构可以有效地降低功耗,保证各设备之间的正常通信。信标由协调器MAC层产生,并向网络中的其他设备进行广播,以保证各从机设备与协调器同步。当某台从机设备希望发送数据给主机时,首先要监听网络中的信标帧,在监听到信标后,从机依照超帧结构与网络协调器进行同步。随后在适当的时候,从机使用具有时隙的CSMA/CA机制向协调器发送数据帧,协调器收到数据后返回一个确认帧,表明此次数据成功接收,数据传输事务已完成。ZigBee MAC层信标帧格式如下:
图7 软件流程
ZigBee通信帧格式分为键值对(KVP, Key Value Pair)帧格式和消息(message)帧格式。消息方式的帧格式可以由用户自己定义,通常适用于大量信息的传送。考虑到测量到的pH值数据量不大,本设计中使用KVP模式。
4.3 软件流程
软件流程如图7所示。上电时首先进行初始化设置,包括I/O接口、射频发射模式、A/D等外设、MAC层等;其次查询相邻设备的信息,建立网络邻居表,生成主、从节点间的数据链;然后采集pH和温度数据并进行处理和拟合,将数据存储于内存单元。随后查询网络信标,如无发给本机的信标则开启定时器中断,进入睡眠态;若有发给本机的信标,则同步主机后将处理好的pH值加上MAC层、物理层的帧头和帧尾后打包发送,之后在收到主机的确认帧后完成本次循环。
下面给出的是部分OSAL初始化代码:
byte osal_init_system( void ) {
osal_mem_init();//初始化存储器
osal_qHead = NULL;//初始化堆栈
osalTimerInit();//初始化定时器
osalTaskInit();//初始化任务
osalAddTasks();//添加用户定义任务
osalInitTasks();//注册用户定义任务
return ( ZSUCCESS );
}
结语
CC2430作为一款高集成度的2.4 GHz射频收发器,通过添加简单的外设,可构成功能强大的传感器网络节点设备,完全可以胜任ZigBee网络中的各种角色。实际上,可以在未来条件成熟的情况下将温度、压力、溶氧(DO)、电机转速、消沫控制、营养剂补加等测控参数均设计成基于ZigBee技术的无线变送器,每一只发酵罐组成一个子网,更便于实验人员对数据的分析和处理。作为一种高性价比、安全可靠、低功耗、低复杂度的无线网络解决方案,ZigBee技术一定会成为应用于工业监控、网络家电、传感器网络等方面性价比较高的解决方案。我们对它在上述领域的应用充满信心。ZigBee作为一种新型的无线网络协议,具有诱人的发展前景。