新闻中心

EEPW首页 > 汽车电子 > 设计应用 > MCS-51单片机与CPLD/FPGA接口逻辑设计

MCS-51单片机与CPLD/FPGA接口逻辑设计

——
作者:一苇时间:2007-04-11来源:21IC收藏
在功能上,与大规模CPLD有很强的互补性。具有性能价格比高、功能灵活、易于人机对话、良好的数据处理能力潍点;则具有高速、高可靠以及开发便捷、规范等优点。以此两类器件相结合的电路结构在许多高性能仪器仪表和电子产品中仍将被广泛应用。本文就的接口方式作一简单介绍,希望对从事单片机和研发的朋友能有所启发。     

单片机与CPLD/FPGA的接口方式一般有两种,即总线方式与独立方式,分别说明如下:

一、总线方式
    

单片机以总线方式与CPLD/FPGA进行数据与控制信息通信有许多优点。    

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

MOV @DPTR,A ;MOV A,@DPTR

总线

                                                           图1 总线

(2)节省CPLD芯片的I/O口线。如图二所示,如果将图中的译码器DECODER设置足够的译码输出,并安排足够的锁存器,就能仅通过19根o口线在FPGW与单片机之间进行各种类型的数据与控制信息交换。    

CPLD芯片I

                                                  图2 CPLD芯片I/O口线

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

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

单片机与CPLD/FPGA以总线方式通信的,重要的是要详细了解单片机的总线读写时序,根据时序图来设计逻辑结构。图一是系列单片机的时序图,其时序电平变化速度与单片机工作时钟频率有关。图中,ALE为地址锁存使能信号,可利用其下降沿将低8位地址锁存于CPLD/FPGA中的地址锁存器(LATCH_ADDRES)中;当ALE将低8位地址通过P0锁存的同时,高8位地址已稳定建立于P2口,单片机利用读指令允许信号PSEN的低电平从外部ROM中将指令从P0口读入,由时序图可见,其指令读入的时机是在PSEN的上升沿之前。接下来,由P2口和P0口分别输出高8位和低8位数据地址,并由ALE的下降沿将P0口的低8位地址锁存于地址锁存器。若需从CPLD/FPGA中读出数据,单片机则通过指令“MOVXA,@DPTR”使RD信号为低电平,由P0口将图二中锁存器LATCH_IN1中的数据读入累加器A;但若欲将累加器A的数据写进CPLD/FPGA,则需通过指令“MOVX


推荐阅读

评论

技术专区

关闭