新闻中心

EEPW首页>嵌入式系统>设计应用> 基于SOPC的数据发生系统设计

基于SOPC的数据发生系统设计

作者: 时间:2009-05-22 来源:网络 收藏

产生,乒乓结构和两片SRAM三部分的组合在ModelSim中的仿真结果如图6所示。avalon_ad-dress_b不变时是在执行第一次写操作,此时没有读出,所以avalon_readdata_b值为高阻;avalon_ad-dress_b开始变化时,表示一片SRAM已经写满,正在执行该片的读操作,而另一片在执行写操作,avalon_readdata_b为生成的

2.3 PCI9054接口逻辑模块
PCI总线作为PC机与外部设备之间重要的连接总线,具有数据传输稳定灵活,传输速度快,即插即用和良好的扩展性等特点,被广泛地用在各种与PC机互联的设备中。该采用的PCI9054芯片口可以将复杂的PCI总线接口转换为相对简单的用户接口,大大缩短了周期。
2.3.1 本地总线状态机
由于PCI9054的DMA传输方式只适宜于做单次传输,故该采用了DMA结合中断的方式传输数据。由于数据的存储采用了乒乓结构,可以在一片SRAM执行DMA传输的同时执行另一片写操作,这样不会造成数据丢失,状态也比较容易控制。
系统复位后,数据产生模块开始产生伪随机序列,产生的数据直接存入SRAM中。此时,计数器同步计数,当计数值每一次达到262 144时,也就是一片SRAM已经存满时,系统就会触发PCI9054中断请求信号LINT#,CPU响应中断,发出读命令、要读取的字节数、地址信号等。PCI9054:先通过LHOLD申请本地总线的控制权,系统通过LHOLDA响应,使PCI9054.获得本地总线的控制权。PCI9054将PCI地址空间映射到本地地址空间,接着启动本地总线的DMA传输。
该系统采用VHDL语言,实现了DMA读传输本地端的时序控制状态机。状态0为空闲状态(i-dle),若LHOLD信号被置1,则转到状态1,否则留在状态0。状态1为总线保持状态(hold),在此状态下应将LHOLDA信号置l。如果信号ADs为O且LW_R为0,则转到状态2。状态2为DMA读状态(DMA_read),在此状态下应将READY信号和模块内部信号avaIon_read置l,从而使AvaIon主端口的master_read置1,表示Avalon主外设发起读传输。如果BLAST为1,则表明此次DMA读取还没有完成,继续留在状态2;如果BLAsT为0,则表明此次DMA读取完成,转到状态3。状态3为DMA读操作完成状态(end cycle),当LHOLD被置0时,表示PCI9054不再请求本地总线,则转到状态0;当BLAST为0且LHOLD为1时,则表明PCI9054还要进行DMA读操作,则转到状态1继续。其中的DMA读操作的时序逻辑的ModelSim仿真结果如图7所示。

2.3.2 Avalon主外设的端口信号设计
该系统中,PCI9054控制数据从本地总线上读出,先到PCI9054的FIFO中,再将FIFO中的数据传输到PCI总线上。因此系统中的PCI9054接口逻辑模块为Avalon主外设,主端口通过address,read,wait-request等信号发起Avalon总线上的读操作,从而控制Avalon从外设即乒乓结构模块的读操作。
由于本系统定制的从外设采用了流水线读的传输模式,为了使端口传输模式匹配,主外设也采用流水线读的传输模式。流水线主端口一个必须的信号为readdatavalid,Avalon交换结构向主端口发出readdat-avalid,以表示readdata信号正在提供有效的数据。
本系统定制的Avalon主外设构成模块主要由5部分构成,其中Read Master Logic提供了符合Aval-on接口规范的主端口信号;Control Logic是ReadMaster Logic与PCI9054 Local Bus Logic控制信号和状态信号转换的桥梁;FIFO是数据由Read MasterLogic向PCI9054传输的缓冲区。这三部分通过主端口流水线读传输时序逻辑联系在一起,提供了Avalon主外设的主端口接口界面。PCI9054 Local Bus Logic即VHDL语言设计的本地总线状态机,它将PCI9054本地端的信号通过状态机逻辑转换为与Control Logic和FIFO相对应的信号;Clock/Reset提供了主外设的clk和reset信号。

光耦相关文章:光耦原理


万用表相关文章:万用表怎么用


断路器相关文章:断路器原理


负离子发生器相关文章:负离子发生器原理
高压真空断路器相关文章:高压真空断路器原理
尘埃粒子计数器相关文章:尘埃粒子计数器原理
漏电断路器相关文章:漏电断路器原理


评论


相关推荐

技术专区

关闭