基于STM32和CAN总线的群控式仪用温控系统设计
2012-12-15张文超
苏 坦,张文超
(杭州电子科技大学电子信息学院,浙江 杭州 310018)
1 引言
生命科学仪器的诞生大大缩短了生命科学从描述性、实验性的科学向定量科学过渡的进程。伴随着八十年代初期计算机技术逐渐成熟,生命科学仪器发展的进程也大大的提速了。本设计的直接应用实例──聚合酶链反应(PCR)仪就是这样一种仪器,它是由Mullis等人于1985年首先提出的,此项技术于1989年被美国《Science》杂志列为十余项重大科学发明之首。其基本原理是对被测基因试样的温度进行周期性的循环控制,控制其温度按照给定的升温、恒温、降温曲线进行循环,从而实现在短时间内对生物或生化样品中含有的痕量基因进行体外扩增(基因放大)和分析[1]。
从普通PCR到如今的实时荧光PCR,该项技术实现了从实验性的定性分析到实时定量分析的转变,为生物科学领域和医疗研究领域注入了新的活力,但传统架构的PCR仪器仍然存在值得改进和完善的地方。诸如:温度控制单一化(受限制),独立性不好以及灵活性差等不足。传统单个式架构的PCR仪器已经不能解决这些不足之处(详见下文),研发一种基于CAN总线[2]的既可单台运行亦可多台联合群控形式运行的基因扩展分析系统势在必行。本文在综合了PCR本身对数据传输效率、可靠性要求和群控式网络结构的特性的基础上,提出基于STM32和CAN总线的群控式温度控制系统,并利用LabWindows软件设计出了相关的操作界面,实际运行效果很好。
2 系统架构的比较
2.1 传统架构下PCR仪器的结构及特点
图1 传统架构PCR结构示意图
由图1可知:这种传统架构下的PCR非常的繁杂。首先,单个MCU承担全部任务,这其中包括有温度控制模块、荧光检测、步进电机等功能模块,MCU频繁在各种任务之间切换,导致系统性能受限。其次,随着仪器通量(是指一次可完成的样品数量)的增加,存放样品试管的空间就会变得非常庞大,导致仪器非常笨重,不易便携,受限于实验室使用。具体来说还有以下几点不足:
1) 温度控制单一化。同一批的目标试样只能处于同一温度场中,难以实现在同一时间内让目标试样按照不同的温度控制曲线和循环次数来独立运行。这个功能特性在很多生化和生命科学研究部门的高端研究项目中是急需的。
2) 独立性不好。实验进行过程中,如果想开始新的测试,就必须等到本次实验结束(无论是对其中某个试样还是对整体都一样)。这一缺陷严重影响了相关实验人员研究的进度。
3) 灵活性和可扩展性差。用大通量仪器来测试少量数据会带来巨大的资源浪费,反之,小通量仪器测试大量的试样时需要分批次逐次进行,这又会消耗过多时间。总之,仪器的灵活性很差,很难同时满足多样化需求。
以上的几点不足,表明传统架构已经严重制约了PCR仪器的功能的利用和性能的发挥,研发一种具有崭新架构的PCR仪器系统迫在眉睫!
2.2 群控式架构下PCR仪器的结构
如图2(a)所示,群控式架构PCR仪器是由一个主协调单元(常称为主节点)和多个灵活的执行子模块(常称为子节点)形成的一个有机整体。上位机为PC机,下位机则由若干个功能一致的温控模块构成(例图中共有32个模块),其中一个模块作为主节点(近似于一个CAN总线适配器),其余的若干模块均作为子节点。
每个功能模块均集成有独立控温系统(其中每个加热槽有多组试管槽,例如16个)、USB接口、CAN总线接口和供电模块等,实现独立的控温功能。如图2(b)所示。
主节点功能:下行时,上位机的的参数配置信息通过USB下传到主节点并交其处理,完成参数的归类和划分,然后将参数再次打包,并设定目标ID,通过CAN总线传出,参数包的ID决定它的目的地。上行时,子节点的温度控制参数、运行状态等信息经由主节点重新打包成帧后上传至上位机,上位机处理后供用户实时掌握整个系统运行状态。
图2 群控式架构PCR示意图
子节点功能:子节点接收来自主节点的参数包后,开始对参数包解析,建立起任务的具体模型,然后开始自动的对被测试样管进行温度控制。通过上位机和下位机,主节点和子节点之间协调的工作,使得整个系统有条不紊地运行。
2.3 群控式架构的特点
相对于传统的架构,群控式架构应用于PCR仪器为其性能带来的改进有:
1) 通量的提高:随着现代生化分析和生命科学研究中对大通量实验的需求,大通量PCR仪器渐渐被人们所重视。理论上,群控式架构系统可以挂载的温控模块的数目在理论上是无限多个(由于CAN总线的特性),也就是说很大程度上增加了PCR仪器通量。
2) 模块间的独立性:目前市场上已经具有1个主机带多机的产品,但各模块间独立性不好。比如有一种1机带4机的产品,可一旦其中1个机器发生故障会导致4个机器都无法使用的尴尬境地。而在本设计中,主模块与子模块之间利用CAN总线实现通信,任一子模块损坏都不会影响到别的模块,很大程度上提高了模块间的独立性及整个系统的健壮性。
3) 温度控制的灵活性:梯度式PCR仪的诞生似乎已经解决了温度场单一化的问题,但只是实现了不同位置目标试样温度呈梯度式变化,它始终是同一组实验,并不是真正独立的温度控制和各异的循环次数。而本设计的各模块之间就实现了真正意义上的独立,各个模块运行参数和状态均由用户按照意愿来设定且相互之间不会受到彼此的制约,且在运行期间可随时启/停某一个子节点。
4) 产品的个性化、便携性和灵活组态性:现有的PCR仪多受限于实验室使用,不能随意组合、外携使用或根据具体需要灵活配置以及控制。而本设计结构中的每一模块可以很方便的添加和移除,实现了仪器的便携化和方便的组态化,这既可以为某些特殊研究人群提供一个很好的个人化实验平台以便其开展个性化的研究领域。同时,这种优势也使得现场检验测试成为可能,大大拓宽了PCR仪应用领域。
3 具体实现方案和硬件电路设计
3.1 实现方案的比较与选取
1) 主控制芯片的选择:温控模块所选用芯片是意法半导体的STM32F107系列微控制器,与以往的80C51相比,这是一款高性能、低功耗的32位控制芯片,系统时钟最高可配置为72MHz,内部集成有CAN、ADC、DAC、USB等众多实用外设,因此大大简化了硬件电路,节约了开发成本,降低了软件开发的难度。
2) 上位机通信总线的选取:以前很多仪器采用RS232串口通信来完成PC机与仪器之间的通信,但RS232串行接口速度低,非差分方式收发数据使得信号容易受到干扰。本设计选择了USB总线,其优势在于:① USB总线采用差分信号来传输数据,最高传输速度480Mb/S,提高了信号的抗干扰性,并保证了系统运行过程中(尤其是多组模块同时工作时)数据上行时对传输能力的需求;② 与用户使用的PC机连接起来非常方便,也使得现场检验测试变得更加简单化、微型化。
3) 模块间的通信总线的选取:本设计选用了CAN总线,与通常采用的I2C总线相比,其好处有:① 更强的抗干扰能力:CAN总线采用差分传输方式,大大提高了通信的安全性和抗干扰性,大大提升了像PCR这类精密仪器的整体性能;② 更大的通信距离:群控形式的框架里面往往包含多个模块且距离都比较远,I2C总线的通信距离局限于3m以内,难以满足。而CAN-BUS在距离40m内通信速率仍能达到1Mbits/S,更好的满足了设计的需要;③ 独特的信息传送方式:该总线具有独特的信息传输方式,其报文的ID代表着信息的内容,这意味着它在理论上可以挂载无数组功能模块。
3.2 硬件电路的设计
图3 温控模块电路设计
图3所示为系统的温度控制和监测电路原理框图[3]。这是一个闭环的过程,CPU接收到相关指令后,通过ADC模块获取实时温度,将实时温度值与给定温度值比较(作差运算),其误差送给PID控制算法,由PID算法得出控制值,再由DAC模块输出具体的控制量,进而达到了温度的闭环控制[4]。
其中温度传感器选用的是Intersil公司的AD590,其线性输出电流1uA/K,温度范围-55℃~150℃。温度监测电路的主要任务是:①使温度测量精度达到±0.15℃;② 实现K氏温度到摄氏温度的变换。
本设计通过改变可控硅的导通角来实现对加热丝的控制,进而达到控制目标温度的目的。其具体实现原理是:在半个交流电周期内,通过零点检测电路获得交流电的零点,积分电路以该点作为积分起点,直到下一次零点到来,得到一个锯齿波。
DAC模块输出值的大小与该锯齿波比较(通过比较器),“比较点”( 比较器输出的翻转点)就代表着可控硅不同的导通位置,即触发角大小。
4 系统软件设计
系统软件部分主要包括温度控制模块应用程序的编写及上位机界面的设计。
4.1 温控模块程序流程图
与传统的单个MCU承担全部任务的架构相比,本设计的分布式架构的每个子模块MCU的任务相对地少了很多,也比较“单一”了。所以系统中就没有必要再采用多线程来处理多任务了。编程时直接采用前台主循环查询配合后台中断处理的模式来完成几个任务的实时处理即可。两个中断分别是USB中断和CAN中断。由于USB承担着传递上位机命令的任务,因此将USB和CAN中断配置成嵌套式中断,USB具有更高的中断优先级。如图4所示。
4.2 上位机设计以及实验结果
在目前的生命科学仪器领域中,以计算机为核心的硬件平台上,由用户自定义、具有虚拟面板、测试功能的虚拟仪器越来越受到用户的认可。在本课题中利用NI公司的LabWindows软件[5]设计了相关的上位机用户界面,具体包括有:操作界面、曲线绘制显示界面、温度数显等。
图4 主节点程序流图
用户配置好相关参数后(主要有:目标温度点参数、循环次数、PID参数等),点击Start按钮开始运行,系统就开始按照预定参数开始运行。运行时,下位机不断上传温度数据到上位机,一旦监控到异常情况,也可以通过Stop按钮来暂停机器。当本次试验结束,点击Quit按钮退出试验。
由于该温度控制目标是一个多阶的系统,普通的PID程序并不能满足该系统的需求,本文通过对多种算法的实验和比较,主要有微分先行PID、积分分离PID、双重积分分离PID、专家PID等多种算法。通过实际效果比对,最后选择了积分分离PID算法。该算法应用于本系统的优势有:系统阶跃响应超调小,升降温段的温度跟随速度快,恒温段的温控精度高、波动小。
实际控制曲线由一系列升降温线段和恒温线段组成,设定温度曲线和实际温度曲线以及运行效果如图5所示。
5 总结
与传统架构相比,群控式架构的应用为仪器功能的发挥和使用带来了很多改进(通过增加子模块可方便地提高通量;模块间的独立性使得各个模块之间即可单独配置运行,又可以整体统一配置运行;温度控制具有灵活性和个性化)。突破了制约传统生命科学仪器关键技术发展的瓶颈,这是一次崭新的和成功的尝试,为未来仪器发展探索出了一个新的方向。
图5 温度控制效果图
[1]张文超, 刘晓光, 吴勤勤. 基因扩增分析(PCR)仪温控系统的研究与应用[J]. 华东理工大学学报.2004,30(2):205.
[2]饶运涛, 邹继军, 王进宏等. 现场总线CAN原理与应用技术[M]. 2版. 北京: 北京航空航天大学出版社,2007.8.
[3]张文超. CAN总线技术研究与基于CAN总线的生命科学仪器硬件系统设计(上篇)[J]. 医疗卫生设备. 2005, 26(2):8-10.
[4]张文超. CAN总线技术研究与基于CAN总线的生命科学仪器硬件系统设计(下篇)[J]. 医疗卫生设计
[5]孙晓云. 基于LabWindows/CVI的虚拟仪器设计与应用[M].2版. 北京: 电子工业出版社, 2010.2.