时间:2024-05-04
,
(上海工程技术大学 机械工程学院,上海 201620)
随着社会的不断进步,国内外医学康复界对失能人士及肢体障碍患者的关注越来越多,随之而来开发的康复护理床也各具特色和优点。目前,欧美和日本等几个发达国家在康复护理床研发上,有了突破性进展,具有较高的智能化,但国内护理床的发展还停留在半自动化状态,多数为电动或是手动护理床,功能单一,且操作繁琐,远远不能满足市场的需求。
文献[1-2]介绍了一种电动型护理床的控制方法,采用PLC逻辑控制器进行控制,代替了传统的手动操作,方便实用。文献[3]设计了一套集PLC逻辑控制、上位机监控的智能系统,大大提高了护理床的智能化程度。文献[4-5]阐述了采用STM32微控制进行实时控制,上位机完成功能监控或以太网监控。文献[6-7]介绍了单控制器ARM9对护理床进行控制,可完成数据采集、反馈调节等功能,更进一步提高了护理床的智能化。文献[8]中作者提出了一种融合声纹识别的护理床语音控制技术,能够通过语音识别对床体功能进行控制。文献[9]作者利用HPI通信技术实现DSP图像处理过程中所涉及到的通讯问题。文献[10]设计了一套DSP+ARM双核的电能质量检测系统,搭建了SPI通信系统,实现进行数据的高速传输。文献[11]阐述了双口RAM在DSP与ARM通信中的应用。文献[12]中作者设计了基于OMAP_L138数字三维示波器嵌入式处理平台,采用串口RS-232进行通信。文献[13-16]提出了CAN总线通信在嵌入式智能控制系统中的应用。
本文设计的护理床嵌入式智能控制系统采用ARM与DSP双核处理器,充分体现ARM实时控制、任务分配的优势,采用的DSP微处理器可高速完成人脸信息的处理和判断,为下位机的控制提供必要的指令信息。而要完成双控制器对护理床的智能控制,首先要解决的就是DSP与ARM之间的通信问题。本系统选用的主控制器ARM微处理器型号是S3C2440A,可实现串口RS-232、USB、IIC、SPI等方式通信,选用的副控制器DSP微处理型号是TMS320C6748,可以实现SPI、IIC、USB、串口RS-232、网口等通信。充分考虑传输速率、工况要求等方面因素后,决定采用串行外设接口SPI进行通信。
为满足对护理床的智能控制功能需求,本系统采用ARM+DSP双CPU架构作为嵌入式系统。系统框图如图1所示。ARM作为主控制器,主要完成电机控制、被操作对象反馈信号的采集等任务,DSP作为副控制器,主要完成接收图像信息、处理图像数据。主控制器和副控制器通过SPI进行数据的高速传输。首先,通过摄像头对人脸进行采集并将人脸信息传送至副控制器DSP,然后DSP进行数据处理获取嘴巴、眼睛的参数,经过专家系统规则推理得出病人所需生理活动。此时将推理结果通过SPI发送至主控制器ARM。主控制器ARM接收指令后开始运行功能程序,并经I/O口将控制信号传送至驱动器,从而驱动电动机带动执行件,最后完成所需动作。与此同时,主控制ARM接收霍尔传感器、光电传感器以及电流检测信号,完成实时闭环控制。
图1 护理床控制系统的整体硬件结构示意图
该硬件选型为:主控制器选用ARM9微处理器S3C2440A,配有以太网、SPI通信口、RS-232串口,采用将程序指令和数据分开存储的哈佛体系架构,具有独立的16 KB指令缓存和16 KB数据高速缓存。除此之外,S3C2440A处理器具有很快的处理速度和丰富的外设接口,能够满足护理床控制系统的要求。副控制器选用DSP处理器TMS320C6748,这是业界功耗最低的浮点数字信号处理器,主频高达456 MHz,具有丰富的外设资源,可实现RS-232串口、SPI、网口等通信。主副控制器通过SPI进行通信,SPI工作模式如图2所示。
图2 SPI工作模式示意图
为了合理利用ARM硬件资源,将主控制器底板重新设计,去除系统不需要的模块,保留和新增所需模块。重新设计后的ARM所包含的模块有:核心板接口、电源电路、串口电路、JTAG电路、IIC电路、复位电路、GPIO接口、系统总线接口、SPI接口电路、LED电路等。而重新设计的副控制器包括:核心板接口、电源电路、复位电路、JTAG电路、GPIO电路、LED、电路、串口电路、网络接口电路、视频接口模块电路、SPI接口电路。在硬件电路设计过程中,由于PCB的设计质量的好坏直接影响程序运行的稳定行,因此在设计过程中,从全局角度出发,详细了解每一个元器件的电气特性,严格按照其使用要求进行设计,充分考虑元器件之间存在的干扰及影响,在布局中不断进行调整,最大限度地提高PCB的抗干扰能力。
SPI总线(serial peripheral interface)的通信机制为“主机-从机”方式,能以8位、16位或32位数据流进行环形数据信息交互。根据护理床控制要求,ARM作为主机,DSP作为从机。两个微处理器中都有一个移位寄存器,采用四线制进行连接通信,包括片选信号线(CS)、时钟信号线(CLK)、主机输出/从机输入数据线(MOSI)、主机输入/从机输出数据线(MISO)。ARM通过拉低片选信号(CS)后,两个控制器便可以进行数据通信。
图3 ARM端SPI硬件示意图
S3C2440A包含了2个SPI,每个都有2个分别用于发送和接收的8位移位寄存器。一次SPI传输期间,同时发送(串行移出)和接收(串行移入)数据。由相应控制寄存器设置指定8位串行数据的频率。在使用SPI通信时,主要用到以下寄存器:SPI控制寄存器、SPI波特率预分频寄存器、SPI发送数据寄存器、SPI接收数据寄存器、SPI状态寄存器。在该系统中,主控制器ARM的SPI端口作为主机,可以通过设置SPPREn寄存器中的相应位来控制发送频率。可以修改其频率来调整数据寄存器的值。SPI模型程序编写步骤为:1)设置波特率预分频寄存器(SPPREn);2)设置SPCONn来正确配置SPI模型;3)写数据0Xff到SPTDATn 10次来初始化MMC或SD卡;4)设置起nSS作用的GPIO引脚为低来激活MMC或SD卡;5)发送数据 i 检查发送就绪标志的状态(REDY = 1),并接着写数据到 SPTDATn;6)接收数据(1):SPCONn 的TAGD位禁止=普通模式;7)i写 0xFF 到 SPTDATn,然后确认 REDY 的置位,并接着从读缓冲器读取数据;8)接收数据(2):SPCONn 的 TAGD 位使能 = 自动发送杂数据模式;9)i确认 REDY 的置位,并接着从读缓冲器读取数据(然后自动开始传输);10)设置起 nSS 作用的 GPIO 引脚为高来释放 MMC 或 SD 卡。程序设计如下。
3.2.1 初始化函数
void SPI0Init(void){
rGPECON &= ~((3<<26)|(3<<24)|(3<<22));
rGPGCON |= ((2<<26)|(2<<24)|(2<<22));
rSPPRE0 = (PCLK/2/1000000) - 1;
rCLKCON = (rCLKCON & ~(1 << 18)) | (1 << 18);
rSPCON0 &= ~(0x7f);
rSPCON0 |= ((1<<4)|(1<<3));
rSPPIN0 &= ~((1<<2)|(1<<0));
}
3.2.2 数据传输函数
u8 SPI0RWData(u8 dat){
u8 retry=0;
u8 temp = 0;
while (!(rSPSTA0 & 0x01)) 等待数据传输就绪
{
retry++;
if(retry>200)return 0;
} 传输数据
rSPTDAT0 = dat;
while (!(rSPSTA0 & 0x01)) 等待数据传输就绪
{
retry++;
if(retry>200)return 0;
}
temp = rSPRDAT0;
return temp; 返回数据
}
DSP内部硬件配置有:DSP移位寄存器、16位发送缓冲寄存器(TXFIFO)、16位接收缓冲寄存器(RXFIFO)。在通信过程中采用环形数据传输模式,如图4所示。
1)SPI硬件接口电路,是DSP与ARM进行数据交换的硬件接口,在通信过程中将SPI的MISO、MOSI、CS引脚的DSP端都接上500欧姆上拉,CLK信号线使用1 K欧姆下拉,经过测试,这样的设置使得通信稳定性和可靠性更好。
2)主程序设计。主要完成主程序配置,即SPI工作模式的合理化配置,这是保证通信的首要步骤。配置过程为:1)将DSP的SPI配置为从机模式,且其数据位为16位数据交换模式;2)结合主控制器ARM的SPI时序,配置DSP端SPI时序与其相互匹配;3)将发送缓冲 TXFIFO 和接收缓冲 RXFIFO配置为中断工作模式。在SPI工作时,负责接收中断程序,并读取数据,同时将必要数据传送给主控制ARM。
3)发送中断程序的配置。在主程序执行过程中,当中断触发,主程序将接收到的数据发送出去。执行过程为:DSP硬件不断将TXFIFO中的数据发送出去,那么TXFIFO中的数据不断减少,直至到达其设定阈值,此时发生中断,执行发送中断服务程序。
4)接收中断程序的配置。配置接收中断程序是将RXFIFO接收到的数据读取出来,其过程类似于发送中断程序。执行过程为:DSP硬件不断接收数据并存储至RXFIFO中,那么RXFIFO中的数据不断增加,直至到达其设定的阈值,此时发生中断,执行接收中断服务程序。
图4 数据传输模式示
图5 SPI接口设计示意图
数据传输函数如下:
Void SPI_Transfer(Uint16 *SPI_SRC,Uint16 *SPI_DST){
int a; //定义变量
for(a=0;a<256;a++)
{
While(CHKBIT(spiRegs->SPIBUF, 0x20000000))
{;}
CSL_FINS(spiRegs->SPIDAT0,SPI_SPIDAT1_TXDATA,*SPI_SRC++);
delay(30); //稍加延时 *SPI_DST++=CSL_FEXT(spiRegs->SPIBUF,SPI_SPIBUF_RXDATA);
}
}
实验现场平台如图6所示。主要实验设备包括:计算机、DSP副控制器及在线仿真器、ARM主控制器、微型摄像头、显示器等。
图6 实验现场平台
本系统在实验过程中采用上位机在线仿真、下位机实时验证等方法。首先,将所有设备正确连接后,对人脸进行信息采集,副控制器DSP获取人脸参数,包括眼睛和嘴巴参数,然后通过专家系统推理,得出相应结果,并实时将处理结果通过SPI接口传输到主控制ARM,主控制器接收指令后进行综合判断,在片内运行功能函数,紧接着经I/O端口将控制信号发送至驱动器,从而驱动电机带动执行机构完成相应动作。与此同时主控制器ARM通过接收霍尔传感器信号、光电传感器信号、电流数据采集信号,然后进行实时精确化控制。
实验结果显示,副控制器DSP可通过摄像头对人脸信息进行准确采集,并完成眼睛和嘴巴的参数提取,然后通过专家系统推理得出相应结果。最后经SPI通信接口将相应结论传输至主控制器ARM,从而ARM依据接收到的指令,运行片内功能函数,通过I/O端口经驱动器驱动电机并带动执行机构完成相应功能动作。与此同时,主控制器ARM接收传感器的采集信号并形成闭环实时控制回路。在该智能控制系统中,SPI通信的有效性是其功能实现的重要保障,而ARM与DSP时序的正确匹配又是数据有效传输的必要条件。如图7所示,ARM与DSP时钟的匹配保证了在MISO与MOSI数据交互时不发生信号的跳变。在完成通讯的基础上,DSP接收人脸信息并处理,同时将相应结果数据传送至ARM端,ARM端接到指令并及时做出响应,并反馈信息给DSP。
SPI在ARM与DSP通信的应用使得整个系统的执行效率高、稳定性好。SPI传输速率最高可达16 Mbit/s,且硬件设计部分简单,无需外设扩展。在该系统中应用SPI作为主控制器ARM和副控制器DSP的通信接口,使得系统能够有效的完成二者之间的数据交互,让整个系统更加融合。基于ARM与
图7 通讯测试示意图
DSP融合的康复护理机器人床,是将ARM和DSP双控制应用到护理床上的一种新型方式,可实现智能护理。克服了普通护理床功能单一化、低智能化的问题,为未来护理床的发展提供了基础性的储备。随着社会的不断进步与发展,智能化的医疗护理设备将成为热点,而嵌入式控制器如ARM、DSP等在智能化、小型化设计中有着明显的优势。而在设计开发过程中依据不同类型的嵌入式控制器特点及优势进行组合使用将成为大趋势。本文提及的ARM与DSP双控制融合的嵌入式系统架构,在未来的发展中可将其设计为统一控制器,内部直接完成通信电路的设计以及资源的共享,例如包含ARM与DSP双核处理器的控制器。这将大大提高嵌入式控制系统的广泛实用性。同时也会为智能化设备提供有力的硬件支持。
[1]牛 山,王继荣,苏明顺,等. 电动型多功能护理床PLC的控制系统设计[J]. 青岛大学学报(工程技术版),2017(1):37-41.
[2]冯亚文,李林钊,周 锐,等. 新型多功能护理床的设计研究[J]. 科技展望,2017(3):110.
[3]林 玲. 失能人士护理设备质量检测系统的设计与实现[D].西安:西安电子科技大学,2015.
[4]高振斌,李 涛,白 明,等. 家庭护理床的智能监控系统设计与实现[J]. 现代电子技术,2016,(14):42-45.
[5]常国权,侯贵法,郭晓波. 基于以太网的智能护理床系统设计与实现[J]. 电子器件,2015(4):893-897.
[6]刘凌峰. 多功能护理床智能监测与控制系统[D].天津:天津工业大学,2016.
[7]陈 敏. 康复护理机器人床控制系统的研究与开发[D].上海:上海工程技术大学,2016.
[8]陈俊彬. 融合声纹识别的护理床语音控制系统研发[D].广州:广东工业大学,2016.
[9]伍 坪. 基于DSP图像处理和HPI通信接口的采摘机器人设计[J]. 农机化研究,2017,(10):228-232.
[10]王丽颖. 基于DSP和ARM的电能质量监测系统[D].上海:上海交通大学,2009.
[11]房绪鹏,李 辉,庄见伟,等. 基于DSP+ARM的电能质量检测仪的设计[J]. 现代电子技术,2017(4):179-182.
[12]周 亮. 基于OMAP-L138的数字三维示波器嵌入式处理平台硬件设计[D].成都:电子科技大学,2014.
[13]陈浩然. 某生产线搬运机器人伺服控制系统研究[D].南京:南京理工大学,2016.
[14]Yang G, Wang F, Cui S, et al. ARM and DSP Based Device for Power Quality Monitoring[M]. Advances in Electronic Engineering, Communication and Management Vol.2. Springer Berlin Heidelberg, 2012:163-168.
[15]Li J, He Y, Zou Z, et al. Design of an Embedded Multi-biometric Recognition Platform Based on DSP and ARM[M]. Biometric Recognition. Springer International Publishing, 2014:426-433.
[16]李 露. 基于CAN总线的多功能床控制器的研发[D].天津:河北工业大学,2013.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!