新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于FPGA的PXA270外设时序转换接口设计

基于FPGA的PXA270外设时序转换接口设计

作者:时间:2010-03-19来源:网络收藏

  图3为COM20020的时序原理图,从时序分析可得出如下设计方案:DIR用于指示操作是读还是写,DIR=‘1’为读,否则为写。在操作前先对DIR 赋值;在EN有效时选择CS,CLK的下一次上升沿变为有效。这样是给写操作对COM20020数据总线准备数据之用,不影响读操作;DS选择在CS有效的下一个CLK上升沿变为有效,但在CS无效前两个时钟周期给出上升沿,以满足“片选信号CS必须先于DS至少5 ns,并且只能在DS无效之后恢复为高电平”,并且DS中间应有至少60ns的时钟宽度,因而保持3个CLK周期有效。图4为CommandGenerator时序仿真图。采用计数器进行时序同步。以下给出VHDL源代码。

COM20020的时序原理图

CommandGenerator时序仿真图

  图5为批数据从WRRAM向外设传送的连续时钟产生和自动地址生成原理图。其中,lpm_counter0为带有异步清零和进位信号的增计数; AutoAccessDataNumsOnce在EN='1'时,产生一次批传送时钟,根据COM20020的长短数据包传送要求,在CCESSTYPE =‘1’时传送长数据包(512 B),否则传送短数据包(256 B)。FRE信号同时提供WRRAM的rdclock和lpm_counter0的clock信号。

批数据从WRRAM向外设传送的连续时钟产生和自动地址生成原理图

  图6为一次批数据向RAM中写,而后启动DMA传输,将数据从RAM送至COM20020的时序仿真。在WRCLOCK上升沿时,RAM将datain总线上的数据存储到WR_AD-DRESS所指向的字节地址空间,WRCLOCK信号是由的WE信号与分配给RAM的片选信号(高电平有效)相与而得。对RAM进行模拟写时必须确保AUTOWREN无效(低电平);在检验数据DMA传输的RAM输出环节,WRCLOCK应不再出现上升沿信号,以防RAM同时读写造成输出不定值。此外,每个数据从outputdata端口输出时,CS、DS在一定延时后(1个CLK时钟周期)给时序产生留足够时间。需说明:COM20020内部有2 K字节的RAM空间,用于存放待发送或已接收的数据包,在向RAM中写数据包前,指定该数据包的存放位置,然后将COM20020中的指针自动移动位置 1,则只需连续的向该RAM中写数据,而不必给出地址信号。

批数据读写时序

  3.3 对外设指定寄存器操作

  对外设指定寄存器操作比批数据传送实现简单,只需将操作次数降为1次,并对 COM20020的A2~A0提供相应的地址即可。指定寄存器操作将数据存储在RAM的高512字节空间,并且只占用其中低8个字节,在编程时,需确保送入RAM的地址与命令寄存器中的RAM存储地址COMMANDBYTE[2..0]相对应。

  4 结论

  本设计解决ARCNET协议专用器件应用于列车通信网络中的时序匹配问题,实现了PXA270处理器与COM20020的时序转换。此外,对扩展其他总线访问类型提供了参考框架,可通过修改CommandGenerator中COM20020时序,实现不同外设总线访问类型的扩展;修改 AutoAccessDataNun-sOnce中的ACCESSTYPE,可配置批数据操作的数据种类。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭