本发明专利技术提供一种单串口控制多处理器的方法及装置,所述方法包括以下步骤:主CPU接收控制终端所发送的串口切换指令;所述串口切换指令中包括:主CPU的ID号以及目标子CPU的ID号;主CPU根据所述目标子CPU的ID号对子CPU中标志是否占有串口线的寄存器进行设置;子CPU根据设置后的寄存器的状态来占用串口线。本发明专利技术的一种单串口控制多处理器的方法及装置实现了使用单串口来控制多处理器的目的,减少了电路布局成本和设计复杂度。
【技术实现步骤摘要】
本专利技术涉及通信领域,特别是涉及一种单串口控制多处理器的方法以及一种单串口控制多处理器的装置。
技术介绍
随着工业发展的进步,电子设备设计难度越来越高,调试手段同样越来越复杂。一块单板上已不仅仅满足使用一个处理器,有些板卡要求多个处理器协同工作。特别是在高级电信设备,使用ATCA(Advanced Telecom Computing Architecture,高级电信计算平台)架构的产品,一套系统内多项业务由不同板卡协同实现,每块板卡都需要相关的调试手段。而串口作为最通用和最可靠的调试手段,在多处理器系统中要求每个处理器都有一个串口调试电路。传统的方法中,每块单板上都留有串口接口,用于连接各自的处理器。但是采用这种方法,由于多个串口连接器需要占用板卡较多的空间,因此增加了电路布局成本。
技术实现思路
基于此,本专利技术提供一种单串口控制多处理器的方法及装置,能够减少电路布局成本。为实现上述目的,本专利技术采用如下的技术方案:一种单串口控制多处理器的方法,包括以下步骤:主CPU接收控制终端所发送的串口切换指令;所述串口切换指令中包括:主CPU的ID号以及目标子CPU的ID号;主CPU根据所述目标子CPU的ID号对子CPU中标志是否占有串口线的寄存器进行设置;子CPU根据设置后的寄存器的状态来占用串口线。一种单串口控制多处理器的装置,包括主CPU以及至少一个子CPU;所述主CPU包括:串口切换指令接收模块以及寄存器设置模块;所述子CPU包括:占用模块;所述串口切换指令接收模块用于接收控制终端所发送的串口切换指令;所述串口切换指令中包括:主CPU的ID号以及目标子CPU的ID号;所述寄存器设置模块用于根据所述目标子CPU的ID号对子CPU中标志是否占有串口线的寄存器进行设置;所述占用模块用于根据设置后的寄存器的状态来占用串口线。由以上的方案可以看出,本专利技术的一种单串口控制多处理器的方法及装置,通过主CPU来对所有子CPU进行管理,根据控制终端发送的串口切换指令中的目标子CPU的ID号来对子CPU中的寄存器进行设置,将串口线切换到指定的子CPU。本专利技术的方法及装置实现了使用单串口来控制多处理器的目的,减少了电路布局成本和设计复杂度,并且在实现的过程中无需手动拔线或者拨码切换,实现了自动化控制;另外本专利技术的方案设计简单,可操作性强,无需复杂的软件控制,释放了软件资源,且无需增加其它器件,仅由系统处理器就能实现,节约成本。附图说明图1为本专利技术的一种单串口控制多处理器的装置结构示意图;图2为本专利技术另一实施例中的一种单串口控制多处理器的装置结构示意图;图3为本专利技术的一种单串口控制多处理器的方法流程示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。参见图1所示,一种单串口控制多处理器的装置,包括主CPU(CPU,Central Processing Unit,中央处理器)10以及至少一个子CPU20(图1中以两个子CPU为例);所述主CPU10包括:串口切换指令接收模块101以及寄存器设置模块102;所述子CPU20包括:占用模块201;所述串口切换指令接收模块101用于接收控制终端所发送的串口切换指令;所述串口切换指令中包括:主CPU的ID号以及目标子CPU的ID号;所谓的目标子CPU,即指控制终端所决定要访问的子CPU(即需要切换的子CPU);所述寄存器设置模块102用于根据所述目标子CPU的ID号对子CPU中标志是否占有串口线的寄存器进行设置;所述占用模块201用于根据设置后的寄存器的状态来占用串口线。本专利技术实施例的方案中,系统预先为每个CPU都分配了固定位宽的ID号。控制终端决定访问哪个处理器的串口,每次控制终端通过下发命令来切换其它子CPU串口时,都需要先访问主CPU,将所述串口切换指令发送给主CPU;主CPU接收到串口切换指令后,通过其它通讯路径,设置其它子CPU的寄存器,此时还是由主CPU占有串口线;当寄存器设置完成后,每个子CPU就可以根据自身的寄存器状态来判断是否占有串口线。此时主CPU与目标子CPU同时具有接收功能,但发送数据给控制终端的功能只有目标子CPU拥有。作为一个较好的实施例,所述寄存器设置模块可以包括:指令发送模块以及第二设置模块;另外,所述子CPU还可以包括:第一设置模块;所述指令发送模块用于发送寄存器清0指令给所有子CPU;所述第一设置模块用于根据所述寄存器清0指令将标志是否占有串口线的寄存器设置为0;所述第二设置模块用于根据所述目标子CPU的ID号查找到对应的子CPU,并将该CPU中标志是否占有串口线的寄存器使能设置为1。或者,在另外一个实施例中,所述寄存器设置模块可以包括:第三设置模块以及第四设置模块;所述第三设置模块将当前占用串口线的子CPU中标志是否占有串口线的寄存器设置为0,释放串口线;所述第四设置模块用于根据所述目标子CPU的ID号查找到对应的子CPU,并将该CPU中标志是否占有串口线的寄存器设置为1。由于本实施例中只需要对当前占用串口线的子CPU的占用寄存器进行清0,因此可以加快串口切换速度,提高单串口控制多处理器的效率。本专利技术的方案中,主CPU与子CPU之间、子CPU与其它子CPU之间通讯的方式可以有多种,在其中一个实施例中,所述主CPU与子CPU之间、子CPU与其它子CPU之间均可以通过IIC总线(Inter-Integrated Circuit,集成电路总线)来进行连接。需要指出的是,本专利技术中并不限定于这一种方式,采用其它的通讯方式来代替IIC总线也是可行的。作为一个较好的实施例,本专利技术的一种单串口控制多处理器的装置还可以包括:连接在控制终端与总线之间的电平转换器,以及与CPU的个数相对应的电气隔离模块,如图2所示:所述电平转换器用于在控制终端与总线之间进行电平匹配;例如:当控制终端向总线发送数据时,电平转换器将控制终端发送的信号电平转换成与总线相匹配的电平;同理,当总线向控制终端发送数据时,电平转换器将总线发送的信号电平转换成与控制终端相匹配的电平;所述电气隔离模块用于当所述主CPU或子CPU发生故障时,将该发生故障的主CPU或子CPU与总线进行电气隔离,防止某一路处理器故障对整本文档来自技高网...
【技术保护点】
一种单串口控制多处理器的方法,其特征在于,包括以下步骤:主CPU接收控制终端所发送的串口切换指令;所述串口切换指令中包括:主CPU的ID号以及目标子CPU的ID号;主CPU根据所述目标子CPU的ID号对子CPU中标志是否占有串口线的寄存器进行设置;子CPU根据设置后的寄存器的状态来占用串口线。
【技术特征摘要】
1.一种单串口控制多处理器的方法,其特征在于,包括以下步骤:
主CPU接收控制终端所发送的串口切换指令;所述串口切换指令中包括:
主CPU的ID号以及目标子CPU的ID号;
主CPU根据所述目标子CPU的ID号对子CPU中标志是否占有串口线的寄
存器进行设置;
子CPU根据设置后的寄存器的状态来占用串口线。
2.根据权利要求1所述的单串口控制多处理器的方法,其特征在于,主CPU
根据所述目标子CPU的ID号对子CPU中标志是否占有串口线的寄存器进行设
置的过程包括:
主CPU发送寄存器清0指令给所有子CPU;
各子CPU根据所述寄存器清0指令将标志是否占有串口线的寄存器设置为
0;
主CPU根据所述目标子CPU的ID号查找到对应的子CPU,并将该CPU
中标志是否占有串口线的寄存器设置为1。
3.根据权利要求1所述的单串口控制多处理器的方法,其特征在于,主CPU
根据所述目标子CPU的ID号对子CPU中标志是否占有串口线的寄存器进行设
置的过程包括:
主CPU将当前占用串口线的子CPU中标志是否占有串口线的寄存器设置为
0,释放串口线;
主CPU根据所述目标子CPU的ID号查找到对应的子CPU,并将该CPU
中标志是否占有串口线的寄存器设置为1。
4.根据权利要求2或3所述的单串口控制多处理器的方法,其特征在于,
所述子CPU根据设置后的寄存器的状态来占用串口线的过程包括:
当子CPU检测到自身的寄存器被设置为1后,占用串口线的发送端,且所
述串口线的接收端同时由该子CPU以及主CPU占用。
5.根据权利要求4所述的单串口控制多处理器的方法,其特征在于,在主
CPU接收控制终端所发送的串口切换指令之后,还包括步骤:主CPU返回接收
\t成功标志给控制终端;
在子CPU检测到自身的寄存器被设置为1之后,还包括步骤:子CPU发送
切换成功标志给控制终端;
当发生板卡故障时,控制终端根据所述接收成功标志或切换成功标志来定
位串口故障板卡。
6.一种单串口控制多处理器的装...
【专利技术属性】
技术研发人员:周泽强,
申请(专利权)人:广东威创视讯科技股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。