2021-4-10 | 电子设计论文
一、实验内容及方案的设计
1.信号放大滤波电路
传感器的输出信号一般幅值较小,需要经过相应的放大滤波电路。在实验中,心电、脉搏、呼吸等信号频率不同,而且相应传感器输出的幅值也不同,因此放大滤波电路的参数指标也要求不同,如放大倍数、滤波带宽、截止频率等。对学生而言,在实验中设计3个不同参数的放大滤波电路需要花费大量时间,考虑到有限的实验学时数,我们采用现有的放大倍数可调、滤波参数可调的专用集成模块来完成相关信号的放大滤波处理。该模块主要侧重培养学生电路调试及信号测试能力。
2.信号调理电路
在实验过程中会遇到放大滤波后的信号电压与单片机集成的A/D转换器要求的转换电压不匹配的问题[9-10],需要对放大滤波后的医学信号进行信号调理,使其符合A/D转换器转换电压的要求。信号调理电路是模拟电子技术的一个重要的知识点,通用的信号调理电路较多,如采用电阻分压及电压跟随器组合进行信号调理[11-12]。具体实验中,我们选用由OP07与INA114组成的电路来完成信号调理,如图2所示。图2中的IN+和IN-表示经过放大滤波后传感器信号正端和负端,OUT1输入到dsPIC30F4011单片机集成的A/D转换器进行转换。通过调节R2的阻值来改变INA114第5脚REF的电压值,随着REF电压的变化,OUT1输出势必会有一个电压的抬升,来满足A/D转换器输入的要求。同时,要充分考虑上一级专用放大模块的放大倍数,放大倍数过大,信号调理就失去了作用,放大倍数过小,则不能充分发挥A/D转换分辨率的优势。例如:经放大滤波后的心电信号幅值范围为-1.5~+1.5V,在理想状态下,调节REF电压为1.5V时,OUT1输出范围为0~+3V满足dsPIC30F4011单片机A/D转换输入的要求。
3.dsPIC30F4011单片机处理电路
结合实验条件及学生所学的单片机类型,实验中,选用dsPIC30F4011设计单片机处理电路。dsPIC30F4011是Microchip推出的一款16位的自带DSP引擎的单片机,内部集成了10位高速A/D转换器、UART模块、30个中断源及7个中断优先级设计模块、I/O复用等功能[13]。
3.1单片机硬件电路设计
实验中完成单片机硬件电路设计、焊接调试需要花费大量的时间,为此学生可在现有的开发装置上利用跳线的方式完成硬件电路设计。图3为本实验系统所用的单片机硬件电路,IN1、IN2、IN3分别连接心电、脉搏、呼吸信号,经过放大滤波模块、信号调理模块处理后的信号。单片机利用UART模块经串口电压转换芯片MAX3232与上位机进行命令的解析及数据的传输。
3.2单片机软件程序设计
dsPIC30F4011单片机软件设计在Microchip为其所有的开发工具研发的MPLAB集成环境中完成[13]。实验中,学生设计的单片机软件应实现以下功能:单片机通过通信协议接收上位机传输的数据,同时对传输的数据进行命令解析,当解析到开始进行数据采集命令后,启动A/D转换子程序;A/D转换子程序中,依次对心电、脉搏、呼吸信号进行A/D通道选择、采集、标志并存储到相应的通道缓存区中,例如在对心电信号采集时,通道缓存区中的16位数标志为“000001”(通道数)+10位A/D转换后的有效数据。在A/D转换完成且转换后的数据填满相应的通道缓存区后,单片机根据数据传输协议将3个通道缓存区中数据依次发送到上位机,上位机在接收完成数据后同时发送下次采集命令或停止命令。单片机软件实现的功能是唯一的,但实现的编程思想是灵活多样的,如软件设计采用中断嵌套或采用优先级由高到低或采用查询等待,每种软件编程思想都能实现系统要求的同一功能。这样设计实验,有利于挖掘学生软件编程潜力,充分发挥学生的主观能动性,锻炼学生的自主学习和创新能力。
以下采用中断优先级由高到低编程思想为例作具体说明。系统的软件设计主要由:主程序、A/D转换子程序、串口通信等程序构成。(1)主程序。整个系统的运行需要对单片机一些资源进行初始化,如I/O初始化、系统时钟选择初始化、中断优先级初始化等。初始化中,串口通信中断、A/D转换中断、CPU内部中断三者中断优先级由高到低。主程序控制流程如图4所示。(2)A/D转换子程序。实验设计中要求对心电,脉搏、呼吸3种信号完成数据采集,考虑到3种信号的频率(分别为0.05~100Hz、0.3~3.33Hz、0.3~10Hz)相对较低,可采用适当的A/D数据采样率。本例A/D数据采样率为75kS/s,采样方式为三通道逐次采样,即每个通道理论采样为25kS/s。每个通道A/D转换后数据缓存区设为16个字长,每个通道填满相应的数据缓存区视为1次采集的结束。图5所示为A/D转换流程图。(3)串口通信子程序。为了让单片机及时地接收到上位机发送的指令,以及将A/D转换后的数据有效地上传上位机,本实验系统中上位机与单片机采用全双工异步串口通信,程序命令接收、数据发送流程如图6所示。本例中指令作为控制系统有效运行的唯一识别条件,同时缓存区数据能否及时上传将影响A/D采样率及整个系统的协调运行,因此将串口通信的中断优先级设置为最高级,通过串口中断来完成命令解析及采集数据的上传。
二、实验系统测试结果及扩展
本实验系统要求采集的心电、脉搏、呼吸3种信号在上位机显示,为此需设计相应的上位机软件来配合单片机实现数据的接收显示、命令的传输等功能。学生需要对计算机编程语言有深刻的理解才能完成上位机软件编程。考虑到学生掌握程度的差异,在实验中,一般提供具有通行协议的现成软件来配合完成,学生只需按照提供的通行协议来完成单片机串口通信编程便可实现上位机与单片机的数据交互。本实验系统经过适当的变换和扩展还可以用于其他课程设计或实验中。本实验是在固定采集频率下对3种信号进行采集的,在具体实验中可扩展为通过上位机发送命令的方式改变数据采集频率,达到可调采样频率的目的。
三、结束语
本实验系统将生物医学传感器技术、基础电子、单片机技术、计算机技术等相关的知识综合起来,通过循序渐进的模块设计,使学生对生物医学电子相关专业理论知识及工作原理有清晰和较完整的认识,对一般专业仪器的研制开发过程有系统的了解和掌握。本实验系统有助于激发学生的潜能及学习兴趣,增强他们的自信心和成就感,使学生的实践能力得到提高,学生的综合能力在实验完成的过程中得到了很好的锻炼。本实验系统支撑的实验一般安排于大三下学期及以后,学时数一般为12~20学时。
本文作者:赵晓明 单位:重庆大学生物工程学院现代生命科学实验教学中心