平板定制方案-微控制器与FPGA并行通信接口设计
时间:2024-07-22 作者:乐凡信息 浏览:134

平板定制方案中微控制器(如单片机)与FPGA在功能上有很强的互补性。微控制器具有性价比高、功能灵活、易于人机对话、良好的数据处理能力。FPGA的性能卓越,具有使用灵活、易升级、开发便捷、高可靠、规范及高速等性能,使其在系统设计中具有很强的优势。这两类器件相结合的电路结构在许多高性能仪器仪表和电子产品中广泛应用,因而它们之间的通信成为系统的关键部分。通信通常分为串行和并行两种,串行接口方式占用的端口较少,但同时也降低了信息的传送速率;并行接口方式占用的I/O端口资源较多,采用并行双向的三态通信方式,既可以满足高速数字系统设计要求,又可以使微处理器端口复用,大大减轻了系统设计的难度,具有较强的实用性。

一、平板定制中单片机与FPGA并行单向通信

单片机与 FPGA 并行单向通信接口设计比较简单,常用的方法有两种:I/O 方式和存储器方式。

1.平板定制中I/O口方式

单片机把FPGA看成外部I/O接口器件,单片机向FPGA发送控制信息,FPGA接收信息并进行相应的处理,或者FPGA向单片机发送控制信息,单片机接收信息并进行相应的处理,它们之间通信条件与实现的功能取决于设计的约定。

例如,使用FPGA与单片机结合实现8位数字测频计的接口传送信息与交互约定,图1所示为接口约定。输出计数使能信号为CNT_EN,FPGA在CNT_EN上升沿时开始计数,高电平为计数过程,下降沿计数结束,此时向单片机发出中断请求信号,单片机响应中断并进入中断服务程序,依次发送选择信号,分别将FPGA的32位测频数据分4次、每次8位,由单片机的P0口读到4个寄存器中,单片机完成从FPGA读取数据后,退出中断并等待下一次中断请求。FPGA发送数据与单片机读取数据的过程如图2所示,此处FPGA与单片机接口可实现简单的多路数据选择方式。同理,单片机向FPGA单向发送数据的过程,同样需要确定接口传送信息与传送方式,单片机可直接向FPGA端口赋值,FPGA接收数据,识别控制信息和数据信息,进行相应的处理。



图1 单片机与FPGA的接口约定



图2 FPGA发送数据与单片机读取数据的过程


FPGA与单片机的硬件连接时,需要注意它们之间的电平匹配,一般要在FPGA与单片机接口之间串接一个200 Ω的匹配电阻。

2.平板定制中存储器方式

单片机发送给FPGA的信息可以分为命令字和数据字两类。命令字告知FPGA应该做什么,例如设置频率控制字、向 DDS 波形存储器填充波形数据等;数据字则向 FPGA 发送命令字的参数值,例如频率控制字的值、波形采样点的值等。因此,接口模块应能判断出单片机发来的信息是命令字还是数据字。一个简单的方法是:规定单片机向FPGA发送的信息时,命令字和数据字必须是成对出现的,即发送一字节的命令字之后,紧跟一字节的数据字,这样FPGA的接口程序可以方便地分辨出命令字和数据字。

存储器方式是把FPGA看成外部存储器,单片机向FPGA发送信息也就转换成向外部存储器写数据。平板定制中单片机对外部存储器的写操作时序如图3所示。由图3所示的时序图可以看出,单片机写外部存储器的过程是先发送地址,再发送数据,地址信息由ALE的下降沿锁存,

数据信息由的下降沿锁存。因此,可把要传递的命令字作为外存储器的地址,数据字作为数据,执行单片机写外存储器指令,完成信息的传递。



图3 单片机对外部存储器的写操作时序

二、平板定制中单片机与FPGA并行双向通信

1.平板定制中并行双向三态总线方式通信特点

单片机与FPGA的并行双向三态通信接口设计的特点如下。

(1)速度快。其通信工作时序是纯硬件行为,对于单片机,只需要一条单字节指令就能完成所需的读/写时序,以51单片机为例,如:

MOV @DPTR,A;

MOV A,@DPTR;

(2)节省FPGA芯片的I/O口线。仅通过19根I/O口线,就能在FPGA与单片机之间进行各种类型的数据与控制信息交换。

(3)相对于非总线方式,单片机编程简捷、控制可靠。

(4)在FPGA中通过逻辑切换,单片机易与SRAM或ROM连接。这种方式有许多实用之处,例如,利用类似于微处理器系统的DMA的工作方式,首先由FPGA与接口的高速A/D转换器等器件进行高速数据采样,并将数据暂存于SRAM中,采样结束后再通过切换,使单片机与SRAM以总线方式进行数据通信,以便发挥单片机强大的数据处理能力。

2.平板定制中单片机与FPGA之间并行双向三态接口的工作原理

单片机与CPLD/FPGA之间采用并行总线方式通信的逻辑设计,要详细了解单片机的总线读写时序,根据时序图来设计逻辑结构,其时序电平变化速度与单片机工作时钟频率有关。以51系列单片机与FPGA通信为例,图4为单片机与FPGA并行双向三态总线通信原理框图。ALE为地址锁存使能信号,可利用其下降沿将低8位地址锁存于FPGA中的地址锁存器中。



图4 单片机与FPGA之间并行双向三态总线通信原理框图

3.平板定制中单片机与FPGA之间并行双向三态接口时序

(1)平板定制中FPGA 发送数据。FPGA向单片机发送数据,即单片机从 FPGA中读出数据,其时序与单片机读取外部RAM的时序相同。单片机则通过指令“MOVXA,@DPTR”使RD信号为低电平,由P0口将锁存器中的数据读入累加器A。单片机读外部RAM时序如图5所示。



图5 单片机读外部RAM时序

(2)平板定制中FPGA 接收数据。FPGA接收数据,即单片机向 FPGA 发送数据时,其时序与单片机写外部RAM的时序相同。但若欲将累加器A的数据写进FPGA,则需通过指令“MOVX DPTR,A”和写允许信号。这时,DPTR中的高8位和低8位数据作为高、低8位地址分别向P2和P0口输出,然后由的低电平并结合译码,将累加器A的数据写入相关的锁存器,完成写操作。单片机写外部RAM时序如图6所示。



图6 单片机写外部RAM时序

4.平板定制中单片机与FPGA并行双向三态接口的VHDL描述

具体编程如下。