MCS-51
单片机与
FPGA
接口逻辑设计?/p>
VHDL
实现
付扬
(
辽宁石油化工大学信息工程学院抚顺?/p>
113001)
?/p>
?/p>
:本文阐述了单片机和现场可编程门阵列
FPGA
各自的特点,?/p>
出在波形发生器设计中两者相结合设计的优势和在设计中所遇到的接口逻辑?/p>
计这个难点,详细给出了接口逻辑设计?/p>
VHDL
程序。通过该接口程序设计,?/p>
现了单片机技术和
EDA
技术相结合,从而实现了所要求波形发生器的设计?/p>
关键?/p>
:单片机
FPGA(
现场可编程门阵列
)PLD(
可编程逻辑器件
)
0
引言

可编程逻辑器件
(PLD)
?/p>
EDA
技术的应用成为电子系统设计的潮流?/p>
FPGA
是一种新兴的可编程逻辑器件
(PLD)
,与其它
PLD
相比,具有更高的密度、更?/p>
的工作速度和更大的编程灵活性?/p>

优点,长期以来被广泛的应用在各领域?/p>

基于
FPGA
的高密度、高速度、现场可编程的能力和单片机强大的数据?/p>
理功能,制作了波形发生系统,用于产生各种频率的正弦波、方波和三角波,
其幅?/p>
0
?/p>
5V
可调,频率步进达?/p>
1Hz
以下,频率范?/p>
1Hz
?/p>
100kHz
?/p>

该波形发生器以单片机
(MCS8031)
为中心控制系统,
FPGA
片内实现
DDS
技
术,
在此
DDS
技术中?/p>
采用
6
?/p>
BCD
比例乘法器级联?/p>
首先由单片机?/p>
E
2
PROM28c64
中存入波形数据?/p>
FPGA
在单片机的控制下?/p>
利用较高的时钟频?/p>
(16M)
生成用户
要求的频率的
128
倍频,并以此频率?/p>
E
2
PROM28c64
取波形数据,将其发送给
D/A
转换器,并通过滤波器输出。同时单片机实现对输出电压的控制?/p>

本设计中?/p>
FPGA
选用
Altera
公司?/p>
FLEX10K
,晶振频率可?/p>
40MHz
。使?/p>
MAX+PLUS
Ⅱ开发系统支持?/p>
FLEX10K
系列?/p>
FLEX
系列当中非常有代表性的
FPGA
器件系列,每?/p>
FLEX10K
器件包含一个嵌入式阵列和一个逻辑阵列。嵌入式?/p>
列用来实现各种存储器及复杂的逻辑功能。逻辑阵列用来实现普通逻辑功能?/p>
嵌入式阵列和逻辑阵列结合而成的嵌入式门阵列具有高性能、高密度、灵活的
互连方式、支持多电压
I/O
接口、多种配置方式以及低功耗等特性?/p>

在此设计中,我们感到,单片机?/p>
FPGA
完成各自功能设计较容易实现,
关键的难点是两者的接口设计。经过不断的摸索,我们终于以
VHDL
语言实现?/p>
接口程序设计,从而圆满实现了整个波形发生器的设计?/p>
1
单片机与
FPGA
接口逻辑设计?/p>
VHDL
实现
在设计中?/p>
单片机与
FPGA
接口采用总线方式?/p>
单片机以总线方式?/p>
FPGA
进行数据与控制信息通信有许多优点。如速度快,其通信工作时序是纯硬件?/p>
为;节省
PLD
芯片?/p>
I/O
口线;相对于非总线方式,单片机编程简捷,控制?/p>
靠;?/p>
FPGA
中通过逻辑切换,单片机易于?/p>
SRAM
?/p>
ROM
接口等?/p>

单片机与
FPGA
通信接口程序
(
名为
MCS51)
通过编译后,
生成的逻辑符号?/p>
?/p>
1
所示?/p>