第10分章综合创新实验.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
综合创新实验 陈文智 wzchen@cad.zju.edu.cn 浙江大学计算机学院 2005年4月 提纲 1、设计任务 2、设计分析 3、FPGA设计基础 4 模块分析 5 驱动设计 6 测试程序设计 7 GUI程序设计 1. 设计任务 设计题目:FGPA扩展子板系统设计 设计内容: 扩展一块FPGA子板,合理选用FPGA器件。有效使用XSBase255扩展槽资源。扩展以下硬件资源:16键键盘、8个LED灯、拨码开关、2路A/D和D/A。 设计要求 合理选择各种元器件,包括FPGA、A/D、D/A芯片。 合理使用XSBase255开发系统扩展槽资源,设计原理图,要考虑子板和母板的安装。布局图: 软件测试要求: LED显示 A/D D/A KeyPad 开关量输入 2. 设计分析 嵌入式系统项目开发流程要经历项目分析、设计和实现与维护四个阶段 本设计: 前期准备 FPGA逻辑设计 设备驱动设计 驱动测试 GUI应用程序设计 3. FPGA设计基础 可编程逻辑器件简介 什么是FPGA?什么是CPLD? FPGA与CPLD的主要区别 为什么要使用CPLD/FPGA? 可编程逻辑器件有哪些? 如何使用可编程逻辑器件进行开发? 如何使用Xscale和FPGA进行开发? 3.1 VHDL语言介绍 随着EDA技术的发展,使用硬件描述语言(HDL)设计CPLD/FPGA成为一种趋势 VHDL的程序结构特点是将一项工程设计,分成外部(端口)和内部(涉及实体的内部功能实现部分) VHDL主要用于描述数字系统的结构、行为、功能和接口,跟原理图有对应的关系 一个简单的VHDL例子 : 3.2 Quartus II使用简介 QuartusII软件为设计者提供了一个完整的图形化多平台开发环境,它包含整个FPGA和CPLD的开发方案 Quartus II的使用,操作步骤主要有工程建立、设计输入、编译、仿真和下载操作 3.3 扩展板逻辑设计要点-总线接口逻辑 扩展板逻辑主要包括: 总线接口逻辑 中断管理逻辑 键盘扫描逻辑 拨码开关逻辑 AD部分逻辑 DA部分逻辑 总线接口 总线接口部: 总线接口要完成的功能是实现各寄存器的读写操作。包括地址译码、寄存器输入、总线输出和各模块读写信号产生 总线信号有: 输入到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为读信号,低有效 地址译码 使用两个Decode兆功能模块(写译码模块和读译码模块)实现译码操作 写译码模块用于产生各内部寄存器的写信号,写译码模块的使能直接由SA_CS4控制 读译码模块用于产生内部寄存器的读信号,读译码模块的使能信号受SA_CS4和SA_OE控制 中断管理部分 当各内部中断产生后,中断状态寄存器对应位将置“1”,这主要由DFF触发器来实现 键盘扫描逻辑 采用硬件描述语言方式设计 AD部分逻辑 向AD提供采样时钟,并读取转换数据 自动循环采集模式下,AD的采样时钟由ADCNTR寄存器控制 FPGA将转换结果自动存入内部的双口RAM进行缓存,当缓存满后,产生中断通知处理器读取 AD采样时钟 AD地址发生器及其中断产生逻辑 4.模块分析 键盘模块 : 功能说明 当16键中的任一按键被按下时,即产生4位键码值,更新键码寄存器,并置位状态寄存器中的按键标志位 键盘的扫描周期为20毫秒,以实现硬件消抖功能,若无按键动作,键码寄存器的值保持不变 当有按键动作,如果中断控制寄存器中的键盘中断允许位置1,则产生中断信号 键盘模块 相关寄存器定义 键码寄存器(KEY),8位 中断控制寄存器(ICNTR),16位,中断方式为电平触发,高有效 中断标志寄存器(IFLAG),8位 键盘模块 使用方法 中断工作模式操作 设置中断控制寄存器的D0位为1,使能键盘中断; 当有按键时,键盘产生中断; 读取键码寄存器的键码值; 往中断标志寄存器对应的键盘标志位置“1”,清除中断 查询模式操作 读取中断标志寄存器 判断按键标志位是否为1。否,则返回;是,则继续 读取键码寄存器的键码值 往中断标志寄存器对应的键盘标志位置“1”,清除该标志 A/D模块 功能说明 A/D模块的精度为12位,输入电压范围为0-2V(DC/AC)。 A/D模块共2路,每路的数据输出为并行12位,2路A/D共用一个32位寄存器存放数据。 相关

文档评论(0)

180****9566 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档