一种多串口实现方法及设备的制作方法

文档序号:6461995阅读:167来源:国知局

专利名称::一种多串口实现方法及设备的制作方法一种多串口实现方法及设备扶术领域本发明涉及通信
技术领域
,尤其涉及一种多串口实现方法及设备。技术背景串口作为一种方便可靠的通信协议在数据通信设备中得到了大量应用,主要串口标准包括TIA/EIA制定的标准RS232、RS422、RS423、RS485、RS530、以及ITU國T制定的标准V.IO、V.ll、V.24、V.28、V.35、V.36、V.54、异步串口为面向字符的协议,所谓字符即为数据可被正确发送接收的最小单元。协议中一般定义一个全l字符(该字符中所有bit位都为1)为空闲字符,一个全O的字符(该字符中所有bit位都为0)为停顿字符。发送器和接收器异步工作,无需联接发送和接收时钟,接收器对输入数据流进行高速采样,通常采样因子为8、16或32,并根据采样确定数据位的值。只要发送器和接收器的端口配置参数(波特率、字长、校验方法等)相同,即可实现通信。串口4妄口方式包括DCE(DigitalCircuit-terminatingEquipment,数字电路终端设备)和DTE(DigitalTerminalEquipment,数字终端设备)两种。如图1所示,在同步串口下,DTE接口的内部电路包括数据接收单元、时钟接收单元、时钟发送单元和数据发送单元;DCE接口的内部电路包括数据发送单元、接收时钟(RC,ReceiveClock)发送单元、发送时钟(TC,TransmitClock)发送单元、数据接收单元和内部时钟源。其中,DTE接口中的数据接收单元接收DCE接口中的数据发送单元发送的RD(接收数据),DTE接口中的时钟接收单元接收DCE接口中的接收时钟发送单元发送的RC(接收时钟);DTE接口中的时钟发送单元接收DCE接口中的发送时钟发送单元发送的TC(发送时钟),再送回ETC(ExternalTransmitClock,外部发送时钟)到DCE接口;TD(发送数据)。其中,TC由DCE接口内部时钟源产生提供给DTE,DCE接口提供的RC也来源于DCE4妻口的内部时钟源。目前在路由器上串口可以通过电缆模式信号自动确定工作标准和DCE/DTE接口方式,串口电缆模式如表1所示表l:<table>tableseeoriginaldocumentpage5</column></row><table>目前在低端路由器实现同异步串口方案,包括处理器、逻辑器件和物理层串口收发器。其中,串口4這器如图2所示,包括串口三套片,可以实现多协议的串口物理层传输。其中器件1进行数据和时钟的收发,同时产生正负电压,供给器件2和3使用,器件2负责握手信号的收发,器件3对时钟和数据进行阻抗匹配。串口收发器主要完成的功能包括将板内与电缆相关的信号进行电平转换,以满足相应协议的信号传输;也可以通过软件实现协议之间的转换,支持多协议的串行数据通信。处理器CPU(CenterProcessorUnit,中央处理单元)实现异步串口比较简单,一般通过内置的UART(UniversalAsynchronousReceiverTransmiter,通用异步收发)控制器实现。处理同步串口需要处理器内置的HDLC(HighLevelDataLinkControl,高级数据链路控制器),同时时钟方案相对复杂,在DCE/DTE模式下有所不同。一般通过外部时钟、内部BRG(BaudRatioGenerator,波特率发生器)和逻辑协同实现,具体方式如图3和图4所示。在DCE模式下,使用CPU的内部BRG,对外部时钟18.432M进行分频产生ETC信号,然后提供给逻辑器件分别产生接口芯片的ETC信号和TXC信号。在DTE模式下,不使用处理器内部的BRG,而是使用来自DCE的TXC信号,然后提供给逻辑器件产生接口芯片的ETC信号。当前技术方案比较成熟,并且已经在路由器等通信产品上广泛使用,目前存在的问题在于因为实现一路串口需要CPU内部的HDLC或UART控制器处理,即一路串口需要CPU对应分配一个HDLC或UART控制器(一个同步串口分配一个HDLC控制器,一个异步串口分配一个UART控制器)。而CPU内部这些控制器数目有限,一般为2或4个,在设备低速槽位上一般只能分配支持单路串口的资源。如果设备需要支持2路串口的需求,CPU需要使用2块低速卡并占用2个低速槽位;这样造成CPU低速槽位接口密度低,CPU资源利用率不高,系统配置成本偏高。另一种方案是在CPU的支持如PCI(PeripheralComponentInterconnect,周边元件扩展接口)高速总线的槽位上,通过专用芯片来解决,一般最多可以支持到8路,但是2个低速串口用高速槽位卡实现,系统成本太高。
发明内容本发明实施例提供了一种多串口实现方法及设备,利用CPU处理器的TDM(TimeDivisionMultiplexed,时分复用)总线实现支持多路串口,增加设备低速槽位的串口接入密度,提高处理器的资源利用效率,降低系统成本。本发明实施例提供了一种多串口设备,包括控制处理设备、逻辑器件和串口收发器,所述串口收发器,用于接收多路串口信号,发送给所述逻辑器件;所述逻辑器件,用于接收所述多路串口信号后,将所述多路串口信号映射到一个时分复用TDM接口的多个时隙中,虛拟成多个接口;所述控制处理设备,用于将所述多个虚拟接口的不同时隙连接到所述控制处理设备中的不同高级数据链路控制器,进行处理。其中,所述逻辑器件具体包括串口信号接收单元,用于接收所述多路串口信号;映射单元,用于将所述多路串口信号映射到一个时分复用TDM接口的多个时隙中,虚拟成多个^~口。其中,所述逻辑器件还包括时钟提供单元,用于根据线路侧串口波特率的设定产生时钟,提供给所述控制处理设备自带的高级数据链路控制器处理。其中,所述逻辑器件还包括配置单元,用于根据每路串口的波特率配置每路串口所占用的时隙数目、比特数目和时钟频率。其中,所述控制处理设备具体包括虚拟接口单元,用于将所述多个虚拟接口的不同时隙连接到所述控制处理设备中的不同高级数据链路控制器;处理单元,用于对不同时隙数据进行处理。其中,所述虛拟接口单元,通过预设帧头信号,对接收的多路串口的数据流进行定位。本发明还提供了一种多串口的实现方法,应用于包括控制处理设备、逻辑器件和串口收发器的系统中,所述方法包括通过所述串口收发器接收多路串口信号;所述逻辑器件将所述多路串口信号映射到一个时分复用TDM接口的多个时隙中,虚拟成多个接口;所述控制处理设备将所述多个虚拟接口的不同时隙连接到所述控制处理设备中的不同高级数据链3^空制器,进行处理。其中,所述控制处理设备将所述多个虚拟接口的不同时隙连接到所述控制处理设备中的不同高级数据链路控制器之前还包括所述逻辑器件根据线路侧串口波特率的设定产生时钟,提供给所述控制处理设备自带的高级数据链路控制器处理。其中,所述逻辑器件将所述多路串口信号映射到一个时分复用TDM接口的多个时隙中具体包括根据每路串口的波特率配置每路串口所占用的时隙数目、比特数目和时钟频率。其中,所述控制处理设备将所述多个虚拟接口的不同时隙连接到所述控制处理设备中的不同高级数据链路控制器之前还包括通过预设帧头信号,对接收的多路串口的数据流进行定位。本发明中,利用TDM总线实现支持多路串口,增加设备低速槽位的串口接入密度,提高处理器的资源利用效率,降低系统成本。图1是现有技术中DTE和DCE时钟传输示意图;图2是现有技术中串口收发器结构图;图3是现有技术中DCE模式下时钟实现示意图;图4是现有技术中DTE模式下时钟实现示意图;图5是本发明中一种多串口设备结构图;图6是本发明中DCE模式下的TDM接口示意图;图7是本发明中DTE模式下的TDM接口示意图;图8是本发明中时隙分配和帧头产生示意图;图9是本发明中单时隙周期的信号时序图。具体实施方式本发明的核心思想如图5所示,包括串口收发器IOO,用于接收多路串口信号,发送给所述逻辑器件;逻辑器件200,用于接收多路串口信号后,将多路串口信号映射到一个时分复用TDM接口的多个时隙中,虚拟成多个接口;控制处理设备300,用于将所述多个虚拟接口的不同时隙连接到所述控制处理设备中的不同高级数据链路控制器,进行处理。其中,逻辑器件200具体包括串口信号接收单元210,用于接收所述多路串口信号;映射单元220,用于将所述多路串口信号映射到一个时分复用TDM接口的多个时隙中,虚拟成多个接口;时钟提供单元230,用于根据线路側串口波特率的设定产生时钟,提供给所述控制处理设备自带的高级数据链路控制器处理;配置单元240,用于根据每路串口的波特率配置每路串口所占用的时隙数目、比特数目和时钟频率。控制处理设备300具体包括虚拟接口单元310,用于将所述多个虚拟接口的不同时隙连接到所述控制处理设备中的不同高级数据链路控制器,通过预设帧头信号,对接收的多路串口的数据流进行定位;处理单元320,用于对不同时隙数据进行处理。以下结合上述思路对本发明进行详细说明。如图6、图7所示,其分别为本发明在DCE和DTE模式下借由TDM接口实现支持更多串口的应用示意图。在本发明中提供的多串口设备中,包括CPU处理器、逻辑器件和串口收发器。其中,CPU处理器内置或在外围电路上设置有控制处理设备300,在本实施例中,控制处理设备300包括CPU内置的UCC(UniversalCommunicationController,通用通4言控制器)和HDLC4空制器等。所述UCC支持的接口和协议包括以太网/ATM(AsynchronousTransferMode,异步传输模式)/POS/HDLC/UART等。其中对于TDM接口,主要支持El(32个时隙)/Tl(24个时隙)/ISDN(IntegratedServiceDigitalNetwork,综合业务数字网)等数据帧处理。另外,CPU处理器内部针对TDM接口,还有时序分配逻辑电路,可以将一个TDM接口的不同时隙连接到CPU内不同的HDLC控制器处理,并对不同的HDLC控制器进行相应的时钟资源分配。因此,在数据通信中,当将TDM接口作为通道化的cEl(通道化El)接口使用时,可以将除0时隙外的全部时隙(通道化El的0时隙不能用来参与分组)任意分成若干组(channel-group,信道组),每组时隙捆绑以后作为一个接口使用,这些接口的逻辑特性与同步串口相同,支持PPP(Point-to-PointProtocol,点到点协议)、帧中继、LAPB(LinkAccessProcedure-Balanced,链5g4妄入规程-平衡式)和X.25等数据链路层协议。逻辑器件200,用于将来自串口收发器的多路(例如2路)串口的数据,具体地,在图6和图7中,逻辑器件200包括与CPUHDLC和串口收发器相连的逻辑电路及TDM接口,用来自多路串口收发器的数据映射到一个TDM的32个时隙中,虛拟成类似cEl的接口,使同一条2M链路可以同时向多个用户提供专线服务。本TDM接口在物理上分为32个时隙,对应编号为0-31,其中的32个时隙从理论上可以被任意地分成若干组,每组时隙捆绑以后作为一个接口使用,其逻辑特性与同步串口相同。每^f妾口所占用的时隙数目、比特数目和时钟频率根据其波特率不同配置,完成时隙捆绑后提供给CPU的HDLC处理,达到一个TDM接口处理多路串口的目的。在本实施例中,由于CPU处理器中的HDLC控制器能分配的时隙数目最多为32个,每个时隙8bit,如果要同时处理2路串口的数据,每个串口最多分配16个时隙资源。逻辑器件在将接收数据映射到时隙中时,需要将时隙0-15分配给串口P0,时隙16-31分配给串口Pl。逻辑器件在一个处理周期中每隔16个时隙产生1个频率为32KHz的帧头信号FS0和FS1,作为2个串口的数据流定位标识,如图8和图9所示。针对串口的波特率变化,逻辑器件将数据流适配映射到时隙比特时,为了保证所占用的时隙数小于16,需要改变送到CPU处理器的BCLK时钟,如果设最大波特率在4096000bps时的时钟为CLK,根据波特率数值进行时钟归一化处理(表2中不同波特率如果存在整数倍关系,如300,600,900等,采用的BCLK相同,这样减少BCLK种类,方便逻辑实现),时钟倍频系数选定的原则是数量尽量少(表2中,对于57600,72000,115200等波特率数据,BCLK的倍频系数都取3/80,只是时隙数目不同,这样减少BCLK的种类,方便逻辑实现),同时满足对应波特率下串口所占用的时隙数目不超过16;得到如表2所示表2:<table>tableseeoriginaldocumentpage11</column></row><table>表2TDM时钟、间隙和串口波特率映射。从上表可以看出,由于串口波特率的数据具有一定比例关系,对应的时钟归一化后只有下面几种时钟需要产生CLK;7/4xCLK;3/20xCLK;3/40xCLK;3/80xCLK;3/320xCLK。采取TDM侧时钟BCLK速率随波特率自动可调的处理,好处在于逻辑进行串口到TDM时隙适配时,可以通过改变BCLK达到系统测和线路侧速率一致,方便进行流水线处理而不需要FIFO(FirstInFirstOut,先进先出)/RAM(RandomAccessMemory,随才几才姿入存储)緩存进行系统侧和线路侧的速率适配,节省资源和成本。由于一般情况下,2个串口通道最高波特率4096000bps,因此,较佳地CLK取8.192MHz。当然,本CLK也可以采用其他频率时钟输入,最终通过倍频电路或分频电路处理产生需要的其他频率时钟。为了保证CLK取8.192MHz恒定,在本实例中,逻辑器件200进一步包括PLL(PhaseLockingLoop,锁相环)电路,至于其他时钟倍频系数的时钟,全部由逻辑器件根据线路侧串口波特率的设定产生提供给CPU自带的HDLC控制器处理;为方便处理,在本实施例中,要求2个串口的波特率^殳置相同,共用一个BCLK,因此,在DCE模式下,发送模块和接收模块均获取逻辑器件中PLL提供的BCLK信号。而在DTE模式下,虽然串口接收和发送时钟均来自DCE设备,但DTE系统CPU从资源分配角度已经知道对端DCE设备的波特率,因此不需要逻辑器件增加串口速率检测处理。而对于没有用一个时隙全部8个比特的情况,HDLC控制器可以针对每个时隙中比特位掩码寄存器进行数据提取,例如,在某个数据波特率下,需要的某个时隙的比特数可能少于8个,这样需要设置掩码和数据作"相与"操作来提取比特位,软件可以任意设置,方便灵活。基于以上方案思想,只要处理器的HDLC控制器数目、工作的BCLK时钟频率和能够处理的时隙数目可以增加,本发明可以推广到支持更多的串口,具体不再^又述。本发明还提供了一种多串口的实现方法,应用于包括控制处理设备、逻辑器件和串口收发器的系统中,所述方法包括步骤IOI,通过所述串口收发器接收多路串口信号;步骤102,所迷逻辑器件将所述多路串口信号映射到一个时分复用TDM接口的多个时隙中,虚拟成多个接口;步骤103,所述控制处理设备将所述多个虚拟接口的不同时隙连接到所述控制处理设备中的不同高级数据链i^空制器,进行处理。其中,步骤103之前还包括所述逻辑器件根据线路侧串口波特率的设定产生时钟,提供给CPU自带的HDLC控制器处理。其中,步骤102具体包括根据每路串口的波特率配置每路串口所占用的时隙数目、比特数目和时钟频率。其中,步骤103之前还包括通过预设帧头信号,对接收的多路串口的数据流进行定位。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个,储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。权利要求1、一种多串口设备,包括控制处理设备、逻辑器件和串口收发器,其特征在于,所述串口收发器,用于接收多路串口信号,发送给所述逻辑器件;所述逻辑器件,用于接收所述多路串口信号后,将所述多路串口信号映射到一个时分复用TDM接口的多个时隙中,虚拟成多个接口;所述控制处理设备,用于将所述多个虚拟接口的不同时隙连接到所述控制处理设备中的不同高级数据链路控制器,进行处理。2、如权利要求1所述多串口设备,其特征在于,所述逻辑器件具体包括串口信号接收单元,用于接收所述多路串口信号;映射单元,用于将所述多路串口信号映射到一个时分复用TDM接口的多个时隙中,虚拟成多个4妄口。3、如权利要求2所述多串口设备,其特征在于,所述逻辑器件还包括时钟提供单元,用于根据线路侧串口波特率的设定产生时钟,提供给所述控制处理设备自带的高级数据链路控制器处理。4、如权利要求1所述多串口设备,其特征在于,所述逻辑器件还包括配置单元,用于根据每路串口的波特率配置每路串口所占用的时隙数目、比特数目和时钟频率。5、如权利要求1所述多串口设备,其特征在于,所述控制处理设备具体包括虚拟接口单元,用于将所述多个虚拟接口的不同时隙连接到所述控制处理设备中的不同高级数据链路控制器;处理单元,用于对不同时隙数据进行处理。6、如权利要求5所述多串口设备,其特征在于,所述虚拟接口单元,通过预设帧头信号,对接收的多路串口的数据流进行定位。7、一种多串口的实现方法,应用于包括控制处理设备、逻辑器件和串口收发器的系统中,其特征在于,所述方法包括通过所述串口收发器接收多路串口信号;所述逻辑器件将所述多路串口信号映射到一个时分复用TDM接口的多个时隙中,虚拟成多个接口;所述控制处理设备将所述多个虚拟接口的不同时隙连接到所述控制处理设备中的不同高级数据链路控制器,进行处理。8、如权利要求7所述多串口的实现方法,其特征在于,所述控制处理设备将所述多个虚拟接口的不同时隙连接到所述控制处理设备中的不同高级数据链路控制器之前还包括所述逻辑器件根据线路侧串口波特率的设定产生时钟,提供给所述控制处理设备自带的高级数据链路控制器处理。9、如权利要求7所述多串口的实现方法,其特征在于,所述逻辑器件将所述多路串口信号映射到一个时分复用TDM4妻口的多个时隙中具体包括根据每路串口的波特率配置每路串口所占用的时隙数目、比特数目和时钟频率。10、如权利要求7所述多串口的实现方法,其特征在于,所述控制处理设备将所述多个虚拟接口的不同时隙连接到所述控制处理设备中的不同高级数据链路控制器之前还包括通过预设帧头信号,对接收的多路串口的数据流进行定位。全文摘要本发明公开了一种多串口设备,包括控制处理设备、逻辑器件和串口收发器,所述串口收发器,用于接收多路串口信号,发送给所述逻辑器件;所述逻辑器件,用于接收所述多路串口信号后,将所述多路串口信号映射到一个时分复用TDM接口的多个时隙中,虚拟成多个接口;所述控制处理设备,用于将所述多个虚拟接口的不同时隙连接到所述控制处理设备中的不同高级数据链路控制器,进行处理。本发明中,利用TDM总线实现支持多路串口,增加设备低速槽位的串口接入密度,提高处理器的资源利用效率,降低系统成本。文档编号G06F13/42GK101271440SQ20081008868公开日2008年9月24日申请日期2008年4月14日优先权日2008年4月14日发明者赵恒卓申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1