首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» MCS-51单片机与FPGA接口的逻辑设计
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
MCS-51单片机与FPGA接口的逻辑设计
发短消息
加为好友
pengpengpang
(pengpengpang)
当前离线
UID
1023229
帖子
6106
精华
0
积分
3055
阅读权限
90
来自
中国
在线时间
156 小时
注册时间
2013-12-20
最后登录
2016-7-3
论坛元老
UID
1023229
来自
中国
1
#
打印
字体大小:
t
T
pengpengpang
发表于 2015-1-19 19:23
|
只看该作者
MCS-51单片机与FPGA接口的逻辑设计
电子产品
,
性价比高
,
单片机
,
存储器
,
可靠性
FPGA是一种新兴的可编程逻辑器件,可以取代现有的全部微机接口芯片,实现微机系统中的存储器、地址译码等多种功能,具有更高的密度、更快的工作速度和更大的编程灵活性,被广泛应用于各种电子类产品中。在功能上,单片机具有性价比高、功能灵活、易于人机对话、强大的数据处理能力等特点;而FPGA则具有高速、高可靠性以及开发便捷、规范等特点,因此两类器件相结合的电路结构将在许多高性能仪器仪表和电子产品中被广泛应用。基于这种需求,本文设计了MCS-51单片机与FPGA的总线接口逻辑电路,实现了单片机与FPGA数据与控制信息的可靠通信,使FP—GA与单片机优势互补,组成灵活的、软硬件都可现场编程的控制系统。
1 单片机与FPGA的接口方式
单片机与FPGA的接口方式一般有两种,即总线方式与独立方式。MCS-51单片机具有很强的外部总线扩展能力,利用片外三总线结构很容易实现单片机与FPGA的总线接口,而且单片机以总线方式与FPGA进行数据与控制信息通信也有许多优点:速度快;节省PLD芯片的I/O口线;相对于非总线方式,单片机编程简捷,控制可靠;在FPGA中通过逻辑切换,单片机易于与SRAM或ROM接口。
单片机与FPGA以总线方式通信的逻辑设计,重要的是要详细了解单片机的总线读写时序,根据时序图来设计逻辑结构,其通信的时序必须遵循单片机内固定的总线方式读/写时序。FPGA的逻辑设计也相对比较复杂,在程序设计上必须与接口的单片机程序相结合,严格安排单片机能访问的I/O空间。单片机以总线方式与FPGA进行数据通信与控制时,其通信工作时序是纯硬件行为,速度要比前一种方式快得多,另外若在FPGA内部设置足够的译码输出,单片机就可以仅通过19根I/O线在FPGA与单片机之间进行通信和控制信息交换,这样可以节省FPGA芯片的I/O线。其原理图如图1所示。
2 总线接口逻辑设计
2.1 接口设计思想
单片机与CPLD/FPC,A以总线方式通信的逻辑设计,重要的是要详细了解单片机的总线读写时序,根据时序图来设计逻辑结构。MCS-51系列单片机的时序图如图2所示。
ALE为地址锁存使能信号,可利用其下降沿将低8位地址锁存于FPGA中的地址锁存器(LATCH_ADDRES)中;当ALE将低8位地址通过P0锁存的同时,高8位地址已稳定建立于P2口,单片机利用读指令允许信号PSEN的低电平从外部ROM中将指令从P0口读入,由时序图可见,其指令读入的时机是在PSEN的上升沿之前。接下来,由P2口和P0口分别输出高8位和低8位数据地址,并由ALE的下降沿将P0口的低8位地址锁存于地址锁存器。若需从FPGA中读出数据,单片机则通过指令“MOVXA,@DPTR”使RD信号为低电平,由P0口将锁存器中的数据读入累加器A;但若欲将累加器A的数据写进FPGA,则需通过指令“MOVx DPTR,A”和写允许信号WR。这时,DPTR中的高8位和低8位数据作为高、低8位地址分别向P2和P0口输出,然后由WR的低电平并结合译码,将累加器A的数据写入图中相关的锁存器。
通过对MCS-51单片机总线读/写时序的分析,设计了图3所示的接口电路。在FPGA中,设计了两个模块:一个是总线接口模块,负责单片机与FPGA的总线接口逻辑;另一个是寄存器单元及外部接口模块,运用总线接口模块来操作此模块。
在总线应用时,MCS-51单片机的P0口是作为地址/数据总线分时复用的,因此应在总线接口模块中设计一个三态缓冲器,实现P0口的三态接口;又因MCS-51单片机在访问外部空间时,它的地址为16位,因此借助地址锁存使能信号ALE在FPGA中实现高8位与低8位地址的编码,组合成16位地址,然后再根据MCS-51单片机的读/写信号,实现对FPGA的读写操作。
在接口设计中,采用了VHDL语言实现其接口逻辑。用VHDL语言编写,往往比较方便和严谨,注意整个过程的逻辑思路,并且尽量避免语言的冗余,造成比较长的延时。-MCS-51单片机与FPGA的通信读写电路的部分程序
收藏
分享
评分
记录学习中的点点滴滴,让每一天过的更加有意义!
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议