




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于FIFO缓存的高效双口SRAM数据传输研究摘要:针对MIMO系统中数据传输的海量性、实时性、及交互性的特点,本文利用FIFO作双口SRAM的外部缓存,实现多系统实时数据操作,完成多机之间的数据交换。本方案解决了竞争状态下的数据冲突及写覆盖问题,并且减少了数据传输的延时等待。利用双口SRAM CY7C019对本方案进行测试,以地址映射的方式实现了存储器与CPU的有效寻址。通过与改进前的系统进行性能比较,证明了本方案的有效性及可行性。关键字:双端口SRAM、FIFO缓存、数据冲突、地址映射51. 引言:大数据量的高速采集及交换传输是通信系统中很重要的环节。但是无线频谱资源非常有限,因此多输入多输出(MIMO)以其高速率低成本的高频谱效率的技术特性成为新通信时代的关键技术之一1。由于MIMO系统的数据量非常大,因此多端口存储器用于简化其接收和发送模块结构复杂性,提高其数据交换速率是必要的。多个处理器可同时进行数据操作实现多系统之间的实时数据交换,在一定程度上改善MIMO系统的数据传输速率,然而鉴于多端口存储器自身的一些缺陷,当多端同时进行数据操作时会发生数据冲突,导致传输的延时及写覆盖问题,因此要对多端口存储器的应用加以改进以完善其在MIMO系统中的应用。2. 异步双端口SRAM 双端口SRAM(Static Random Access Memory)是一种具有静止存储功能的存储器,不需刷新电路即能保存它内部存储的数据,因此具有较高的性能。双机间进行互操作时,该存储器可作为两机数据交换的公用共享存储器,为其复杂的数据交换提供场所,但并不是数据操作的工作区。双口SRAM允许从两个端口同时对存储单元进行访问,不需要双端口存储器中不可缺少的仲裁逻辑,然而如果精确到同时对某一存储单元进行读写操作时,会产生需要仲裁的竞争,延迟数据存取操作,严重影响系统的数据交换进程。如果在一个端口进行写操作的同时另一个端口进行读操作,读周期将读出的可能是旧数据,也可能是新数据,不会是两个数据的合并。但是写周期总是用新的数据更新存储单元,所以当两个端口同时对一个存储单元进行写操作时,肯定会引起亚稳态的存储单元竞争问题2。双口SRAM两端数据传输因竞争而易产生数据冲突,进而影响数据的传输速度容易造成数据处理中的“瓶颈问题”,并会产生数据的等待问题,从而满足不了实时快速的设计要求,而且会造成数据的写覆盖问题,所以如何改善各处理器之间的数据交换,即如何提高数据应用系统中双口SRAM的数据交换速率,是一个关键问题。3. 基于FIFO缓存的双端口SRAM硬件结构图通过对8T SRAM、10T 单端SRAM和10T 差分SRAM几种双端口SRAM进行读功率和操作频率方面的仿真比较3,可以看出:随着外围电路复杂度的增加,各存储器消耗的读功率会增大或操作周期时间变长,证明了传统系统应用中SRAM性能存在着一些不足。已有文献4提出一种改善的策略,设计一种改进型的存储器SRAM,在设计过程中提到采用FIFO作缓存的概念,但只是作为SRAM结构设计的一个内部单元,该方案的优越性得到了证实,使用该SRAM作为共享存储器将会使原速度的ATM速度得到大幅提高。然而,该方法对于MIMO系统中数据的大量频繁交换而言,增设缓存容量要求较高,内部设计较为复杂,双方竞争冲突时实现不了无需等待的要求。因此本文根据上述文献中利用FIFO作SRAM内部缓存的思想,探讨基于FIFO缓存的高速无等待双端口SRAM研究,采用FIFO作双口SRAM的外部缓存以提高多系统的数据交换能力。在双机系统中,只允许一端的CPU向FIFO中写数据,而另一端CPU读FIFO中数据,空指示不写,满指示不读,这样才不会导致写入数据丢失和读出数据无效5。FIFO先进先出,及没有外部读写地址线的特点,使得FIFO使用起来非常简单,这些特点显示了FIFO适于做缓存。本文采用FIFO作缓存改进双口SRAM数据交换速率的系统简单框图如下图1所示:由下图可见,该方案的主要组成器件有:双口SRAM CY7C019(128k*9位)、FIFO存储器CY7C429(2k*9位)六片、单向总线驱动器74ls244八片、双向总线驱动器74ls245四片、地址锁存器74ls373一片和两片CPU AT89C51。其中CPU A、CPU B是传输数据的主机,控制实现整个数据传输的过程。双口SRAM作整个系统的共享存储器,实现两CPU之间的数据互操作,图2是双口SRAM CY7C019的仲裁操作图,该时序图可描述为:给地 图1 双口SRAM数据传输图址A0-A16,地址保持最短时间为trc;从两端对同一地址进行访问,先给LEFT端CE片选,响应来自LEFT端口的访问;同时RIGHT端口对LEFT端口访问的同一地址进行访问,则/BUSY有效;LEFT端口的访问结束RIGHT端口的/BUSY无效;随着/BUSY的无效,RIGHT端口开始访问;由于RIGHT端口的访问已经开始,所以LEFT端的/BUSY有效,依次进行下一轮的数据操作。FIFO存储器作为双口SRAM的缓存器,用于存放要传输的数据,防止竞争状态下数据的丢失或传输的延迟,并可在忙状态下记忆要操作RAM为空;置/W为低电平,开始写入数据,FIFO不为空,一次写入时间为6ns;FIFO的数据已写满,/W由低电平变为高电平,写操作结束,/FF为0; 给/R低电平,开始下一轮读操作。器件74ls244起到总线驱动的作用。74ls245不仅多数据总线的传输起到驱动作用,最主要的是它实现了数据双向操作的有效分离,当两主机的/PSEN和/RD同时为0,DIR信号状态就是/PSEN和/RD的与结果0,即数据由RAM传输到FIFO到AT89C51方向,当两主机的/PSEN和/RD同时为1,DIR信号状态就是/PSEN和/RD地址数据,以备数据缓存FIFO对RAM的数据输出,CY7C429的数据操作时序如下图3所示,该操作时序描述为:/EF为1时,FIFO不为空,给/R低电平,Q0-Q8开始读数据操作,一次读取时间为10ns,/EF由高电平变为低电平,读操作结束,FIFO图 2 CY7C109的仲裁操作图 3 CY7C429的存取及标示操作的与结果1, 即数据由AT89C51传输到FIFO到RAM方向,避免了数据的倒流。4. 系统工作流程及工作原理该系统工作流程图如图4所示:图4 工作逻辑流程图结合流程图分析系统的工作原理,描述如下:(1)CPU A、CPU B对双口SRAM单读单写分时操作时,CPU的P1.7引脚输出低电平信号“0”,与之相连的/CEL0(CPU A数据操作时)或/CE R0(CPU B数据操作时)低电平有效,双口SRAM被选中,进而进行CPU与双口SRAM的单方单向读/写操作。当一方进行读写操作时,另一端口的/BUSY信号线置1为空闲状态,相应端的FIFO缓存器/R引脚有效,但FIFO内部存储单元为空标志信号/EF为0,因此无法进行FIFO的读操作,FIFO缓存器处于不工作状态。(2)CPU A、CPU B同时读双口SRAM存储单元时,双方CPU置信号输出线P2.7为低电平,/CEL0(CPU A数据操作时)或/CE R0(CPU B数据操作时)低电平有效,寻找双口SRAM内部存储区的相应数据存储单元,依据数据指针递减的方式各自读存储单元内的数据,两端口的/BUSY信号线均置为0,各相应端的FIFO缓存器/R引脚有效,但FIFO内部存储单元为空标志信号/EF为0,此时FIFO缓存器仍处于不工作状态。(3)CPU A、CPU B同时写双口RAM存储单元时,首先CPU A、CPU B会同时对双口RAM发出写请求信号,双口SRAM经过分析判断后只响应一方CPU A(或CPU B),并置R/W为1有效,写入数据到RAM内部存储单元,同时RAM另一端口/BUSY置“0”显示为忙状态,且/CS置1片选无效,则与双口RAM的/BUSY信号线相连的FIFO缓存器的/W引脚为“0”有效,把另一方CPU B(或CPU A)要传输的数据写入FIFO缓存器内部数据存储单元,并把要对双口RAM操作的地址数据写入相对应的FIFO缓存中,并置/EF为“1”表明FIFO缓存器内不为空,完成FIFO缓存器数据的写操作;CPU A(或CPU B)的数据操作完成后,另一端的/BUSY置“1”为空闲状态,相应的FIFO引脚/W为高电平无效,/R为低电平有效,双口SRAM该端口的/CS信号线置0选中该RAM并对其操作,根据地址FIFO暂存的地址数据将数据FIFO中暂存的数据传送到双口SRAM存储器相应的地址单元中,完成数据的读操作。(4)CPU A读双口SRAM,CPU B同时写双口SRAM或CPU A写双口SRAM,CPU B同时读双口SRAM时,可令读优先,进行双口SRAM的读数据操作,同时另一端口的CPU接收到对方的忙状态,该端口RAM的片选信号/CS置为1无效表示此端口CPU没选中双口RAM对此不工作,同时把要写入的数据暂存到FIFO缓存中,数据写入缓存中的操作步骤同于(3)的缓存读写操作。 如何实现对共享存储器的分配与管理,信箱结构6由于其分信箱分格的方式导致所需的存储单元太多;通信池结构7对共享存储区使用权的分配及管理却比较复杂,通信速度比较慢,因此本文采用集中控制方式(分配与管理权集中于一个单元)对以双端口存储器为主及以FIFO为辅的存储区进行分配与管理。通过软硬结合,把主存储区与辅存储区统一成一个整体。程序设计员可以按照存储空间来编写程序,关键是让这些存储区如何同CPU有效地寻址,因此存在一个存储器的地址分配问题。外部单元对共享存储区的读写数据操作要按照一种地址对应的规则进行,否则会产生数据读写数据单元的错误。地址映射的方法是一种合理分配两端口存取操作地址的有效方法,就是把程序中使用的虚拟地址按照某种规则转换到另一个物理地址去,体现了“一一对应”的原则。双端口的存储器全部访问空间是128K*9位,FIFO缓存器的存储空间是2K*9位,双口SRAM和FIFO存储器可与两端CPU的数据线、地址线直接相连,片选/CE0连接页选通信号线/PAGEO,即存储器映射起始地址为00000H,映射空间分别为00000H1FFFFH、20000H208FFH。5. 性能仿真与比较分析传统应用系统双口SRAM的竞争时序图及改进后的双口SRAM时序图:图5 双口SRAM竞争时序图图6 改进后的双口SRAM时序图两图对比可知:改进后的双口SRAM数据操作少了忙仲裁判断,减少了时间等待。假设两端同时有2K的数据量要写入SRAM,比较改进前和改进后方案传输时间:改进前,传输过程分解为A方和B方分时数据读操作,即t=t+ t,改进后,A方读操作被响应同时B方数据写入FIFO,A方结束FIFO写入RAM,由于FIFO的读取时间快于RAM的读取时间因此t覆盖t,整个传输时间即t= t+ t,采用AT89C51的12MHZ振荡频率,数据外写指令周期为24个振荡周期,因此CPU一次数据读出时间t=24=210ns,t= t=2KBt=32768000ns,t=t+ t=65536000ns,本文选用的FIFO一次读操作时间t=10ns,t=2KBt=20480ns,t= t+ t=32788480ns,改进前后节省的时间比率=50%。由计算过程可看出,改进后的优越性体现在:FIFO写入RAM的数据速率是CPU写入RAM的数据速率的上百倍,使得改进后双口SRAM数据传输速率提高了50%左右,减少了延时等待,满足了MIMO系统实时无需等待的工作特点。6. 结论本文系统以FIFO存储区作为系统的副存储区,增加了系统存储区的容量,为主存储区的数据操作提供缓冲作用,改善了双口SRAM工作过程,有效地提高了数据交换速率,实现了MIMO系统数据实时快速交换。FIFO缓存的使用不仅增加了系统可靠性,并简化了系统结构的复杂性,使得系统设计时间和调试时间得以减少,从而节约了系统成本。参考文献:1 Ji Li,Jean Conan,Samuel Pierre, Mobile Station Location Estimation for MIMO Communication Systems, 2006 IEEE.2 Lushan Liu, Pradeep Nagaraj, Shambhu Upadhyaya, Ramalingam Sridhar, Defect Analysis and Defect Tolerant Design of Multi-port SRAMs, J Electron Test(2008) 24, P165-1793 Hiroki Noguchi, Shunsuke Okumura, Yusuke Iguchi, Hidehiro Fujiwara, Yasuhiro Morita, Koji Nii, Hiroshi Kawaguchi, Masahiko Yoshimoto, Which is the Best Dual-port SRAM in 45-nm Process Technology?-8T,10T Single End,and 10T Differential-,2008 IEEE4 Hao-I Yang, Ming-Hung Chang, Tay-Jyi Lin, Shih-Hao Ou, Siang-Sen Deng, Chih-Wei Liu, Wei Hwang, A Controllable Low-Power Dual-Port Embedded SRAM for DSP Processor, 2007
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 加工电子部件委托合同样本
- 农牧兽药销售合同标准文本
- 产品安装销售合同样本
- 分账式合作合同标准文本
- 农家干菜回购合同样本
- 民宿防水施工合同
- 刺绣加工合同范例
- 办公桌椅供货合同样本
- 农家下院出租合同样本
- 代销水泥合同样本
- 2025-2030中国律师事务所行业深度分析及发展前景与发展战略研究报告
- 代生孩子合同标准文本
- 中职生对口升学模拟考试医学类专业课综合试卷
- 2025年小学时事知识试题及答案
- (完整版)特殊教育与随班就读
- 旋流风口RA-N3选型计算表格
- 2025年河南工业贸易职业学院单招职业倾向性测试题库往年题考
- 《VB程序结构基础》课件教程
- 个人房屋租赁合同标准版范本
- DBJ50-T-157-2022房屋建筑和市政基础设施工程施工现场从业人员配备标准
- 2024年中考模拟试卷地理(湖北卷)
评论
0/150
提交评论