您的位置:网站首页 > 电器维修资料网 > 正文 >
单片机与CPLD/FPGA的接口方式
来源: 日期:2013-11-18 21:54:17 人气:标签:
(1)速度快。其通信工作时序是纯硬件行为,对于mcs-51单片机,只需一条指令就能完成所需的读/写时序,如:
其中,cpld_addr为地址,data_tem为数据暂存单元。
(2)节省cpld芯片的i/o口线。如下图所示,如果将图中的译码器decoder设置足够的译码输出,并介绍足够的锁存器,就能仅通过19根i/o口线在fpga与单片机之间进行各种类型的数据与控制信息交换。
(3)与非总线方式相比较,单片机编程简捷,控制可靠。
在cpld/fpga中通过逻辑切换,单片机易于与sram或rom接口。这种方式有许多优势,如利用类似于微处理器系统的dma的工作方式,首先由cpld/fpga与接口的高速a/d等器件进行高速数据采样,并将数据暂存于sram中,采样结束后,通过切换,使单片机与sram以总线方式进行数据通信,以便发挥单片机强大的数据处理能力。
根据单片机外部操作时序,ale为地址锁存使能信号,可利用其下降沿将低8位地址锁存于cpld/fpga中的地址锁存器(latch_addres)中;当ale将低8位地址通过p0锁存的同时,高8位地址已稳定建立于p2口,单片机利用读指令允许信号psen的低电平从外部rom中将指令从po口读入,其指令读入的时机是在psen的上升沿之前。
接下来,由p2口和po口分别输出高8位和低8位数据地址,并由ale的下降沿将po口的低8位地址锁存于地址锁存器。若需从cpld/fpga中读出数据,单片机则通过指令“data_tem=cpld_addr”使rd信号为低电平,由po口将锁存器latchin1中的数据读入累加器a;但若欲将累加器a的数据写进cpld/fpga,则需通过指令“cpld_addr=data_tem” 和写允许信号wr。
这时,dptr中的高8位和低8位数据作为高、低8位地址分别向p2和po口输出,然后由wr的低电平并结合译码,将累加器a的数据写入下图中相关的锁存器。
由8051将数据#5ah写入目标器件中的第一个寄存器latch_out1的指令是:
当ready为高电平时,8051从目标器件中的寄存器latch_in1将数据读入的指令是:
2.独立方式
和总线接口方式不同,几乎所有单片机都能以独立接口方式与cpld/fpga进行通信,其通信的时序方式可由所设计的软件自由决定,形式灵活多样。其 大的优点是cpld/fpga中的接口逻辑无需遵循单片机内固定总线方式的读/写时序。cpld/fpga的逻辑设计与接口的单片机程序设计可以分先后相对独立地完成。事实上,目前许多流行的单片机已无总线工作方式,如at89c2051、97c2051、284系列、pic16c5x系列等。
【看看这篇文章在百度的收录情况】
相关文章
- 上一篇: 三种无线投影技术类型解析
- 下一篇: 逆变器的分类