多模块通信控制方法及呼吸支持设备与流程

文档序号:20687786发布日期:2020-05-08 18:58阅读:191来源:国知局
多模块通信控制方法及呼吸支持设备与流程

本发明属于医疗设备技术领域,具体涉及一种多模块通信控制方法及呼吸支持设备。



背景技术:

在现代临床医学中,呼吸机作为一项能人工替代自主通气功能的有效手段,已普遍用于各种原因所致的呼吸衰竭、大手术期间的麻醉呼吸管理、呼吸支持治疗和急救复苏中,在现代医学领域占有十分重要的位置。医用呼吸机是一种能够起到预防和治疗呼吸衰竭、减少并发症、挽救及延长病人生命的至关重要的医疗设备。

目前医用呼吸机的发展面向大屏、智能化发展,在传统的呼吸机上加入高清触摸大屏,引入网络云平台,势必呼吸机内部结构会原来越复杂,引入的显示屏等模块与呼吸机原有的呼吸参数获取模块等进行协作处理,呼吸机内原控制模块承担的任务越来越多,通信数据接口的负担也越来越重,因此也越来越需要一种稳定高效的的通信处理方法。

在现有技术中,呼吸机有以下三种通信方式:

a、传统的呼吸机采用单个处理器,通过单一的处理模块进行控制,这种类型的呼吸机内部不存在模块之间的通信;

b、一些呼吸机内部设有多个处理模块,多模块之间通过增加双口ram(随机存取存储器,randomaccessmemory)、利用共享内存的方式进行通信;

c、一些呼吸机内部设有多个处理模块,多模块之间通过外设串口和spi口等物理接口、利用通信协议方式通信。

而针对目前的呼吸机向大屏、智能和云互联方式方向发展的趋势,现有的以上三种通信方案至少存在以下缺点:

a方案是单模块方案,对其模块的性能要求高,若涉及多个事务的处理,会增加软硬件的复杂性,系统的稳定性、实时性也会大打折扣,也不利于以后的升级扩展。b方案,虽然通信速度快,但其成本高。c方案,利用传统的通信方式,节约了成本,但相对来说在软件开发上的开销比较大,需要占用较大的系统资源,数据通讯交互的速度也有一定的局限性。



技术实现要素:

本发明的主要目的是提供一种多模块通信控制方法,旨在解决现有的多模块呼吸支持设备内各模块之间的通信速度慢且占用系统资源多的问题。

为实现上述目的,本发明提出一种多模块通信控制方法,用于实现主控模块与数据采集模块、数据显示模块的数据通讯,所述主控模块包括第一cpu、内存、dma控制器、第一串口和第二串口,数据采集模块和第一串口连接,数据显示模块和第二串口连接,所述第一串口和第二串口具有收发缓存,

包括以下步骤:

s1,将第一串口和第二串口配置为dma模式,

s2,在内存中开辟第一内存块、第二内存块,

s3,设置第一dma接收通道的目的地址为第一串口收发缓存地址,设置第一dma接收通道的源地址为第一串口接收地址,使得第一dma接收通道能接收数据,

设置第一dma发送通道的目的地址为第一串口的发送地址,设置第一dma发送通道的源地址为第一串口的收发缓存地址,并使得第一dma发送通道能发送数据,

设置第二dma接收通道的目的地址为第二串口收发缓存地址,设置第二dma接收通道的源地址为第二串口接收地址,使得第二dma通道能接收数据,

设置第二dma发送通道的目的地址为第二串口的发送地址,设置第二dma发送通道的源地址为收发缓存地址,使得第二发送dma通道能发送数据,

s4,启动主控模块和数据采集模块,数据采集模块开始采集数据,所述收发缓存开始接收所述数据采集模块发来的数据,

第一dma通道将收发缓存中的数据传输至所述第一内存块中,

s5,第一cpu能够从第一内存块中提取数据,并对这些数据进行处理,将处理完的数据存储至第一内存块和第二内存块中,

s6,当主控模块要向所述数据显示模块发送数据时,dma控制器将第二内存块中的数据转移到第二串口的收发缓存中,数据显示模块从第二串口的收发缓存中获取数据。

优选地,所述步骤s4包括:s41,第一串口的收发缓存在接收到第一帧数据时,会产生一个数据接收信号通知dma控制器,第一cpu在接收到dma控制器产生的信号后,启动数据封装检测,对第一帧数据进行crc校验,用来判定数据的正确性,防止因干扰产生数据错误,若通过crc校验,第一帧数据在传输过程中没有出错,则进行下一步骤,若第一帧数据在传输过程中出现错误,则证明数据采集模块可能存在异常,则丢弃该数据,并启动异常计数,当异常计数达到一定阈值时,主控模块及数据采集模块自身进入异常处理模式。

优选地,所述步骤s4还包括:

s42,在步骤s41之后,第一cpu根据预设的协议对第一串口收发缓存中的数据进行解析,并提取出内存块编码,判断提取出的内存块编码,并按照内存块编码将数据存储至第一内存块。

优选地,所述步骤s42包括:

s421,根据预设协议,提取第一串口收发缓存中的内存块属性编码,根据内存块属性编码,第一cpu将该段数据直接拷贝至第一内存块中的对应位置;

s422,第一cpu根据呼吸算法需要,从第一内存块中获取数据进行处理。

优选地,所述主控模块内设有定时器,所述步骤s6包括:

s61,定时器定时产生触发请求信号,dma控制器根据触发请求信号逐次获取第二内存块中的数据。

优选地,所述步骤s6还包括:

s62,dma控制器对第二内存块中的数据进行封装后再存储至第二串口的收发缓存中。

优选地,所述多模块通信控制方法应用于呼吸支持设备中,所述数据采集模块具有第二cpu,所述数据采集模块连接有传感器设备和动作执行设备,所述数据显示模块具有第三cpu,所述数据显示模块连接有显示设备、输入设备和声光报警设备。

优选地,当所述主控模块与所述数据采集模块之间的通讯失败时,所述主控模块可直接从所述传感器设备和动作之执行设备获取数据;当所述主控模块与所述数据显示模块之间的通讯失败时,所述主控模块可直接将其处理所得的数据发送到显示设备、输入设备和声光报警设备。

本发明还提出一种呼吸支持设备,包括:主控模块、数据采集模块和数据显示模块的数据通讯,所述主控模块包括第一cpu、内存、dma控制器、第一串口和第二串口,所述数据采集模块和第一串口连接,所述数据显示模块和第二串口连接,所述第一串口和第二串口具有收发缓存;在所述内存中创建有第一内存块和第二内存块,所述数据采集模块和所述第一内存块之间设置有第一dma接收通道和第一dma发送通道,所述数据显示模块和所述第二内存块之间设置有第二dma接收通道和第二dma发送通道。

与现有技术相比,本发明技术方案的有益效果:

一,本发明在呼吸机的传统的通信方式上加入直接内存访问技术,实现了通信交互上的简易性,通过控制器上的直接内存访问技术,可使得各模块无需较多时间关注通信上的控制,配合嵌入式操作系统,可以做到无需干预的高速通信。

二,本发明通过封装通信,使得各模块在获取其他模块的数据时如同操作自己的内存一样,避免了复杂的通信协议,数据在通过各dma通道进行接收时要进行解封,发送时要进行封装,实现了通信交互上的高效性及稳定性,在通过协议的设计及按照设计内存数据传输方式进行数据传输,使得主控模块对于其他外设模块传输来的数据就像访问内存一样;并且,数据的接收和发送采用的协议不复杂,避免了组包解包的时间,数据在接收时通过crc效验可保证数据的正确性和完整性,使得通信高效稳定。

三,本发明还设计有备份控制,在当前的通信出现异常错误时,通过备份控制,可以使得呼吸机维持基本的呼吸支持及声光报警来提示用户处理当前的异常,通过防错机制及系统上的备份控制方案,也提高了数据传输的安全性,当模块出现异常无法通信时,整机系统仍可维持呼吸机的基本运行状态,以便于后续的处理措施。

四,本发明在不增加硬件成本的基础上,在传统的多模块呼吸机内引入通信控制算法逻辑,在软硬件结合的条件下,实现快速数据交互,通过dma+定时器的方式,可以让通信基本无需干预,提高了通信效率,也使得数据能够更新及时;本方法已在目前正在开发的产品上使用,整体上具有通信控制简易,数据传输高效稳定,以及系统安全等优点。

五,本发明将通信方式及数据处理方式全部打包,让两个独立的模块间的通信变得简单,设计上层不需要关注底部是如何通信的,两模块之间的数据如同各自读取自己的内存一样,只要约定好了内存块中的数据是如何排布的就可以,两个模块间的数据会自动交互,保持最新,提高了各模块之间的通信效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。

图1为本发明一实施例提出的多模块通信控制方法应用在呼吸支持设备上的结构框图;

图2为图1提出的多模块通信控制方法的控制原理图一;

图3为图1提出的多模块通信控制方法的控制原理图二;

图4为图1提出的多模块通信控制方法的步骤流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。

另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

在本发明中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

另外,本发明各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

本发明提出一种多模块通信控制方法及呼吸支持设备。

请参照图1至图4,本发明提出一种多模块通信控制方法,主要应用在呼吸支持设备中,呼吸支持设备中设有主控模块和外设模块,外设模块包括数据采集模块和数据显示模块,本发明即是用于实现主控模块与外设模块之间的数据通讯,本多模块通信方法是基于串口并结合dma技术(directmemoryaccess,直接内存访问)提出。

主控模块包括第一cpu、内存、dma控制器、第一串口和第二串口,第一串口和第二串口具有收发缓存。数据采集模块具有第二cpu,数据采集模块通过第一串口连接主控模块,数据采集模块连接有传感器设备和动作执行设备,传感器设备用于采集用户的吸气、呼气的压力和流程等原始数据,动作执行设备用于在主控模块的控制下调节呼吸阀的开度大小等参数。数据显示模块具有第三cpu,数据显示模块通过第二串口连接主控模块,数据显示模块连接有声光报警设备、显示设备和输入设备,声光报警设备用于提醒用户在呼吸机出现异常时及时处理当前的异常,显示设备和输入设备使得客户能对呼吸机进行智能化控制及监控。

本多模块通信控制方法具体包括以下步骤:

s1,将第一串口和第二串口配置为dma模式;

s2,在内存中开辟第一内存块、第二内存块;

s3,初始化dma控制器,

设置第一dma接收通道的目的地址为第一串口收发缓存地址,设置第一dma接收通道的源地址为第一串口接收地址,使得第一dma接收通道能接收数据,

设置第一dma发送通道的目的地址为第一串口的发送地址,设置第一dma发送通道的源地址为第一串口的收发缓存地址,并使得第一dma发送通道能发送数据,

设置第二dma接收通道的目的地址为第二串口收发缓存地址,设置第二dma接收通道的源地址为第二串口接收地址,使得第二dma通道能接收数据,

设置第二dma发送通道的目的地址为第二串口的发送地址,设置第二dma发送通道的源地址为收发缓存地址,使得第二发送dma通道能发送数据;

s4,启动主控模块和数据采集模块,主控模块开始采集数据,收发缓存开始接收数据采集模块发来的数据,第一dma通道将收发缓存中的数据传输至第一内存块中;

其中:

s41,收发缓存在接收到第一帧数据时,会产生一个数据接收信号通知dma控制器,第一cpu在接收到dma控制器产生的信号后,启动数据封装检测,对第一帧数据进行crc校验,用来判定数据的正确性,防止因干扰产生数据错误,若通过crc校验,第一帧数据在传输过程中没有出错,则进行下一步骤,若第一帧数据在传输过程中出现错误,则证明数据采集模块可能存在异常,则丢弃该数据,并启动异常计数,当异常计数达到一定阈值时,主控模块及数据采集模块自身进入异常处理模式;

s42,在步骤s41之后,第一cpu根据预设的协议对收发缓存中的数据进行解析,并提取出内存块编码,判断提取出的内存块编码,并按照内存块编码将数据存储至第一内存块。

s5,第一cpu从第一内存块中提取数据,并对这些数据进行处理,将处理完的数据存储至第一内存块、第二内存块中,

关于第一内存块和第二内存块的设置:传感器设备采集到的是一些模拟量原始数据,数据采集模块在获取到这些数据后,会通过第一cpu进行一些基本的呼吸算法计算,得到压力控制值、流量控制值等基础数据,这些基础数据放置在第一内存块中,这样当与数据采集模块连接的设备需要获取这些基础数据时,可以直接通过第一串口和对应第一dma通道得到这些数据,而无需通过第一cpu的参与;

而由于用户需要,例如处于监测或评估的需求,在数据显示模块要进行显示的数据还包括呼吸频率等其他综合数据,这些要显示的综合数据是第一cpu根据基础数据通过相关的算法进一步计算得到的,并存储在第二内存块中,这样当用户在数据显示模块端想要获取到这些综合数据时,就可以通过第二串口和对应的第二dma通道得到,也同样无需第一cpu的参与;

因此在本发明中,既实现了数据采集模块和主控模块之间的双向通信,也实现了主控模块和数据显示模块之间的双向通信。

s6,主控模块内设有定时器,定时器通过时序控制定时产生触发请求信号,时间到,则dma控制器就根据触发请求信号,逐次按照预设的协议对第一内存块、第二内存块中的数据进行封装后再存储至收发缓存中。

本发明在传统的串口通信方式上加入dma技术,dma是一种无需cpu的参与就可以让外设与系统内存之间进行双向数据传输的硬件机制,使用dma可以使系统cpu从实际的i/o数据传输过程中摆脱出来,从而大大提高系统的吞吐率。采用dma方式的数据传输由dma控制器控制,在传输期间,主控模块的第一cpu可以并发地执行其他任务,当dma结束后,dma控制器通过中断通知第一cpu数据传输已经结束,由第一cpu执行相应的中断服务程序进行后续处理。

第一串口具有收发缓存,第二串口也具有收发缓存,收发缓存对于每个dma通道是独立的。主控模块设有定时器,对于第一串口的收发缓存,可以根据定时器的定时触发请求,向第一内存块中存入数据,对于第二串口的收发缓存;可以根据同一个定时器的定时触发请求,向第二内存块中存入数据;也可以另外采用一个定时器来触发对第二内存块中存入数据。这样对于与数据采集模块连接的传感器设备、执行元件设备等的参数数据可以及时地传输到第一内存块中,而主控模块通过呼吸算法的得到的各种综合参数也可以及时地更新到第二内存块中,这样与数据显示模块连接的显示设备等就可以及时地获取到所有的想要的数据。

进一步地,数据采集模块具有第二cpu,数据采集模块连接有传感器设备和动作执行设备,所述数据显示模块具有第三cpu,所述数据显示模块连接有显示设备、输入设备和声光报警设备,数据采集模块和数据显示模块都相当于具有独立处理能力的单片机模块。而在本多模块通信控制方法中,主控模块还能进行备份控制,当主控模块与数据采集模块之间的通讯失败时,主控模块可直接从所述传感器设备和动作之执行设备获取数据;当主控模块与数据显示模块之间的通讯失败时,主控模块可直接将其处理所得的数据发送声光报警设备。由此,在当前的通过dma通道进行通信的方式失败时,通过备份控制,呼吸支持设备还能维持基本的呼吸支持,也还能实现声光报警功能。

呼吸机在使用过程中,不能因为数据采集模块与主控模块之间通讯失败就直接停机,而本方法中的备份控制的设计,即使得数据采集单元在系统采用dma进行数据通信失败时,还能获取传感器设备采集到的数据,还能控制执行元件进行动作输出,进行基本的通气功能,也能在主控模块与数据显示模块之间通讯失败时,可以直接将通信控制信号传输给声光报警设备,进行声音报警,提示用户当前的dma通信已经断开,提高了呼吸机的安全性。

具体在本实施方式中,第一cpu可以采用at91sam9g45芯片,内存可以采用samsungk4t51163qqbce7芯片。

进一步地,所述步骤s42包括:

s421,根据预设协议,提取接收缓冲中的内存块属性编码;例如收到属性编码为1,那么第一cpu将该段数据直接拷贝至第一内存块中的对应位置。

s422,第一cpu获取数据进行处理;例如呼吸算法需要当前的压力及流量进行相关的处理,则cpu直接读取第一内存块中对应位置的数据。

而对于数据显示模块和主控模块之间的通信,当通过数据显示模块要从主控模块的第二内存块内获取数据时,是采用与步骤s42同样的方式获取,即也是通过预设协议,在第二串口的收发缓存中提取数据的内存块属性编码,例如收到属性编码为2,那么第一cpu直接将上述基础数据直接拷贝到第二内存块中,而第二串口直接根据属性编码2就可以获取到2对应的整个基础数据的数据包,将这些数据发送到显示设备等进行显示,大大提高了数据通信的效率。

数据采集模块对数据的接收、数据显示模块对数据的发送,都要按照设计的通信协议对数据进行封装或解封,协议如下所示,

其中,len为数据包长度,type定义传输的内存块的属性(如1表示传感器采集数据),data内存块数据,checksum为效验,本发明设计的协议主要是定义了内存块的属性编码。数据采集模块和第一内存块之间的数据的接收要按预设协议进行封装,数据的发送要按根据该预设协议进行解封,而第二内存块和数据显示模块之间的数据的接收也要按预设协议进行封装,数据的发送也要根据该预设协议进行解封。通过本协议的设计,将数据按照本协议进行接收和发送,每次传输的都是内存块的数据,通过效验控制数据正确性,收到后覆盖对应内存块数据,即通信双方访问对应数据时都如同访问自身内存中的数据一样,达到模块间共享内存的功能。

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1