法律状态公告日
法律状态信息
法律状态
2015-10-07
授权
授权
2013-08-21
实质审查的生效 IPC(主分类):G06F13/40 申请日:20130313
实质审查的生效
2013-07-24
公开
公开
技术领域
本发明涉及一种基于wishbone总线的片上系统,特别是一种使用 wishbone作为互联总线、实现主与主、从与从通信的片上系统和方法,属于 片上测试系统和数字通信的技术领域。
背景技术
Wishbone总线是一种用于片上系统内部模块互联的片上系统总线。目前, 片上系统使用较多的四种总线标准是:ARM的AMBA、OpenCores的Wishbone、 Altera的Avalon和OCP-IP的OCP。其中,wishbone总线区别于其他片上总线 的优点如下:结构简单,灵活性很强,接口简单紧凑,适用于轻量级规范的系 统;支持用户自定义信号(如TGD_I/O),完全开放和免费、即无知识产权。基 于以上优势,wishbone总线经常被用于一些轻量级片上系统的设计中。
片上网络测试系统是通常采用SoPC(System on Programmable Chip)技术 实现的、具有对多种网络性能进行测试功能的片上系统。随着半导体技术与产 业的发展,该类测试系统的产品或器件逐渐地由原来的板级系统逐渐过渡为片 上系统。高性能、轻量级的片上系统的搭建,离不开高性能的片上总线,因此 wishbone片上总线在测试系统中也被广泛使用。
参见图1,介绍wishbone片上总线的特点之一:主从式的数据传输过程。 其主模块的接口能够读、写总线,而从模块的接口只能被总线读写,这是其结 构简单与紧凑的原因。但是,也因此造成主模块与主模块之间或从模块与从模 块之间无法进行通信,而这种通信过程往往是测试系统中所必需的。
造成上述缺陷的原因是由于该基于wishbone总线的测试系统具有特殊的结 构特点,其主要包括下述部件:
控制主模块:其功能是一方面负责与上层功能模块进行指令或测试结果的 交互,另一方面负责向测试主模块下达指令和回收测试结果。
测试主模块:负责接收控制主模块的测试指令,调用功能从模块实施不同 的测试过程;并计算和统计测试结果后,将测试结果数据传送给控制主模块。
功能从模块:负责接受测试主模块的调用,并相互配合,从而实施各种具 体、复杂的测试功能。
以网络性能测试系统为例:在测试过程中,需要控制主模块向测试主模块 下达带有参数的测试指令,回收测试结果并上传给上位机。功能从模块之间也 需要进行数据包的交换和网络协议的处理,必须相互协作,才能完成部分网络 性能测试功能。然而,wishbone总线自身固定的主从式数据传输模式,使得主 控制模块与主测试模块、功能从模块与从功能模块之间都不能进行数据传输, 这就在很大程度上限制了许多网络测试功能的实现。
现有技术的解决方案是:直接在主模块之间和/或从模块之间添加数据传输 接口,绕过总线传输数据,这样不仅使得该片上系统的控制电路变得杂乱无章, 破坏了该片上系统的规范性,又无法利用该片上系统的总线优势。而且,往往 仍然不能满足用户的需求。因此,如何解决这个难题,就成为业内科技人员关 注的课题。
发明内容
有鉴于此,本发明的目的是提供一种对wishbone总线系统进行优化改 造、从而能够实现主与主、从与模块之间通信的基于wishbone总线的片上系 统及方法,本发明提高了wishbone总线系统的通信灵活性,实现了主与主、 从与从的通信,同时还维护了该片上系统的规范性和充分利用了总线的资源 优势。
为了达到上述目的,本发明提供了一种基于wishbone总线实现主模块与 主模块、从模块与从模块通信的片上系统,设有标准wishbone总线;其特征 在于:该片上系统除了对连接所述wishbone总线的原有各个主模块和从模块 进行改进以外,还增设下述两个模块:
专用交换从模块,负责在主模块与主模块通信时,暂存源主模块发送的包 括控制信息、有效数据和结束信号的通信数据,并根据控制信息中的目的主模 块地址和通信数据字长分别确认目的主模块和将该通信数据存储于目的主模块 在存储单元中对应的存储空间内;且当存储单元存有多个目的主模块的通信数 据需要发送时,藉由中断单元的仲裁而对优先级最高的目的主模块产生中断申 请;当通信数据被目的主模块读取完毕后,就清空该目的主模块对应的存储空 间,以供后续通信数据写入;设有:控制、存储、中断申请和接口共四个单元;
专用交换主模块,负责在从模块与从模块通信时,接收源从模块的中断申 请,并对多个中断申请进行仲裁,响应优先级最高的从模块:先读取和缓存源 从模块中的通信数据的控制信息,以便通过控制信息中的通信数据字长读取全 部通信数据,并通过目的从模块地址确定转发目标;在完成通信数据的读取后, 向目的从模块写入缓存的通信数据;设有:控制、缓存、中断接收和接口共四 个单元;
所述主模块和从模块的改进是各自分别增添发送与接收数据的状态判断模 块,以便该主模块和从模块能够分别按照各自设定的协议规则发送通信数据; 并对接收的通信数据根据设定的协议规则进行解析,以获取其中的有效数据。
为了达到上述目的,本发明提供了一种采用本发明的片上系统实现主模块 与主模块之间通信的方法,其特征在于:所述方法包括下述操作步骤:
(1)申请到总线使用权后,源主模块先向专用交换从模块发送查询类型的 通信数据,再读取查询结果,判断专用交换从模块中目的主模块对应存储空间 是否为空;如果不为空,则执行后续步骤(2);否则,跳转执行步骤(3);
(2)源主模块通过发送重置类型通信数据将该段存储空间重置为空,或者 等待专用交换从模块将其中数据转发后,自动变为空;就结束该方法操作流程;
(3)源主模块向专用交换从模块发送通信数据;专用交换从模块接收通信 数据后,由其控制单元解析其中首先接收到的控制信息,并依据控制信息将所 有通信数据存储于目的主模块对应的存储空间后,源主模块释放总线使用权;
(4)当专用交换从模块中的存储单元监测到有缓存的通信数据要发送时, 将目的主模块地址发送给中断申请单元,由中断申请单元对目的主模块进行优 先级仲裁,并向优先级最高的目的主模块发出中断申请;
(5)接收到该中断申请的目的主模块申请总线使用权;申请成功后,先向 专用交换从模块发送预读类型的通信数据,并将其自身地址告知专用交换从模 块,以便下一周期读取其自身对应存储空间内的数据;或者先发送查询类型通 信数据,查询其存储空间内是否有需要读取的通信数据,再发送预读类型通信 数据告知专用交换从模块后,直接读取专用交换从模块对应存储空间内的数据, 并根据首先接收的控制信息中的通信数据字长完成全部通信数据的接收;
(6)当目的主模块接收所有通信数据后,对其进行解析和提取有效数据; 同时,专用交换从模块自动取消中断申请信号,清空对应存储空间;结束本次 主模块与主模块的通信过程。
为了达到上述目的,本发明又提供了一种采用本发明的片上系统实现从模 块与从模块之间通信的方法,其特征在于:所述方法包括下述操作步骤:
(1)源从模块按照协议规则准备好通信数据后,向专用交换主模块发出中 断申请;
(2)专用交换主模块的中断接收单元接收所有源从模块的中断申请,并按 照优先级进行决策,先接收优先级最高的源从模块的通信数据,其控制单元根 据先接收到的控制信息中的通信数据字长,控制接口单元完成全部通信数据的 接收,并写入到缓存单元;
(3)专用交换主模块保持总线使用权,或在释放后再次申请到总线使用权 时,其控制单元根据控制信息中目的从模块地址和通信数据字长将缓存单元中 的通信数据发送给目的从模块;
(4)当目的从模块接收全部通信数据后,根据协议规则对通信数据进行解 析,提取其中的有效数据,就完成了本次从模块与从模块的通信过程。
本发明与现有技术相比较的优势是:在类似测试系统的片上系统中,由于 标准wishbone总线只能进行主模块与从模块之间的通信而有所不便。现有技术 的解决方法是在需要通信的各个设备之间加入自定义的接口进行数据传输,然 而,这样做会使系统变得繁杂,破坏系统的规范性。本发明片上系统通过添加 相应的模块,再对现有模块进行拓展、即增设少量逻辑电路和相应资源,从而 使得只花费少量投入,操作简单、容易,就能够实现主模块与主模块、从模块 与从模块之间的通信。这样能够充分利用wishbone总线资源,大大提高系统通 信灵活性,使其更加适用于测试系统,同时维护了总线系统的规范性。
附图说明
图1是现有的基于wishbone总线的标准片上系统的结构组成示意图。
图2是本发明基于wishbone总线实现主模块与主模块、从模块与从模块通 信的片上系统的结构组成示意图。
图3是本发明片上系统的专用交换主模块和从模块的结构组成示意图。
图4是本发明基于wishbone总线实现主模块与主模块之间一次通信的操作 步骤流程图。
图5是本发明基于wishbone总线实现从模块与从模块之间一次通信的操作 步骤流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作 进一步的详细描述。
参见图2,介绍本发明基于wishbone总线实现主模块与主模块、从模块 与从模块通信的片上系统的结构组成。其包括wishbone总线、与该wishbone 总线连接的结构改进的各个主模块和从模块,以及增设的下述两个模块:
(一)专用交换从模块:负责在主模块与主模块通信时,暂存源主模块顺 序发送的包括控制信息、有效数据和结束信号的通信数据(其中的控制信息包 括源模块地址和目的模块地址、通信数据字节长度、通信类型和保留备用的字 段),并根据控制信息中的目的主模块地址和通信数据字长分别确认目的主模块 和将该通信数据存储于目的主模块在存储单元中对应的存储空间内;且当存储 单元存有多个目的主模块的通信数据需要发送时,藉由中断单元的仲裁而对优 先级最高的目的主模块产生中断申请;当通信数据被目的主模块读取完毕后, 就清空该目的主模块对应的存储空间,以供后续通信数据写入;设有:控制、 存储、中断申请和接口共四个单元。该四个单元的结构组成与其功能如下(参 见图3所示):
控制单元:用于源主模块发送通信数据时,对首先发送的控制信息进行解 析,以便根据目的主模块地址和通信数据字长接收全部通信数据,并将其存储 到相应的存储空间;当目的主模块读取完所有通信数据后,就将该存储空间的 首地址所对应存储单元中的内容赋值为结束信号,以表明该存储空间为空闲, 能够用于写入下一次通信数据。
存储单元:用于缓存源主模块发送的通信数据,且为每个目的主模块分别 划出各自独立固定的存储空间;并实时监测各存储空间内是否缓存有未发送的 通信数据;若有,则将该通信数据对应的目的主模块地址发送给中断申请单元。 该存储单元存储通信数据的方式有两种:
第一种是分段式存储:为各主模块分配一段固定存储空间,根据控制信号 中的目的主模块地址将发送给不同主模块的通信数据存入各自相应空间内;
第二种是队列式存储:将所有需要转发的通信数据按照读写顺序缓存于先 入先出FIFO堆栈,但需记录每组通信数据的控制信息中的目的主模块地址,用 于产生中断申请,直到FIFO堆栈中所有数据被发送完毕。
中断申请单元:负责接收存储单元发送的需要传输通信数据的目的主模块 地址,并根据这些主模块的优先级进行仲裁、产生中断申请信号,同一时间只 对优先级最高的主模块产生中断申请信号。
接口单元:负责在wishbone总线端对通信数据按时序规则进行读写,同时 将接收的通信数据发送给控制单元、存储于目的主模块对应的存储空间中;或 者接收控制单元的通信数据,以供被主模块读取。
(二)专用交换主模块,负责在从模块与从模块通信时,接收源从模块的 中断申请,并对多个中断申请进行仲裁,响应优先级最高的从模块:先读取和 缓存源从模块中的通信数据的控制信息,以便通过控制信息中的通信数据字长 读取全部通信数据,并通过目的从模块地址确定转发目标;在完成通信数据的 读取后,向目的从模块写入缓存的通信数据。该专用交换主模块读写通信数据 有两种模式:
第一种是在占有总线使用权后,先读取并缓存通信数据,并强制保持总线 使用权,在本次总线占用时间内完成将通信数据从缓存单元中读出,再转发给 目的从模块;
第二种是在占有总线使用权后,先读取并缓存通信数据,之后不强制保持 总线使用权;在本次或下次获得总线使用权时,再将通信数据从缓存单元中读 出,并转发给目的从模块。该模块设有:控制、缓存、中断接收和接口共四个 单元。该四个单元的结构组成与其功能如下(参见图3所示):
中断接收单元:负责接收各源从模块的中断申请,并执行优先级仲裁,对 优先级最高的源从模块的申请作出响应,以使控制单元读取该源从模块的通信 数据;
控制单元:负责藉由中断接收单元发送的源从模块地址读取通信数据时, 对首先读取的控制信息进行解析,以便根据通信数据字长完成剩余通信数据的 读取,并将其存储于缓存单元;再在读取全部通信数据后,根据目的从模块地 址确定的转发目标,将缓存单元中的通信数据通过接口单元发送给目的从模块;
缓存单元:负责在控制单元的控制下,缓存由接口单元读取的源从模块中 的通信数据;
接口单元:负责在wishbone总线端对通信数据按时序规则进行发送或接收, 同时将接收的通信数据发送给控制单元,或者接收控制单元的通信数据,再转 发给目的从模块。
(三)本发明片上系统中改进的主模块和改进的从模块是各自分别增添发 送与接收数据的状态判断模块,以便该主模块和从模块能够分别按照各自设定 的协议规则发送通信数据;并对接收的通信数据根据设定的协议规则进行解析, 以获取其中的有效数据。
参见图4,介绍本发明片上系统实现主模块与主模块之间通信方法的,具体 操作步骤:
步骤1,申请到总线使用权后,源主模块先向专用交换从模块发送查询类型 的通信数据,再读取查询结果,判断专用交换从模块中目的主模块对应存储空 间是否为空;如果不为空,则执行后续步骤2;否则,跳转执行步骤3。
步骤2,源主模块通过发送重置类型通信数据将该段存储空间重置为空,或 等待专用交换从模块将其中数据转发后,自动变为空;就结束该方法操作流程。
步骤3,源主模块向专用交换从模块发送通信数据;专用交换从模块接收通 信数据后,由其控制单元解析其中首先接收到的控制信息,并依据控制信息将 所有通信数据存储于目的主模块对应的存储空间后,源主模块释放总线使用权。
步骤4,当专用交换从模块中的存储单元监测到有缓存的通信数据要发送 时,将目的主模块地址发送给中断申请单元,由中断申请单元对目的主模块进 行优先级仲裁,并向优先级最高的目的主模块发出中断申请。
步骤5,接收到该中断申请的目的主模块申请总线使用权;申请成功后,先 向专用交换从模块发送预读类型的通信数据,并将其自身地址告知专用交换从 模块,以便下一周期读取其自身对应存储空间内的数据;或者先发送查询类型 通信数据,查询其存储空间内是否有需要读取的通信数据,再发送预读类型通 信数据告知专用交换从模块后,直接读取专用交换从模块对应存储空间内的数 据,并根据首先接收的控制信息中的通信数据字长完成全部通信数据的接收。
步骤6,当目的主模块接收所有通信数据后,对其进行解析和提取有效数据; 同时,专用交换从模块自动取消中断申请信号,清空对应存储空间;结束本次 主模块与主模块的通信过程。
参见图5,介绍本发明片上系统实现从模块与从模块之间通信方法的具体操 作步骤:
步骤1,源从模块按照协议规则准备好通信数据后,向专用交换主模块发出 中断申请。
步骤2,专用交换主模块的中断接收单元接收所有源从模块的中断申请,并 按照优先级进行决策,先接收优先级最高的源从模块的通信数据,其控制单元 根据先接收到的控制信息中的通信数据字长,控制接口单元完成全部通信数据 的接收,并写入到缓存单元。
步骤3,专用交换主模块保持总线使用权,或在释放后再次申请到总线使用 权时,其控制单元根据控制信息中目的从模块地址和通信数据字长将缓存单元 中的通信数据发送给目的从模块。
步骤4,当目的从模块接收全部通信数据后,根据协议规则对通信数据进行 解析,提取其中的有效数据,就完成了本次从模块与从模块的通信过程。
本发明已经进行了多次实施试验,下面简要说明实施例的情况:
本发明仿真实施时,采用SoPC(System on Programable Chip)硬件实施方 案的原因在于:原系统的主模块或从模块为实现主与主、从与从通信功能需要 添加发送、接收状态机控制通信数据的收发,以满足通信协议的规则,SoPC能 够充分发挥其可编程特性,轻松地将原主模块和从模块修改升级为可以进行主 与主、从与从通信的电路结构。并且作为主要添加的模块:专用交换主/从模块, 也可利用其可编程的灵活性,有效、灵活地添加在该芯片系统中,减小设计复 杂度。实施例的操作步骤如下所述:
步骤1:对原SoPC片上系统进行主与主通信的主模块进行升级:在其发送、 接收单元分别添加监测电路和状态机,当发现本次通信是进行主模块与主模块 通信时进入设定状态,在该设定状态中发送、接收电路可以按照本发明的通信 协议规则组织发送数据和解析接收数据,且只对收发数据的内容进行协议化处 理,而无需改动总线的读写接口,也对原主与从模式的收发数据没有影响。
步骤2:对原SoPC片上系统进行从与从通信的从模块进行升级:在其发送、 接收单元分别添加监测电路和状态机,当发现本次通信是进行从模块与从模块 通信时进入设定状态,在该设定状态中发送、接收电路可以按照本发明的通信 协议规则组织发送数据和解析接收数据,且只对收发数据的内容进行协议化处 理,而无需改动总线的读写接口,也对原主与从模式收发数据没有影响。
步骤3:将构建完成的专用交换从模块,挂载到总线的从模块接口上。该专 用交换从模块可以采用本发明的两种存储数据的方式,均能完成数据的存储、 清除与监测的功能。
步骤4:将构建完成的专用交换主模块挂载到总线的主模块接口上。最好采 用读+写的连续操作,使用同一总线占用期的方式,以提高总线工作效率,保障 数据的完整收发。
步骤5:完成主模块与从模块的升级,并向总线添加专用交换主模块与专用 交换从模块后,还需对中断系统进行修改,设定优先级等,从系统整体互联角 度完成各方面的结构改进后,就能够实现主模块与主模块、从模块与从模块的 通信过程。
采用以上实施步骤,就将本发明的片上系统构建于原系统中,并按本发明 方法实现相关功能。实施例的试验结果是成功的,实现了发明目的。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本 发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在 本发明保护的范围之内。
机译: 总线通信系统,具有主单元和多个从单元,它们以菊花链方式通过通信总线与主单元连接,每个从单元中均设有开关装置
机译: 用于主单元和至少一个单元的同步方法,以及与内部定时单元相互同步的单元,从而实现了通信系统以及这种通信系统的主单元和从单元的同步
机译: 基于内存的基于总线的计算机系统主总线主控和基于总线的计算机系统