从异步总线到同步总线的写时序适配方法与流程

文档序号:12363641阅读:1558来源:国知局
从异步总线到同步总线的写时序适配方法与流程

本发明涉及一种从异步总线到同步总线的写时序适配方法。



背景技术:

电子产品中,有大量需要主处理器将处理好的数据输出发送给外设(如显示模块、外部存储模块)的写操作。系统通常都采用总线的方式进行一对一,或者一对多的数据传输。而异步总线又是一种比较流行的总线方式,参照图1、图2,比如最常用的intel i80的总线方式,其中片选信号CS是针对总线上某一特定设备,只有在片选信号CS有效时,对应的接收设备才开始对写信号WE有响应,并接受写信号WE对应的数据。如果片选信号CS无效时,即使写信号WE有动作,也认为是针对其他的设备,此片选信号CS对应的接受设备将不做理会。

除了异步总线外,参照图3,还有一种同步总线方式,同步总线方式和异步总线的主要区别在于:同步总线方式中两个设备之间依靠一个时钟信号,用于控制信号和数据信号的同步获取。

在电子产品的系统设计和集成时,会遇到主设备提供的是异步总线,而接收数据的从设备则只能接收同步总线上的数据。此时需要在主设备和从设备中选择进行更换,以保持总线的一致,现有的做法是增加一个处理器进行两边总线的转换,这将使系统更加复杂且导致成本增加。

也有些案例是由主设备或外部时钟发生器产生时钟信号,由此时钟信号加上外围辅助电路来进行总线的转换,这种方式对时钟的要求和控制比较苛刻,设计难度较大。



技术实现要素:

本发明所要解决的技术问题是,克服上述背景技术的不足,提供一种控制灵活,简单可靠的从异步总线到同步总线的写时序适配方法。

本发明解决其技术问题采用的技术方案是,一种从异步总线到同步总线的写时序适配方法,包括以下步骤:

(1)将主设备数据总线上高位数据线连接到外部的触发器的输入总线上,将主设备的写信号WE接到触发器的锁存控制信号LE上,触发器通过接收主设备的写信号WE作为触发的锁存控制信号LE;

(2)触发器的输出1脚接到从设备同步总线的时钟上,触发器的输出2脚接到从设备同步总线的控制线上;在锁存控制信号LE有效时,触发器将数据线data8~data15的信号锁存下来,并输出到从设备上,作为从设备同步总线的时钟信号CLK和控制信号;

(3)在主设备的每次写操作时,连到触发器输入端的一个数据线在高低电平之间来回变化,通过触发器的锁存输出,作为时钟信号CLK输出给从设备的同步总线使用;

(4)连到触发器输入端的其它数据线,根据总线时序需要,在每次主设备写操作时配置对应的电平,通过触发器的锁存输出,作为从设备的同步总线的控制信号。

进一步,步骤(1)中,将数据总线的高8位,data8~data15连到外部的触发器的输入总线上。

进一步,步骤(3)中,选取数据总线上的data8来产生时钟信号CLK,通过触发器,在每次写操作时,写信号WE使得触发器在输出端锁存输入端data8的信号电平;当每次写操作时,data8的输出电平反复变化,在输出1脚产生高低电平周期变化的波形,也即时钟信号CLK,时钟信号CLK的时钟频率是写信号WE周期频率的一半。

与现有技术相比,本发明的优点如下:本发明方法能将异步总线的时序转化为满足同步总线的时序。不管是时钟的生成,还是控制信号的生成,包括时钟和控制信号间的同步关系都能在软件层面进行适配达到数据总线的要求。在总线数据位数冗余的情况下还能满足更多的控制信号,这种不需要主设备额外去生成时钟信号,也不用占用其它的信号管脚资源的方法,使得系统的设计更加简单,即使与不同控制时序要求的同步总线设备连接,也不需要改变硬件,通过软件编程就能完成适配的工作,控制灵活,开发简单而可靠。

附图说明

图1是现有intel i80的总线方式的连接框图。

图2是现有intel i80的总线方式输出的写时序波形示意图。

图3是现有同步总线方式的写时序波形示意图。

图4是本发明实施例的外围电路示意图。

图5是本发明实施例产生时钟信号CLK的示意图。

图6是本发明实施例产生同步总线的时钟信号CLK和同步信号SP的示意图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步详细描述。

在大部分应用中,设备上的同步总线或异步总线的数据位数有8位、16位、32位等规格。但是通常主设备性能和兼容要求比较高,数据线位数以16位到32位居多;而从设备的同步总线往往数据线位比较低,以8位为多。在这种情况下,本实施例提出了用多余的数据线来实现异步总线传到同步总线的数据传输方法。以下用16位的异步总线配8位的同步总线来示例,包括以下步骤:

(1)将主设备数据总线上高位数据线连接到外部的触发器的输入总线上,将主设备的写信号WE接到触发器的锁存控制信号LE上,触发器通过接收主设备的写信号WE作为触发的锁存控制信号LE;

参照图4,数据总线的低8位,data0~data7直接连在主从设备之间。数据总线的高8位,data8~data15连到外部的触发器的输入总线上。

(2)触发器的输出1脚接到从设备同步总线的时钟上,触发器的输出2脚接到从设备同步总线的控制线上;在锁存控制信号LE有效时,触发器将数据线data8~data15的信号锁存下来,并输出到从设备上,作为从设备同步总线的时钟信号CLK和控制信号。

(3)在主设备的每次写操作时,连到触发器输入端的一个数据线在高低电平之间来回变化,通过触发器的锁存输出,作为时钟信号CLK输出给从设备的同步总线使用;

时钟信号CLK的产生:时钟信号CLK可选取数据总线上data8~data15数据线中的任意一位来产生。本实施例以data8为例。通过触发器,在每次写操作时,写信号WE使得触发器在输出端会锁存输入端data8的信号电平。参照图5,第一次写操作时,数据总线的data8信号是0,则触发器的输出1脚变成低电平,并一直锁存维持低电平。等第二次写操作时,data8信号变成1,触发器的输出1脚此时则变成高电平,并一直锁存维持高电平。以此类推,当每次写操作时,data8的输出电平都会反复变化,则在输出1脚产生了高低电平周期变化的波形,也就产生了我们所需要的时钟信号CLK,其时钟频率是写信号WE周期频率的一半。

(4)连到触发器输入端的其它数据线,根据总线时序需要,在每次主设备写操作时配置对应的电平,通过触发器的锁存输出,作为从设备的同步总线的控制信号。

控制信号的产生:用数据总线data8~data15中剩下的其他位来作为同步总线的控制信号。方法基本和产生时钟信号CLK的方式相同,在每次写操作中根据需要,变化相应的数据线来产生控制信号。由于我们已经有了时钟信号CLK,同步总线所要求的控制信号和时钟信号CLK同步的问题也可以配合起来实现。控制信号以同步信号SP举例,data9作为总线的同步信号SP,时序上如果要求在时钟信号CLK下降沿变化,两个时钟周期后信号翻转。则data9的软件编程可如图6进行设置。

通过上述的方法,在主设备通过写操作,即可以在低位数据线上传输数据,又可以通过高位数据线完成了对从设备同步总线的时钟和控制信号的匹配。

本发明方法能将异步总线的时序转化为满足同步总线的时序。不管是时钟的生成,还是控制信号的生成,包括时钟和控制信号间的同步关系都能在软件层面进行适配达到数据总线的要求。在总线数据位数冗余的情况下还能满足更多的控制信号,这种不需要主设备额外去生成时钟信号,也不用占用其它的信号管脚资源的方法,使得系统的设计更加简单,即使与不同控制时序要求的同步总线设备连接,也不需要改变硬件,通过软件编程就能完成适配的工作,控制灵活,开发简单而可靠。

本领域的技术人员可以对本发明进行各种修改和变型,倘若这些修改和变型在本发明权利要求及其等同技术的范围之内,则这些修改和变型也在本发明的保护范围之内。

说明书中未详细描述的内容为本领域技术人员公知的现有技术。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1