双处理器通信的方法

文档序号:6519509阅读:228来源:国知局
专利名称:双处理器通信的方法
技术领域
本发明涉及计算机技术,特别涉及处理器之间的通信技术。
背景技术
随着多媒体技术的发展,一个多媒体系统中往往包含多个处理器,每个处理器完成系统的一部分工作,从而有效避免了单个处理器处理能力不够或响应不及时的缺点。但此时,系统中各个处理器之间的协同工作就显得格外重要。在计算机领域普遍采用PCI总线技术,在系统级处理器的统一协调下进行数据传输,PCI由于采用模块化数字信号传输及时分复用技术,且在PCI设备开发初期就需解决与系统及处理器的通信问题,因此不存在系统通信的基本问题;而在电视等多媒体显示领域,普遍采用I2C总线技术完成各功能模块的协调工作,尽管I2C总线强调多主处理器功能,但实际上的多媒体系统一般不允许如此操作,否则将极易引起系统失控,因此,多媒体系统中往往采用一个具有主I2C接口的处理器,其他处理器只能有从I2C接口,以此为基础完成系统间协同工作。一般来讲,具有主控I2C接口的处理器具有更强的处理能力,有时,多媒体系统中需要某个子系统具有较强的处理能力,而因为与主系统处理器同时具有主控I2C接口而引起总线竞争,只能舍弃最好的处理子系统而退而求其次,无形中降低了系统的品质。另外UART异步串行通行在系统中一般作为系统调试用,不利于处理器间通信的需要。

发明内容
本发明所要解决的技术问题是,提供一种双处理器之间通信的方法,能够在不影响系统间各部分正常通信的前提下,实现两个处理器之间的数据交换。
本发明解决前述技术问题所采用的技术方案是,提供一种双处理器通信的方法,两个处理器之间通过预定端口直接通信。所述“直接通信”是指CPU之间通过独立的连接电路通信,不经过总线。
具体的说,包括以下步骤a.第一处理器查询第二处理器状态,若第二处理器正常,则继续下一步;b.第一处理器输出指令数据到第二寄存器;c.第二处理器从第一寄存器读取指令数据;d.第二处理器执行指令,然后返回执行结果到第一处理器。所述步骤d为若指令无效,返回无效信息;若指令有效,执行指令并返回执行结果。所述步骤d中,返回信息的步骤为第二处理器返回信息到第一寄存器,第一处理器从第一寄存器中读取返回信息。
可以包括以下通信方式第一处理器输出指令到第二处理器的GPIO端口,第二处理器返回信息到第一处理器的GPIO端口。或者,第一处理器输出指令到第二外部寄存器,第二处理器从第二外部寄存器读取指令;第二处理器返回信息到第一处理器的GPIO端口。或者,第一处理器输出指令到第二处理器的GPIO端口,第二处理器返回信息到第一外部寄存器,第一处理器从第一外部寄存器读取信息。或者,第一处理器输出指令到第二外部寄存器,第二处理器从第二外部寄存器读取指令;第二处理器返回信息到第一外部寄存器,第一处理器从第一外部寄存器读取信息。第一处理器发送的指令包含校验码,第二处理器识别指令数据时,若校验码不正确或者指令无效,则返回无效信息到第一处理器,第一处理器重复发送当前指令,若发送次数超过预设值,则提示通信故障。
本发明的有益效果是,双处理器之间的通信不占用系统资源,避免了总线竞争现象,提高了系统工作效率,并且具有良好的可扩展性。
以下结合说明书附图和具体实施方式
对本发明作进一步说明。


图1是本发明实施例1的流程图。
图2是本发明实施例1的硬件结构示意图。
图3是本发明实施例2的硬件结构示意图。
图4是本发明实施例3的硬件结构示意图。
图5是本发明实施例4的硬件结构示意图。
图6是本发明实施例5的硬件结构示意图。
具体实施例方式
实施例1参见图1以及图2(a)、图2(b)。
系统包括三部分,需要完成数据通信的处理器、通信信道。下面对通信信道的选择及配置、通信编码方式、通信协议进行说明1、通信信道的物理连接配置。为简化通信协议便于软件实现,本发明采用两个GPIO端口实现两主CPU间的通信,所选择的GPIO需要能够输出PWM、PAM、PPM、PCM、PNM等编码方式的一种,一般为PWM;R1、R2为上拉电阻,目的为提高信号带负载能力及保证信号完整性;P1、P2为过压保护器件;P3、P4为过流保护器件;CPU间的连线过长时需要增加逻辑缓冲电路,以保证信号完整性。
2、数据编码方式。本发明中提到的需要通信的数据分为控制数据、状态数据,依据CPU本身的特性,可以选择使用具有不同引导码的PWM、PAM、PPM、PCM、PNM等进行数据传输,以PWM最易实现。
3、通信协议。保证在硬件配置成功之后,CPU间正常通信。两CPU需要根据各自的系统需要配置命令响应项及信号反馈项,并保证在任何情况下,均能正常响应请求端发送的命令。
具体的工作流程首先CPU1、CPU2系统初始化,CPU1通过GPIOa发送状态查询命令到CPU2的GPIOc;CPU2接收到查询命令后,通过GPIOd返回状态信息到CPU1的GPIOb;CPU1接收到正确的反馈数据后则认为CPU2存在并将其作为自身的一个控制对象,否则CPU1认为无其他主控CPU存在。
在CPU1正常工作时,若需要CPU2协同工作,则通过GPIOa发送指令数据到CPU2的GPIOc,CPU2对指令作出响应,指令无效则通过GPIOd返回指令无效信息,指令有效则执行并通过GPIOd返回执行结果信息。
另外,在复杂的电气电磁环境下,需要用到同一指令计数,确保系统通信正常,即CPU2在识别指令数据时若校验码不正确或指令本身无效,则返回指令无效信息到CPU1,CPU1则重复发送当前指令,在规定次数内人不能有效发送则提示通信故障。
本发明的基本思路如图2(b)所示,CPU2通过GPIOc接收来自CPU1 GPIOa发出的信号,存储在CPU内部寄存器中,同时反馈信号接收情况;CPU2检测寄存器值并与数据存储器中定义数据相比较,执行相应操作,并将操作执行情况反馈CPU1。
实施例2参见图3。本实施例是在CPU1无多余GPIO情况下,使用外部寄存器,如EEPROM或FLASH ROM数据总线进行扩充GPIO的情况。硬件配置上增加总线开关电路,通道控制信号使用CPU1的CS1(CHIPSELECT)信号。
软件流程系统启动时,CPU1通过CS1将总线开关接通FLASHROM,调用系统程序;系统启动完成,总线开关接通CPU2的GPIO。其余流程与实施例1相同。
实施例3参见图4。本实施例属于CPU2无多余GPIO的情况下实施。在硬件配置增加了总线开关电路2,通道控制信号使用CPU2的CS2信号。
软件流程系统启动时,CPU2通过CS2将总线开关接通FLASHROM,调用系统程序;系统启动完成,总线开关接通CPU1的GPIO。其余流程与实施例1相同。
实施例4参见图5。本实施例是CPU1\CPU2均无多余GPIO的情况下的实施情况。硬件配置上增加了两个总线开关电路,通道控制信号分别使用CPU1\CPU2的CS1\CS2信号。
软件流程系统启动时,CPU1通过CS1将总线开关接通FLASHROM,调用系统程序;系统启动完成,总线开关1接通总线开关2。CPU2通过CS2将总线开关2接通FLASH2,调用系统程序;系统启动完成,总线开关2接通总线开关1。其余流程与实施例1相同。
实施例5参见图6(a)-图6(c)。本实施例是在CPU无多余GPIO情况下,使用I2C总线进行扩充GPIO的实施例,包含可能出现的三种情况。图6(a)为CPU1无多余GPIO的情况,图6(b)为CPU2无多余GPIO的情况,图6(c)为两个CPU都无多余GPIO的情况。
I2C总线、GPIO端口转换电路已属成熟技术,如PHILIPS PCF8574单片可通过I2C扩充8路GPIO端口。此处不再赘述。
权利要求
1.双处理器通信的方法,其特征在于,两个处理器之间通过预定端口直接通信。
2.如权利要求1所述的双处理器通信的方法,其特征在于,包括以下步骤a.第一处理器查询第二处理器状态,若第二处理器正常,则继续下一步;b.第一处理器输出指令数据到第二寄存器;c.第二处理器从第一寄存器读取指令数据;d.第二处理器执行指令,然后返回执行结果到第一处理器。
3.如权利要求2所述的双处理器通信的方法,其特征在于,所述步骤d为若指令无效,返回无效信息;若指令有效,执行指令并返回执行结果。
4.如权利要求2或3所述的双处理器通信的方法,其特征在于,所述步骤d中,返回信息的步骤为第二处理器返回信息到第一寄存器,第一处理器从第一寄存器中读取返回信息。
5.如权利要求4所述的双处理器通信的方法,其特征在于,第一处理器输出指令到第二处理器的GPIO端口,第二处理器返回信息到第一处理器的GPIO端口。
6.如权利要求4所述的双处理器通信的方法,其特征在于,第一处理器输出指令到第二外部寄存器,第二处理器从第二外部寄存器读取指令;第二处理器返回信息到第一处理器的GPIO端口。
7.如权利要求4所述的双处理器通信的方法,其特征在于,第一处理器输出指令到第二处理器的GPIO端口,第二处理器返回信息到第一外部寄存器,第一处理器从第一外部寄存器读取信息。
8.如权利要求4所述的双处理器通信的方法,其特征在于,第一处理器输出指令到第二外部寄存器,第二处理器从第二外部寄存器读取指令;第二处理器返回信息到第一外部寄存器,第一处理器从第一外部寄存器读取信息。
9.如权利要求4所述的双处理器通信的方法,其特征在于,第一处理器发送的指令包含校验码,第二处理器识别指令数据时,若校验码不正确或者指令无效,则返回无效信息到第一处理器,第一处理器重复发送当前指令,若发送次数超过预设值,则提示通信故障。
全文摘要
双处理器通信的方法,涉及计算机技术,特别涉及处理器之间的通信技术。本发明提供的双处理器通信的方法,两个处理器之间通过预定端口直接通信。本发明的有益效果是,双处理器之间的通信不占用系统资源,避免了总线竞争现象,提高了系统工作效率,并且具有良好的可扩展性。
文档编号G06F15/163GK1687919SQ20051002077
公开日2005年10月26日 申请日期2005年4月22日 优先权日2005年4月22日
发明者余杰, 邓新群 申请人:四川长虹电器股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1