实现串口通信的方法、设备及系统技术方案

技术编号:8836676 阅读:186 留言:0更新日期:2013-06-22 22:06
本发明专利技术公开了一种实现串口通信的方法、设备及系统,属于通信技术领域。方法包括:通过控制总线和串行总线确定各在位的从设备;通过控制总线接收各在位的从设备发送的中断请求;当前仅接收到一个在位的从设备发送的中断请求,将串行总线分配给当前发送中断请求的在位的从设备;当前接收到多个在位的从设备发送的中断请求,确定多个在位的从设备对应的中断优先级,根据多个在位的从设备对应的中断优先级将串行总线分配给多个在位的从设备中一个在位的从设备;通过串行总线与分配有串行总线的在位的从设备进行数据通讯。本技术方案未引入设备ID,克服现有技术中因设置设备ID而引起的一系列问题,提高主设备的处理效率,不会引起共享型串行总线冲突。

【技术实现步骤摘要】

本专利技术涉及通信
,特别涉及一种实现串口通信的方法、设备及系统
技术介绍
目前,主设备主要通过串行总线来管理与其连接的从设备,并根据从设备的设备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的整数本文档来自技高网
...

【技术保护点】
一种实现串口通信的方法,其特征在于,所述方法包括:通过控制总线和串行总线确定各在位的从设备;通过所述控制总线接收所述各在位的从设备发送的中断请求;如果当前仅接收到一个在位的从设备发送的中断请求,则将串行总线分配给当前发送中断请求的在位的从设备;如果当前接收到多个在位的从设备发送的中断请求,则确定所述多个在位的从设备对应的中断优先级,根据所述多个在位的从设备对应的中断优先级将串行总线分配给所述多个在位的从设备中的一个在位的从设备;通过所述串行总线与分配有所述串行总线的在位的从设备进行数据通讯。

【技术特征摘要】
1.一种实现串口通信的方法,其特征在于,所述方法包括: 通过控制总线和串行总线确定各在位的从设备; 通过所述控制总线接收所述各在位的从设备发送的中断请求; 如果当前仅接收到一个在位的从设备发送的中断请求,则将串行总线分配给当前发送中断请求的在位的从设备; 如果当前接收到多个在位的从设备发送的中断请求,则确定所述多个在位的从设备对应的中断优先级,根据所述多个在位的从设备对应的中断优先级将串行总线分配给所述多个在位的从设备中的一个在位的从设备; 通过所述串行总线与分配有所述串行总线的在位的从设备进行数据通讯。2.根据权利要求1所述的方法,其特征在于,所述通过控制总线和串行总线确定各在位的从设备包括: 分别将所连接的各从设备作为当前待询问的从设备,执行如下操作: 使能所述控制总线与所述当前待询问的从设备进行通信,之后,通过所述串行总线向所述当前待询问的从设备发送握手信号; 如果接收到所述当前待询问的从设备返回的确认信号,则判定所述当前待询问的从设备已进入等待通讯状态; 如果未接收到所述待询问的从设备返回的确认信号,则结束与所述当前待询问的从设备的通讯。3.根据权利要求1或2所述的方法,其特征在于,所述通过控制总线和串行总线确定各在位的从设备之前,所述方法还包括: 屏蔽所连接的各从设备的中断请求; 相应地,通过控制总线和串行总线确定各在位的从设备之后,所述方法还包括: 去除对所连接的各从设备的中断请求的屏蔽,以便通过所述控制总线接收所述各在位的从设备所发送的中断请求。4.根据权利要求1所述的方法,其特征在于,所述确定所述多个在位的从设备对应的中断优先级包括: 分别确定所述多个在位的从设备对应的中断标识位,根据所述多个在位的从设备对应的中断标识位查询中断标识位与中断优先级间的对应关系,得到所述多个在位的从设备对应的中断优先级;或者 分别确定所述多个在位的从设备所发送的中断请求内包含的请求业务类型;根据所述请求业务类型查询请求业务类型与中断优先级间对应关系,得到所述多个在位的从设备对应的中断优先级。5.根据权利要求1所述的方法,其特征在于,所述根据所述多个在位的从设备对应的中断优先级将串行总线分配给所述多个在位的从设备中的一个在位的从设备包括: 将串行总线分配给所述多个在位的从设备中中断优先级最高的在位的从设备。6.一种主设备,其特征在于,所述主设备包括:确定模块、接收模块、第一分配模块、第二分配模块和数据通信模块; 所述确定模块,用于通过控制总线和串行总线确定各在位的从设备; 所述接收模块,用于通过所述控制总线接收所述各在位的从设备发送的中断请求;所述第一分配模块,用于如果当前仅接收到一个在位的从设备发送的中断请求,则将串行总线分配给当前发送中断请求的在位的从设备; 所述第二分配模块,用于如果当前接收到多个在位的从设备发送的中断请求,则确定所述多个在位的从设备对应的中断优先级,根据所述多个在位的从设备对应的中断优先级将串行总线分配给所述多个在位的从设备中的一个在位的从设备; 所述数据通信模块,用于通过所述串行总线与分配有所述串行总线的在位的从设备进行数据通讯。7.根据权利要求6所述的主设备,其特征在于,所述确定模块包括: 控制单元,用于...

【专利技术属性】
技术研发人员:吴诗全李阳贤秦立真王晓义田君孟海强周幸崔海利邓伦挺黄丰凡方飞栋黄克铖夏伟乐蔡聪林蔡嘉林鹏程周义求丽军
申请(专利权)人:深圳市华为安捷信电气有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1