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