CN117931720A - 基于局部总线结构改进的串行总线及数据交互方法 - Google Patents
基于局部总线结构改进的串行总线及数据交互方法 Download PDFInfo
- Publication number
- CN117931720A CN117931720A CN202410331521.9A CN202410331521A CN117931720A CN 117931720 A CN117931720 A CN 117931720A CN 202410331521 A CN202410331521 A CN 202410331521A CN 117931720 A CN117931720 A CN 117931720A
- Authority
- CN
- China
- Prior art keywords
- data
- cpu
- local bus
- error
- logic device
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 230000003993 interaction Effects 0.000 title claims abstract description 17
- 230000006872 improvement Effects 0.000 title claims abstract description 16
- 230000005540 biological transmission Effects 0.000 claims abstract description 70
- 230000002093 peripheral effect Effects 0.000 claims abstract description 43
- 238000012937 correction Methods 0.000 claims description 41
- 238000006243 chemical reaction Methods 0.000 claims description 36
- 238000012545 processing Methods 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 21
- 238000012360 testing method Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 239000000306 component Substances 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于局部总线结构改进的串行总线及数据交互方法,本发明基于Local Bus总线结构改进,将CPU输出的数十路Local Bus并行信号经过主控板上的可编程逻辑器件转换为两路串行数据,经过背板两条数据线传输到业务板,在业务板的可编程逻辑器件上,将两路串行数据恢复为并行Local Bus信号,随后传输到外围芯片,实现数据交互。解决了不同板卡通过背板通信时I/O接口资源紧张、PCB走线面积有限的问题。在背板上采用串行传输方式,提升了传输速率,背板单条线数据传输速率为125Mbps,最终总线传输速率达到250Mbps,相比于原方案提升了25%。
Description
技术领域
本发明属于板级系统总线技术领域,具体涉及一种基于Local Bus结构改进的背板串行总线,利用可编程逻辑器件实现并串、串并转换,从而达成节约I/O数量和PCB走线面积的目的。
背景技术
在框式路由器系统中,主控板负责系统的集中控制并承担路由信息的学习与交换,是整个系统的中央控制单元;业务板负责板间数据交换;背板负责连接主控与各业务板。主控板和业务板通过背板连接器接入背板,经由背板总线实现主控板CPU与业务板芯片之间的数据交互。
如图1和2所示,现有技术中通常CPU与I/O设备(外围芯片)之间使用Local Bus进行通信。Local Bus包含三部分:地址总线、数据总线和控制总线,地址总线确定目标器件,数据总线传输有效信息,控制总线决定读写、片选等。Local Bus为并行结构,每一位都需要单独的信号连接线。板内通信时,CPU与外围芯片位于同一板卡上,通过Local Bus直连,走线距离短,占用PCB面积小,也不需要考虑板卡连接时的I/O资源占用问题;但在板间通信时,CPU与外围芯片位于不同板卡上,数据需要经过CPU、CPU端背板连接器、背板、芯片端背板连接器、外围芯片,并且走线距离大大增加,会出现以下问题:(1)Local Bus每一路信号都需要单独的I/O接口来连接,会占用大量的背板连接器I/O资源;(2)数十路信号线经过背板传输,导致背板PCB走线面积紧张;(3)信号线之间会产生串扰,信号线数量越多,串扰越严重,高速情况下越容易出错,限制了传输速率。
板内Local Bus连接示意如图1所示,板间Local Bus连接示意图如图2所示,示意图中地址总线和数据总线设置为16位,控制总线设置为3位,在图中各用一根连线表示。
发明内容
发明目的:为了克服现有技术中存在的不足,本发明提供一种基基于局部总线结构改进的串行总线及数据交互实现方法。
技术方案:为实现上述发明目的,本发明采用以下技术方案:一种基于局部总线结构改进的数据总线,包括:
主控板,集成有CPU和可编程逻辑器件,所述CPU与可编程逻辑器件通过Local Bus连接;
业务板,集成有用于与所述CPU进行数据交互的外围芯片,及可编程逻辑器件,所述外围芯片与可编程逻辑器件通过Local Bus连接;
背板,设有用于分别与主控板和业务板中的可编程逻辑器件信号连接的背板连接器。
进一步的,所述主控板上的可编辑逻辑器件,包括Master格式转换模块和纠错模块;所业务板上的可编程逻辑器件,包括Slave格式转换模块和纠错模块,其中:
所述Master格式转换模块,将CPU输出的多路Local Bus并行数据压缩转化为若干路串行数据;
所述Slave格式转换模块,接收来自所述Master格式转换模块的串行数据,并恢复为多路Local Bus并行信号;
所述纠错模块,用于对传输出错时的纠错处理。
进一步的,所述可编程逻辑器件的线路为两路。
本发明还体用了一种基于上述Local Bus结构改进的数据总线系统的数据交互实现方法,包括写操作和读操作,
读操作时,包括以下步骤:
S1,CPU输出Local Bus并行数据,并经由主控板上可编辑逻辑器件将并行数据转化为串行数据;
S2,串行数据经背板连接器传输至业务板的可编辑逻辑器件;
S3,业务板上的可编辑逻辑器件将串行数据解析还原为Local Bus并行数据,并输出到相应的信号线;
S4,业务板根据Local Bus并行数据的地址信息选定相应的外围芯片写入数据;
写操作时,包括以下步骤:
S1,CPU输出Local Bus并行数据,并经由主控板上可编辑逻辑器件将并行数据转化为串行数据;
S2,串行数据经背板连接器传输至业务板的可编辑逻辑器件;
S3,业务板上的可编辑逻辑器件将串行数据解析还原为Local Bus并行数据,并输出到相应的信号线;
S4,业务板根据Local Bus并行数据的地址信息选定相应的外围芯片,告知需要读回数据;
S5,外围芯片将CPU请求的数据原路返回给CPU。
进一步的,读写操作时的具体逻辑步骤如下:
(1)数据进入CPU缓存区;
(2)CPU发送数据,Master锁存CPU传输到位宽、读写标志位、地址位 、数据位上的数据上的数据;
(3)Master为数据添加用于检错和纠错的冗余位;
(4)Master将上述数据重新排列映射到新的帧结构中,计算校验值置于帧尾;所述新的帧结构包含位宽、读写标志位、地址位、数据位、校验位和错误标志位;
(5)产生下行随路时钟cIk_slb_o,新的数据帧跟随该随路时钟经data_slb_o由Master传输至Slave;
(6)Slave接收完数据后根据校验值判断传输的数据是否正确,若出错则将错误指示寄存器reg_txerr置1,并使错误计数增加1,计数结果存放于写入数据错误计数器reg_cnt_tx中,等待CPU查询,CPU查询后会拉高标志位rd_clr,清空写入数据错误计数器reg_cnt_tx计数;
根据校验判断结果Slave返回一个错误指示标志给Master告知数据传输是否出错,传输出错时由可编程逻辑器件中的纠错模块进行纠错,若纠错后根据校验值判断数据仍出错,拉高回传错误标志位告知CPU传输失败,丢弃该组数据,CPU重发缓存的数据;
(7)若传输的数据无误,Slave解析数据帧,根据接收的地址信息选中对应外围芯片并使相应的cs_n片选信号有效;
(8)若读写标志位拉低,即为写操作,逻辑操作流程如下:
①使Wr_n有效,Slave将数据经Local Bus数据总线传输到选定的外围芯片;
②生成传输完成标志位Igta_n信号给CPU,标志传输完成;
③CPU清除缓存数据,完成一次写操作;
(9)若读写标志位拉高,即为读操作,逻辑操作流程如下:
①使Rd_n有效,选定的外围芯片将数据经Local Bus数据总线Data_cpu_i传输到Slave;
②Slave将数据映射到前文所述的帧结构中,计算校验值置于帧尾;
③产生上行随路时钟cIk_ slb_i,数据帧跟随该时钟经Local Bus数据总线data_slb_o由Slave传输至Master;
④Master接收完数据后根据校验值判断传输的数据是否正确,若出错则将错误指示寄存器reg_rxerr置1,并使错误计数增加1,计数结果存放于读回数据错误计数器reg_cnt_rx中,等待CPU查询,CPU查询后拉高标志位Rd_clr,清空读回数据错误计数器reg_cnt_rx计数;若纠错后根据校验值判断数据仍出错,拉高回传错误标志位告知CPU传输失败,丢弃该组数据,CPU重发缓存的数据;
⑤Master恢复出并行数据,经Local Bus数据总线data_cpu_o传输回CPU;
⑥生成传输完成标志位Igta_n信号给CPU,标志传输完成;
⑦CPU清除缓存数据,完成一次读操作。
有益效果:与现有技术相比,本发明具有以下优点:
(1)利用可编程逻辑器件进行并串、串并转换,减少了经过背板的信号线数量。改进的方案将CPU输出的Local Bus并行信号经过主控板上的可编程逻辑器进行并串转换,通过背板传输到业务板,在业务板的可编程逻辑器件上进行串并转换,连接到外围芯片上。
(2)采用两条随路时钟减少传输出错概率。随路时钟通过可编程逻辑器件中的锁相环产生,可自由调节相位。随路时钟的工作原理是:让数据跟随该时钟传输,通过调整时钟相位,一定能找到一个点让时序满足要求,使得对端能正确的采集数据,保证传输正确。
(3)在背板上采用串行传输方式,提升了传输速率。若用Local Bus实现板间通信,由于信号间串扰,时钟频率限制在12.5Mhz,总线传输速率为200Mbps。本方案数据接口采用双沿采样模式:在时钟上升沿和下降沿均进行数据采样,使传输速率翻倍,本方案随路时钟频率设置为62.5Mhz,背板单条线数据传输速率为125Mbps,最终总线传输速率达到250Mbps,相比于原方案提升了25%。
附图说明
图1为现有技术中板内Local Bus连接示意图;
图2为现有技术中板间Local Bus连接示意图;
图3本发明所述基于Local Bus结构改进的总线连接示意图;
图4本发明写操作数据传输格式;
图5为本发明写操作时序图;
图6为本发明读操作数据传输格式;
图7为本发明读操作数据传输格式;
图8为本发明总线转换逻辑接口连接示意图;
图9为本发明所述基于Local Bus结构改进的数据交互实现方法逻辑实现流程图;
图10 为本发明实施例所述数据纠错过程示意图;
图11 为本发明实施例所述总线实际电路连接图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
本发明的基于Local Bus总线结构改进的串行管理总线方案,实现方法是将CPU输出的数十路Local Bus并行信号经过主控板上的可编程逻辑器件转换为两路串行数据,经过背板两条数据线传输到业务板,在业务板的可编程逻辑器件上,将两路串行数据恢复为并行Local Bus信号,随后传输到外围芯片,实现数据交互,解决了不同板卡通过背板通信时I/O接口资源紧张、PCB走线面积有限的问题。
以下进行详细描述:
一、系统组成
本总线方案的核心组件包括:主控板、主控板与背板间的连接器、背板、背板与业务板间的连接器、业务板。
主控板上核心元件为CPU与可编程逻辑器件,二者之间使用Local Bus连接。业务板上核心元件为需要与CPU进行数据交互的外围芯片与可编程逻辑器件,二者之间使用Local Bus连接。主控板可编程逻辑器件与业务板可编程逻辑器件之间使用改进的背板串行总线连接。
可编程逻辑器件中主要组件为格式转换模块和纠错模块,其中格式转换模块实现数据的并串/串并转换,纠错模块负责在传输出错时进行纠错。
二、总线方案总体设计
2.1 总线整体方案架构
在本方案中:CPU与外围芯片进行数据交互,其中CPU位于主控板,外围芯片位于业务板,需要进行板间通信。CPU芯片通过Local Bus总线将数据传输至主控板上的可编程逻辑器件,在格式转换模块中将数据重新排列为串行传输格式;然后依次经过主控板与背板间的连接器、背板、背板与业务板间的连接器,将串行数据传输到业务板上的可编程逻辑器件中,在格式转换模块中恢复出Local Bus信号,输出到对应信号线中,最终传输至外围芯片。外围芯片返回给CPU数据也是通过上述的数据通路送回。方案框图如图3。
2.2 总线传输格式和时序分析
改进的串行总线采用固定的读写帧格式通信,包含位宽、读写标志位、地址位、数据位、校验位和错误标志位,转换为串行格式后依次写入两根数据线(第一位给dataline0,第二位给dataline1,依此类推)。
以写操作过程,即数据从CPU写入外围芯片为例分析传输过程:
①CPU输出Local Bus数据(地址、数据和控制位),送入主控板可编程逻辑器件;
②在主控板可编程逻辑器件的格式转换模块中将并行数据按控制位、地址位、数据位的顺序依次写入两根数据线,转化为串行传输的数据。两路随路时钟线作用是确保传输时序正确,此时下行(即主控板发往业务板方向)随路时钟有效;
③串行数据经过背板传输至业务板的可编程逻辑器件;
④业务板的可编程逻辑器件中的格式转换模块依据②中格式解出Local Bus数据并输出到相应信号线;
⑤业务板根据地址信息选定相应的外围芯片并写入数据。
写操作数据传输格式和写操作时序图,分别如图4和5所示。时序图中各数据位的含义如下:
BW(bit width)-有效数据位宽,置1时为16,置0时为32;
W/R(write/read)-读/写,置1时为读操作,置0时为写操作;
AD(address)-地址;
DA(data)-有效数据;
PB(parity bit)-校验位,根据帧数据计算得来,附在帧末尾传输至对端,对端接收数据后根据校验计算判断传输是否出错;
EF(error flag)-错误标志位,置1时即传输出错,用来告知CPU传输错误与否。
以读操作过程,即CPU需要从外围芯片读回数据为例分析传输过程:
①CPU输出Local Bus数据(地址和控制位,数据需要从外围芯片读回,所以这里数据为空),送入主控板可编程逻辑器件;
②在主控板可编程逻辑器件的格式转换模块中将并行数据按控制位、地址位的顺序依次写入两根数据线,转化为串行传输的数据。两路随路时钟线作用是确保传输时序正确,此时下行(即主控板发往业务板方向)随路时钟有效;
③串行数据经过背板传输至业务板的可编程逻辑器件;
④业务板可编程逻辑器件的格式转换模块依据②中格式解出Local Bus数据并输出到相应信号线;
⑤业务板根据地址信息选定相应的外围芯片,告知需要读回数据。
⑥外围芯片将CPU请求的数据原路返回给CPU,此时上行随路时钟有效。
读操作数据传输格式如图6所示,读操作时序图如图7所示。时序图中各数据位的含义如下:
BW(bit width)-有效数据位宽,置1时为16,置0时为32;
W/R(write/read)-读/写,置1时为读操作,置0时为写操作;
AD(address)-地址;
DA(data)-有效数据;
PB(parity bit)-校验位,根据前面所有数据计算得来,附在帧末尾传输至对端,对端接收数据后根据校验计算判断传输是否出错;
EF(error flag)-错误标志位,置1时即传输出错,用来告知CPU传输错误与否。
在读操作时序图中,波浪线前为主控板CPU传往业务板芯片的数据;波浪线后为业务板芯片返回给CPU的数据。二者所用的随路时钟方向是不同的。
三、总线逻辑实现
3.1 逻辑功能介绍
改进的总线核心思想是利用可编程逻辑器件中的格式转换模块实现数据的并串、串并转换,根据格式转换模块所处的位置分为主控板侧格式转换模块(Master)和业务板侧格式转换模块(Slave)。可编程逻辑器件中还包含纠错模块,负责传输出错时的纠错。
主控板侧格式转换模块(Master)功能描述:将CPU出的多路Local Bus信号串行化,按规定的数据格式传送到两路数据信号线上,发送到业务板,并在读操作时接收业务板返回的数据。
业务板侧格式转换模块(Slave)功能描述:接收主控发到信号线上的串行数据,恢复出多路Local Bus信号,送往业务板上的目标芯片模块,读操作将目标芯片模块返回的数据经数据线返回给主控板。
纠错模块功能描述:传输数据出错时进行纠错。
改进的总线主要通过 Verilog HDL语言对可编程逻辑器件进行编程完成设计。Verilog HDL是一种硬件描述语言,是用语言的形式来描述硬件线路,不涉及硬件工艺。本方案采用自顶向下的设计方法,便于移植,开发效率高。
3.2 模块接口说明
图8为本发明总线转换接口连接示意图,该图描述的是信号传输关系而非物理线路,只有部分逻辑连接具有物理连线,其余部分是由逻辑代码进行控制的。CPU和Master逻辑位于主控板上,Slave逻辑和外围芯片位于业务板上。CPU将Local Bus数据下发给Master逻辑模块转换为串行数据格式,经背板总线传输到Slave逻辑模块恢复为Local Bus数据,并下发给外围芯片完成数据交互功能。主从模块上设置状态监视寄存器以记录传输出错情况并进行错误计数,数据纠错功能由可编程逻辑器件中的纠错模块实现。
如下表1所示,为总线逻辑接口功能说明。表中的数据线均作双向处理,物理上使用同一条线路:例如CPU和Master之间的data_cpu_i和data_cpu_o实际使用的物理线路相同,区别在于调用时的传输方向不同;data_slb_i和data_slb_o;Data_cpu_i和Data_cpu_o同理。
表1 总线逻辑接口功能说明
3.3 逻辑实现流程
设计总线的目的是实现CPU与外围芯片之间更好的交互,读写操作是本设计的核心,以下为逻辑实现流程概述,⑧与⑨是依据读、写分成的两个分支。逻辑实现流程图如图9所示。
(1)数据进入CPU缓存区;
(2)CPU发送数据,Master锁存CPU传输到bcs_16bit/bcs_32bit、rd_n/wr_n、addr、data_cpu_i上的数据;
(3)Master为数据添加冗余位,用于检错和纠错;
(4)Master将上述数据重新排列映射到前文描述的帧结构中,计算校验值置于帧尾;
(5)产生下行随路时钟cIk_slb_o,数据帧跟随该时钟经data_slb_o由Master传输至Slave;
(6)Slave接收完数据后根据校验值判断传输的数据是否正确,若出错则将错误指示寄存器reg_txerr置1,并使错误计数增加1,计数结果存放于reg_cnt_tx中,等待CPU查询,CPU查询后会拉高rd_clr标志位,清空reg_cnt_tx计数。根据校验判断结果Slave返回一个错误指示标志给Master告知数据传输是否出错,传输出错时由可编程逻辑器件中的纠错模块进行纠错,若纠错后根据校验值判断数据仍出错,拉高回传错误标志位告知CPU传输失败,丢弃该组数据,CPU重发缓存的数据;
(7)若传输的数据无误,Slave解析数据帧,根据接收的地址信息选中对应外围芯片并使相应的cs_n片选信号有效;
(8)若读写标志位拉低,即为写操作,接下来操作流程如下:
①使Wr_n有效,Slave将数据经Data_cpu_i传输到选定的外围芯片;
②生成Igta_n信号给CPU,标志传输完成;
③CPU清除缓存数据,完成一次写操作。
(9)若读写标志位拉高,即为读操作,接下来操作流程如下:
①使Rd_n有效,选定的外围芯片将数据经Data_cpu_o传输到Slave;
②Slave将数据映射到前文所述的帧结构中,计算校验值置于帧尾;
③产生上行随路时钟cIk_ slb_i,数据帧跟随该时钟经data_slb_o由Slave传输至Master;
④Master接收完数据后根据校验值判断传输的数据是否正确,若出错则将错误指示寄存器reg_rxerr置1,并使错误计数增加1,计数结果存放于reg_cnt_rx中,等待CPU查询,CPU查询后会拉高Rd_clr标志位,清空reg_cnt_rx计数。若纠错后根据校验值判断数据仍出错,拉高回传错误标志位告知CPU传输失败,丢弃该组数据,CPU重发缓存的数据;
⑤Master恢复出并行数据,经data_cpu_o传输回cpu;
⑥生成Igta_n信号给CPU,标志传输完成;
⑦CPU清除缓存数据,完成一次读操作。
针对前文提到的纠错模块,本发明给出一种详细的实施方案:利用RS(Reed-Solomon)纠错码作为数据传输中的纠错模块,RS纠错模块允许传输的数据根据添加的冗余信息进行纠错。依据RS纠错模块的数据纠错过程示意图如图10所示。关于出错数据的纠错过程详细说明如下:
①CPU将数据传输至主控板可编程逻辑器件,添加冗余位;
②将已添加冗余位的数据传输至格式转换模块,转换为能在背板总线传输的格式;
③数据由主控板发送到业务板,业务板的格式转换模块恢复出原始格式的数据,根据校验位计算得知,传输数据出错;
④将出错数据传输至RS纠错模块进行纠错,若校验正确,恢复出正确数据。若校验仍出错,则丢弃该组数据,通知CPU进行重传;
⑤将正确数据传输至外围芯片;
⑥外围芯片将数据返回到业务板可编程逻辑器件,添加冗余位;
⑦将已添加冗余位的数据传输至格式转换模块,转换为能在背板总线传输的格式;
⑧返回的数据由业务板发送到主控板,主控板的格式转换模块恢复出原始格式的数据,根据校验位计算得知,传输数据出错;
⑨将出错数据传输至RS纠错模块进行纠错,若校验正确,恢复出正确数据。若校验仍出错,则丢弃该组数据,通知CPU进行重传;
⑩将正确数据返回给CPU进行处理。
实施案例
接下来,利用主控板和业务板插入背板搭建系统验证该总线方案,本总线方案的转换逻辑改进的总线实际电路连接图如图11。图中只列出与本总线相关的电路连接,图中出现的名称为信号连线的网络名(实际的网络名很复杂,每经过一个元器件网络名都会变更,此处为了便于描述将传输同一信号的网络名进行了名称的归一化处理)。此处的信号连线都是物理连线,连接中出现的电阻是为了做电路的阻抗匹配,从而提高信号质量。接下来对信号网络名进行具体说明:
AD[16:0]:16根地址总线;
DA[16:0]:16根数据总线;
RD_N:控制总线连线,控制读指示位;
WR_N:控制总线连线,控制写指示位;
CS_N:控制总线连线,控制片选指示位,该位有效时才进行读写操作;
CLK_UP:上行随路时钟,传输方向为业务板→主控板时有效;
CLK_DOWN: 下行随路时钟,传输方向为主控板→业务板时有效;
DATA0:串行数据线0;
DATA1:串行数据线1。
系统搭建完成后,对总线信号质量进行测试,如表2所示,为主控板到业务板的信号质量测试结果,表3为业务板返回主控板的信号质量测试结果。这里的表格给出的测试要求是在满足器件正常工作条件下额外加上裕量要求后计算得出的,对硬件能力要求更为严格,最终的硬件能力更可靠 。在调试完单板功能,业务通道打通后,对单板进行反复测试,统计信号测试结果,并取平均值,最终测得的信号质量满足各项信号测试裕量要求,总线功能符合预期。为确保总线稳定可靠,更换不同主控板再进行多轮测试,总线仍可正常工作,信号质量满足测试裕量要求。
前文分别从总线的应用场景、传输格式、逻辑实现等方面做了详细的介绍,并在单板上进行了实物验证,经测试可以达到预期传输数据功能,并且满足测试裕量要求,信号质量达标。
表2 主控板到业务板方向信号质量测试结果
表3 业务板到主控板方向信号质量测试结果
相较于现有技术的板内和板间并行数据传输方式,本发明创新之处在于:
(1)利用可编程逻辑器件进行并串、串并转换,减少经过背板的信号线数量,节约背板连接器I/O资源和PCB走线面积。采用本方案,经过背板连接器的信号数量由35路(此处数据设置为16位,数据32位情况下为51路)压缩为4路,极大的节约了背板连接器I/O资源和PCB走线面积。
注:可编程逻辑器件并不是专用来实现总线功能的,在板上主要进行业务数据的处理,因此使用该器件并不需要额外花费成本。
(2)采用两条随路时钟,减小了出错概率,并且调试更加灵活简单,便于后期的维护和改进。常规方法是人工设置时序约束,综合软件会通过调整寄存器到管脚的延时,使下游器件能采集到这个数据,满足时序要求。但是时序约束调试相当麻烦,并且调节延时有限度,出错概率大于随路时钟。
(3)在背板上采用串行传输方式,提升了传输速率。并行传输速率的瓶颈在于信号间串扰和信号等长限制,后续难以继续提升;串行传输速率瓶颈在于芯片能力,在本方案中出于成本考虑限制了速率,但仍优于并行传输方式。本方案在背板上传输速率为250Mbps,而Local Bus直连的速率为200Mbps,速率提升了25%。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (5)
1.一种基于局部总线结构改进的数据总线,其特征在于,包括:
主控板,集成有CPU和可编程逻辑器件,所述CPU与可编程逻辑器件通过Local Bus连接;
业务板,集成有用于与所述CPU进行数据交互的外围芯片,及可编程逻辑器件,所述外围芯片与可编程逻辑器件通过Local Bus连接;
背板,设有用于分别与主控板和业务板中的可编程逻辑器件信号连接的背板连接器。
2.根据权利要求1所述基于局部总线结构改进的数据总线,其特征在于,所述主控板上的可编辑逻辑器件,包括Master格式转换模块和纠错模块;所业务板上的可编程逻辑器件,包括Slave格式转换模块和纠错模块,其中:
所述Master格式转换模块,将CPU输出的多路Local Bus并行数据压缩转化为若干路串行数据;
所述Slave格式转换模块,接收来自所述Master格式转换模块的串行数据,并恢复为多路Local Bus并行信号;
所述纠错模块,用于对传输出错时的纠错处理。
3.根据权利要求2所述基于局部总线结构改进的数据总线,其特征在于,所述可编程逻辑器件的线路为两路。
4.一种基于权利要求1-3任一所述基于局部总线结构改进的数据总线的数据交互方法,包括写操作和读操作,其特征在于,
读操作时,包括以下步骤:
S1,CPU输出Local Bus并行数据,并经由主控板上可编辑逻辑器件将并行数据转化为串行数据;
S2,串行数据经背板连接器传输至业务板的可编辑逻辑器件;
S3,业务板上的可编辑逻辑器件将串行数据解析还原为Local Bus并行数据,并输出到相应的信号线;
S4,业务板根据Local Bus并行数据的地址信息选定相应的外围芯片写入数据;
写操作时,包括以下步骤:
S1,CPU输出Local Bus并行数据,并经由主控板上可编辑逻辑器件将并行数据转化为串行数据;
S2,串行数据经背板连接器传输至业务板的可编辑逻辑器件;
S3,业务板上的可编辑逻辑器件将串行数据解析还原为Local Bus并行数据,并输出到相应的信号线;
S4,业务板根据Local Bus并行数据的地址信息选定相应的外围芯片,告知需要读回数据;
S5,外围芯片将CPU请求的数据原路返回给CPU。
5.根据权利要求4所述基于局部总线结构改进的数据总线的数据交互方法,其特征在于,读写操作时的具体逻辑步骤如下:
(1)数据进入CPU缓存区;
(2)CPU发送数据,Master锁存CPU传输到位宽、读写标志位、地址位 、数据位上的数据上的数据;
(3)Master为数据添加用于检错和纠错的冗余位;
(4)Master将上述数据重新排列映射到新的帧结构中,计算校验值置于帧尾;所述新的帧结构包含位宽、读写标志位、地址位、数据位、校验位和错误标志位;
(5)产生下行随路时钟cIk_slb_o,新的数据帧跟随该随路时钟经data_slb_o由Master传输至Slave;
(6)Slave接收完数据后根据校验值判断传输的数据是否正确,若出错则将错误指示寄存器reg_txerr置1,并使错误计数增加1,计数结果存放于写入数据错误计数器reg_cnt_tx中,等待CPU查询,CPU查询后会拉高标志位rd_clr,清空写入数据错误计数器reg_cnt_tx计数;
根据校验判断结果Slave返回一个错误指示标志给Master告知数据传输是否出错,传输出错时由可编程逻辑器件中的纠错模块进行纠错,若纠错后根据校验值判断数据仍出错,拉高回传错误标志位告知CPU传输失败,丢弃该组数据,CPU重发缓存的数据;
(7)若传输的数据无误,Slave解析数据帧,根据接收的地址信息选中对应外围芯片并使相应的cs_n片选信号有效;
(8)若读写标志位拉低,即为写操作,逻辑操作流程如下:
①使Wr_n有效,Slave将数据经Local Bus数据总线传输到选定的外围芯片;
②生成传输完成标志位Igta_n信号给CPU,标志传输完成;
③CPU清除缓存数据,完成一次写操作;
(9)若读写标志位拉高,即为读操作,逻辑操作流程如下:
①使Rd_n有效,选定的外围芯片将数据经Local Bus数据总线Data_cpu_i传输到Slave;
②Slave将数据映射到前文所述的帧结构中,计算校验值置于帧尾;
③产生上行随路时钟cIk_ slb_i,数据帧跟随该时钟经Local Bus数据总线data_slb_o由Slave传输至Master;
④Master接收完数据后根据校验值判断传输的数据是否正确,若出错则将错误指示寄存器reg_rxerr置1,并使错误计数增加1,计数结果存放于读回数据错误计数器reg_cnt_rx中,等待CPU查询,CPU查询后拉高标志位Rd_clr,清空读回数据错误计数器reg_cnt_rx计数;若纠错后根据校验值判断数据仍出错,拉高回传错误标志位告知CPU传输失败,丢弃该组数据,CPU重发缓存的数据;
⑤Master恢复出并行数据,经Local Bus数据总线data_cpu_o传输回CPU;
⑥生成传输完成标志位Igta_n信号给CPU,标志传输完成;
⑦CPU清除缓存数据,完成一次读操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410331521.9A CN117931720A (zh) | 2024-03-22 | 2024-03-22 | 基于局部总线结构改进的串行总线及数据交互方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410331521.9A CN117931720A (zh) | 2024-03-22 | 2024-03-22 | 基于局部总线结构改进的串行总线及数据交互方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117931720A true CN117931720A (zh) | 2024-04-26 |
Family
ID=90751139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410331521.9A Pending CN117931720A (zh) | 2024-03-22 | 2024-03-22 | 基于局部总线结构改进的串行总线及数据交互方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117931720A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060129722A1 (en) * | 2004-12-14 | 2006-06-15 | Rockwell Automation Technologies, Inc. | Low protocol, high speed serial transfer for intra-board or inter-board data communication |
CN102523145A (zh) * | 2011-11-21 | 2012-06-27 | 天津中兴软件有限责任公司 | 一种本地总线桥接和数据传输的方法 |
CN104881390A (zh) * | 2015-05-11 | 2015-09-02 | 杭州奕霖传感科技有限公司 | 通过串行并行总线相互转换以减少线缆数量的方法 |
CN110492889A (zh) * | 2019-08-16 | 2019-11-22 | 西安紫光国芯半导体有限公司 | 检测纠正两位错误的编码解码方法、编码解码器及处理器 |
WO2020015201A1 (zh) * | 2018-07-14 | 2020-01-23 | 苏州大学张家港工业技术研究院 | 面向多应用pon的fpga收发器的单芯片onu |
US20210191618A1 (en) * | 2012-01-26 | 2021-06-24 | Memory Technologies Llc | Apparatus and Method to Provide Cache Move with Non-Volatile Mass Memory System |
CN113032319A (zh) * | 2021-03-30 | 2021-06-25 | 中车青岛四方车辆研究所有限公司 | 基于fpga的车载系统数据传输方法及同步高速串行总线结构 |
CN114826542A (zh) * | 2022-05-17 | 2022-07-29 | 重庆奥普泰通信技术有限公司 | 基于异步串行通信的数据传输方法、装置、设备及介质 |
CN115834308A (zh) * | 2022-11-15 | 2023-03-21 | 南京国电南自新能源科技有限公司 | 一种跨时域通讯可纠错的曼彻斯特解码方法 |
CN116208173A (zh) * | 2022-12-21 | 2023-06-02 | 无锡华普微电子有限公司 | 高速串行接口无时钟线应用下的并行化解码装置及方法 |
-
2024
- 2024-03-22 CN CN202410331521.9A patent/CN117931720A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060129722A1 (en) * | 2004-12-14 | 2006-06-15 | Rockwell Automation Technologies, Inc. | Low protocol, high speed serial transfer for intra-board or inter-board data communication |
CN102523145A (zh) * | 2011-11-21 | 2012-06-27 | 天津中兴软件有限责任公司 | 一种本地总线桥接和数据传输的方法 |
US20210191618A1 (en) * | 2012-01-26 | 2021-06-24 | Memory Technologies Llc | Apparatus and Method to Provide Cache Move with Non-Volatile Mass Memory System |
CN104881390A (zh) * | 2015-05-11 | 2015-09-02 | 杭州奕霖传感科技有限公司 | 通过串行并行总线相互转换以减少线缆数量的方法 |
WO2020015201A1 (zh) * | 2018-07-14 | 2020-01-23 | 苏州大学张家港工业技术研究院 | 面向多应用pon的fpga收发器的单芯片onu |
CN110492889A (zh) * | 2019-08-16 | 2019-11-22 | 西安紫光国芯半导体有限公司 | 检测纠正两位错误的编码解码方法、编码解码器及处理器 |
CN113032319A (zh) * | 2021-03-30 | 2021-06-25 | 中车青岛四方车辆研究所有限公司 | 基于fpga的车载系统数据传输方法及同步高速串行总线结构 |
CN114826542A (zh) * | 2022-05-17 | 2022-07-29 | 重庆奥普泰通信技术有限公司 | 基于异步串行通信的数据传输方法、装置、设备及介质 |
CN115834308A (zh) * | 2022-11-15 | 2023-03-21 | 南京国电南自新能源科技有限公司 | 一种跨时域通讯可纠错的曼彻斯特解码方法 |
CN116208173A (zh) * | 2022-12-21 | 2023-06-02 | 无锡华普微电子有限公司 | 高速串行接口无时钟线应用下的并行化解码装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111131091B (zh) | 一种面向片上网络的片间互连方法和系统 | |
US7243173B2 (en) | Low protocol, high speed serial transfer for intra-board or inter-board data communication | |
CN105357147B (zh) | 一种高速高可靠的片上网络适配单元 | |
US20070074140A1 (en) | Systems and methods for writing data with a FIFO interface | |
CN110471880B (zh) | 一种基于FPGA支持Label号筛选的ARINC429总线模块及其数据传输方法 | |
CN112148651B (zh) | 一种增强型rapidio互联装置及设备 | |
CN110515879B (zh) | 一种异步传输装置及其传输方法 | |
CN114338444B (zh) | Tte交换机的测试方法、系统、存储介质、计算机设备 | |
JPH0691511B2 (ja) | 信号チエツク装置 | |
CN101771554B (zh) | 一种余度管理电路及其管理方法 | |
CN117931720A (zh) | 基于局部总线结构改进的串行总线及数据交互方法 | |
CN117331881A (zh) | 一种适用于宇航chiplet互联协议的数据传输系统 | |
CN108900284A (zh) | 一种片上无线网络中高效容错的无线接口 | |
US6779072B1 (en) | Method and apparatus for accessing MMR registers distributed across a large asic | |
CN116414758A (zh) | 面向高速可扩展互联裸芯与PCIe主设备的并行式转换接口 | |
CN106326175A (zh) | 一种ahb总线和opb总线的转换方法及桥装置 | |
CN1184826C (zh) | 一种用于宽带交换设备功能测试的系统 | |
CN101296063B (zh) | 主备倒换装置及方法、单板 | |
CN105262659A (zh) | 基于fpga芯片的hdlc协议控制器 | |
CN111654358B (zh) | 一种物理层传输真实误码采集装置及设备 | |
CN117938574B (zh) | 一种用于星载设备间通信的SpaceWire总线节点控制器IP核 | |
CN112104489B (zh) | 一种对通讯无干扰的高速实时数据捕获方法 | |
CN109614351A (zh) | 带有纠错和自动应答机制的并行总线串行互联扩展方法 | |
CN108595357A (zh) | 基于fpga的dm365数据传输接口电路 | |
CN117785783A (zh) | 宇航高可靠高速互联芯粒 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |