实现串口通信的方法、设备及系统的制作方法

文档序号:7773612阅读:230来源:国知局
专利名称:实现串口通信的方法、设备及系统的制作方法
技术领域
本发明涉及通信技术领域,特别涉及一种实现串口通信的方法、设备及系统。
背景技术
目前,主设备主要通过串行总线来管理与其连接的从设备,并根据从设备的设备ID来识别不同的从设备,其中,串行总线供与其连接的所有从设备共享使用,从设备的设备ID则通过拨码开关、选焊电阻或者软件配置等方式来确定。当主设备与其连接的从设备进行通信时,主设备向与其连接的从设备发送包含有从设备的设备ID的数据报文;那么,从设备在接收到主设备所发送的数据报文后,如果所接收到的数据报文中的设备ID与自身的设备ID不相同,则丢弃该数据报文,否则,接收该数据报文。上述根据从设备的设备ID来识别不同从设备的技术存在以下的问题:1、当通过拨码开关的方式来实现从设备的设备ID的设置时,由于拨码开关的可靠性较差,容易造成设备ID的设置有误,从而存在识别从设备时的识别误差。2、当通过选焊电阻的方式来实现从设备的设备ID是设置时,相同类型的从设备需要使用不同的清单进行管理和区分,将会造成生产加工的成本及管理成本较高。3、当通过软件配置的方式来实现从设备的设备ID的设置时,软件配置容易出错,造成设备ID的设置有误,从而存在识别从设备时的识别误差。4、当从设备的设备ID设置出错时,故障排查的困难较大。5、主设备与从设备进行通信时,通讯数据由于需要包含设备ID的信息,这将造成设备内部的通信协议的开销较大,从而造成数据传输的效率低。为了解决上述因设置了从设备的设备ID而引出的问题,现有技术中,主设备通过不同的串行总线来管理与其连接的从设备,具体实现方式如下:在硬件实现上,主设备根据与其连接的从设备的数量来设计串行总线的接口,以便每个从设备可以分别使用一组串行总线与主设备进行通信;在软件实现上:主设备通过不同的串行总线来识别和操作不同的从设备。主设备通过不同的串行总线来管理与其连接的从设备虽然解决了因设置从设备的设备ID而引起是问题,但是,该技术方案却存在以下的问题:1、每个从设备分别使用一组串行总线与主设备通信,导致主设备与从设备间布线太复杂,不适于远距离设备间通信。2、由于主设备需要根据与其连接的从设备的数量来设计串行总线的接口,得主设备所管理的从设备数量局限于主设备的串行总线的接口。3、主设备根据从设备的数量来设计串行总线的数量,无法使用共享型的总线,这样,主设备将要扩展较多的串行总线接口,硬件成本较高。

发明内容
为了解决上述技术问题,本发明实施例提供了一种实现串口通信的方法、设备及系统。所述技术方案如下:一种实现串口通信的方法,所述方法包括:通过控制总线和串行总线确定各在位的从设备;通过所述控制总线接收所述各在位的从设备发送的中断请求;如果当前仅接收到一个在位的从设备发送的中断请求,则将串行总线分配给当前发送中断请求的在位的从设备;如果当前接收到多个在位的从设备发送的中断请求,则确定所述多个在位的从设备对应的中断优先级,根据所述多个在位的从设备对应的中断优先级将串行总线分配给所述多个在位的从设备中的一个在位的从设备;通过所述串行总线与分配有所述串行总线的在位的从设备进行数据通讯。一种主设备,所述主设备包括:确定模块、接收模块、第一分配模块、第二分配模块和数据通信模块;所述确定模块,用于通过控制总线和串行总线确定各在位的从设备;所述接收模块,用于通过所述控制总线接收所述各在位的从设备发送的中断请求;所述第一分配模块,用于如果当前仅接收到一个在位的从设备发送的中断请求,则将串行总线分配给当前发送中断请求的在位的从设备;所述第二分配模块,用于如果当前接收到多个在位的从设备发送的中断请求,则确定所述多个在位的从设备对应的中断优先级,根据所述多个在位的从设备对应的中断优先级将串行总线分配给所述多个在位的从设备中的一个在位的从设备;所述数据通信模块,用于通过所述串行总线与分配有所述串行总线的在位的从设备进行数据通讯。一种实现串口通信的系统,所述系统包括:主设备和多个从设备,所述多个从设备分别通过同一串口总线和同一控制总线与所述主设备相连;所述主设备用于通过控制总线和串行总线确定各在位的从设备;所述从设备用于通过所述控制总线向所述主设备发送中断请求;所述主设备通过所述控制总线接收所述各在位的从设备发送的中断请求,如果当前仅接收到一个在位的从设备发送的中断请求,则将串行总线分配给当前发送中断请求的在位的从设备,如果当前接收到多个在位的从设备发送的中断请求,则确定所述多个在位的从设备对应的中断优先级,根据所述多个在位的从设备对应的中断优先级将串行总线分配给所述多个在位的从设备中的一个在位的从设备;所述主设备用于通过所述串行总线与分配有所述串行总线的在位的从设备进行数据通讯。本发明实施例提供的技术方案带来的有益效果是:首先,本技术方案未引入设备ID,可以克服现有技术中因设置设备ID而引起的一系列问题;其次,从设备可以通过控制总线来主动向主设备发送中断请求来申请串行总线的使用权,避免主设备主动去轮询从设备是否申请串行总线,从而提高了主设备的处理效率;再者,当同时有多个从设备申请串行总线时,主设备通过中断优先级来管理和为从设备分配串行总线,不会引起共享型串行总线冲突。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例1中提供的一种实现串口通信的方法流程图;图2是本发明实施例2中提供的一种实现串口通信的系统示意图3是本发明实施例2中提供的一种实现串口通信的系统示意图;图4是本发明实施例2中提供的一种实现串口通信的方法流程图;图5是本发明实施例3中提供的一种主设备;图6是本发明实施例3中提供的一种主设备。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。实施例1参见图1,一种实现串口通信的方法,方法具体包括如下操作:步骤101:通过控制总线和串行总线确定各在位的从设备;步骤102:通过控制总线接收各在位的从设备发送的中断请求;步骤103:如果当前仅接收到一个在位的从设备发送的中断请求,则将串行总线分配给当前发送中断请求的在位的从设备;步骤104:如果当前接收到多个在位的从设备发送的中断请求,则确定多个在位的从设备对应的中断优先级,根据多个在位的从设备对应的中断优先级将串行总线分配给多个在位的从设备中的一个在位的从设备;步骤105:通过串行总线与分配有串行总线的在位的从设备进行数据通讯。首先,本技术方案未引入设备ID,可以克服现有技术中因设置设备ID而引起的一系列问题;其次,从设备可以通过控制总线来主动向主设备发送中断请求来申请串行总线的使用权,避免主设备主动去轮询从设备是否申请串行总线,从而提高了主设备的处理效率;再者,当同时有多个从设备申请串行总线时,主设备通过中断优先级来管理和为从设备分配串行总线,不会引起共享型串行总线冲突。实施例2参见图2,为本发明实施例所提供的一种实现串口通信的系统,该系统包括:主设备101和从设备201、从设备202、……、从设备20N共N个从设备,其中,N为大于等于2的整数;本发明实施例中,上述N个从设备分别可以通过同一串行总线和同一控制总线与主设备101相连。本发明实施例中,串行总线具体可以为RS232、RS485或者RS422,通常情况下,该串行总线用于在主设备与从设备之间传输数据,可以包括接收通道RXD和发送通道TXD。其中,RS232、RS485 或者 RS422 是 EIA (Electronic Industry Association,美国电子工业协会)制定的一种串行物理接口,RS则是指英文Recommendation Criterion (推荐标准)的缩写,232、485或者422为标识号。本发明实施例中,控制总线具体可以只包含有一根信号线,用于在主设备与从设备之间传输控制信号,如中断请求信号等。参见图3,本发明实施例中,主设备101包括中央处理单元CPU (CentralProcessing Unit,中央处理单元)模块1011、串行总线接口模块1012和控制处理模块1013,其中,CPU模块2011分别通过CPU内部总线与串行总线接口模块1012和控制处理模块1013相连,且CPU模块2011通过CPU内部总线操控串行总线接口模块1012实现与从设备的数据通信,并通过CPU内容总线操控控制处理模块1013实现从设备的控制和中断处理。以上述N个从设备中的从设备201为例来详细介绍从设备的内部结构,其他从设备的内部结构与从设备201相同,就不再赘述。具体地,从设备201包括CPU模块2011、控制逻辑模块2012和串行总线接口模块2013,其中,CPU模块2011分别通过CPU内部总线与串行总线接口模块2012和控制逻辑模块2013相连。本发明实施例中,上述N个从设备内部的逻辑控制模块分别通过同一控制总线与主设备101内部的控制处理模块2013相连,上述N个从设备内部的串行总线接口模块分别通过同一串行总线与主设备101内部的串行总线接口模块2012相连。本发明实施例中,控制处理模块103和控制逻辑模块2012具体可以由CPLD (Complex Program Logic Device,可编程逻辑器件)实现,其中,控制处理模块103包括使能控制寄存器和中断使能寄存器。基于以上所述的系统,主设备便可以根据控制总线来识别不同的从设备,而串行总线可以供所有的从设备共享使用,具体地:主设备用于通过控制总线和串行总线确定各在位的从设备;从设备用于通过控制总线向主设备发送中断请求;主设备通过控制总线接收各在位的从设备发送的中断请求,如果当前仅接收到一个在位的从设备发送的中断请求,则将串行总线分配给当前发送中断请求的在位的从设备,如果当前接收到多个在位的从设备发送的中断请求,则确定多个在位的从设备对应的中断优先级,根据多个在位的从设备对应的中断优先级将串行总线分配给多个在位的从设备中的一个在位的从设备;主设备用于通过串行总线与分配有串行总线的在位的从设备进行数据通讯。这样,主设备便可以通过控制总线和串行总线来控制从设备,而从设备也可以控制总线来主动上报自身状态,以申请串行总线的使用,使得在任何时刻,不会因为从设备申请使用共享的串行总线而造成串行总线的冲突,且上述系统的实现并不会增加软件处理机制的难度。另外,上述所述的系统中,主设备通过串行总线和控制总线来管理和控制从设备,而主设备所管理的从设备数量不局限于主设备的串口总线数量,且不需要通过从设备的设备ID来区别从设备,从而可以避免因设置从设备的设备ID而造成的一系列问题。下面,结合具体实施例来详细说明基于以上所述系统的一种实现串口通信的方法,参见图4,所述方法具体包括如下操作:步骤301:主设备屏蔽所相连的各从设备的中断请求;具体地,主设备内CPU模块通过内部总线控制控制处理模块内的中断使能寄存器屏蔽所相连的各从设备的中断请求,本发明实施例中,中断寄存器内分别设置有与主设备相连接的各从设备对应的中断标识位,则,CPU模块通过内容总线向控制处理模块内的中断使能寄存器发送禁止中断使能指令,将中断使能寄存器内的各中断允许标识位的值置为O,屏蔽掉所连接的各从设备的中断请求,以禁止CPU模块处理与主设备相连接的各从设备的中断请求。本步骤为可选择执行的步骤,之所以要屏蔽所相连的各从设备的中断请求,是为了主设备在执行步骤202时,可以单一的处理步骤202中所述的操作,而不会受到例如所连接的从设备的中断请求的影响,以提高步骤202的处理效率。步骤302:主设备通过控制总线和串行总线确定各在位的从设备;具体地,主设备通过控制总线和串行总线确定各在位的从设备包括:分别将所连接的各从设备作为当前待询问的从设备,执行如下操作:使能控制总线与当前待询问的从设备进行通信,具体地,主设备内CPU模块发送使能控制指令给控制处理模块内的使能控制寄存器,将使能控制寄存器中标识当前待询问的从设备的使能控制标识位的值置为1,允许一个信号通过控制总线发送给当前待询问的从设备,使得主设备可以通过控制总线与当前待询问的从设备间使能通信;通过串行总线向当前待询问的从设备发送握手信号;如果接收到当前待询问的从设备返回的确认信号,则判定当前待询问的从设备已进入等待通讯状态,主设备便可以与该等待通讯状态下的从设备进行数据通讯;如果未接收到当前待询问的从设备返回的确认信号,则结束与该当前待确认的从设备的通讯。本步骤为一项保护措施,是可以选择执行的步骤,进一步的确认各在位的从设备是否已做好与主设备进行数据通讯的准备,以防止某一个或者多个从设备因为例如设备故障或者人为因素而断开与主设备间的连接,从而无法与主设备进行后续的数据通讯的情况。步骤303:主设备去除对所连接的各从设备的中断请求的屏蔽,以便通过控制总线接收各在位的从设备所发送的中断请求;具体地,主设备内CPU模块通过内部总线控制控制处理模块内的中断使能寄存器去除对所相连的各从设备的中断请求的屏蔽,本发明实施例中,中断寄存器内分别设置有与主设备相连接的各从设备对应的中断标识位,则,CPU模块通过内容总线向控制处理模块内的中断使能寄存器发送允许中断使能指令,将中断使能寄存器内的各中断允许标识的值位置为1,去除对所连接的各从设备的中断请求的屏蔽,允许CPU模块处理与主设备相连接的各从设备的中断请求。本步骤为可选择执行的步骤,当步骤201执行时,相应地,该步骤就需要被执行,当然,当步骤201未执行时,相应地,该步骤就没有被执行的需要。步骤304:主设备通过控制总线接收各在位的从设备发送的中断请求;具体地,当在位的从设备要与主设备进行数据通信时,将通过控制总线向主设备发送中断请求,请求主设备为其分配串行总线,其中,该终端请求还包含有所请求业务类型的信息,例如,所请求业务为数据业务或者呼叫业务等。步骤305:主设备在接收到第一个由在位的从设备所发送的中断请求时,查询当前是否还接收到其他在位的从设备所发送的中断请求,如果当前仅接收到一个在位的从设备所发送的中断请求,则执行步骤306 ;如果当前接收到多个在位的从设备所发送的中断请求,则执行步骤307 ;例如,主设备在接收到第一个由在位的从设备A发送的中断请求时,还同时接收到在位的从设备B及C发送的中断请求。步骤306:主设备将串行总线分配给当前发送中断请求的在位的从设备,执行步骤 309 ;步骤307:主设备确定所述多个在位的从设备的中断优先级;具体地,主设备可以通过如下两种方式来确定所述多个在位的从设备的中断优先级包括:方式一、分别确定多个在位的从设备对应的中断标识位,根据所述多个在位的从设备的中断标识位查询中断标识位与中断优先级间的对应关系,得到所述多个在位的从设备的中断优先级。本发明实施例中,主设备内的控制处理模块内的中断使能寄存器设置有所连接的各从设备的中断标识位,该中断标识位用户标识发送中断请求的从设备,且主设备预先制定并存储有中断标识位与中断优先级间的对应关系,如中断标识位I对应的中断优先级为1、中断标识位2对应的中断优先级为2及中断标识位对应的中断优先级为3等等。方式二、分别确定所述多个在位的从设备所发送的中断请求中所包含的请求业务类型;根据所述请求业务类型查询请求业务类型与中断优先级间对应关系,得到所述多个在位的从设备的中断优先级。本发明实施例中,主设备预先制定并存储由请求业务类型与中断优先级间对应关系,如请求业务类型为数据业务所对应的中断优先级为3,请求业务类型为呼叫业务所对应的中断优先级为10等等。步骤308:主设备根据所述多个在位的从设备的中断优先级将串行总线分配给所述多个在位的从设备中的一个从设备;本步骤具体包括:将串行总线分配给所述多个在位的从设备中中断优先级最高的在位的从设备。步骤309:主设备通过所述串行总线与分配有所述串行总线的在位的从设备进行数据通讯。首先,本技术方案未引入设备ID,可以克服现有技术中因设置设备ID而引起的一系列问题;其次,从设备可以通过控制总线来主动向主设备发送中断请求来申请串行总线的使用权,避免主设备主动去轮询从设备是否申请串行总线,从而提高了主设备的处理效率;再者,当同时有多个从设备申请串行总线时,主设备通过中断优先级来管理和为从设备分配串行总线,不会引起共享型串行总线冲突。实施例3参见5, —种主设备,该主设备包括:确定模块401、接收模块402、第一分配模块403、第二分配模块404和数据通信模块405 ;确定模块401,用于通过控制总线和串行总线确定各在位的从设备;接收模块402,用于通过控制总线接收各在位的从设备发送的中断请求;
第一分配模块403,用于如果当前仅接收到一个在位的从设备发送的中断请求,则将串行总线分配给当前发送中断请求的在位的从设备;第二分配模块404,用于如果当前接收到多个在位的从设备发送的中断请求,则确定多个在位的从设备对应的中断优先级,根据多个在位的从设备对应的中断优先级将串行总线分配给多个在位的从设备中的一个在位的从设备;数据通信模块405,用于通过串行总线与分配有串行总线的在位的从设备进行数据通讯。本发明实施例中,确定模块401包括:控制单元,用于分别将所连接的各从设备作为当前待询问的从设备,通知询问单元进行工作;询问单元,用于使能控制总线与当前待询问的从设备进行通信,并通过串行总线向当前待询问的从设备发送握手信号,如果接收到当前待询问的从设备返回的确认信号,则判定当前待询问的从设备已进入等待通讯状态,如果未接收到当前待询问的从设备返回的确认信号,则结束与当前待询问的从设备的通讯。参见图6、本发明实施例中,,主设备还包括:中断屏蔽模块406,用于屏蔽所连接的各从设备的中断请求;相应地,主设备还包括:中断去屏蔽模块407,用于去除对所连接的各从设备的中断请求的屏蔽,以便通过控制总线接收各在位的从设备所发送的中断请求。本发明实施例中,第二分配模块404,具体用于确定多个在位的从设备对应的中断优先级时,分别确定述多个在位的从设备对应的中断标识位,根据所述多个在位的从设备对应的中断标识位查询中断标识位与中断优先级间的对应关系,得到所述多个在位的从设备对应的中断优先级;或者第二分配模块404,具体用于确定多个在位的从设备对应的中断优先级时,分别确定所述多个在位的从设备所发送的中断请求内包含的请求业务类型;根据所述请求业务类型查询请求业务类型与中断优先级间对应关系,得到所述多个在位的从设备对应的中断优先级。第二分配模块404,具体用于根据多个在位的从设备对应的中断优先级将串行总线分配给多个在位的从设备中的一个在位的从设备时,将串行总线分配给所述多个在位的从设备中中断优先级最高的在位的从设备。首先,本技术方案未引入设备ID,可以克服现有技术中因设置设备ID而引起的一系列问题;其次,从设备可以通过控制总线来主动向主设备发送中断请求来申请串行总线的使用权,避免主设备主动去轮询从设备是否申请串行总线,从而提高了主设备的处理效率;再者,当同时有多个从设备申请串行总线时,主设备通过中断优先级来管理和为从设备分配串行总线,不会引起共享型串行总线冲突。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种实现串口通信的方法,其特征在于,所述方法包括: 通过控制总线和串行总线确定各在位的从设备; 通过所述控制总线接收所述各在位的从设备发送的中断请求; 如果当前仅接收到一个在位的从设备发送的中断请求,则将串行总线分配给当前发送中断请求的在位的从设备; 如果当前接收到多个在位的从设备发送的中断请求,则确定所述多个在位的从设备对应的中断优先级,根据所述多个在位的从设备对应的中断优先级将串行总线分配给所述多个在位的从设备中的一个在位的从设备; 通过所述串行总线与分配有所述串行总线的在位的从设备进行数据通讯。
2.根据权利要求1所述的方法,其特征在于,所述通过控制总线和串行总线确定各在位的从设备包括: 分别将所连接的各从设备作为当前待询问的从设备,执行如下操作: 使能所述控制总线与所述当前待询问的从设备进行通信,之后,通过所述串行总线向所述当前待询问的从设备发送握手信号; 如果接收到所述当前待询问的从设备返回的确认信号,则判定所述当前待询问的从设备已进入等待通讯状态; 如果未接收到所述待询问的从设备返回的确认信号,则结束与所述当前待询问的从设备的通讯。
3.根据权利要求1或2所述的方法,其特征在于,所述通过控制总线和串行总线确定各在位的从设备之前,所述方法还包括: 屏蔽所连接的各从设备的中断请求; 相应地,通过控制总线和串行总线确定各在位的从设备之后,所述方法还包括: 去除对所连接的各从设备的中断请求的屏蔽,以便通过所述控制总线接收所述各在位的从设备所发送的中断请求。
4.根据权利要求1所述的方法,其特征在于,所述确定所述多个在位的从设备对应的中断优先级包括: 分别确定所述多个在位的从设备对应的中断标识位,根据所述多个在位的从设备对应的中断标识位查询中断标识位与中断优先级间的对应关系,得到所述多个在位的从设备对应的中断优先级;或者 分别确定所述多个在位的从设备所发送的中断请求内包含的请求业务类型;根据所述请求业务类型查询请求业务类型与中断优先级间对应关系,得到所述多个在位的从设备对应的中断优先级。
5.根据权利要求1所述的方法,其特征在于,所述根据所述多个在位的从设备对应的中断优先级将串行总线分配给所述多个在位的从设备中的一个在位的从设备包括: 将串行总线分配给所述多个在位的从设备中中断优先级最高的在位的从设备。
6.一种主设备,其特征在于,所述主设备包括:确定模块、接收模块、第一分配模块、第二分配模块和数据通信模块; 所述确定模块,用于通过控制总线和串行总线确定各在位的从设备; 所述接收模块,用于通过所述控制总线接收所述各在位的从设备发送的中断请求;所述第一分配模块,用于如果当前仅接收到一个在位的从设备发送的中断请求,则将串行总线分配给当前发送中断请求的在位的从设备; 所述第二分配模块,用于如果当前接收到多个在位的从设备发送的中断请求,则确定所述多个在位的从设备对应的中断优先级,根据所述多个在位的从设备对应的中断优先级将串行总线分配给所述多个在位的从设备中的一个在位的从设备; 所述数据通信模块,用于通过所述串行总线与分配有所述串行总线的在位的从设备进行数据通讯。
7.根据权利要求6所述的主设备,其特征在于,所述确定模块包括: 控制单元,用于分别将所连接的各从设备作为当前待询问的从设备,通知询问单元进行工作; 所述询问单元,用于使能所述控制总线与所述当前待询问的从设备进行通信,并通过所述串行总线向所述当前待询问的从设备发送握手信号,如果接收到所述当前待询问的从设备返回的响应信号,则判定所述当前待询问的从设备已进入等待通讯状态,如果未接收到所述待询问的从设备返回的确认信号,则结束与所述当前待询问的从设备的通讯。
8.根据权利要求6或7所述的主设备,其特征在于,所述主设备还包括: 中断屏蔽模块,用于屏蔽所连接的各从设备的中断请求; 相应地,所述主设备还包括: 中断去屏蔽模块,用于去除对所连接的各从设备的中断请求的屏蔽,以便通过所述控制总线接收所述各在位的从设备所发送的中断请求。
9.根据权利要求6所述的主设备,其特征在于,所述第二分配模块,具体用于确定所述多个在位的从设备对应的中断优先级时,分别确定所述多个在位的从设备对应的中断标识位,根据所述多个在位的从设备对应的中断标识位查询中断标识位与中断优先级间的对应关系,得到所述多个在位的从设备对应的中断优先级;或者 所述第二分配模块,具体用于确定所述多个在位的从设备对应的中断优先级时,分别确定所述多个在位的从设备所发送的中断请求内包含的请求业务类型;根据所述请求业务类型查询请求业务类型与中断优先级间对应关系,得到所述多个在位的从设备对应的中断优先级。
10.根据权利要求6所述的主设备,其特征在于,所述第二分配模块,具体用于根据所述多个在位的从设备对应的中断优先级将串行总线分配给所述多个在位的从设备中的一个在位的从设备时,将串行总线分配给所述多个在位的从设备中中断优先级最高的在位的从设备。
11.一种实现串口通信的系统,其特征在于,所述系统包括:主设备和多个从设备,所述多个从设备分别通过同一串口总线和同一控制总线与所述主设备相连; 所述主设备用于通过控制总线和串行总线确定各在位的从设备; 所述从设备用于通过所述控制总线向所述主设备发送中断请求; 所述主设备通过所述控制总线接收所述各在位的从设备发送的中断请求,如果当前仅接收到一个在位的从设备发送的中断请求,则将串行总线分配给当前发送中断请求的在位的从设备,如果当前接收到多个在位的从设备发送的中断请求,则确定所述多个在位的从设备对应的中断优先级,根据所述多个在位的从设备对应的中断优先级将串行总线分配给所述多个在位的从设备中的一个在位的从设备; 所述主设备用于通过所述串行总线与分配有所述串行总线的在位的从设备进行数据通讯。
12.根据权利要求11所述的系统,其特征在于,所述多个从设备分别通过同一串口总线和同一控制总线与所述主设备相连包括: 所述多个从设备内的控制逻辑模块分别通过同一控制总线与所述主设备内的控制处理模块相连; 所述多个从设备内的串口总线接口模块分别通过同一串行总线与所述主设备内的串口总线接口模块相连。
13.根据权利要求11所述的系统,其特征在于,所述串行总线具体为RS232、RS485或者 RS422。
14.根据权利要求12所述的系统,其特征在于,所述控制处理模块包括中断使能寄存器和控制使能寄存器。
15.根据权利要求12所述的系统,其特征在于,所述控制处理模块具体由可编程逻辑器件CPLD实现。`
全文摘要
本发明公开了一种实现串口通信的方法、设备及系统,属于通信技术领域。方法包括通过控制总线和串行总线确定各在位的从设备;通过控制总线接收各在位的从设备发送的中断请求;当前仅接收到一个在位的从设备发送的中断请求,将串行总线分配给当前发送中断请求的在位的从设备;当前接收到多个在位的从设备发送的中断请求,确定多个在位的从设备对应的中断优先级,根据多个在位的从设备对应的中断优先级将串行总线分配给多个在位的从设备中一个在位的从设备;通过串行总线与分配有串行总线的在位的从设备进行数据通讯。本技术方案未引入设备ID,克服现有技术中因设置设备ID而引起的一系列问题,提高主设备的处理效率,不会引起共享型串行总线冲突。
文档编号H04L12/40GK103166821SQ20111041233
公开日2013年6月19日 申请日期2011年12月12日 优先权日2011年12月12日
发明者吴诗全, 李阳贤, 秦立真, 王晓义, 田君, 孟海强, 周幸, 崔海利, 邓伦挺, 黄丰凡, 方飞栋, 黄克铖, 夏伟乐, 蔡聪林, 蔡嘉, 林鹏程, 周义, 求丽军 申请人:深圳市华为安捷信电气有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1