ARM和FPGA之间的通信(硬件原理图篇)

设计该开发板的初衷是为了学习,但也希望今后能扩展其功能,看到大家都在diy示波器,自己也非常冲动的想DIY一把,于是呼选了arm+fpga的方案,fpga主要用来实现数据的高速采样,而ARM则提供数据的显示,以及一些人机交互的功能。那么该方案中最重要的地方就是ARM和FPGA之间的通信如何实现了。在网上查了很多的资料,有说将FPGA作为ARM的一个外设,可以通过DMA的方式来直接访问;也有说把FPGA当做arm的一个存储设备,可以通过总线的方式将FPGA挂载到ARM的一个bank,这样就可以通过向访问存储器那样来访问FPGA,在linux系统中应该是通过ioremap这个函数来访问存储器,那么也就是说可以用ioremap来访问FPGA。

ARM 和FPGA之间连接的功能图如下所示:


如上图所示,Addr1---Addr8为地址总线,D0---D15为数据总线,nGCS5为ARM的bank片选,nOE为读使能信号,nWE为写使能信号,EINT0为中断信号。

 s3c2440的 bank0---bank5为固定128MB,bank6和bank7的容量可编程改变,可以是2、4、8、16、32、64、128MB(可以参考s3c2440 datasheet)。bank0---bank5可以连接ROM和SRAM, BANK6,7只能连接SDRAM。我把FPGA当做ARM的一个sram 挂载到bank5,所以选择nGCS5信号。为什么是Addr1---Addr8,而不是从Addr0开始?参考s3c2440 datasheet,如下图所示,当使用16位的数据总线时,是从A1开始连接。虽然BANK5有128M空间,但因为只使用了Addr1---Addr8,所以只使用了256byte*2地址空间。

CPU寻址是以字节为单位的,也就是说BANK0---BANK5 能寻址128M*1字节(1byte/8bit)的存储空间,但是因为是16位的数据总线,CPU地址要每次加2才能寻址一个16位的数据,所以才是从A1开始连接地址线。所以使用Addr1---Addr8,就使用了2^8 *16bit =256 *16 bit =256Byte*2=512 Byte 的空间。 







  • 19
    点赞
  • 140
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Xilinx FPGA Zynq 7020最小系统板原理图是指Zynq 7020 FPGA芯片在最简化的系统板上的电路连接图。该芯片是Xilinx公司的一款可编程逻辑器件,同时还集成了ARM处理器核。最小系统板原理图展示了这个芯片与其他元件之间的连接方式和电路设计。 Zynq 7020最小系统板原理图一般包含以下组成部分: 1. Zynq 7020 FPGA芯片:原理图中会标注芯片引脚的连接情况,如外部引脚与其他器件的接口连接。 2. ARM处理器核:Zynq 7020芯片内集成了ARM处理器核,原理图中会显示其与其他器件的连接,如存储器、外设设备等。 3. 存储器:原理图中会展示Zynq 7020芯片与各种存储器之间的连接关系,如DDR3内存、Flash存储器等。 4. 外设设备:原理图中会描绘与Zynq 7020芯片连接的各种外设设备,例如串口通信、以太网接口、USB接口等。 5. 时钟源:原理图中会显示为Zynq 7020芯片提供时钟的外部时钟源,如晶体振荡器或时钟发生器。 6. 电源管理:原理图中会显示供电芯片、稳压器等电源管理元件与Zynq 7020芯片之间的连接,确保芯片正常运行所需的电源条件。 7. 连接线和引脚:原理图会标注各种信号线、电源线以及引脚的连接方式和连接关系,以便设计者参考和布线。 从Zynq 7020最小系统板原理图可以了解到芯片与其他外围器件的连接方式和电路设计,为开发者提供了设计和开发基于Zynq 7020芯片的嵌入式系统的参考和指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值