CN104142899A - 单串口控制多处理器的方法及装置 - Google Patents
单串口控制多处理器的方法及装置 Download PDFInfo
- Publication number
- CN104142899A CN104142899A CN201410369616.6A CN201410369616A CN104142899A CN 104142899 A CN104142899 A CN 104142899A CN 201410369616 A CN201410369616 A CN 201410369616A CN 104142899 A CN104142899 A CN 104142899A
- Authority
- CN
- China
- Prior art keywords
- cpu
- sub
- register
- serial port
- port line
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000002955 isolation Methods 0.000 claims description 12
- 238000013461 design Methods 0.000 abstract description 6
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
Landscapes
- Multi Processors (AREA)
Abstract
本发明提供一种单串口控制多处理器的方法及装置,所述方法包括以下步骤:主CPU接收控制终端所发送的串口切换指令;所述串口切换指令中包括:主CPU的ID号以及目标子CPU的ID号;主CPU根据所述目标子CPU的ID号对子CPU中标志是否占有串口线的寄存器进行设置;子CPU根据设置后的寄存器的状态来占用串口线。本发明的一种单串口控制多处理器的方法及装置实现了使用单串口来控制多处理器的目的,减少了电路布局成本和设计复杂度。
Description
技术领域
本发明涉及通信领域,特别是涉及一种单串口控制多处理器的方法以及一种单串口控制多处理器的装置。
背景技术
随着工业发展的进步,电子设备设计难度越来越高,调试手段同样越来越复杂。一块单板上已不仅仅满足使用一个处理器,有些板卡要求多个处理器协同工作。特别是在高级电信设备,使用ATCA(Advanced Telecom ComputingArchitecture,高级电信计算平台)架构的产品,一套系统内多项业务由不同板卡协同实现,每块板卡都需要相关的调试手段。而串口作为最通用和最可靠的调试手段,在多处理器系统中要求每个处理器都有一个串口调试电路。
传统的方法中,每块单板上都留有串口接口,用于连接各自的处理器。但是采用这种方法,由于多个串口连接器需要占用板卡较多的空间,因此增加了电路布局成本。
发明内容
基于此,本发明提供一种单串口控制多处理器的方法及装置,能够减少电路布局成本。
为实现上述目的,本发明采用如下的技术方案:
一种单串口控制多处理器的方法,包括以下步骤:
主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,CentralProcessing 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无法发送或接收数据,由于使用电气隔离模块,CPU不与总线上的RX(receive,接收端)和TX(transport,发送端)直接连接,因此不会造成总线上的RX或TX被拉死成高电平或低电平,避免造成链路瘫痪,保证总线上其它设备正常工作,同时也有利于故障排除。
需要说明的是,在有些处理器内部已经集成电气隔离模块的情况下,此时电气隔离模块将不是必须的。
下面以图2为例,对本发明的方案进行详细阐述:
如图2所示,某一具体实现结构框图中,包括一个主CPU,一个以上的子CPU(以两个子CPU为例),一个PC控制终端,一个RS232电平转换电路,每个CPU配有一个电气隔离模块。每个CPU之间通过IIC总线进行连接,且设置不同的ID号,如主CPU设为0001,子CPU1设0002,子CPU2设为0003。所有CPU的RX通过电气隔离模块均连接在一起,TX也通过电气隔离模块连接在一起。
具体运行过程如下:当PC控制终端需要进行串口切换的操作时,由PC控制端发送切换指令,指令中包括主CPU的ID号与需要切换的目标子CPU的ID号。此时串口线由主CPU占有。当主CPU接收到串口切换指令,主CPU向PC控制终端返回一个接收成功标志。同时主CPU发送寄存器清0指令,将所有子CPU标志着是否占有串口的寄存器全部置0,子CPU释放串口线。然后,主CPU根据PC控制终端指令中的子CPU的ID号,通过IIC进行写子CPU寄存器,将需要占有串口线的子CPU寄存器使能写1;
当被选子CPU检测到寄存器被置1后,将占用串口线TX端,同时向PC控制终端发送一个切换成功标志。此时串口线TX只有被选子CPU占有,其它CPU(包括主CPU)也不能使用TX,而串口的RX同时由被选子CPU和主CPU占用。此时主CPU只响应新的串口切换指令,不处理其它串口命令,而被选子CPU可进行正常调试操作。当需要进行二次切换时,主CPU会接收到新的串口切换指令,重复上述操作即可进行串口切换。
与上述一种单串口控制多处理器的装置相对应,本发明还提供一种单串口控制多处理器的方法,如图3所示,包括以下步骤:
步骤S101,主CPU接收控制终端所发送的串口切换指令,然后进入步骤S102;其中,所述串口切换指令中包括:主CPU的ID号以及目标子CPU的ID号;
步骤S102,主CPU根据所述目标子CPU的ID号对子CPU中标志是否占有串口线的寄存器进行设置,然后进入步骤S103;
步骤S103,子CPU根据设置后的寄存器的状态来占用串口线。
作为一个较好的实施例,步骤S102中主CPU根据所述目标子CPU的ID号对子CPU中标志是否占有串口线的寄存器进行设置的过程具体可以包括如下步骤:
步骤S1021,主CPU发送寄存器清0指令给所有子CPU;
步骤S1022,各子CPU根据所述寄存器清0指令将标志是否占有串口线的寄存器设置为0;
步骤S1023,主CPU根据所述目标子CPU的ID号查找到对应的子CPU,并将该CPU中标志是否占有串口线的寄存器设置为1。
上述步骤S102中主CPU对子CPU的寄存器进行设置的方式并不是唯一的。在另外一个实施例中,步骤S102中主CPU根据所述目标子CPU的ID号对子CPU中标志是否占有串口线的寄存器进行设置的过程具体可以包括如下步骤:
步骤S1024,主CPU将当前占用串口线的子CPU中标志是否占有串口线的寄存器设置为0,释放串口线;
步骤S1025,主CPU根据所述目标子CPU的ID号查找到对应的子CPU,并将该CPU中标志是否占有串口线的寄存器设置为1。
作为一个较好的实施例,所述子CPU根据设置后的寄存器的状态来占用串口线的过程具体可以包括如下步骤:当子CPU检测到自身的寄存器被设置为1后,占用串口线的发送端,且所述串口线的接收端同时由该子CPU以及主CPU占用。
另外,本发明的单串口控制多处理器的方法还具有故障检测功能。即作为一个较好的实施例,在主CPU接收控制终端所发送的串口切换指令之后,还可以包括步骤:主CPU返回接收成功标志给控制终端;以及
在子CPU检测到自身的寄存器被设置为1之后,还可以包括步骤:子CPU发送切换成功标志给控制终端;
当发生板卡故障时,控制终端根据所述接收成功标志或切换成功标志来定位串口故障板卡。本实施例中控制终端根据主CPU或子CPU所返回的标志来定位串口故障板卡,实现故障检测,能够进一步的提高对多处理器的控制效率
上述一种单串口控制多处理器的方法的其它技术特征与本发明的一种单串口控制多处理器的装置相同,此处不予赘述。
通过以上的方案可以看出,本发明的一种单串口控制多处理器的方法及装置,通过主CPU来对所有子CPU进行管理,根据控制终端发送的串口切换指令中的目标子CPU的ID号来对子CPU中的寄存器进行设置,将串口线切换到指定的子CPU。本发明的方法及装置实现了使用单串口来控制多处理器的目的,减少了电路布局成本和设计复杂度,并且在实现的过程中无需手动拔线或者拨码切换,实现了自动化控制;另外本发明的方案设计简单,可操作性强,无需复杂的软件控制,释放了软件资源,且无需增加其它器件,仅由系统处理器就能实现,节约成本。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
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返回接收成功标志给控制终端;
在子CPU检测到自身的寄存器被设置为1之后,还包括步骤:子CPU发送切换成功标志给控制终端;
当发生板卡故障时,控制终端根据所述接收成功标志或切换成功标志来定位串口故障板卡。
6.一种单串口控制多处理器的装置,其特征在于,包括主CPU以及至少一个子CPU;所述主CPU包括:串口切换指令接收模块以及寄存器设置模块;所述子CPU包括:占用模块;
所述串口切换指令接收模块用于接收控制终端所发送的串口切换指令;所述串口切换指令中包括:主CPU的ID号以及目标子CPU的ID号;
所述寄存器设置模块用于根据所述目标子CPU的ID号对子CPU中标志是否占有串口线的寄存器进行设置;
所述占用模块用于根据设置后的寄存器的状态来占用串口线。
7.根据权利要求6所述的单串口控制多处理器的装置,其特征在于,所述寄存器设置模块包括:指令发送模块以及第二设置模块;所述子CPU还包括:第一设置模块;
所述指令发送模块用于发送寄存器清0指令给所有子CPU;
所述第一设置模块用于根据所述寄存器清0指令将标志是否占有串口线的寄存器设置为0;
所述第二设置模块用于根据所述目标子CPU的ID号查找到对应的子CPU,并将该CPU中标志是否占有串口线的寄存器设置为1。
8.根据权利要求6所述的单串口控制多处理器的装置,其特征在于,所述寄存器设置模块包括:第三设置模块以及第四设置模块;
所述第三设置模块用于将当前占用串口线的子CPU中标志是否占有串口线的寄存器设置为0,释放串口线;
所述第四设置模块用于根据所述目标子CPU的ID号查找到对应的子CPU,并将该CPU中标志是否占有串口线的寄存器设置为1。
9.根据权利要求7或8所述的单串口控制多处理器的装置,其特征在于,所述主CPU与子CPU之间、子CPU与其它子CPU之间均通过IIC总线进行连接。
10.根据权利要求7或8所述的单串口控制多处理器的装置,其特征在于,还包括:电平转换器以及电气隔离模块;
所述电平转换器用于将控制终端发送的信号电平转换成与总线相匹配的电平;以及将总线发送的信号电平转换成与控制终端相匹配的电平;
所述电气隔离模块用于当所述主CPU或子CPU发生故障时,将该发生故障的主CPU或子CPU与总线进行电气隔离。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410369616.6A CN104142899B (zh) | 2014-07-30 | 2014-07-30 | 单串口控制多处理器的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410369616.6A CN104142899B (zh) | 2014-07-30 | 2014-07-30 | 单串口控制多处理器的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104142899A true CN104142899A (zh) | 2014-11-12 |
CN104142899B CN104142899B (zh) | 2017-06-13 |
Family
ID=51852078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410369616.6A Expired - Fee Related CN104142899B (zh) | 2014-07-30 | 2014-07-30 | 单串口控制多处理器的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104142899B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010007114A1 (en) * | 1999-12-28 | 2001-07-05 | Tsuyoshi Iizuka | Control apparatus and control method |
CN101089835A (zh) * | 2007-05-30 | 2007-12-19 | 华为技术有限公司 | 单串口多cpu的控制方法、系统及设备 |
CN101510184A (zh) * | 2009-03-13 | 2009-08-19 | 上海微电子装备有限公司 | 多通道串口通讯系统及其控制方法 |
CN202404584U (zh) * | 2011-12-30 | 2012-08-29 | 大连捷成实业发展有限公司 | 一种通用串口系统 |
-
2014
- 2014-07-30 CN CN201410369616.6A patent/CN104142899B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010007114A1 (en) * | 1999-12-28 | 2001-07-05 | Tsuyoshi Iizuka | Control apparatus and control method |
CN101089835A (zh) * | 2007-05-30 | 2007-12-19 | 华为技术有限公司 | 单串口多cpu的控制方法、系统及设备 |
CN101510184A (zh) * | 2009-03-13 | 2009-08-19 | 上海微电子装备有限公司 | 多通道串口通讯系统及其控制方法 |
CN202404584U (zh) * | 2011-12-30 | 2012-08-29 | 大连捷成实业发展有限公司 | 一种通用串口系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104142899B (zh) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100511200C (zh) | 单串口多cpu的控制方法、系统及设备 | |
CN101198943B (zh) | 点到点链路协商方法和装置 | |
CN109558371B (zh) | 用于与微控制器通信的方法、以及计算系统 | |
CN102576339A (zh) | 多协议存储设备桥 | |
CN102508533A (zh) | 一种复位控制装置和方法 | |
CN104133799A (zh) | 一种多网卡ncsi管理系统 | |
CN102724093A (zh) | 一种atca机框及其ipmb连接方法 | |
CN107959806A (zh) | 一种双节点服务器kvm切换线路 | |
RU2015109465A (ru) | Стойка с функцией автоматического восстановления и способ автоматического восстановления для этой стойки | |
CN103345459A (zh) | 基于单板上的多个处理器串口复用的切换方法及切换电路 | |
CN103105895A (zh) | 计算机系统及其显示卡及该系统进行图形处理的方法 | |
CN104636303B (zh) | 一种总线控制方法、电子设备及总线系统 | |
CN104867437A (zh) | Mipi模块的esd保护装置 | |
KR20100133010A (ko) | 통신 시스템, 시험 장치, 통신 장치, 통신 방법 및 시험 방법 | |
US9117034B2 (en) | Data processing apparatus, computation device, control method for data processing apparatus | |
CN103049410A (zh) | 服务器及其串口切换电路 | |
CN105630718A (zh) | 提供主机即时切换分享通用串行总线电子设备的电子装置 | |
CN204440378U (zh) | 通讯传输切换装置及电子系统 | |
JP2010122762A (ja) | 拡張カード、障害診断処理方法、情報処理装置及び障害診断処理プログラム | |
CN111625491A (zh) | 多机串行通信的装置及方法 | |
US20100229041A1 (en) | Device and method for expediting feedback on changes of connection status of monitioring equipments | |
US8954623B2 (en) | Universal Serial Bus devices supporting super speed and non-super speed connections for communication with a host device and methods using the same | |
CN104142899A (zh) | 单串口控制多处理器的方法及装置 | |
US20140379907A1 (en) | Data processing apparatus using network-on-chip technology and control method therefor | |
CN102298416A (zh) | 一种服务器系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Kezhu road high tech Industrial Development Zone, Guangzhou city of Guangdong Province, No. 233 510670 Patentee after: VTRON GROUP Co.,Ltd. Address before: 510670 Guangdong city of Guangzhou province Kezhu Guangzhou high tech Industrial Development Zone, Road No. 233 Patentee before: VTRON TECHNOLOGIES Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170613 |