基于多嵌入式处理器实现的牵引理疗系统
时间:01-13
来源:互联网
点击:
2.3 基于ARM处理器S3C44B0X的旋转运动控制
医疗设备的运行要求低噪音。系统采用高效率、低噪声的新型220V高压大功率直流电机作为床体运动的执行机构,来实现床体机械系统多维、多轴、多自由度的运动。对直流电机的控制采用PWM方式。PWM驱动采用高效率大功率VMOS管功放电路。在嵌入式电机控制处理器选择上,采用Samsong公司的32位ARM核RISC处理器S3C44B0X。该处理器具有双串行口、5个PWM定时器、8通道10位ADC、最高主频66MHz,完全胜任运动控制要求。
上位机经485总线发出的转动运动指令中包含有速度参数及角度参数数据。三个自由度的旋转运动分别各对应一个PWM定时器的输出。旋转电机的调速由PWM占空比参数调节。速度控制是开环的。角度传感器选用高精度单圈电位计。电位器外接5V激励,即0-360度对应0-5V。实际上,只采用了0-30度范围。这样,ARM控制器、PWM执行器与角度传感器的测量环节构成角度位置闭环调节回路,实现旋转角度的调节。
考虑到目前市场上存在欠款问题并为了更好地回收资金并保护知识产权,结合S3C44B0X的内部资源设计了独特的硬件加密功能。通常加密是利用计算机的日历以及计算机中的硬盘序列号来实现的。计算机的运算能力强,算法实现也容易,但是往往也容易被解密。好的方法是利用电路硬件来做加密。首先,利用S3C44B0X内部的RTC设计日历定时器做硬件注册时间加密。第二,利用DS18B20中全球唯一的序列号作为注册序列号来做加密。DS18B20是DALAS公司生产的数字温度传感器,但在这里并不用其测温,而是利用其中全球唯一的序列号。它与ARM处理器的连接仅用一根数据线作串行数据传输。
图2 旋转运动控制框图
3 软件设计
系统控制任务与算法按照二级拓扑分布在各个嵌入式控制器以及上位机的软件中。STC89C52RD+单片机采用汇编语言编程,效率高,可靠性高。S3C44B0X为ARM7内核,采用C语言加汇编语言进行混合编程。上位机软件则采用功能强大的DELPHI6.0Windows应用程序开发工具开发,运用Object Pascal语言编写程序代码。这使得软件对床体的控制更加灵活、可靠和高效,界面简洁友好,操作方便、可靠性高。在开发过程中采用了一些新的技术,最主要的是控件技术,特别是在串行通信中采用了控件技术,大大提高了串行通信的可靠性,保障了系统的可靠性。其软件结构功能总体框图如图3所示。
3.1 通讯协议
上位机对牵引运动、旋转运动与开关量动作的控制与协调指挥是通过一定协议的数据通讯传达至各嵌入式处理器执行的。通讯指令依照异步串行数据通讯格式制定,包括字头、下位机地址、指令数据和结束符三部分。字头与结束符用于数据同步。指令、数据传达参数设置与控制等信息。
上位机通过485总线主动发出询问指令来获取数据并进行控制。各下位机嵌入式控制器平时处于被动接收状态,当确认查询地址是自己时,即上传数据或执行命令。实践中发现由于信道的问题,首先及最后发送的字符往往会出现错误,从而造成一定的误码。这会影响到系统的可靠性。为了解决这一问题,在字头发送前及结束符发送后,多发送几个无关的字节“0xFF”。实验证明,大大降低了误码率。
3.2 基于Spcomm控件的串口通信实现
用Delphi 实现串口通信,常用的方法有:第一,使用控件。如Mscomm和Spcomm控件等。第二,使用API函数在Delphi 中调用其它串口通信程序。使用API方法的优点是适合编写较为复杂的低层次通信程序,但缺点是编写串口通信程序较为复杂。本系统选用Spcomm。它是Small-Pig Team开发的一个第三方Delphi串口控件,该控件具有丰富的与串口通信密切相关的属性及事件,提供了对串口的各种操作,且编程简单、通用性强、可移植性好。在Delphi软件开发中成为一个被广泛应用的串口通信开发控件。Spcomm串行通信控件为多线程。接收和发送数据分别在两个线程内完成,接收线程负责收到数据时触发OnReceiveData事件。WriteCommData()函数将待发送的数据写入输出缓冲器,发送线程在后台完成数据发送。在接收和发送数据前需要初始化串口,用StartComm打开串口,退出程序时用StopComm关闭串口。
4 总结
医疗设备产品特别是理疗设备直接作用于病人身体,可靠性是第一位,不能出差错。因此,系统的优化设计是关键。将控制任务与算法分布在不同的嵌入式处理器中并行运行,可使每个处理器的程序都明确、清晰,并且方便上位机进行控制。本系统已交付厂家(河南腾远医疗设备有限公司)生产,并已在多家医院投入治疗,反映效果良好,并已产生约一百万元经济效益。已经专家会议鉴定评审为河南省科技成果。
创新点:在复杂的嵌入式系统中采用多个嵌入式处理器结合上位计算机来并行分担系统的复杂任务与算法,为医疗设备的研制获得了难得的可靠性。
医疗设备的运行要求低噪音。系统采用高效率、低噪声的新型220V高压大功率直流电机作为床体运动的执行机构,来实现床体机械系统多维、多轴、多自由度的运动。对直流电机的控制采用PWM方式。PWM驱动采用高效率大功率VMOS管功放电路。在嵌入式电机控制处理器选择上,采用Samsong公司的32位ARM核RISC处理器S3C44B0X。该处理器具有双串行口、5个PWM定时器、8通道10位ADC、最高主频66MHz,完全胜任运动控制要求。
上位机经485总线发出的转动运动指令中包含有速度参数及角度参数数据。三个自由度的旋转运动分别各对应一个PWM定时器的输出。旋转电机的调速由PWM占空比参数调节。速度控制是开环的。角度传感器选用高精度单圈电位计。电位器外接5V激励,即0-360度对应0-5V。实际上,只采用了0-30度范围。这样,ARM控制器、PWM执行器与角度传感器的测量环节构成角度位置闭环调节回路,实现旋转角度的调节。
考虑到目前市场上存在欠款问题并为了更好地回收资金并保护知识产权,结合S3C44B0X的内部资源设计了独特的硬件加密功能。通常加密是利用计算机的日历以及计算机中的硬盘序列号来实现的。计算机的运算能力强,算法实现也容易,但是往往也容易被解密。好的方法是利用电路硬件来做加密。首先,利用S3C44B0X内部的RTC设计日历定时器做硬件注册时间加密。第二,利用DS18B20中全球唯一的序列号作为注册序列号来做加密。DS18B20是DALAS公司生产的数字温度传感器,但在这里并不用其测温,而是利用其中全球唯一的序列号。它与ARM处理器的连接仅用一根数据线作串行数据传输。
图2 旋转运动控制框图
3 软件设计
系统控制任务与算法按照二级拓扑分布在各个嵌入式控制器以及上位机的软件中。STC89C52RD+单片机采用汇编语言编程,效率高,可靠性高。S3C44B0X为ARM7内核,采用C语言加汇编语言进行混合编程。上位机软件则采用功能强大的DELPHI6.0Windows应用程序开发工具开发,运用Object Pascal语言编写程序代码。这使得软件对床体的控制更加灵活、可靠和高效,界面简洁友好,操作方便、可靠性高。在开发过程中采用了一些新的技术,最主要的是控件技术,特别是在串行通信中采用了控件技术,大大提高了串行通信的可靠性,保障了系统的可靠性。其软件结构功能总体框图如图3所示。
3.1 通讯协议
上位机对牵引运动、旋转运动与开关量动作的控制与协调指挥是通过一定协议的数据通讯传达至各嵌入式处理器执行的。通讯指令依照异步串行数据通讯格式制定,包括字头、下位机地址、指令数据和结束符三部分。字头与结束符用于数据同步。指令、数据传达参数设置与控制等信息。
上位机通过485总线主动发出询问指令来获取数据并进行控制。各下位机嵌入式控制器平时处于被动接收状态,当确认查询地址是自己时,即上传数据或执行命令。实践中发现由于信道的问题,首先及最后发送的字符往往会出现错误,从而造成一定的误码。这会影响到系统的可靠性。为了解决这一问题,在字头发送前及结束符发送后,多发送几个无关的字节“0xFF”。实验证明,大大降低了误码率。
3.2 基于Spcomm控件的串口通信实现
用Delphi 实现串口通信,常用的方法有:第一,使用控件。如Mscomm和Spcomm控件等。第二,使用API函数在Delphi 中调用其它串口通信程序。使用API方法的优点是适合编写较为复杂的低层次通信程序,但缺点是编写串口通信程序较为复杂。本系统选用Spcomm。它是Small-Pig Team开发的一个第三方Delphi串口控件,该控件具有丰富的与串口通信密切相关的属性及事件,提供了对串口的各种操作,且编程简单、通用性强、可移植性好。在Delphi软件开发中成为一个被广泛应用的串口通信开发控件。Spcomm串行通信控件为多线程。接收和发送数据分别在两个线程内完成,接收线程负责收到数据时触发OnReceiveData事件。WriteCommData()函数将待发送的数据写入输出缓冲器,发送线程在后台完成数据发送。在接收和发送数据前需要初始化串口,用StartComm打开串口,退出程序时用StopComm关闭串口。
4 总结
医疗设备产品特别是理疗设备直接作用于病人身体,可靠性是第一位,不能出差错。因此,系统的优化设计是关键。将控制任务与算法分布在不同的嵌入式处理器中并行运行,可使每个处理器的程序都明确、清晰,并且方便上位机进行控制。本系统已交付厂家(河南腾远医疗设备有限公司)生产,并已在多家医院投入治疗,反映效果良好,并已产生约一百万元经济效益。已经专家会议鉴定评审为河南省科技成果。
创新点:在复杂的嵌入式系统中采用多个嵌入式处理器结合上位计算机来并行分担系统的复杂任务与算法,为医疗设备的研制获得了难得的可靠性。
ARM 嵌入式 传感器 总线 单片机 电压 放大器 电感 电容 51单片机 继电器 电路 电动机 PWM ADC 温度传感器 C语言 相关文章:
- 人体成分测量装置的设计(09-18)
- 基于ARM的脉象仪系统设计与实现(06-09)
- 基于ARM的脑电信号采集系统(06-16)
- 新型便携式心电监测仪的软硬件设计(03-08)
- CMOS图像通道在超声诊断仪中的应用(03-25)
- 基于ARM9的无线多床位心电监护仪的设计(04-09)