双口RAM原理及应用实例PPT

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

双口RAM在FPGA中的实现
选用Xilinx公司的Spartan-6 FPGA器件, 基于低功耗45 nm、9-金属铜层、双栅极氧 化层工艺技术,提供高级功耗管理技术, 150 000个逻辑单元,集成式PCI Express模 块,高级存储器支持。250 MHz DSPslice和 3.125 Gb/s低功耗收发器。 通过Verilog HDL语言对双口RAM功能的 描述就能在一片FPGA器件内实现8位16字 节的双口RAM,并进行读写操作控制。双 口RAM读写操作控制采用Verilog HDL代码。
1.CPU并行工作(双单片机系统)方式得到广泛应用。 为了使2个单片机能够快速有效交换信息,充分利 用系统资源,采用双口RAM实现存储器共享是目前 较为流行的方法。 2.大容量、高速FPGA器件具有集成度高、体积小、 灵活可重配置、实验风险小等优点,在复杂数字系 统中得到越来越广泛的应用。用FPGA来实现双口 RAM的功能可以很好地解决并行性和速度问题,而 且其灵活的可配置特性使得基于FPGA的双口RAM 易于进行修改、测试及系统升级,可降低设计成本, 缩短开发周期。
Name:Mr.Xu University:江苏科技大学
双口RAM 是在一个SRAM 存储器上具有两套完全独立的数据线、地 址线和读写控制线,并允许两个独立的系统同时对该存储器进行随 机性的访问的存储器。即共享式多端口存储器。 双口RAM最大的特点是存储数据共享。一个存储器配备两套独立的 地址、数据和控制线,允许两个独立的CPU或控制器同时异步地访问存 储单元。 双口RAM可用于提高RAM的吞吐率,适用于实时的数据缓存。
双口RAM在数字系统中应用广泛。高速数据采集系统中, 一般的数据传输系统在大数据量情况下会造成数据堵塞现象。 在一些实时控制场合,实时算法经常需要由几个DSP串行或并 行工作以提高系统的运行速度和实时性。以双口RAM构成的数 据接口可以在两个处理器之间进行高速可靠的信息传输。此外, 双口RAM可以应用在智能总线适配卡、网络适配卡中作为高速 数据传输的接口。在许多宽带信号处理领域(如无线通信、多媒 体系统、卫星通信、雷达系统等),FPGA技术已代替DSP实现 许多前端的数字信号处理算法。用FPGA来实现数字信号处理 能很好地解决并行性和速度问题,而且其灵活的可配置特性, 使得FPGA构成的数字信号处理系统易于修改、测试及系统升 级,降低设计成本,缩短开发周期。任何一种自动控制系统都 离不开数据采集系统,数据采集系统的质量直接影响整体系统 的工作性能。数据采集系统高速、实时发展趋势,对数据的传 输和控制速度提出较高要求。而采用双口RAM可有效提高速度, 解决速度匹配问题。
FPGA采用了逻辑单元阵列LCA(Logic Cell Array) 这样一个概念,内部包括可配置逻辑模块CLB (Configurable Logic Block)、输入输出模块IOB (Input Output Block)和内部连线(Interconnect) 三个部分。 现场可编程门阵列(FPGA)是可编程器件,与传 统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比, FPGA具有不同的结构。FPGA利用小型查找表 (16×1RAM)来实现组合逻辑,每个查找表连接到一 个D触发器的输入端,触发器再来驱动其他逻辑电路或 驱动I/O,由此构成了既可实现组合逻辑功能又可实现 时序逻辑功能的基本逻辑单元模块,这些模块间利用 金属连线互相连接或连接到I/O模块。FPGA的逻辑是 通过向内部静态存储单元加载编程数据来实现的,存 储在存储器单元中的值决定了逻辑单元的逻辑功能以 及各模块之间或模块与I/O间的联接方式,并最终决定 了FPGA所能实现的功能,FPGA允许无限次的编程。
双口RAM最大特点是共享存储数据,即一个存储器配备两套独立的 的地址线、数据线和控制线,允许两个独立的的CPU或控制器同时异步 的访问存储单元。这种同时异步的访问存储单元需要内部仲裁控制逻辑 的控制(BUSY功能输出),由于两个端口对双口RAM存取时存在以下4 种情况: 1.两个端口不同时对同一地址单元存取数据; 2.两个端口同时对同一地址单元读出数据; 3.两个端口同时对同一地址单元写入数据; 4.两个端口同时对同一地址单元操作,一个写入数据,一个读出数据。 出现3,4两种情况时,左右端口将发生冲突。为此,双端口RAM芯片 通过“BUSY‘信号处理这两种情况。当左右端口对不同存储空间进行读 写操作时,可同时存取。此时.左右两端的“BUSY”信号为无效。若对 同一存储空间同时进行存储操作时,哪一个的存储请求信号先出现则该 端的“BUSY’信号无效,可以存储。哪一端的存储信号出现在后,则这 一端“BUSY”信号有效,禁止存储。 所以,内部仲裁控制逻辑相应的提供以下功能: 1.对同一地址单元访问的时序控制; 2.存储单元数据块的访问权限分配; 3.信令交换逻辑。
当左右端口不对同一地址单元存取时,BUSY R=H, BUSY L=H,可正常存储;当左右端口对同一地址单元 存储时,有一个端口的BUSY=L,禁止数据的存取,此 时,两个端口中先出现的存储请求信号对应的BUSY=H, 允许存储。后出现的存储请求信号对应的BUSY=L,禁 止存储(注意:两端口间的存储请求信号出现时间差应 满足仲裁最小时间间隔TAPS(IDT7132为5ns),否则 仲裁逻辑无法判定哪一个端口的存储请求信号在前); 在无法判定哪个端口先出现存储请求信号时,控制线 BUSY L和BUSY R只有一个为低电平,不会同时为低电 平,这样就避免了双端口存取出现错误。
设计一块数据采集系统板,用FPGA实现 双口RAM功能,并且控制A/D采样与转换, 以及数据写入双口RAM。利用单片机控制双 口RAM的存取,构成一个独立的数据采集系 统,并可以通过串行接口把数据发送给PC机。
首先,时钟产生启动信号,FPGA向采样开 关发出选通信号,选定模拟开关采样,第0 路模拟量进入,经A/D转换后变为8位数字 量并存储于双口RAM中,ADC0809反馈给 FPGA内控制电路并告知转换完毕,FPGA内 控制电路再选通第1路模拟量进入,重复上 述过程。经过0.1 ms后,时钟又产生一个 脉冲启动信号。FPGA又重新从第o路模拟量 选通。
存储单元数据块的访问权限分配只允许在某一时间段内 由1个CPU对自定义的某一数据块进行读写操作,这将有助于 存储数据的保护,更有效地避免地址冲突。 信号量(Semaphore,简称SEM)仲裁闭锁就是一种硬 件电路结合软件实现访问权限分配方法。SEM单元是与存储 单元无关的独立标志单元,两个端口分别采用两个触发器可 以实现这一功能。两个触发器在初始化时均使SEM允许输出 为高电平,等待双方申请SEM,如果收到一方写入的SEM信号 (通常低电平写入),仲裁电路将使其中一个触发器的SEM 允许输出端为低电平,而闭锁另一个SEM允许输出端使其继 续保持高电平。只有当先请求的一方撤消SEM信号,即写入 高电平,才使另一SEM允许输出端的闭锁得到解除,恢复等 待新的SEM申请。
FPGA基本特点
1)采用FPGA设计ASIC电路(专用集成电路), 用户不需要投片生产,就能得到合用的芯片。 2)FPGA可做其它全定制或半定制ASIC电路 的中试样片。 3)FPGA内部有丰富的触发器和I/O引脚。 4)FPGA是ASIC电路中设计周期最短、开发 费用最低、风险最小的器件之一。 5) FPGA采用高速CMOS工艺,功耗低,可以 与CMOS、TTL电平兼容。 可以说,FPGA芯片是小批量系统提高系统集 成度、可靠性的最佳选择之一。
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、 GAL、CPLD等可编程器件的基础上进一步 发展的产物。它是作为专用集成电路 (ASIC)领域中的一种半定制电路而出现 的,既解决了定制电路的不足,又克服了 原有可编程器件门电路数有限的缺点。
为了提高数据的交换能力,有些双口RAM采 用信令交换逻辑来通知对方。这类似与PC操 作系统的进程同步的信箱机制。
双口RAM
单 片 机
三态非反转透 明锁存器
DS来自百度文库(data singal processing)与双口RAM的接口电路
TMS320VC33的数据线宽度为32位,而CY7C028的数据位宽为16位,因此 采用将TMS320VC33数据总线的低16位与双口RAM的数据总线相连。 TMS320VC33在发送32位的数据至又口RAM时,分两次完成,先写低16位,再写 高16位。从双口RAM读取数据操作与发送类似。如前所述,使用双口RAM的关键 是解决左右端口同时操作同一RAM单元的竞争问题。图3中采用了硬件判优的方 法,即将左右端口的BUSY信号经相应处理后分别引至支持插入等待时序的 TMS320VC33和TMS320F240的对应引脚,以解决左右端口对同一单元的争用问 题。
Verilog HDL语言
Verilog HDL是一种硬件描述语言,是一 种以文本形式来描述数字系统硬件的结构 和行为的语言,用它可以表示逻辑电路图、 逻辑表达式,还可以表示数字逻辑系统所 完成的逻辑功能。 Verilog HDL和VHDL是目 前世界上最流行的两种硬件描述语言,都 是在20世纪80年代中期开发出来的。前者 由Gateway Design Automation公司(该公司 于1989年被Cadence公司收购)开发。两 种HDL均为IEEE标准。
在时钟脉冲信号0.1 ms过程中,FPGA顺序通过0~ 7路模拟开关,在每次选通时须判断是否为第7路模 拟量,若是则FPGA不再响应A/D反馈信号,而是等 待0.1ms的时钟脉冲信号到达再重新开始工作。单 片机用于与外部PC机通信,PC机查询是否在双端口 RAM中有新数据,并经接口电路读入数据。其中双 口RAM具有2组独立的数据、地址和控制总线,可对 任何一个端口进行独立的操作。若未采用双口RAM, FPGA采取中断方式对CPU传输数据时,CPU就会停止 当前工作而去处理外部请求,当处理完外部事件后 再回到原来被中止处,继续原来的工作,这样会影 响CPU的速度。因此引入双口RAM存储FPGA传送来 的数据,然后CPU再从双口RAM中读数,从而提高效 率。本数据采集系统采用基于FPGA双口RAM、单片 机等实现数据运行处理和控制功能,使系统的通信 和处理能力大大加强,保证了系统的实时性,可以 灵活地通过多种方式控制数据读写。
相关文档
最新文档