第十章综合创新实验
第十章综合创新实验
12
总线接口要完成的功能是实现各寄存器的读写 操作。包括地址译码、寄存器输入、总线输出 和各模块读写信号产生
总线信号有:
输入到FPGA的外部总线的信号有SA_A[25..0]、 SA_CS4、SA_D[31..0]、SA_WE、SA_OE
SA_A[25..0]为地址信号 SA_CS4为扩展板的片选信号,低有效 SA_D[31..0]为32位双向数据信号 SA_WE为写信号,低有效 SA_OE为读信号,低有效
第十章综合创新实验
13
地址译码
使用两个Decode兆功能模块(写译码模块 和读译码模块)实现译码操作
写译码模块用于产生各内部寄存器的写信 号,写译码模块的使能直接由SA_CS4控 制
读译码模块用于产生内部寄存器的读信号, 读 译 码 模 块 的 使 能 信 号 受 SA_CS4 和 SA_OE控制
第十章综合创新实验
14
中断管理部分
当各内部中断产生后,中断状态寄存器对 应位将置“1”,这主要由DFF触发器来实 现
第十章综合创新实验
15
键盘扫描逻辑
采用硬件描述语言方式设计
第十章综合创新实验
16
AD部分逻辑
向AD提供采样时钟,并读取转换数据 自动循环采集模式下,AD的采样时钟由
ADCNTR寄存器控制 FPGA将转换结果自动存入内部的双口RAM
综合创新实验
第十章综合创新实验
1
提纲
1、设计任务 2、设计分析 3、FPGA设计基础 4 模块分析 5 驱动设计 6 测试程序设计 7 GUI程序设计
第十章综合创新实验
2
Hale Waihona Puke 1. 设计任务设计题目:FGPA扩展子板系统设计 设计内容: 扩展一块FPGA子板,合理选
用FPGA器件。有效使用XSBase255扩展 槽资源。扩展以下硬件资源:16键键盘、 8个LED灯、拨码开关、2路A/D和D/A。
第十章综合创新实验
8
一个简单的VHDL例子 :
ENTITY REG12 IS
--外部端口定义:数据,时钟,输出
PORT(
d
: IN BIT_VECTOR(11 DOWNTO 0);
clk
: IN BIT;
q : OUT BIT_VECTOR(11 DOWNTO 0));
END REG12;
--内部实体逻辑
5
2. 设计分析
嵌入式系统项目开发流程要经历项目分析、设 计和实现与维护四个阶段
本设计: ✓ 前期准备 ✓ FPGA逻辑设计 ✓ 设备驱动设计 ✓ 驱动测试 ✓ GUI应用程序设计
第十章综合创新实验
6
3. FPGA设计基础
可编程逻辑器件简介 ➢ 什么是FPGA?什么是CPLD? ➢ FPGA与CPLD的主要区别 ➢ 为什么要使用CPLD/FPGA? ➢ 可编程逻辑器件有哪些? ➢ 如何使用可编程逻辑器件进行开发? ➢ 如何使用Xscale和FPGA进行开发?
ARCHITECTURE a OF REG12 IS
BEGIN
PROCESS
BEGIN
WAIT UNTIL clk = '1'; --等待时钟上升沿
q <= d;
--锁存输入数据
END PROCESS;
END a;
第十章综合创新实验
9
3.2 Quartus II使用简介
QuartusII软件为设计者提供了一个完整的 图形化多平台开发环境,它包含整个 FPGA和CPLD的开发方案
查询模式操作
读取中断标志寄存器 判断按键标志位是否为1。否,则返回;是,则继续 读取键码寄存器的键码值 往中断标志寄存器对应的键盘标志位置“1”,清除该标志
第十章综合创新实验
22
A/D模块
功能说明
A/D模块的精度为12位,输入电压范围为02V(DC/AC)。
当有按键动作,如果中断控制寄存器中的键盘中 断允许位置1,则产生中断信号
第十章综合创新实验
20
键盘模块
相关寄存器定义
键码寄存器(KEY),8位
D7—D4 XX—XX
D3 KEY_D3
D2 KEY_D2
D1 KEY_D1
D0 KEY_D0
中断控制寄存器(ICNTR),16位,中断方式为电 平触发,高有效
第十章综合创新实验
7
3.1 VHDL语言介绍
随着EDA技术的发展,使用硬件描述语言 (HDL)设计CPLD/FPGA成为一种趋势
VHDL的程序结构特点是将一项工程设计, 分成外部(端口)和内部(涉及实体的内 部功能实现部分)
VHDL主要用于描述数字系统的结构、行 为、功能和接口,跟原理图有对应的关系
第十章综合创新实验
3
设计要求
合理选择各种元器件, 包括FPGA、A/D、 D/A芯片。
合理使用XSBase255 开发系统扩展槽资源, 设计原理图,要考虑 子板和母板的安装。 布局图:
第十章综合创新实验
4
软件测试要求:
LED显示 A/D D/A KeyPad 开关量输入
第十章综合创新实验
Quartus II的使用,操作步骤主要有工程 建立、设计输入、编译、仿真和下载操作
第十章综合创新实验
10
3.3 扩展板逻辑设计要点-总线接口逻辑
扩展板逻辑主要包括:
总线接口逻辑 中断管理逻辑 键盘扫描逻辑 拨码开关逻辑 AD部分逻辑 DA部分逻辑
第十章综合创新实验
11
总线接口
总线接口部:
D15—D3 XX—XX
D3 SW_EN
D2 AD_EN
D1 (保留)
D0 KEY_EN
中断标志寄存器(IFLAG),8位
D7—D3 XX—XX
D3 SW_ FLAG
D2 AD_FLAG
D1 (保留)
D0 KEY_FLAG
第十章综合创新实验
21
键盘模块
使用方法
中断工作模式操作
设置中断控制寄存器的D0位为1,使能键盘中断; 当有按键时,键盘产生中断; 读取键码寄存器的键码值; 往中断标志寄存器对应的键盘标志位置“1”,清除中断
进行缓存,当缓存满后,产生中断通知处 理器读取
第十章综合创新实验
17
AD采样时钟
第十章综合创新实验
18
AD地址发生器及其中断产生逻辑
第十章综合创新实验
19
4.模块分析
键盘模块 :
功能说明
当16键中的任一按键被按下时,即产生4位键码 值,更新键码寄存器,并置位状态寄存器中的按 键标志位
键盘的扫描周期为20毫秒,以实现硬件消抖功能, 若无按键动作,键码寄存器的值保持不变