首页> 中国专利> 一种非对称处理系统下多核共用串口的方法及系统

一种非对称处理系统下多核共用串口的方法及系统

摘要

本发明公开了一种非对称处理系统下多核共用串口的方法及系统,方法包括:主核处理器和从核处理器分别对串口的通信参数进行配置,并分别设置主核处理器的串口驱动方式和从核处理器的串口驱动方式;主核处理器和从核处理器启动完成后,主核处理器根据主核处理器串口驱动方式通过串口下发信息;当检测到从核处理器的驱动串口使能命令时,主核处理器关闭主核串口驱动;从核处理器根据从核处理器串口驱动方式通过串口下发信息。本发明可以实现在非对称处理系统下,实现主从核共用一个串口,主从核的串口驱动互不相干,且不影响系统的稳定性,提高了串口的利用效率。

著录项

  • 公开/公告号CN106445855A

    专利类型发明专利

  • 公开/公告日2017-02-22

    原文格式PDF

  • 申请/专利权人 深圳震有科技股份有限公司;

    申请/专利号CN201610801894.3

  • 发明设计人 李小军;

    申请日2016-09-05

  • 分类号G06F13/38;

  • 代理机构深圳市君胜知识产权代理事务所(普通合伙);

  • 代理人王永文

  • 地址 518057 广东省深圳市南山区高新区北环大道9018号大族创新大厦C区3层

  • 入库时间 2023-06-19 01:36:59

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-08-04

    专利权质押合同登记的注销 IPC(主分类):G06F13/38 授权公告日:20190201 申请日:20160905 专利号:ZL2016108018943 登记号:Y2022980007531 出质人:深圳震有科技股份有限公司 质权人:深圳市高新投小额贷款有限公司 解除日:20230717

    专利权质押合同登记的生效、变更及注销

  • 2022-06-28

    专利权质押合同登记的生效 IPC(主分类):G06F13/38 专利号:ZL2016108018943 登记号:Y2022980007531 登记生效日:20220610 出质人:深圳震有科技股份有限公司 质权人:深圳市高新投小额贷款有限公司 发明名称:一种非对称处理系统下多核共用串口的方法及系统 申请日:20160905 授权公告日:20190201

    专利权质押合同登记的生效、变更及注销

  • 2019-02-01

    授权

    授权

  • 2017-03-22

    实质审查的生效 IPC(主分类):G06F13/38 申请日:20160905

    实质审查的生效

  • 2017-02-22

    公开

    公开

说明书

技术领域

本发明涉及嵌入式系统技术领域,尤其涉及一种非对称处理系统下多核共用串口的方法及系统。

背景技术

在嵌入式多核系统领域,存在两种技术,一是AMP(Asymmetric Multi-Processing)非对称多处理,另外一种是SMP(Symmetric Multi Processing)对称多处理。SMP系统上的每个CPU共享系统所有资源,包括串口在内,SMP系统只要一个控制台就够了。而AMP每个CPU有独立的运行代码,任务的调度也是独立的,对整个系统资源的访问也是互斥的,每个CPU上运行的操作系统(OS)甚至完全不一样,这样完全有必要为每个CPU配置一个console(控制台)。在vxworks上支持这种功能,MSD(MIPC Serial Devices)组件完整实现了主从CPU共用串口的功能,该功能基于MIPC(Multi-OS IPC)多操作系统之间进程通信之上,功能完善,实现代码量大,配置也很复杂。从核所在的MSD节点要I/O完全依赖于主核节点,统一与tty驱动交互并实现I/O。如果主核tty驱动阻塞或者主核节点阻塞或者故障,那么所有的从核节点I/O都被阻塞或者故障。

因此,现有技术还有待于改进和发展。

发明内容

鉴于现有技术的不足,本发明目的在于提供一种非对称处理系统下多核共用串口的方法及系统,旨在解决现有技术中从核所在的节点要输入或输出信息完全依赖于主核节点,统一与驱动交互实现输入或输出;如果主核驱动阻塞或者主核节点阻塞或者故障,那么所有的从核节点输入或输出都被阻塞或者故障的技术问题。

本发明的技术方案如下:

一种非对称处理系统下多核共用串口的方法,其中,方法包括:

A、主核处理器和从核处理器分别对串口的通信参数进行配置,并分别设置主核处理器的串口驱动方式和从核处理器的串口驱动方式;

B、主核处理器和从核处理器启动完成后,主核处理器根据主核处理器串口驱动方式通过串口下发信息;

C、当检测到从核处理器的驱动串口使能命令时,主核处理器关闭主核串口驱动;

D、从核处理器根据从核处理器串口驱动方式通过串口下发信息。

所述的非对称处理系统下多核共用串口的方法,其中,所述A中主核处理器和从核处理器分别对串口的通信参数进行配置具体包括:

A11、主核处理器对串口的波特率、奇偶校验位、数据位、输入频率进行配置;

A12、从核处理器对串口的波特率、奇偶校验位、数据位、输入频率进行配置。

所述的非对称处理系统下多核共用串口的方法,其中,所述A中分别设置主核处理器的串口驱动方式和从核处理器的串口驱动方式具体包括:

A21、设置主核处理器的串口驱动方式为中断收发包方式,每次收到或发送一个字符发生一次中断;

A22、设置从核处理器的串口驱动方式为轮询方式,通过查询从核使用串口的标识的值进行输入或输出字符。

所述的非对称处理系统下多核共用串口的方法,其中,所述A之前还包括:

S、预先设置一个从核使用串口的标识,当允许从核使用串口时,从核使用串口的标识的值为真;当不允许从核使用串口时,从核使用串口的标识的值为假。

所述的非对称处理系统下多核共用串口的方法,其中,所述步骤C具体包括:

C1、当从核处理器使用串口时,主核控制从核使用串口的标识的值为真;

C2、当检测到从核使用串口的标识的值为真时,主核处理器关闭主核串口驱动,不驱动硬件。

一种非对称处理系统下多核共用串口的系统,其中,系统包括:

参数配置模块,用于主核处理器和从核处理器分别对串口的通信参数进行配置,并分别设置主核处理器的串口驱动方式和从核处理器的串口驱动方式;

第一串口驱动模块,用于主核处理器和从核处理器启动完成后,主核处理器根据主核处理器串口驱动方式通过串口下发信息;

检测与控制模块,用于当检测到从核处理器的驱动串口使能命令时,主核处理器关闭主核串口驱动;

第二串口驱动模块,用于从核处理器根据从核处理器串口驱动方式通过串口下发信息。

所述的非对称处理系统下多核共用串口的系统,其中,所述参数配置模块具体包括:

第一串口参数配置单元,用于主核处理器对串口的波特率、奇偶校验位、数据位、输入频率进行配置;

第二串口参数配置单元,用于从核处理器对串口的波特率、奇偶校验位、数据位、输入频率进行配置。

所述的非对称处理系统下多核共用串口的系统,其中,所述参数配置模块还包括:

第一串口驱动方式设置单元,用于设置主核处理器的串口驱动方式为中断收发包方式,每次收到或发送一个字符发生一次中断;

第二串口驱动方式设置单元,用于设置从核处理器的串口驱动方式为轮询方式,通过查询从核使用串口的标识的值进行输入或输出字符。

所述的非对称处理系统下多核共用串口的系统,其中,所述系统还包括:

预先设置模块,用于预先设置一个从核使用串口的标识,当允许从核使用串口时,从核使用串口的标识的值为真;当不允许从核使用串口时,从核使用串口的标识的值为假。

所述的非对称处理系统下多核共用串口的系统,其中,所述第一串口驱动模块具体包括:

第一控制单元,用于当从核处理器使用串口时,主核控制从核使用串口的标识的值为真;

第二控制单元,用于当检测到从核使用串口的标识的值为真时,主核处理器关闭主核串口驱动,不驱动硬件。

本发明提供了一种非对称处理系统下多核共用串口的方法及系统,本发明可以实现在非对称处理系统下,实现主从核共用一个串口,主从核的串口驱动互不相干,且不影响系统的稳定性,提高了串口的利用效率。

附图说明

图1为本发明的一种非对称处理系统下多核共用串口的方法的较佳实施例的流程图。

图2为图1中步骤S100的具体实施例一的细化步骤流程图。

图3为图1中步骤S100的具体实施例二的细化步骤流程图。

图4为图1中步骤S300的具体实施例三的细化步骤流程图。

图5为本发明的一种非对称处理系统下多核共用串口的系统的较佳实施例的功能原理框图。

具体实施方式

为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供了一种非对称处理系统下多核共用串口的方法的较佳实施例的流程图,如图1所示,其中,方法包括:

步骤S100、主核处理器和从核处理器分别对串口的通信参数进行配置,并分别设置主核处理器的串口驱动方式和从核处理器的串口驱动方式。

具体实施时,如图2所示,步骤S100中主核处理器和从核处理器分别对串口的通信参数进行配置具体包括:

步骤S111、主核处理器对串口的波特率、奇偶校验位、数据位、输入频率进行配置;

步骤S112、从核处理器对串口的波特率、奇偶校验位、数据位、输入频率进行配置。

进一步的实施例中,如图3所示,步骤S100中分别设置主核处理器的串口驱动方式和从核处理器的串口驱动方式具体包括:

步骤S121、设置主核处理器的串口驱动方式为中断收发包方式,每次收到或发送一个字符发生一次中断;

步骤S122、设置从核处理器的串口驱动方式为轮询方式,通过查询从核使用串口的标识的值进行输入或输出字符。

具体实施时,整个系统上存在一个物理串口(UART),主核对串口进行完整配置,包括波特率,奇偶校验位,数据位,输入频率等,主核串口驱动工作方式为中断收发包方式,每收到或者发送一个字符都会产生中断。

从核初始化串口时,不对串口进行任何硬件配置,使用的波特率也与主核配置完全一样,也不挂载中断服务程序,初始化函数直接返回成功,在tty驱动在设备节点中注册成功后,调用ioctl函数通过命令SIO_MODE_SET + SIO_MODE_POLL设置该设备使用轮询方式。

进一步的实施例中,步骤S100之前还包括:

步骤S10、预先设置一个从核使用串口的标识,当允许从核使用串口时,从核使用串口的标识的值为真;当不允许从核使用串口时,从核使用串口的标识的值为假。

具体实施时,从核UART使用串口的标识记为pollPrintFlag,保存在主从核共享内存中,主从核均可以访问。当pollPrintFlag为真,即pollPrintFlag=enable时,允许从核使用串口,当pollPrintFlag为假,即pollPrintFlag=disable时,不允许从核使用串口。当主核启动在控制台切到从核后启动一个检测任务,用于从核使用完UART后重新回复驱动并能收发字符。

步骤S200、主核处理器和从核处理器启动完成后,主核处理器根据主核处理器串口驱动方式通过串口下发信息。

具体实施时,其中主核处理器和从核处理器启动完成后,主核处理器检测pollPrintFlag的值 ,若当pollPrintFlag为真,即pollPrintFlag=enable时,从核使用串口,当pollPrintFlag为假,即pollPrintFlag=disable时,不允许从核使用串口,同时为主核处理器使用串口。主核与串口UART的驱动机制,采用中断方式收发字符。主核设置串口UART驱动,包括关闭与打开中断、令发送函数是否丢弃字符。

步骤S300、当检测到从核处理器的驱动串口使能命令时,主核处理器关闭主核串口驱动。

具体实施时,如图4所示,步骤S300具体包括:

步骤S301、当从核处理器使用串口时,主核控制从核使用串口的标识的值为真;

步骤S302、当从核处理器使用串口时,主核控制从核使用串口的标识的值为真。

具体实施时,当主核使用串口时,想要从主核切换到从核控制台,则在主核控制台执行命令,设置 pollPrintFlag=ENABLE,同时关闭主核串口收发中断并令发送函数每次调用时直接返回成功,并不驱动硬件。这样串口收到的报文都不会触发主核tty接收任务,tty发送的消息也直接被丢弃了。TTY包括虚拟控制台,串口以及伪终端设备。

步骤S400、从核处理器根据从核处理器串口驱动方式通过串口下发信息。

具体实施时,从核串口轮询发送函数在判断pollPrintFlag=ENABLE后,tty下发的信息可以直接驱动寄存器发送出去,同理轮询输入。

从核与UART的驱动机制,采用轮询方式收发字符,从核设置UART驱动,包括轮询发送函数是否丢弃字符,轮询接收函数是否可以从寄存器读取接收字符。

若从核控制台切换到主核时,与上述流程基本逆行。主核在判断pollPrintFlag=DISABLE后,打开串口收发中断,发送函数也恢复正常。从核则恢复到初始状态不能输出。

以上说明举例是以双核为基础,本发明同样适应双核(4核,8核等等)以上的AMP系统。

在示例性实施例中,装置可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时计算机可读存储介质,例如包括指令的存储器,上述指令可由装置的处理器执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

本发明还提供了一种非对称处理系统下多核共用串口的系统的较佳实施例的功能原理框图,如图5所示,系统包括:

参数配置模块100,用于主核处理器和从核处理器分别对串口的通信参数进行配置,并分别设置主核处理器的串口驱动方式和从核处理器的串口驱动方式;

第一串口驱动模块200,用于主核处理器和从核处理器启动完成后,主核处理器根据主核处理器串口驱动方式通过串口下发信息;

检测与控制模块300,用于当检测到从核处理器的驱动串口使能命令时,主核处理器关闭主核串口驱动;

第二串口驱动模块,用于从核处理器根据从核处理器串口驱动方式通过串口下发信息。

所述的非对称处理系统下多核共用串口的系统,其中,所述参数配置模块具体包括:

第一串口参数配置单元,用于主核处理器对串口的波特率、奇偶校验位、数据位、输入频率进行配置;具体如方法实施例所示。

第二串口参数配置单元,用于从核处理器对串口的波特率、奇偶校验位、数据位、输入频率进行配置;具体如方法实施例所示。

所述的非对称处理系统下多核共用串口的系统,其中,所述参数配置模块还包括:

第一串口驱动方式设置单元,用于设置主核处理器的串口驱动方式为中断收发包方式,每次收到或发送一个字符发生一次中断;具体如方法实施例所示。

第二串口驱动方式设置单元,用于设置从核处理器的串口驱动方式为轮询方式,通过查询从核使用串口的标识的值进行输入或输出字符;具体如方法实施例所示。

所述的非对称处理系统下多核共用串口的系统,其中,所述系统还包括:

预先设置模块,用于预先设置一个从核使用串口的标识,当允许从核使用串口时,从核使用串口的标识的值为真;当不允许从核使用串口时,从核使用串口的标识的值为假;具体如方法实施例所示。

所述的非对称处理系统下多核共用串口的系统,其中,所述第一串口驱动模块具体包括:

第一控制单元,用于当从核处理器使用串口时,主核控制从核使用串口的标识的值为真;具体如方法实施例所示。

第二控制单元,用于当检测到从核使用串口的标识的值为真时,主核处理器关闭主核串口驱动,不驱动硬件;具体如方法实施例所示。

综上所述,本发明提出了一种非对称处理系统下多核共用串口的方法及系统,方法包括:主核处理器和从核处理器分别对串口的通信参数进行配置,并分别设置主核处理器的串口驱动方式和从核处理器的串口驱动方式;主核处理器和从核处理器启动完成后,主核处理器根据主核处理器串口驱动方式通过串口下发信息;当检测到从核处理器的驱动串口使能命令时,主核处理器关闭主核串口驱动;从核处理器根据从核处理器串口驱动方式通过串口下发信息。本发明可以实现在非对称处理系统下,实现主从核共用一个串口,主从核的串口驱动互不相干,且不影响系统的稳定性,提高了串口的利用效率。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号