CN106155954B - 一种模块识别和通信端口自动分配的系统及方法 - Google Patents
一种模块识别和通信端口自动分配的系统及方法 Download PDFInfo
- Publication number
- CN106155954B CN106155954B CN201510144999.1A CN201510144999A CN106155954B CN 106155954 B CN106155954 B CN 106155954B CN 201510144999 A CN201510144999 A CN 201510144999A CN 106155954 B CN106155954 B CN 106155954B
- Authority
- CN
- China
- Prior art keywords
- module
- main control
- user
- communication
- control module
- 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.)
- Active
Links
Images
Abstract
本发明涉及一种模块识别及通信端口分配的系统及方法,该系统包括互联板、主控模块、用户模块和电源模块,所述的主控模块、用户模块和电源模块分别通过设置在互联板上的插槽与互联板连接,所述的主控模块包括ARM芯片,所述的用户模块包括CPLD,所述的主控模块的ARM芯片和用户模块的CPLD分别设有通信端口,所述的ARM芯片和用户模块的CPLD通过通信端口进行通信。与现有技术相比,本发明具有便于扩展、便于诊断维修、便于恢复故障等优点。
Description
技术领域
本发明涉及通信领域,尤其是涉及一种模块识别及通信端口自动分配的系统及方法。
背景技术
针对目前电子产品设计,采用模块化设计、通用插槽的设计方法。模块化产品的设计达到以下几个目的:
(1)模块的组合配置,就可以出创建不同需求的产品,便于用户扩展,满足客户的定制要求。
(2)相似性的重用,既可以重用已有件和已有设计经验,也可以重用整个产品生命周期中的采购、物流、制造和服务资源。
(3)减少产品工程复杂程度。
采用模块化设计、通用插槽的设计方法,便于用户对功能扩展。但是对目前的电子产品,插槽功能固定,即对于每一个用户模块,只能插在固定的插槽上。通信端口固定,即对每一个用户模块,其通信端口固定,不具有对用户模块的通信端口进行实时分配和释放功能。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种便于扩展、便于诊断维修、便于恢复故障的模块识别及通信端口自动分配的系统及方法。
本发明的目的可以通过以下技术方案来实现:
一种模块识别及通信端口分配的系统,其特征在于,包括互联板、主控模块、用户模块和电源模块,所述的主控模块、用户模块和电源模块分别通过设置在互联板上的插槽与互联板连接,所述的主控模块包括ARM芯片,所述的用户模块包括CPLD,所述的主控模块的ARM芯片和用户模块的CPLD分别设有通信端口,所述的ARM芯片和用户模块的CPLD通过通信端口进行通信;
主控模块对插在互联板上的用户模块进行识别,获取用户模块的模块信息和通信端口信息,然后根据用户模块的模块信息和通信端口信息对不同类型的用户模块进行通信端口分配,并且进行通信测试,测试通过后,最后进行主控模块与用户模块之间的通信。
所述的互联板上的插槽个数为8个。
所述的主控模块、用户模块和电源模块任意插在互联板的多个插槽中。
所述的主控模块包括处理器芯片和通信接口,所述的处理器芯片与通信接口连接。
所述的通信接口包括UART接口和SPI接口。
一种模块识别及通信端口分配的方法,包括以下步骤:
1)主控模块对用户模块进行识别,具体包括以下步骤:
11)主控模块周期性地通过译码器查询互联板上的插槽状态信息;
12)如果插槽上插有用户模块,则将用户模块的标识信息发回到主控模块中,如果插槽上没有用户模块,则将表示空闲的信号返回给主控模块,并进行下一次的查询;
2)主控模块进行通信端口分配,并与用户模块进行通信,具体包括以下步骤:
21)主控模块创建一个资源链表,将用户模块的标识信息和通信接口的状态信息储存到资源链表中;
22)主控模块通过查询资源链表,找出空闲的通信端口,根据模块类型,从空闲通信端口中分配适合的通信端口;
23)主控模块将分配的通信端口的信息发送给用户模块的模块处理器,模块处理器确定分配到的端口类型并配置相应的通信端口;
24)主控模块向分配的通信端口发送通信测试命令,如果接收到正确的响应,则通信端口分配成功,进行通信,否则,返回步骤21),重新分配端口。
所述的资源链表中的项目包括插槽号、模块类型、分配的端口类型及端口号、模块的固件版本号、模块工作状态和对外端口的工作状态。
与现有技术相比,本发明具有以下优点:
一、便于扩展,电源模块、主控模块和用户模块可以插在互连板的任意插槽上,便于用户模块的扩展和操作。
二、便于诊断维修,主控模块完全掌控插槽、模块及通信端口之间的对应关系,方便故障诊断、定位及维修。
三、便于恢复故障,在有通信端口空闲的情况下,也可以实现对通信故障的模块进行通信端口重分配,从而,快速恢复故障模块功能。
附图说明
图1为本发明的系统结构示意图。
图2为本发明中模块识别结构图。
图3为通信端口分配功能框图。
图4为通信口选择原理框图。
其中,1、互联板,2、主控模块,3、用户模块,4、电源模块。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例:
如图1所示,该系统包含用于系统供电的电源模块4,用于模块识别以及通信端口分配的主控模块2,用于完成各种功能的用户模块3,用于连接各模块的互连板1。互连板1上安装8个通用插槽,而必配的电源模块4不需要通信接口,必配的主控模块2是与其他模块实现通信对端,也可以说是不需要通信接口,这样,8个通用插槽只需要6个通信接口就足够。主控模块2的ARM处理器内置有4个UART接口和2个SPI接口分配给插槽使用。这6个通信端口与插槽及模块之间也不设置强制的固定对应关系,因此,需要实现一种通信端口在模块之间进行自动分配的方案。
模块识别方案
每个模块上有4位模块标识信号(M0~M3)用来表示模块的种类。分配情况如表1所示:
表1 模块标识信号分配表
M3 M2 M1 M0 | 模块种类 |
0 0 0 0 | 电源模块 |
0 0 0 1 | 主控模块2 |
00 1 0 | 用户模块31 |
0 0 1 1 | 用户模块32 |
0 1 0 0 | 用户模块33 |
0 1 0 1 | 用户模块34 |
0 1 1 0 | 用户模块35 |
0 1 1 1 | 用户模块36 |
1 1 1 1 | 无模块 |
依据上表,每个模块上这4位信号都根据模块类型固定,不可人为更改。
互连板插槽上用4位信号(Slot0~Slot3)来标示插槽号,Slot0~Slot3(Slot0为最低位,Slot3为最高位)的十进制数值即为对应的插槽号,通过以下机制就能识别出插槽上对应的模块。
8个插槽选择/标识信号对应到每个插槽上只需该插槽号对应的那个信号就行,因此,插槽上只需一个信号引脚
工作原理如下:
如图2所示,Slot0~Slot3是主控模块2的输出信号,M0~M3是主控模块2的输入信号。主控模块2周期性地从0到互连板上最大插槽数-1向Slot0~Slot3发查询命令,每一个查询命令对应4/16译码器的一个输出端输出为低,这样,对应插槽上三态驱动器被选通,模块上模块标识选择开关分别设置在相应的模块种类状态,主控模块2的M0~M3信号上出现的就是该插槽上当前插上的模块的标识值。当读到的M0~M3信号上数值为1111时,表示该插槽上没插上模块,处于空闲状态。周期性的查询能够实时性地反映各插槽上模块的插拔状态,因此,能够实现模块的自动识别功能。
通信端口分配方案
图3为通信端口分配功能框图,主控模块2可分配给用户模块3的通信端口为UART0、UART2、UART3、UART4、SPI0和SPI1,主控模块2会用4个I/O口信号Psel0、Psel1、Ptype和Pset向用户模块3输出通信端口配置信号,通信端口配置如表2所示,Pset用于配置使能信号,高电平有效,当主控模块2配置好通信端口后,用户模块3的CPLD会根据主控模块2输出的Psel0、Psel1和Ptype的状态来选择主控模块2的通信端口,其实现原理如图4所示,图4为通信口选择原理框图,用户模块3CPLD内部包含一个锁存器、4路4信号分配器和4路2信号分配器,主控模块2扫描某一插槽时,会将Ssel信号拉低,当插槽上有用户模块3,主控模块2会改变Psel0、Psel1和Ptype的状态,进行通信端口的分配,并将Pset拉高,然后置低,这样Psel0、Psel1和Ptype的状态就会被锁存器锁存,信道复用器会根据Psel0、Psel1和Ptype的状态去选择主控模块2的哪一路通信端口与用户模块3ARM控制器UART或SPI通信端口搭接,并通过Comm_port信号告诉用户模块3的ARM控制器分配的是UART还是SPI端口,以便用户模块3配置相应的通信端口,以此实现通信端口分配。
例如当配置为UART0为通信端口时,4信道复用器分别将主控模块2的TXD0、RTS0、CTS0和RXD0分别搭接到用户模块3ARM控制器的RXD1、CTS1、RTS1和TXD1。并将Comm_port置高电平告诉用户模块3的ARM控制器分配的是UART通信端口。
表2 通信端口配置表
NA:表示任意状态
插槽上需增加Psel0、Psel1、Ptype及Pset 4个信号,这4个信号都由主控模块2输出。
Ptype–用于区分通信端口类型,Ptype为1(高电平),选用SPI,Ptype为0(低电平),选用UART口。
Psel0、Psel1–用于选择具体的通信端口。Ptype为0,选用UART口时:
Ptype为1,选用SPI口时:
Psel0
0 SPI0
1 SPI1
Pset–通信端口类型及通信端口号使能信号,高电平有效。
Ssel–插槽选择/标识信号。
Comm_Port–选择的通信口类型指示,用于模块处理器识别选择的通信口类型。
通信口分配过程:
(1)由插槽及模块自动识别过程可以检测出新插入的模块是在哪个插槽上及模块类型,并添加到一个资源链表中,资源链的项目是一个数据结构,包含插槽号、模块类型、分配的端口类型及端口号、模块的固件版本号、模块工作状态、对外端口的工作状态等信息;
(2)通过查询资源链表,找出空闲的通信端口,根据模块类型,从空闲通信端口中分配最适合的通信端口;
(3)根据分配的通信端口类型设置Ptype,根据分配的通信端口号设置Psel0、Psel1,设定Pset为高,根据模块所在的插槽号设置Slot0~Slot3,而后恢复Pset为低,Ptype、Psel0、Psel1信号上的信息就所存在模块中,通信端口类型及端口号就被选定。在该电路中,Pset信号采取适当的滤波处理措施,以防止锁存器误动作;
(4)模块处理器读取Comm_Port信息,确定分配的端口类型,根据分配的通信端口类型配置相应的通信端口。
(5)主控模块2向分配的通信端口发送通信测试命令,如果接收到正确的响应,则表明通信端口分配成功,否则,找到下一个空闲端口,按以上过程进行重新分配。
Claims (5)
1.一种基于模块识别及通信端口分配系统的端口分配方法,其特征在于,所述基于模块识别及通信端口分配系统包括互联板(1)、主控模块(2)、用户模块(3)和电源模块(4),所述的主控模块(2)、用户模块(3)和电源模块(4)分别通过设置在互联板(1)上的插槽与互联板(1)连接,所述的主控模块(2)包括ARM芯片,所述的用户模块(3)包括CPLD,所述的主控模块(2)的ARM芯片和用户模块(3)的CPLD分别设有通信端口,所述的ARM芯片和用户模块(3)的CPLD通过通信端口进行通信;
主控模块(2)对插在互联板(1)上的用户模块(3)进行识别,获取用户模块(3)的模块信息和通信端口信息,然后根据用户模块(3)的模块信息和通信端口信息对不同类型的用户模块(3)进行通信端口分配,并且进行通信测试,测试通过后,最后进行主控模块(2)与用户模块(3)之间的通信;
所述方法包括以下步骤:
1)主控模块对用户模块进行识别,具体包括以下步骤:
11)主控模块周期性地通过译码器查询互联板上的插槽状态信息;
12)如果插槽上插有用户模块,则将用户模块的标识信息发回到主控模块中,如果插槽上没有用户模块,则将表示空闲的信号返回给主控模块,并进行下一次的查询;
2)主控模块进行通信端口分配,并与用户模块进行通信,具体包括以下步骤:
21)主控模块创建一个资源链表,将用户模块的标识信息和通信接口的状态信息储存到资源链表中;
22)主控模块通过查询资源链表,找出空闲的通信端口,根据模块类型,从空闲通信端口中分配适合的通信端口;
23)主控模块将分配的通信端口的信息发送给用户模块的模块处理器,模块处理器确定分配到的端口类型并配置相应的通信端口;
24)主控模块向分配的通信端口发送通信测试命令,如果接收到正确的响应,则通信端口分配成功,进行通信,否则,返回步骤21),重新分配端口;
所述的资源链表中的项目包括插槽号、模块类型、分配的端口类型及端口号、模块的固件版本号、模块工作状态和对外端口的工作状态。
2.根据权利要求1所述的一种基于模块识别及通信端口分配系统的端口分配方法,其特征在于,所述的互联板(1)上的插槽个数为8个。
3.根据权利要求2所述的一种基于模块识别及通信端口分配系统的端口分配方法,其特征在于,所述的主控模块(2)、用户模块(3)和电池模块(4)任意插在互联板(1)的多个插槽中。
4.根据权利要求1所述的一种基于模块识别及通信端口分配系统的端口分配方法,其特征在于,所述的主控模块(2)包括处理器芯片和通信接口,所述的处理器芯片与通信接口连接。
5.根据权利要求4所述的一种基于模块识别及通信端口分配系统的端口分配方法,其特征在于,所述的通信接口包括UART接口和SPI接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510144999.1A CN106155954B (zh) | 2015-03-30 | 2015-03-30 | 一种模块识别和通信端口自动分配的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510144999.1A CN106155954B (zh) | 2015-03-30 | 2015-03-30 | 一种模块识别和通信端口自动分配的系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106155954A CN106155954A (zh) | 2016-11-23 |
CN106155954B true CN106155954B (zh) | 2023-05-12 |
Family
ID=57340512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510144999.1A Active CN106155954B (zh) | 2015-03-30 | 2015-03-30 | 一种模块识别和通信端口自动分配的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106155954B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648007B (zh) * | 2016-12-09 | 2020-06-19 | 浙江宇视科技有限公司 | 一种通用槽位实现方法、装置及通信设备 |
CN110141221B (zh) * | 2019-06-28 | 2021-04-13 | 联想(北京)有限公司 | 一种监测设备、方法及系统 |
CN111147320A (zh) * | 2019-11-29 | 2020-05-12 | 苏州浪潮智能科技有限公司 | 一种端口信息监控的方法、装置、设备及可读存储介质 |
CN112000189A (zh) * | 2020-08-21 | 2020-11-27 | 浪潮电子信息产业股份有限公司 | 一种基于s2500处理器的服务器主板 |
CN114328335B (zh) * | 2021-12-17 | 2023-11-07 | 武汉天常乐科技有限公司 | 一种智能家居网关扩展uart通讯接口的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6286060B1 (en) * | 1998-06-26 | 2001-09-04 | Sun Microsystems, Inc. | Method and apparatus for providing modular I/O expansion of computing devices |
TWI281805B (en) * | 2004-05-18 | 2007-05-21 | Quanta Comp Inc | System for automatically distributing communication port address |
CN103873302A (zh) * | 2014-03-21 | 2014-06-18 | 杭州华三通信技术有限公司 | 一种虚拟机槽位的分配方法和装置 |
-
2015
- 2015-03-30 CN CN201510144999.1A patent/CN106155954B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6286060B1 (en) * | 1998-06-26 | 2001-09-04 | Sun Microsystems, Inc. | Method and apparatus for providing modular I/O expansion of computing devices |
TWI281805B (en) * | 2004-05-18 | 2007-05-21 | Quanta Comp Inc | System for automatically distributing communication port address |
CN103873302A (zh) * | 2014-03-21 | 2014-06-18 | 杭州华三通信技术有限公司 | 一种虚拟机槽位的分配方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106155954A (zh) | 2016-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106155954B (zh) | 一种模块识别和通信端口自动分配的系统及方法 | |
CN111147619B (zh) | 本地实现rs485从机设备自动分配地址的方法和系统 | |
CN100511200C (zh) | 单串口多cpu的控制方法、系统及设备 | |
CN106850286B (zh) | 单板上的基板管理控制器及网元管理盘的基板管理控制器 | |
CN104615401A (zh) | 一种基于fpga实现kvm方法 | |
CN102724093A (zh) | 一种atca机框及其ipmb连接方法 | |
CN105005545A (zh) | 线卡串口切换装置及方法 | |
CN111023262B (zh) | 一种Modbus协议转换装置及多联机集控系统 | |
CN203706058U (zh) | 一种基于can总线的多i/o板卡扩展结构 | |
CN106338938B (zh) | 一种底板总线通讯编址系统及方法 | |
CN103106113A (zh) | 一种中断事件处理方法和处理设备 | |
CN100550771C (zh) | 实现远程加载单板固件的方法和系统 | |
US8566630B2 (en) | Apparatus, methods and computer program products supporting automatic network identification for power supplies | |
CN105404180A (zh) | 一种应用于智能柜总线控制系统中的节点地址设置方法 | |
CN210573287U (zh) | 扩展电路 | |
CN204496488U (zh) | 一种模块识别和通信端口自动分配的系统 | |
CN103376369A (zh) | 通讯负载的测试方法及装置 | |
CN112328518A (zh) | 一种多路串行通信装置、系统及方法 | |
CN101582055A (zh) | 一种串口接管方法及装置 | |
CN114671049B (zh) | 一种动态可重构飞机客舱娱乐系统集成测试方法及装置 | |
CN213518238U (zh) | 一种复用型光伏控制装置 | |
CN210835089U (zh) | 一种自动检测装置和系统 | |
CN115811467A (zh) | 主从并机方法及电源测试系统 | |
CN106412865A (zh) | 一种通信装置及移动通信设备 | |
CN114942872A (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 |