双口RAM(精)

1引言
ARCNE协议应用于高速动车组列车通信网络时,产生中央控制单元处理器 PXA270与专用协议控制器件COM2002相连的时序不匹配问题,若用通用数字电 路模块进行时序转换,PXA270需占用PXA27(专门的资源(CPU时间片)对 COM2002的寄存器数据包缓冲区进行低速读写访问(对COM2002的相邻两次 读操作相隔至少300 ns),这样将增加处理器的负担。基于这种现状,提出一种 基于FPGA勺PXA270外设时序转换接口设计方案,以FPGA为桥梁进行时序转换, 并增加存储器直接访问 DMA(Direct Memory Aeeess)功能,即FPGAl动完成数 据包的收发工作,PXA270则只需高速读写访问FPGA中的同步双口 RAIM
2时序转换接口整体设计
2. 1 FPGA对外接白
采用FPGA!接PXA270处理器与外设以解决PXA270处理器与外设直接连接 时的时序不匹配问题。如图1所示,FPGA从 PXA270处理器获得地址总线 (ADDRBUS[17..14], ADDRBUS[9..0]),片选信号(SYSCS5)读允许(SYSOE)写 允许(SYSWE)并提供双向数据端
口 DATABUS[7..0](可根据实际应用修改为32 位或16位等),中断(interrupt);同时,FPGA向COM2002提供特定的总线接 口,包括 COM20020_D,SCOM20020_CCOM20020_D,COM20020_DATAB[US0], COM20020_ADDRBUS[2..等。
COMMONIFPGA
DATABUS…0] inter rii pt COM2OO2O-.DIR COH20020-CS COM20O2O-DS
COM2002 0-t)ATABUS[L, 01)
COk2OG2 0,ADDiRBUS[2. , 0]
I FPGA时序转换接口原理图
2. 2内部功能实现
PXA270和外设之间的连接是将FPGA中的双口 RAM作为数据中转站,以此间 接相连。该设计由以下4个功能模块组成。
(1)PXA270对外设指定寄存器单次写操作 P XA27(先将所要写的数据送人双 口 RAM然后PXA270向 FPGA勺命令寄存器写入对该外设指定寄存器的单次写指
令,然后FP-GA根据接收到的命令将RA附的数据输出到外设数据总线,同时给 出对外设的写时序。
RAM中。
⑵PXA270对外设指定寄存器单次读操作 PXA270先向FPGA勺命令寄存器 写入对该外设指定寄存器的单次读指令,此时,    FPGA合出对外设的 读时序,并
驱动RAM勺地址总线、写时钟等信号,将外设数据总线上的数据传送到 再延时1卩S, PXA270从 RAM中读出数据。
(3)PXA270对外设批数据写操作与单次写操作不同的是,    PXA270需先将所
要写入的数据存储到RAM的连续空间,然后向FPGA勺命令寄存器写入批数据写 操作指令,FP-GAB据接收到的命令将RAM中的数据分次送至外设数据总线,且 需保证向COM2002的写时序与之同步。
(4)PXA270对外设批数据读操作由FPGA合出对外设的连续多次读时序将外 设中的数据送人RAM完成存储工作。PXA270等待批数据读完成中断发生后对 RAM进行连续读。
3功能模块设计
3. 1时序发生模块设计
COM2002有80xx-like和68xx-like两种总线访问方式。这里中实现 68xx-like 访问方式,图2为其读写访问时序。
HF
mm
读写时序的共同要求为:片选信号 CS必须先于DS至少5 ns,并且只允许 在DS无效之后CS才能恢复为高电平;读写方向信号DIR应在DS有效前至少10 ns建立;DS高电平宽度不
小于20 ns。两者的不同要求:写时序的地址总线先 于操作脉冲DS至少15 ns建立,DS低电平不小于20 ns,数据总线有效数据必 须在DS变高之前至少30 ns建立,保持至DS变高后至少10 ns ;而读时序的地 址总线先于片选信号至少15 ns建立,DS低电平不小于60 ns,DS变低到数据 总线数据有效的间隔最大为40 ns,DS变高到数据总线高阻抗的间隔最大为 20 ns,这是COM2002作为数据输出方给访问设备提供的特性。针对以上读写时序 的要求,具体设计如下:DIR在一次操作中只有高或低电平一种可能,通过命令 寄存器在操作前事先给出,而后给出使能信号,DS在 CS有效之后变低,而在CS 无效之前变高,以便数据可靠锁存。
vaiff
US- j]d=
(1L抽川JU卅*H He诸古N出呼
m 2    W 林、Mi“    WHFI r?
图3为COM2002的时序原理图,从时序分析可得出如下设计方案:    DIR用
于指示操作是读还是写,DIR= ‘1'为读,否则为写。在操作前先对 DIR赋值; 在EN有效时选择CSCLK的下一次上升沿变为有效。这样是给写操作对COM20020 数据总线准备数据之用,不影响读操作;DS选择在CS有效的下一个CLK上升沿 变为有效,但在CS无效前两个时钟周期给出上升沿,以满足“片选信号CS必须 先于DS至少5 ns,并且只能在DS无效之后恢复为高电平”,并且 DS中间应有 至少60ns的时钟宽度,因而保持 3个CLK周期有效。图4为CommandGenerator 时序仿真图。采用计数器进行时序同步。以下给出    VHDL源代码。
3 COM20020时序原理图
r Mirfi-hhr^nr-
U
Ml
iWiR^n[ji

本文发布于:2024-09-24 16:36:36,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/358968.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   时序   操作   外设   寄存器
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议