通讯方法及通讯系统.pdf

上传人:a**** 文档编号:1032453 上传时间:2018-03-27 格式:PDF 页数:12 大小:478.27KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910020705.9

申请日:

2009.04.02

公开号:

CN101661455A

公开日:

2010.03.03

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):G06F 15/167申请公布日:20100303|||实质审查的生效IPC(主分类):G06F 15/167申请日:20090402|||公开

IPC分类号:

G06F15/167; G06F13/18

主分类号:

G06F15/167

申请人:

青岛海信电器股份有限公司

发明人:

洪胜峰

地址:

266100山东省青岛市崂山区株洲路151号

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

本发明涉及一种通讯方法,包括至少第一CPU和第二CPU,定义第一CPU和第二CPU之间的通讯优先级,第一CPU和/或第二CPU发出通讯指令,总线系统接收CPU发出的通讯指令并传递给优先级识别单元,优先级识别单元依据优先级顺序识别通讯指令的内容,执行相应的通讯指令内容访问寄存器单元,等待下一个通讯指令,本发明和涉及一种相应的通讯系统,以实现CPU与寄存器之间的通讯。

权利要求书

1: 一种通讯方法,包括至少第一CPU和第二CPU,定义第一CPU和第二CPU 之间的通讯优先级,第一CPU和/或第二CPU发出通讯指令,总线系统接收CPU 发出的通讯指令并传递给优先级识别单元,优先级识别单元依据优先级顺序识 别通讯指令的内容,执行相应的通讯指令内容访问寄存器单元,等待下一个通 讯指令。
2: 根据权利要求1所述的通讯方法,其特征在于,所述的寄存器单元设置 有至少一位中断申请/清除位。
3: 根据权利要求1所述的通讯方法,其特征在于,所述的寄存器组包括控 制/状态寄存器和数据寄存器,第一CPU和第二CPU均可访问控制/状态寄存器 和数据寄存器。
4: 根据权利要求1所述的通讯方法,其特征在于,所述的总线系统个数与 CPU个数相对应。
5: 根据权利要求1所述的通讯方法,其特征在于,总线系统将第一CPU和 第二CPU的时序转换成与寄存器组相匹配的时序。
6: 一种通讯系统,包括至少第一CPU和第二CPU,寄存器单元和优先级识 别单元,第一CPU和第二CPU通过总线系统与优先级识别单元相连,其特征在 于,优先级识别单元根据预先定义的各CPU通讯优先级别识别CPU发出的通讯 指令,经识别后的通讯指令根据优先级别高低实现对寄存器单元的访问。
7: 根据权利要求6所述的通讯系统,其特征在于,所述的总线系统包括与 CPU个数相对应的总线接口个数。
8: 根据权利要求6所述的通讯系统,其特征在于,所述的寄存器单元包括 控制/状态寄存器组和数据寄存器组。
9: 根据权利要求6所述的通讯系统,其特征在于,所述的优先级别按第一 CPU写操作、第一CPU读操作、第二CPU写操作、第二CPU读操作的顺序高低 排列。
10: 根据权利要求6所述的通讯系统,其特征在于,在所述的寄存器单元中, 设置至少一位中断申请/清除位。

说明书


通讯方法及通讯系统

    【技术领域】

    本发明涉及一种大规模集成电路中采用多个CPU核时,各个CPU之间数据核指令通讯的方法以及一种相应的通讯系统。

    背景技术

    目前,在FPGA使用嵌入式CPU内核构成SOPC系统是数字电路集成化的一大发展方向,在一些复杂系统中往往需要使用不止一个CPU来分别管理不同逻辑电路,为了协调各个CPU之间的工作,就需要在各CPU之间设置通讯协议,以保证通讯的正常有效进行。

    目前各个IP核提供商虽然也可提供类似通讯用IP核,但作为应用方,使用这种收费授权IP核将增加产品成本,同时使用的灵活性收到限制。

    中国专利CN200610145941.X揭示了一种硬件访问寄存器的方法,在硬件发出指令后,根据优先级别仲裁,在规定时间内看是否指令的优先级符合要求,从而仲裁是否能访问。但是如果在规定时间内仲裁不能访问,则需要通过提高优先级及等待定时器的设置来重新判断是否允许访问,这样会导致响应的时间受限制,尤其优先级别低的指令,并且在只有此指令的情况下,访问速度更受损。优先级别越低的指令,损失的访问时间就越多,对于大规模的SOC,响应速度决定了系统的精确性和稳定性。

    【发明内容】

    本发明旨在通过简单的VHDL程序设计,可针对不同厂家的FPGA芯片,解决多个CPU之间的数据核指令通讯问题。

    基于上述背景技术的缺陷和消费者的需求,本发明提供一种通讯方法,使得多个CPU能够通过总线及寄存器之间实现相互通讯,避免了采用收费通讯模式。

    本发明提供的技术方案为:一种通讯方法,包括至少第一CPU和第二CPU,定义第一CPU和第二CPU之间的通讯优先级,第一CPU和/或第二CPU发出通讯指令,总线系统接收CPU发出的通讯指令并传递给优先级识别单元,优先级识别单元依据优先级顺序识别通讯指令的内容,执行相应的通讯指令内容访问寄存器单元,等待下一个通讯指令。

    在本发明实施例中,所述的寄存器单元设置有至少一位中断申请/清除位,用于第一和第二CPU相互之间申请中断。

    在本发明实施例中,所述的寄存器组包括控制/状态寄存器和数据寄存器,第一CPU和第二CPU均可访问控制/状态寄存器和数据寄存器。

    在本发明实施例中,所述的总线系统个数与CPU个数相对应,都为两个。

    优选的,总线系统将第一CPU和第二CPU的时序转换成与寄存器组相匹配的时序。

    本发明还提供一种通讯系统,以实现多个CPU之间的相互通讯,包括至少第一CPU和第二CPU,寄存器单元和优先级识别单元,第一CPU和第二CPU通过总线系统与优先级识别单元相连,其特征在于,优先级识别单元根据预先定义的各CPU通讯优先级别识别CPU发出的通讯指令,经识别后的通讯指令根据优先级别高低实现对寄存器单元的访问。

    在本发明实施例中,所述的总线系统包括与CPU个数相对应的总线接口个数,都为2个。

    优选的,所述的寄存器单元包括控制/状态寄存器组和数据寄存器组。

    在本发明实施例中,所述的优先级别按第一CPU写操作、第一CPU读操作、第二CPU写操作、第二CPU读操作的顺序高低排列。

    更进一步的,在所述的寄存器单元中,设置至少一位中断申请/清除位,用以实现第一CPU和第二CPU之间相互申请中断。

    本发明提供的CPU与寄存器之间的通讯方法,根据事先定义的优先级别决定各指令的访问顺序,从高到底直接判断指令的执行顺序,不需要动态调整优先级别,而且,通过设定寄存器中断申请/清除位,非常简单的决定了各指令访问顺序及相应CPU的中断。

    【附图说明】

    图1是本发明优选实施例的通讯信号流传送示意图;

    图2是本发明优选实施例2个CPU与寄存器单元之间的通讯过程示意图;

    图3是本发明优选实施例的51内核访问时序示意图;

    图4是本发明实施例固定等待周期的Avalong总线访问时序示意图;

    图5是本发明优选实施例通讯方法的流程图;

    图6是本发明优选实施例的CPU访问时序示意图。

    【具体实施方式】

    下面结合附图对本发明的具体实施例作详细的说明。

    本发明是一种多个CPU之间数据核指令通讯方法及装置。可以通过简单的VHDL程序设计,可针对不同的厂家的FPGA芯片,解决多个CPU之间的数据核指令通讯问题。

    参见图1所示,本发明的优选实施例中,通讯系统可分为五类功能单元:控制/状态寄存器组、数据寄存器组、优先级判断、第一CPU和第二CPU、至少2组总线接口(以第一CPU总线接口和第二CPU总线接口为例)。控制/状态寄存器组和数据寄存器组用于存储各个CPU之间的通讯内容缓存。两个总线接口单元是用于分别与需要通讯的第一CPU和第二CPU进行连接,实现CPU对两个寄存器组地访问。优先级识别单元用于实现两个CPU之间访问冲突仲裁的实现。当CPU发出通讯指令时,通过总线接口,将CPU的通讯指令传递到优先级识别单元,根据预先定义好的通讯优先级别,识别通讯指令的内容,根据识别后的内容,去实现对寄存器组的访问。

    此处的控制/状态寄存器组和数据寄存器组可以自行定义为8位、16位或32位,使用寄存器的个数也可根据需要设定,以保证满足通讯的需要。这两个寄存器组都是允许双口访问的,即第一CPU和第二CPU都可以对两个寄存器组的相同空间进行读写,从而提高寄存器组的利用效率。此处的寄存器组可以采用常规的寄存器,以节省通讯系统的成本。

    总线接口单元是连接CPU与寄存器组之间的桥梁,将不同CPU的外扩总线时序转换成两个寄存器组支持的读写时序,从而保证各CPU与寄存器之间的通讯正常工作。

    优先级识别单元对两个CPU访问寄存器单元的先后顺序进行仲裁,按照预先设定的访问优先级,控制当第一CPU和第二CPU同时发起访问时序时,率先执行优先级最高的操作指令。

    本实施例中的两个寄存器组都能被两个CPU所访问,但访问的优先级却有所不同。我们可以事先设定为,第一CPU写寄存器操作的优先级最高,接下来依次是:第一CPU读寄存器、第二CPU写寄存器,最后是第二CPU读寄存器,当然该顺序也可以视需要调整。当第一CPU或第二CPU对寄存器单元的读写操作完成后,通过寄存器单元向对方申请中断,以请求对方执行相应的操作。

    两个CPU与寄存器之间的工作过程参见图2所示。为了实现两个CPU之间的“握手”,需要在控制/状态寄存器组中设置1位中断申请/清除位,如图2中的“reg3”定义。当CPU1写reg3=1时,将向CPU2发出中断信号,表示CPU1向CPU2传递的数据准备已写入数据寄存器组中,CPU2可以读取。当CPU2收到此中断申请后,将读取数据寄存器组中的信息,并写reg3=0,用于清掉此中断信号。同理,当CPU2准备向CPU1传输数据时,CPU2写reg=1,此时将向CPU1发出中断申请,当CPU1响应中断读取数据后,写reg=0,用于清掉此中断申请。由此可知,写中断申请位reg3=1将向对方CPU发出中断申请,若写reg=0,则是清掉自身中断标志。如果涉及到多个CPU的中断申请和清除,则可以根据需要设定寄存器的多位为中断申请/清除位,从而定义各CPU的中断顺序。

    在FPGA芯片中实现的每个动作都是由时钟信号的上升沿或下降沿触发产生的,也就是说,只有上升沿或下降沿到来时,芯片才能执行一步操作。本发明以时钟信号上升沿作为触发条件,当遇到时钟上升沿时,程序会判断是否有任一CPU对本模块进行访问,如果有访问请求,将会根据发出访问要求的CPU编号以及访问动作(读或写)进行判断,再根据图2中第二行从左到右优先级递减的顺序,响应CPU访问要求。当确定由那个CPU对其进行访问后,将按照时序要求对寄存器进行读写

    优先级识别单元从总线接口接收到CPU指令,根据第一CPU写、第一CPU读、第二CPU写、第二CPU读的顺序进行识别CPU指令内容。当识别到是第一CPU写指令时,先执行第一CPU的写指令,将数据写入指定寄存器,然后将reg3设置为0,从而向第二CPU申请中断,并等待接收下一个CPU的指令;如果优先级识别单元识别出是第二CPU写指令,则先执行第二CPU的写指令,将数据写入指定寄存器,然后将reg3设置为1,从而向第一CPU申请中断,并等待接收下一个CPU的指令;当优先级识别单元识别出是CPU读指令时,则直接读取指定寄存器的数据,将数据送到对应CPU的总线接口,并等待下一个CPU的指令。

    由于不同公司的CPU核及其外扩总线都不尽相同,因此使用总线接口来连接CPU与内部寄存器组,从而实现数据可靠传输。以FPGA内使用的Avalon总线与51内核外扩总线为例,51内核总线时序如图3所示,一个读写周期需要12个时钟脉冲。而基于FPGA的Avalon总线可以执行单周期读写访问,也可根据需要设置固定等待周期总线时序,或是在访问未知慢速设备或被慢速设备访问时,设置等待信号,有慢速设备的读写时序来灵活决定Avalong总线端的读写时间。Avalon时序如图4所示。因此,在本例子中,由于51内核访问周期固定,可以将寄存器组的读写周期固定设为12周期,以配合CPU速度。如果采用其他的总线类型及CPU内核,那么相应的时序和周期可以根据计算预先确定,从而满足寄存器与CPU内核的访问需求。

    如图6所示,总线接口部分输入端为CPU接口,须满足CPU的访问时序要求,才能实现与CPU的通讯。总线接口的输出端固定为Altera公司FPGA的Avalon总线接口时序。因此,总线接口部分就是不同CPU访问内部寄存器的桥梁。

    参见图5所示,本发明设计的通讯方法,包括第一步骤S1,预先设定优先级别,主要是设定各CPU的访问优先级及读/写操作的优先级别,规定在同时有多个指令访问的前提下,确定先后顺序;第二步骤S2,CPU发出通讯指令,即CPU的读或写寄存器的访问指令,可以是一个CPU单独发出指令,也可能是2个CPU同时发出访问寄存器的指令;第三步骤S3,依据优先级高低顺序进行判别,此处主要指优先级识别单元根据总线传递的命令,依据事先确定的优先级顺序,来判断各指令的执行顺序;第四步骤S4,执行CPU发出的指令,即主要是执行CPU的读或写寄存器的访问指令;第五步骤S5,等待下一个通讯指令,即执行完指令后,等待是否有下一指令的到来。如果此处有多个指令需要执行,则执行完第一个指令后,顺序执行优先级排在高位的第二指令,直到执行完全部指令后,再等待下一个指令的到来。

    本发明构造简单,适应性强,采用相同编程语言和设计思想,在最大程度上节约了设计时间与成本,同时亦有效保证了多个CPU访问寄存器时,寄存器的反应效率。

    以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域的技术人员在本发明所揭露的技术范围内,可不经过创造性劳动想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书所限定的保护范围为准。

通讯方法及通讯系统.pdf_第1页
第1页 / 共12页
通讯方法及通讯系统.pdf_第2页
第2页 / 共12页
通讯方法及通讯系统.pdf_第3页
第3页 / 共12页
点击查看更多>>
资源描述

《通讯方法及通讯系统.pdf》由会员分享,可在线阅读,更多相关《通讯方法及通讯系统.pdf(12页珍藏版)》请在专利查询网上搜索。

本发明涉及一种通讯方法,包括至少第一CPU和第二CPU,定义第一CPU和第二CPU之间的通讯优先级,第一CPU和/或第二CPU发出通讯指令,总线系统接收CPU发出的通讯指令并传递给优先级识别单元,优先级识别单元依据优先级顺序识别通讯指令的内容,执行相应的通讯指令内容访问寄存器单元,等待下一个通讯指令,本发明和涉及一种相应的通讯系统,以实现CPU与寄存器之间的通讯。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1