联系电话
021-61319007
13918912514
E-mail:
shoulder1209
@163.com
ARM和FPGA结构的通信大致可以分为两种:
一种是数据量小、通信速率要求不高的情况,可以考虑采用SPI、IIC等差UN星通信方式。ARM都带有相关的SPI通信控制器等,在ARM端直接对相关的SPI通信控制器操作就可以了。而FPGA这一端可作为SPI从,按照SPI协议的时序写好从设备接口,这个工作量没有多大,所以相对都比较容易。
另一种是数据量大、通信速率要求较高的情况,就要采用并行总线的方式了。这时把FPGA当做ARM的一个片外的SRAM访问就可以,可以在FPGA内部生成一个双口RAM,输出的数据总线管腿直接连接到ARM的并行总线的数据总线上,双口RAM一端的地址总线也一样直接连接到ARM的并行总线中的地址总线。这样就可以实现FPGA从DPRAM一端读写,ARM从DPRAM的另一端读写的功能了,当然还需要其他一些使能或片选的控制信号。这里FPGA一侧较好实现,而ARM一侧需要开发SRAM(FPGA)驱动,这个还没有实际做过,所以没有把握。
NXP的ARM即LPC系列的并行总线称之为外扩地址与数据总线,由EMC(外部存储器控制器)控制,通过对EMC寄存器的控制就可以实现在外扩地址和数据总线上的数据收发。若是采用LPC系列ARM加一片FPGA,实现他们通信的关键在于这个EMC寄存器的控制。
上海肩并肩电子科技公司为客户提供最专业的产品解决方案,专业从事电子产品开发、电子电路设计、方案设计、工业设备研发,技术精湛,服务一流。可根据客户需求,快速高效准确的完成项目开发。
|