CN101833355B - 一种通信协议处理器中超时定时器的硬件设计结构 - Google Patents
一种通信协议处理器中超时定时器的硬件设计结构 Download PDFInfo
- Publication number
- CN101833355B CN101833355B CN2010101746641A CN201010174664A CN101833355B CN 101833355 B CN101833355 B CN 101833355B CN 2010101746641 A CN2010101746641 A CN 2010101746641A CN 201010174664 A CN201010174664 A CN 201010174664A CN 101833355 B CN101833355 B CN 101833355B
- Authority
- CN
- China
- Prior art keywords
- module
- overtime
- timer
- output
- control
- 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.)
- Expired - Fee Related
Links
Images
Abstract
本发明一种通信协议处理器中超时定时器的硬件设计结构涉及协议处理器设计技术领域,主要为解决目前通信协议处理器中超时定时器精度不高及工作速度慢从而影响协议处理器性能的问题。本发明的硬件设计结构包括控制逻辑模块、定时器模块、多路选择器、比较器模块、或逻辑模块、超时表格模块和过滤器。本发明采用硬件结构替代了软件完成超时表项的查找、删除和插入操作,使得超时定时器的性能大大提高;同时能够通过设定不同精度的定时器,使得硬件定时器的精度不受嵌入式处理器的最高频率限制,从而达到更高的精度。
Description
技术领域
本发明属于协议处理器设计技术领域,尤其涉及一种通信协议处理器中超时定时器的硬件设计结构。
背景技术
协议处理器主要实现对某种通信协议(如蓝牙协议、USB协议等)进行处理的功能,协议处理器中一般的数据流模型包括物理层、链路层、网络层、传输层和应用层。在通信协议的处理中,必不可少的一个功能模块就是超时定时功能模块。超时定时指的是每发送一帧数据都需要开始计时,当接收到该数据帧的应答帧时就停止计时。如果在超过定时器所规定的时间内还没有接收到应答帧时,就表示发送的数据帧被丢失或者应答帧被丢失,需要重新发送该数据帧或者表示通信链路出错需要进行通信链路状态的协商再重新进行数据帧的发送。通过这种机制可以了解通信链路的状态和保证通信的正确性和稳定性,是通信协议中必不可少的功能模块。目前这种超时定时器的设计都是使用软件来设计的,利用通信协议处理器中嵌入式处理器的硬件定时器,采用单向链表结构、双向链表结构或者循环链表结构设计实现的。但是随着通信协议处理器的吞吐量的提高,软件需要定时的数据帧的数目大量增加,就会使链表表项的数目增多,从而增加软件进行链表表项查找、插入、删除等操作的复杂性和所消耗的时间,影响通信协议处理器的性能。另外,软件设计的超时定时器所实现的精度受到嵌入式处理器所支持的硬件定时器精度的限制,比如嵌入式处理器的硬件定时器的精度为30ns,那么超时定时器所能达到的精度只能大于等于30ns。
发明内容
为解决上述超时定时器精度不高及工作速度慢而影响协议处理器性能的问题,本发明提供了一种通信协议处理器中超时定时器的硬件设计结构。
本发明采用的技术方案是:一种通信协议处理器中超时定时器的硬件设计结构包括控制逻辑模块、定时器模块、多路选择器、比较器模块、或逻辑模块、超时表格模块和过滤器,所述控制逻辑模块分别与所述定时器模块、所述多路选择器、所述超时表格模块、所述比较器模块和所述过滤器连接,用于控制整个超时定时器电路各个模块的协调工作,同时协调与嵌入式处理器的通信;所述过滤器的输出的关键字信号连接到所述超时表格模块;所述定时器模块的输出分别与所述控制逻辑模块和所述多路选择模块连接;所述多路选择器的输出和所述超时表格模块的输出分别与比较器模块连接,所述比较器模块的输出分别连接到所述或逻辑模块和所述控制逻辑模块,所述过滤器,用于在控制逻辑模块的控制下从接收帧中提取标识该帧的关键字;所述控制逻辑模块,用于完成超时时间的计算,并将包括标识表项的关键字和超时时间相关信息写入所述超时表格模块的超时表项,还用于基于所述过滤器提取的关键字与所述超时表格模块中超时表项中的关键字进行比较,查询出匹配的超时表项,并将匹配的超时表项的超时时间信号输出到所述比较器模块;所述定时器模块,包括多个不同精度的定时器,用于设定多个不同的精度;所述多路选择器,用于在控制逻辑模块的控制下输出的选定精度的定时器的时间信号;所述超时表格模块,包括多个超时表项,每个超时表项中设置的关键字、有效标志、超时时间和超时标志一一对应,其中关键字根据协议类型不同,选择能够进行一帧数据唯一标识的帧的序列号、序列标志号、交换标志号及其组合中的一种;所述比较器模块,包括多个比较器,比较器的数目与超时表项的数目一致,所述比较器模块用于对所述多路选择器输出的选定精度的定时器的时间信号和所述超时表格模块中超时表项输出的超时时间信号进行比较,若比较结果为超时,则输出超时信号给所述或逻辑模块;所述或逻辑模块,用于输出比较器模块比较输出的超时信号,该超时信号用于作为协议处理器的中断控制部分的中断信号。
所述多路选择器的输入端与所述多个不同精度的定时器的输出端连接。
所述控制逻辑模块包括接收控制逻辑子块、发送控制逻辑子块、嵌入式处理器接口模块、寄存器堆模块、控制超时表格读写模块和超时值计算模块;所述寄存器堆模块分别与所述接收控制逻辑子块、所述发送控制逻辑子块、所述嵌入式处理器接口模块、所述控制超时表格读写模块和所述超时值计算模块连接;所述发送控制逻辑子块、所述超时值计算模块和所述控制超时表格读写模块依次连接,所述控制超时表格读写模块的输出分别与所述超时表格模块和所述多路选择器的控制端连接,所述控制超时表格读写模块还与所述比较器模块的输出连接;所述嵌入式处理器借口模块还与外部嵌入式处理器连接。
所述接收控制逻辑子块的输入为接收帧控制信号,并对其进行处理后传递给过滤器的控制端,用于启动过滤器来提取关键字。
所述发送控制逻辑子块的输入为发送帧控制信号,并对其进行处理后传递给超时值计算模块的控制端,用于启动超时值计算功能。
所述寄存器堆模块包括配置寄存器、使能寄存器、中断寄存器和状态寄存器。
所述超时值计算模块的输出为所述寄存器堆模块中设定的超时值与所述定时器模块中选定精度的定时器当前值的和,所述超时值计算模块通过控制超时表格读写模块将该计算得到的超时值写入超时表格模块中没有被占用的超时表项。
本发明的有益效果为:由于采用硬件设计替代了软件对大规模链表结构的查找、删除、插入的操作,使得超时定时器的性能大大提高。同时软件由于不必进行大量定时器的管理工作,从而提高了软件处理器复杂协议的效率。除此之外,由于可以使用多个不同精度的硬件定时器,并且硬件定时器的精度不受嵌入式处理器的最高频率限制,所以硬件超时定时器可以达到更高的精度。
附图说明
图1为本发明一种通信协议处理器中超时定时器的硬件设计结构示意图;
图2为图1中控制逻辑模块的内部结构示意图。
具体实施方式
下面结合附图说明本发明一种通信协议处理器中超时定时器的硬件设计结构的具体实施。
图1为本发明一种通信协议处理器中超时定时器的硬件设计结构示意图,本发明的设计结构包括控制逻辑模块1、定时器模块2、多路选择器3、比较器模块4、或逻辑模块5、超时表格模块7和过滤器6,该结构中在工作中由控制逻辑模块1完成超时时间的计算,并将包括标识表项的关键字和超时时间等相关信息写入超时表格模块7的超时表项,工作过程中,超时表项的内容会不断变化,如插入新的表项,删除查找到的没有超时的表项等。在对超时表项的访问过程中主要是基于关键字匹配查找,过程为:接到应答帧后,控制逻辑模块1发出控制信号使得过滤器6从接收帧中提取标识该帧的关键字,基于提取的关键字与超时表格模块7中超时表项中的关键字进行比较,如果找到匹配的超时表项,则表明查找到相应的表项。基于查找到的超时表项可以进行删除该表项操作,即清除相应的有效标志位。在写入新的超时表项时可以通过检测超时表项中的有效标志是否有效进行写入。定时器模块2中的多个定时器的精度不同,使用中,选择不同精度的定时器可以达到不同精度的超时定时。比较器模块4对多路选择器3输出的选定精度的定时器的时间信号和超时表格模块7中超时表项输出的超时时间信号进行比较,若比较结果为超时,则输出超时信号,比较器模块4中比较器的输出均送到或逻辑模块5,或逻辑模块5输出的超时信号可以作为中断信号输出送到协议处理器中断控制部分。而比较器输出的超时信号还要反馈到控制逻辑模块1,进一步将该超时信号标记在超时表格模块7相应表项的超时标志上,使得后续不在对此帧再进行超时定时检测。
参考图2,控制逻辑模块1的内部结构示意图,其包括嵌入式处理器接口模块101、寄存器堆模块102、控制超时表格读写模块103、超时值计算模块104、发送控制逻辑子块105和接收控制逻辑子块106。其中,嵌入式处理器接口模块101与外部嵌入式处理器进行通信,接收来自于嵌入式处理器的控制命令,同时还反馈超时定时器硬件的状态,寄存器堆模块102主要是暂存一些配置、使能、中断和状态等的信息。工作中,发送控制逻辑子块105接收发送帧的控制信号,并对该信号处理后传递给超时值计算模块104,从而启动超时值计算工作,超时值计算模块104将计算得到的超时值发送给控制超时表格读写模块103,基于图1中超时表格模块7中有效表项的查找将超时值写入相应表项。接收控制逻辑模块106在接收到接收帧的控制信号时,对该控制信号进行处理后产生控制过滤器的信号,启动过滤器提取关键字的操作。控制超时表格读写模块103用来控制对超时表格的读写,包括在发送帧时填充超时值、有效标志、超时标志、关键字表项;在接收到应答帧时清除超时表格中相应的表项;在超时信号产生时设置相应超时表格的超时标志。在选定精度定时器时,设定控制多路选择器的信号。
Claims (7)
1.一种通信协议处理器中超时定时器的硬件设计结构,包括控制逻辑模块、定时器模块、多路选择器、比较器模块、或逻辑模块、超时表格模块和过滤器,其特征在于,所述控制逻辑模块分别与所述定时器模块、所述多路选择器、所述超时表格模块、所述比较器模块和所述过滤器连接;所述过滤器的输出连接到所述超时表格模块;所述定时器模块的输出分别与所述控制逻辑模块和所述多路选择模块连接;所述多路选择器的输出和所述超时表格模块的输出分别与比较器模块连接,所述比较器模块的输出分别连接到所述或逻辑模块和所述控制逻辑模块,所述过滤器,用于在控制逻辑模块的控制下从接收帧中提取标识该帧的关键字;所述控制逻辑模块,用于完成超时时间的计算,并将包括标识表项的关键字和超时时间相关信息写入所述超时表格模块的超时表项,还用于基于所述过滤器提取的关键字与所述超时表格模块中超时表项中的关键字进行比较,查询出匹配的超时表项,并将匹配的超时表项的超时时间信号输出到所述比较器模块;所述定时器模块,包括多个不同精度的定时器,用于设定多个不同的精度;所述多路选择器,用于在控制逻辑模块的控制下输出选定精度的定时器的时间信号;所述超时表格模块,包括多个超时表项,每个超时表项中设置的关键字、有效标志、超时时间和超时标志一一对应,其中关键字根据协议类型不同,选择能够进行一帧数据唯一标识的帧的序列号、序列标志号、交换标志号及其组合中的一种;所述比较器模块,包括多个比较器,比较器的数目与超时表项的数目一致,所述比较器模块用于对所述多路选择器输出的选定精度的定时器的时间信号和所述超时表格模块中超时表项输出的超时时间信号进行比较,若比较结果为超时,则输出超时信号给所述或逻辑模块;所述或逻辑模块,用于输出比较器模块比较输出的超时信号,该超时信号用于作为协议处理器的中断控制部分的中断信号。
2.根据权利要求1所述的通信协议处理器中超时定时器的硬件设计结构,其特征在于,所述多路选择器的输入端与所述多个不同精度的定时器的输出端连接。
3.根据权利要求1所述的通信协议处理器中超时定时器的硬件设计结构,其特征在于,所述控制逻辑模块包括接收控制逻辑子块、发送控制逻辑子块、嵌入式处理器接口模块、寄存器堆模块、控制超时表格读写模块和超时值计算模块;所述寄存器堆模块分别与所述接收控制逻辑子块、所述发送控制逻辑子块、所述嵌入式处理器接口模块、所述控制超时表格读写模块和所述超时值计算模块连接;所述发送控制逻辑子块、所述超时值计算模块和所述控制超时表格读写模块依次连接,所述控制超时表格读写模块的输出分别与所述超时表格模块和所述多路选择器的控制端连接,所述控制超时表格读写模块还与所述比较器模块的输出连接;所述嵌入式处理器接口模块还与外部嵌入式处理器连接。
4.根据权利要求3所述的通信协议处理器中超时定时器的硬件设计结构,其特征在于,所述接收控制逻辑子块的输入为接收帧控制信号,输出与所述过滤器的控制端连接。
5.根据权利要求3所述的通信协议处理器中超时定时器的硬件设计结构,其特征在于,所述发送控制逻辑子块的输入为发送帧控制信号,输出与所述超时值计算模块的控制端连接。
6.根据权利要求3所述的通信协议处理器中超时定时器的硬件设计结构,其特征在于,所述寄存器堆模块包括配置寄存器、使能寄存器、中断寄存器和状态寄存器。
7.根据权利要求3所述的通信协议处理器中超时定时器的硬件设计结构,其特征在于,所述超时值计算模块的输出为所述寄存器堆模块中设定的超时值与所述定时器模块中选定精度的定时器当前值的和。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101746641A CN101833355B (zh) | 2010-05-18 | 2010-05-18 | 一种通信协议处理器中超时定时器的硬件设计结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101746641A CN101833355B (zh) | 2010-05-18 | 2010-05-18 | 一种通信协议处理器中超时定时器的硬件设计结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101833355A CN101833355A (zh) | 2010-09-15 |
CN101833355B true CN101833355B (zh) | 2012-02-22 |
Family
ID=42717448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101746641A Expired - Fee Related CN101833355B (zh) | 2010-05-18 | 2010-05-18 | 一种通信协议处理器中超时定时器的硬件设计结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101833355B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677499B (zh) * | 2015-12-29 | 2018-10-12 | 曙光信息产业(北京)有限公司 | 基于硬件的超时管理平台 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030188070A1 (en) * | 2002-04-01 | 2003-10-02 | Delaney William P. | Method and apparatus for detecting I/O timeouts |
CN100358295C (zh) * | 2005-07-06 | 2007-12-26 | 华为技术有限公司 | 一种定时器调度方法 |
CN100596050C (zh) * | 2006-03-27 | 2010-03-24 | 阿里巴巴集团控股有限公司 | 一种可靠的系统间消息通知方法和系统 |
-
2010
- 2010-05-18 CN CN2010101746641A patent/CN101833355B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101833355A (zh) | 2010-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102510323B (zh) | 一种串口数据的帧识别方法 | |
CN103346988B (zh) | 一种fsk数字解调器 | |
CN101620618B (zh) | 内存存储数据的维护方法与装置 | |
CN102708080B (zh) | 一种对齐高速串行通信通道的方法和系统 | |
CN104035884A (zh) | 一种双环形队列数据存储方法和智能网关 | |
CN102541799A (zh) | 一种利用fpga实现多串口扩展的方法 | |
CN101471787A (zh) | 基于无线通信模块的软件模拟uart的方法 | |
CN104679596A (zh) | 一种提高服务器端并发性能的消息处理方法及其系统 | |
CN104765573A (zh) | 一种串口通讯数据处理分析方法 | |
CN107153412B (zh) | 一种具有发送fifo的can总线控制器电路 | |
CN101833355B (zh) | 一种通信协议处理器中超时定时器的硬件设计结构 | |
CN102546033A (zh) | 采用脉冲调制结合串口方式实现的多机通信装置 | |
CN103577378A (zh) | 一种全双工异步串行通信方法 | |
CN103107862B (zh) | 逻辑器件及其mdio数据发送方法 | |
CN103729312A (zh) | 基于异步fifo的多路异步数据同步方法 | |
CN102323914B (zh) | 一种自动检测韦根输入的控制器接口的控制方法 | |
CN103095622B (zh) | 一种适用于iso14443协议的bpsk信号恢复电路 | |
CN107948957A (zh) | 一种用于北斗短报文可靠传输的北斗终端的控制系统 | |
CN209118271U (zh) | 一种多路高速高频串行数据采集装置 | |
CN103927506A (zh) | 基于动态时隙冲突跟踪树的rifd防碰撞方法 | |
CN101464844B (zh) | 一种ram使用权的控制方法及总线接口 | |
CN104317525B (zh) | 一种随机存储器的扩展方法及装置 | |
CN114490488B (zh) | 一种低功耗uart串口系统 | |
CN100444595C (zh) | 一种主从设备通信方法 | |
CN205725785U (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120222 Termination date: 20140518 |