多协议串口扩展方法与流程

文档序号:15567149发布日期:2018-09-29 03:36阅读:469来源:国知局

本发明涉及计算机通信技术领域,特别是涉及一种多协议串口扩展方法。



背景技术:

嵌入式控制器一般只含有1~3个通用异步收发器(universalasynchronousreceiver/transmitter,uart),uart经过驱动芯片后形成不同类型的串口(如rs232串口、rs422串口和rs485串口等)。当嵌入式控制器要与多个串口设备进行通信时,需要对其进行串口扩展。

目前,串口扩展主流方法有两种:第一种是利用串口扩展芯片来实现,该方法简单方便,控制器只需按照串口扩展芯片的读写时序对其寄存器进行访问即可,难点在于随着串口扩展芯片数量的增多,若控制器处理能力不足会造成串口数据丢失;第二种是使用现场可编程门阵列(fpga)进行串口扩展,利用自定义的串口软件模块或串口ip核来实现,这种方法虽然节省了硬件成本,扩展方便,但存在fpga软件开发相对复杂的不足。

现用的串口协议主要有rs232、rs422和rs485,这些串口协议在产品出厂后被设置成一种固定的模式,用户不能按照实际需求改变,因此工程中经常出现串口数量足够,但因为串口协议类型不符而导致串口无法满足需求的情况。



技术实现要素:

基于此,有必要针对目前串口扩展方法存在的问题以及工程中出现的串口数量足够,但由于串口协议类型不符而导致串口无法满足需求的问题,提供一种多协议串口扩展方法。

为解决上述问题,本发明采取如下的技术方案:

一种多协议串口扩展方法,所述方法采用的硬件包括soc控制器、显示屏、串行外设接口存储器、n个多协议收发器和n个连接器,所述soc控制器包括cortexm3arm和fpga,所述cortexm3arm包括收发器配置管理模块、apb3bus模块、ahbtoapb3模块、coreahblite模块、fic_0模块、mss_int_f2m[0-15]模块、串行外设接口、通用异步收发器和n个uartipcore模块,且所述收发器配置管理模块、所述apb3bus模块、所述ahbtoapb3模块、所述coreahblite模块和n个所述uartipcore模块均工作在所述fpga中;

所述串行外设接口与所述串行外设接口存储器连接;

所述通用异步收发器与所述显示屏连接;

所述soc控制器共扩展有n个串口,每一所述串口包括一个uartipcore模块、一个所述多协议收发器和一个所述连接器,在每一所述串口中,所述uartipcore模块通过tx信号和rx信号与对应的所述多协议收发器连接,所述多协议收发器与对应的所述连接器连接,所述uartipcore模块的中断事件端口与所述mss_int_f2m[0-15]模块的一个端口连接;

n个所述多协议收发器共用所述收发器配置管理模块,所述收发器配置管理模块和n个所述uartipcore模块分别通过apb3总线与所述apb3bus模块连接,所述apb3bus模块作为从设备与所述ahbtoapb3模块连接,所述ahbtoapb3模块作为从设备与所述coreahblite模块连接,所述coreahblite模块作为主设备与fic_0模块连接;

在所述soc控制器上电初始化之后,所述cortexm3arm读取所述串行外设接口存储器中各个所述串口的协议类型信息及工作模式信息,并通过分配不同的地址空间直接访问所述uartipcore模块和所述收发器配置管理模块,以根据所述协议类型信息及所述工作模式信息对相应的所述串口进行协议类型配置及工作模式设置;

所述cortexm3arm将所述协议类型信息及工作模式信息发送到所述显示屏进行显示。

上述多协议串口扩展方法采用soc控制器,利用uartipcore软件模块方式进行串口扩展,节省了硬件成本,通过收发器配置管理模块对多协议收发器芯片进行协议配置,每个串口可实现rs232、rs422及rs485三种协议间自由切换,通过显示屏可实时对每个串口的相关参数及协议类型进行显示,并对串口的工作模式进行显示。本发明所提出的多协议串口扩展方法可实时对扩展串口的协议类型进行配置以及对扩展串口的工作模式进行设置,具有串口扩展方便、硬件成本低等优点。

附图说明

图1为本发明其中一个实施例中多协议串口扩展方法的硬件连接关系示意图;

图2为图1所示的硬件连接关系示意图中部分串口的功能模块连接关系示意图;

图3为本发明其中一个具体实施方式中收发器配置管理模块的内部功能结构示意图;

图4为本发明其中一个具体实施方式中串口工作模式的示意图。

具体实施方式

下面将结合附图及较佳实施例对本发明的技术方案进行详细描述。

在其中一个实施例中,本发明提出一种多协议串口扩展方法,该方法采用的硬件包括soc(systemonchip,片上系统)控制器、显示屏、串行外设接口存储器(spiflash模块)、n个多协议收发器和n个连接器,soc控制器包括cortexm3arm(mss)和fpga(现场可编程门阵列),cortexm3arm包括收发器配置管理模块、apb3bus模块(高级外设总线3模块)、ahbtoapb3模块、coreahblite模块(先进的高速总线模块)、fic_0模块、mss_int_f2m[0-15]模块、串行外设接口(spi)、通用异步收发器(uart)和n个uartipcore模块(通用异步收发器ip核模块),且收发器配置管理模块、apb3bus模块、ahbtoapb3模块、coreahblite模块和n个uartipcore模块均工作在fpga中。下面仅以soc控制器共扩展了八个串口(即n=8)为例,对本实施例进行详细说明,本领域技术人员在本实施例的基础之上,可实现其他数量的串口扩展。

图1所示为本实施例中多协议串口扩展方法的硬件连接关系示意图,图中soc控制器共扩展了八个串口,包括一个soc控制器、一个spiflash模块、一个显示屏以及多协议收发器1~多协议收发器8、连接器1~连接器8;图2所示为图1中部分扩展串口的功能模块连接关系示意图,包括一个soc控制器、一个spiflash模块、一个显示屏以及多协议收发器1、连接器1。

结合图1和图2,soc控制器与多协议收发器1~多协议收发器8相连,多协议收发器1~多协议收发器8与连接器1~连接器8一一对应相连。soc控制器内的uart与显示屏相连;soc控制器内的spi1与spiflash模块相连。soc控制器共扩展了八个串口,每一个扩展串口由如下部分组成:一个uartipcore模块、一个多协议收发器和一个连接器,八个扩展串口共用一个收发器配置管理模块,收发器配置管理模块负责配置每个多协议收发器工作时的协议类型。每一个uartipcore模块通过tx信号和rx信号与对应的多协议收发器连接,每一个uartipcore模块的中断事件信号端口连接到soc控制器中的mss_int_f2m[0-15]模块的某一个端口上,如图2所示,uartipcore模块1通过tx信号和rx信号与对应的多协议收发器1连接,多协议收发器1与对应的连接器1连接,uartipcore模块1的中断事件信号端口连接到soc控制器中的mss_int_f2m[0-15]模块的某一个端口上。

收发器配置管理模块通过apb3总线接口与apb3bus模块相连,uartipcore模块1也通过其apb3总线接口与apb3bus模块相连,apb3bus模块作为slave设备连接到ahbtoapb3模块上,ahbtoapb3模块作为slave设备连接到coreahblite模块上,coreahblite模块作为master设备与fic_0模块连接,并且uartipcore模块1、收发器配置管理模块、apb3bus模块、ahbtoapb3模块和coreahblite模块均工作在soc控制器中的fpga中。

本实施例中的soc控制器可选用m2s025型号的芯片,多协议收发器可选用max3161e型号的芯片。在图2中,多协议收发器1的t2out、r2in、t1out、t1in、gnd、y(a)、z(b)、a、b信号分别与连接器1的1~9管脚相连;多协议收发器1的di/t1in和ro/r2out信号分别与uartipcore模块1的tx和rx信号相连;多协议收发器1的de485/t2in、r1out、fast、hdplx信号分别和与之相对应的收发器配置管理模块的io_n1~io_n6信号连接,其中n∈1~n,n=8;uartipcore模块1和收发器配置管理模块分别通过apb3总线接口与apb3bus模块相连,apb3bus模块连接到ahbtoapb3模块上,ahbtoapb3模块连接到coreahblite模块上,coreahblite模块连接到fic_0模块上,uartipcore模块1的中断事件信号与mss_int_f2m[0-15]模块的某一个端口相连。例如,uartipcore模块1~uartipcore模块8的中断事件信号分别与mss_int_f2m[0]~mss_int_f2m[7]相连。

在soc控制器上电初始化之后,cortexm3arm读取spiflash模块中各个串口的协议类型信息及工作模式信息,并通过分配不同的地址空间直接访问uartipcore模块和收发器配置管理模块,以根据协议类型信息及工作模式信息对相应的串口进行协议类型配置及工作模式设置;cortexm3arm还将协议类型信息及工作模式信息发送到显示屏进行显示。

上述实施例所提出的多协议串口扩展方法采用soc控制器,利用uartipcore软件模块方式进行串口扩展,节省了硬件成本,通过收发器配置管理模块对多协议收发器芯片进行协议配置,每个串口可实现rs232、rs422及rs485三种协议间自由切换,通过显示屏可实时对每个串口的相关参数及协议类型进行显示,并对串口的工作模式进行显示。本实施例所提出的多协议串口扩展方法可实时对扩展串口的协议类型进行配置以及对扩展串口的工作模式进行设置,具有串口扩展方便、硬件成本低等优点。

作为一种具体的实施方式,收发器配置管理模块包括n个协议配置寄存器和n个协议解析与配置模块,n个协议配置寄存器与n个协议解析与配置模块一一对应连接,且n个协议配置寄存器均通过apb3总线接口与apb3bus模块连接。具体地,在本实施方式中,如图3所示,apb3总线接口分别与协议配置寄存器1~协议配置寄存器n相连,对寄存器的内容可以进行读写操作,协议解析与配置模块1~协议解析与配置模块n分别与协议配置寄存器1~协议配置寄存器n一一对应相连,协议解析与配置模块读取对应的协议配置寄存器中的数据,并根据数据解析出串口工作的协议类型,然后通过io_n1~io_n6信号(其中n∈1~n)分别对对应的多协议收发器相应管脚进行控制。当soc控制器共扩展了八个串口,即n=8时,在收发器配置管理模块中使用八个不同的地址分别访问八个协议配置寄存器,每一个协议解析与配置模块根据与其相连的协议配置寄存器中的数据将对应的多协议收发器配置成相应的协议模式,即通过六根信号线(对应着pfga的六个管脚)控制多协议收发器芯片六个管脚的电平状态,协议配置寄存器中的数据1表示rs232协议,数据2表示rs422协议,数据3表示rs485协议,本发明中的每一个串口的协议类型可以被配置为rs232、rs422和rs485中的任意一种。

作为一种具体的实施方式,显示屏获取串口协议类型配置信息;cortexm3arm通过uart读取串口协议类型配置信息,并根据串口协议类型配置信息对收发器配置管理模块的相关寄存器进行写操作。cortexm3arm中通过uart与显示屏连接,通过显示屏的串口配置界面可对每个串口的协议类型及参数进行配置和显示。显示屏获取串口协议类型配置信息后,cortexm3arm通过uart读取该串口协议类型配置信息,若串口协议类型配置发生变化,则cortexm3arm对收发器配置管理模块的相关寄存器进行写操作,以实现根据实际工程需要配置扩展串口的协议类型。

每个串口的所有配置参数对应一个数据包,全部存储在spiflash芯片上,cortexm3arm还将串口协议类型配置信息通过spi写入到spiflash芯片中,以对协议类型信息进行保存,相关协议类型配置信息实时存储到spiflash芯片中,实现协议类型配置信息掉电不丢失,再次开机自动读取协议类型配置信息并对相关串口进行配置。

作为一种具体的实施方式,显示屏获取串口工作模式信息;cortexm3arm通过uart读取串口工作模式信息,并根据串口工作模式信息对uartipcore模块的相关寄存器进行写操作。cortexm3arm中通过uart与显示屏连接,通过显示屏的串口配置界面可对每个串口的工作模式及参数进行配置和显示。显示屏获取串口工作模式信息后,cortexm3arm通过uart读取该串口工作模式信息,若串口工作模式发生变化,则cortexm3arm对uartipcore模块的相关寄存器进行写操作,以实现根据实际工程需要设置扩展串口的工作模式。在本发明中,串口的工作模式可以为互转模式、广播模式或者混合模式中的任意一种,用户可根据实际需要设置串口的工作模式,并可对既定的串口的工作模式进行更改。

作为一种具体的实施方式,串口工作模式信息为关于各个串口的连接关系的二维数组,cortexm3arm将二维数组通过spi写入到spiflash模块中,以对工作模式信息进行保存。cortexm3arm通过uart实时读取显示屏获取的串口工作模式信息,并将各个串口的连接关系状态保存为二维数组作为串口工作模式信息,若串口工作模式发生变化,则cortexm3arm通过spi将二维数组存入到spiflash芯片的专用区域,实现串口工作模式设置信息掉电不丢失,再次开机自动读取设置信息并对相关串口进行工作模式设置。

作为一种具体的实施方式,cortexm3arm模块通过地址总线访问每一uartipcore模块中的寄存器,以对每一串口的与波特率、数据位宽度、停止位宽度、奇偶校验方式、fifo深度以及中断方式的寄存器进行配置。

作为一种具体的实施方式,本发明中的显示屏选用触摸液晶显示屏。假设soc控制器共扩展了八个串口,分别为串口1~串口8,在触摸液晶显示屏上显示有八个串口图标,分别代表串口1~串口8,通过对这八个图标进行操作可以选择串口的工作模式。串口的工作模式有三种:第一种为互转模式,顺序点击两个未与其他图标相连的两个图标,即可将其配对为互转模式,显示屏中会出现一条连线将连个串口图标连接起来,如图4(a)所示,在串口互转模式中,其中任一个串口的接收到的数据会立刻送给另外一个串口的发送fifo中;第二种为广播模式,分别点击两个串口图标,将两个串口图标连接上,这种模式下允许多个串口与同一个串口连接,多次进行串口连接,直至串口连接配置完成,如图4(b)所示,在广播模式下与其他串口都连接的为主串口,主串口将接收到的信息立即广播到与之连接的串口上;第三种为混合模式,这种模式下既有广播模式的串口存在,又有互转模式的串口存在,但广播模式串口和互转模式串口间不能交叉混合,如图4(c)所示,在两个串口图标显示连接的状态下,顺序点击即可取消这两个串口的互联状态。

本发明所提出的一种多协议串口扩展技术及其配置方法,可实时对串口协议类型、波特率、数据位长度等进行配置,串口工作模式可选为互转模式、广播模式或混合模式,每个串口可实现rs232、rs422及rs485三种协议间自由切换,通过触摸液晶显示屏的人机交互软件界面可实时对每个串口的相关参数及协议类型进行配置及显示,并对串口的工作模式进行配置及显示,相关配置信息实时存储到spiflash芯片中,实现配置信息掉电不丢失,再次开机自动读取配置信息并对相关串口进行配置。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1