ARM与FPGA通信_第1页
ARM与FPGA通信_第2页
ARM与FPGA通信_第3页
ARM与FPGA通信_第4页
ARM与FPGA通信_第5页
已阅读5页,还剩1页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、在数据采集卡中ARM主要负责数据显示和数据分析,处理的速度处于MS级;而FPGA在系统中处于数据的高速采集和高速处理,处理的速度是ns级。两个处理器的之间的数据传输属于典型的异步数据通信,它们之间通信的速度之间决定了系统处理数据的效率。FPGA与ARM之间属于大量数据交换,以异步并行读取的方式为例介绍ARM与FPGA的通信,实际设计中使用DMA方式来实现ARM与FPGA之间的大数据量通信。ARM存储系统分析S3C2410A存储控制器提供访问外部存储器所需要的存储器控制信号。S3C2410A支持大、小端模式,将存储空间分为8个组(Bank),每组大小是128M,共计1GB,如图1所示。所有存储器

2、组都可用于ROMA或者SRAM,Bank6、Bank7还可以用于SDRAM。所有内部块的访问周期都可编程。总线访问周期可以通过插入外部等待来延长,支持SDRAM的自刷新和掉电模式。Bank0Bank6的开始地址是固定的,Bank7的开始地址是Bank6的结束地址,灵活可变,并且Bank7的大小与Bank6的大小必须相等。除Bank0外,其余各存储器的总线宽度可编程设置为8位、16位或者32位,但是Bank0只支持16位或者32位。Bank0作为引导ROM,地址映射到0 x0000_0000。OM1:0是系统的引导模式控制引脚,在复位时,系统将检测OM1:0上的逻辑电平,并根据这个电平来决定Ba

3、nk0区存储器的总线宽度。=01,10OM1;Q=00CkFFFF_FFFFax6ooo_oooo0 x4800_0000MOOO_OFFF0k4000_00000k3800_00000 x3000_00000 x2800_0000ax2ooo_oooo0k1800_00000 x1000_00000k0800_0000M000_0000kNotu&sdrKkSFRAreaBootSRAM(4KB/tes)SROM/SDRAM(nGCS7)SrOm/sdram(nGCSB)SROM(nGGS5)SROM(nGCS4SROMrSROM(nGCS2SROM(nGCSI)SROM(nGCSOJ图1A

4、RM存储单元分配图NotusedSFRAreaNotusedSROM/SDRAM(nGCSZSr&m/Sdram(nGCS6SROM(nGCSS)SROM(nGCS4SROM(nGCS3SROM(nGCS2SROM(nGCSIB&tftIrlfeMSlSRAM(4KB)在设计中ARM的bankO用于NorFlash,bank6和bank7用于两块SDRAM,我们选择bank4作为FPGA内部RAM映射的空间。Bank4在ARM的统一基地址为0 x20000000,后面的采集的数据都是基于这个地址为首地址的。EP3C25基于SRAM结构,器件内部自带RAM,容量最大达到594Kbit。为了方便A

5、RM与FPGA通信,在FPGA上建立一个8Kbit的RAM数据缓冲区,将AD采集的数据缓冲在这8Kbit的RAM中,将ARM的数据总线和地址总线与RAM缓冲区构建的双口RAM的数据线、地址线直接相连,使用总线访问FPGA内部RAM就可以达到高速数据读取的目的。这种结构下相当于将采集到的数据直接存储到S3C2410的系统内存中,从而节省了数据传输的时间,大大提高了系统的效率。如上图4-2所示ARM存储系统的结构图,ARM与外部存储器相连时,必须先给其分配在一个固定的Bank,本设计将FPGA内的缓冲区指定在Bank4上,地址范围从0 x2000_0000到0 x2000_1000。使用片选引脚n

6、GCS4、读引脚nOE和写引脚nWE即可完成对FPGA内存储空间的读写。ARM读取双口RAM中的数据被测信号经过AD9480转换后,需要将转换后的数据进行存储,这是数字存储示波器与模拟示波器的区别之一。对于数据的存储方案主要有FIFO和双端口RAM两种。第一种使用FIFO方案,其特点是数据存储格式是先入先出,可以省去地址总线,只需要将数据按照一定的时钟写入存储单元,数据的读取相同。第二种是双端口RAM方案,其特点是需要两个独立的数据总线、地址总线和控制总线;一方在写入的时候,另一方可以进行数据的读取。由于需要读取存储器中某个“特定”位置的数据,所以必须使用地址线,所以后端的存储器选择双口RAM

7、。memoryrddr8.l|rnOEwrenjF貳BlackFtps:/TOrddocktwo.!.=Es:q7.J0lbuslri從画二己三Q药卩血图2双口RAM与ARM总线连接图上图2是双口RAM与ARM总线连接图,双口RAM的地址线addr8.O与ARM的地址线的低九位相连,nOE取反后作为双口RAM的读取时钟,双口RAM的数据输出q经过一个八位的三态缓冲器输出。如图ARM读取信号nOE低电位有效,而双口RAM的读时钟为上升沿有效,为了得到合适的读取时序,我们将nOE取反后作为双口RAM的读取时钟。输出数据总线与ARM的数据总线连接,若直接连接共享存储区的数据总线会长期占用ARM的数据

8、总线,会造成CPU无法运行。在两个数据总线中加一个三态缓冲器,以取反的nOE为三态门的选通信号后问题既可以解决。以读取操作为例,ARM读取外部存储器的时序图如下图3所示,针对FPGA内部缓冲区的读取,下面通过一个最基本的读语句来分析ARM读取的过程。图3ARM读取外部存储器的时序图以程序a0=*0 x20000000为例,这条程序是将地址0 x20000000地址中的数据赋给a0,地址0 x20000000为bank4的首地址,当程序需要访问bank4地址空间内的数据时,操作步骤如下:在接下来的时钟上升沿,将需要访问的地址赋给地址总线。在第二个周期选通访问地址所在bank的片选,即nGCS4拉低。在第三个周期将nOE拉低,给出发出读取信号。在第四个周期,将访问地址中的数据赋给数据总线。由于整个调试过程都在SDRAM中运行,而a0也是在SDRAM中由编译器指定一个地址,因此在读操作完成后,紧接着的是向SDRAM中某个地址赋值的写操作,所以片选信号和读信号在读操作完成后立即被拉高了。设计中真是使用了读信号n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论