欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > PPT文档下载  

    第10章综合创新实验名师编辑PPT课件.ppt

    • 资源ID:679871       资源大小:685KB        全文页数:55页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第10章综合创新实验名师编辑PPT课件.ppt

    1,综合创新实验,营舜起彦鄂煮囊飘溢劣辙阑莆沮暮啸馒庙亨傣揖阔卢旦嚷铀毒狗饲嫂碌隔第10章综合创新实验第10章综合创新实验,2,提纲,1、设计任务2、设计分析3、FPGA设计基础4 模块分析5 驱动设计6 测试程序设计7 GUI程序设计,馋雷辨映捎授咕惺交桩磕野烁雕保凛秤闭陶搀箩休绍琢谴统抚拟狈与龋囤第10章综合创新实验第10章综合创新实验,3,1.设计任务,设计题目:FGPA扩展子板系统设计设计内容:扩展一块FPGA子板,合理选用FPGA器件。有效使用XSBase255扩展槽资源。扩展以下硬件资源:16键键盘、8个LED灯、拨码开关、2路A/D和D/A。,常拟桓剃宫蒜贫魔洪侯环溃崩耐使菏糯袍醇忱命知快奠填硼卫今认戍头袋第10章综合创新实验第10章综合创新实验,4,设计要求 合理选择各种元器件,包括FPGA、A/D、D/A芯片。合理使用XSBase255开发系统扩展槽资源,设计原理图,要考虑子板和母板的安装。布局图:,改懒毙嵌至银冯律攀畏度胆画达孙粉铡驯侵冤馆小芬蜘摧沦洞想箍蝉胯怒第10章综合创新实验第10章综合创新实验,5,软件测试要求:LED显示A/DD/A KeyPad开关量输入,斗撞旨腰胚孜黔早贰庭孔洛弗蘸摹宋粹养盆淀型残负藩谰膛毕妥虾遵街掠第10章综合创新实验第10章综合创新实验,6,2.设计分析,嵌入式系统项目开发流程要经历项目分析、设计和实现与维护四个阶段 本设计:前期准备 FPGA逻辑设计 设备驱动设计 驱动测试 GUI应用程序设计,曳仿缩助索浇壕啥蜂勿倘瞬亦佰莎雀隐巩汝搭邑娥祝腔咽廷霉荷讫芒永揭第10章综合创新实验第10章综合创新实验,7,3.FPGA设计基础,可编程逻辑器件简介 什么是FPGA?什么是CPLD?FPGA与CPLD的主要区别 为什么要使用CPLD/FPGA?可编程逻辑器件有哪些?如何使用可编程逻辑器件进行开发?如何使用Xscale和FPGA进行开发?,绩梁残惹萨赚猴佛冲纬镭乌晚禽缉找狠碰蔷噶芽涝含蜂陷寨骗村硷殴喳葱第10章综合创新实验第10章综合创新实验,8,3.1 VHDL语言介绍,随着EDA技术的发展,使用硬件描述语言(HDL)设计CPLD/FPGA成为一种趋势VHDL的程序结构特点是将一项工程设计,分成外部(端口)和内部(涉及实体的内部功能实现部分)VHDL主要用于描述数字系统的结构、行为、功能和接口,跟原理图有对应的关系,中栗稽溉姻滚涅涅茵巡唤纶展倒隙路耙陪壹兴辰默猴诧韦蚕袒惯碴郑喧奢第10章综合创新实验第10章综合创新实验,9,一个简单的VHDL例子:,窿札理仓迸除侠精附逆伏匿或狮诫森鼠撕炸六治吕饭鱼琉醒瘤绿卤逃二狗第10章综合创新实验第10章综合创新实验,10,3.2 Quartus II使用简介,QuartusII软件为设计者提供了一个完整的图形化多平台开发环境,它包含整个FPGA和CPLD的开发方案 Quartus II的使用,操作步骤主要有工程建立、设计输入、编译、仿真和下载操作,嘻锦狮冬抑吴某牛佐饰肢绥来需觉宵苟频政绷蒜审甸趾舌频界恨蛔盟磺吸第10章综合创新实验第10章综合创新实验,11,扩展板逻辑主要包括:总线接口逻辑中断管理逻辑键盘扫描逻辑拨码开关逻辑AD部分逻辑DA部分逻辑,3.3 扩展板逻辑设计要点总线接口逻辑,兹役蓟宏纳鲸抖节沈堰峨汁澎如销榴个祁赫佬慨僧危屁镊丧此酱面诚恃爸第10章综合创新实验第10章综合创新实验,12,总线接口,总线接口部:,想梁染除咏泻蚂容挂粹秸上主章呢补锗忱解士侵饯筑吠逐哥鸡啥儿笺炬陆第10章综合创新实验第10章综合创新实验,13,总线接口要完成的功能是实现各寄存器的读写操作。包括地址译码、寄存器输入、总线输出和各模块读写信号产生总线信号有:输入到FPGA的外部总线的信号有SA_A25.0、SA_CS4、SA_D31.0、SA_WE、SA_OE SA_A25.0为地址信号SA_CS4为扩展板的片选信号,低有效SA_D31.0为32位双向数据信号SA_WE为写信号,低有效SA_OE为读信号,低有效,褂疥袒荚雨撮官披掏苦靠拄豺放岿逐矗星是吾呸已竹滓苛尊诫增剖惋橱而第10章综合创新实验第10章综合创新实验,14,地址译码,使用两个Decode兆功能模块(写译码模块和读译码模块)实现译码操作 写译码模块用于产生各内部寄存器的写信号,写译码模块的使能直接由SA_CS4控制 读译码模块用于产生内部寄存器的读信号,读译码模块的使能信号受SA_CS4和SA_OE控制,淄夜市晶晾唬额鞠阂跪寄丸屏揭瞒疡掸倒都俐普汝毒鞭控汞寒观为丝讹纫第10章综合创新实验第10章综合创新实验,15,中断管理部分,当各内部中断产生后,中断状态寄存器对应位将置“1”,这主要由DFF触发器来实现,娜萤拴禁锤艰嘻雀坚刁酸恰幸摩签彦吱烘龙只夯保严央乃拔隋秧洋喊腔浚第10章综合创新实验第10章综合创新实验,16,键盘扫描逻辑,采用硬件描述语言方式设计,乐厢笋辛舔绕手犊算飘猜狈顾栽隧她浴群睡摧舌雾此逗贴皿谭支恼路趾述第10章综合创新实验第10章综合创新实验,17,AD部分逻辑,向AD提供采样时钟,并读取转换数据 自动循环采集模式下,AD的采样时钟由ADCNTR寄存器控制 FPGA将转换结果自动存入内部的双口RAM进行缓存,当缓存满后,产生中断通知处理器读取,盾幂瞩梢撒呐嵌店惠焰巾亨庇铜蓑嗣榜赏忠碱贱豁椭眉吝站流坡宽热缎彦第10章综合创新实验第10章综合创新实验,18,AD采样时钟,巩垮寝需健聊潘胀菜耍阅诈患钞贼熟丛秦风剃巡浊贸养迎俱须叙富良凄阉第10章综合创新实验第10章综合创新实验,19,AD地址发生器及其中断产生逻辑,节糊衣痪亡锋肯签掳弘披拙湾决记副揭丑震惭谣瞩颧洛肆哑昆悦萨弓琢翱第10章综合创新实验第10章综合创新实验,20,4.模块分析,键盘模块:功能说明当16键中的任一按键被按下时,即产生4位键码值,更新键码寄存器,并置位状态寄存器中的按键标志位 键盘的扫描周期为20毫秒,以实现硬件消抖功能,若无按键动作,键码寄存器的值保持不变 当有按键动作,如果中断控制寄存器中的键盘中断允许位置1,则产生中断信号,泄蚀檄痪蹄靛潦粘盂驻支媒歹训索勤鸣蒜逢魏策份什颅囊滞窄骤温呆户申第10章综合创新实验第10章综合创新实验,21,键盘模块,相关寄存器定义 键码寄存器(KEY),8位中断控制寄存器(ICNTR),16位,中断方式为电平触发,高有效 中断标志寄存器(IFLAG),8位,匆剐头蔼忆谆玉慎零摊脂寺佐疹蓑贮逼漠蛀炕尿却掂吁滩伦疚小洋捻徊俐第10章综合创新实验第10章综合创新实验,22,键盘模块,使用方法 中断工作模式操作 设置中断控制寄存器的D0位为1,使能键盘中断;当有按键时,键盘产生中断;读取键码寄存器的键码值;往中断标志寄存器对应的键盘标志位置“1”,清除中断 查询模式操作读取中断标志寄存器判断按键标志位是否为1。否,则返回;是,则继续读取键码寄存器的键码值往中断标志寄存器对应的键盘标志位置“1”,清除该标志,汀和叫滞缴瑟耐附菠聪琅日切姬林拙邻庐榔拼庚壶彦妹实喂谗锹库语铬辩第10章综合创新实验第10章综合创新实验,23,A/D模块,功能说明A/D模块的精度为12位,输入电压范围为0-2V(DC/AC)。A/D模块共2路,每路的数据输出为并行12位,2路A/D共用一个32位寄存器存放数据。相关寄存器定义 使用方法,陆述哀愚闽簧滇恬谤赖袖貉蔼弯匿翱招略沧截姜伟莎广驻泄妙真杯喻桨甸第10章综合创新实验第10章综合创新实验,24,5.驱动设计,驱动设计总思路:考虑驱动程序操作的对象。根据对FPGA扩展各模块的性能分析,驱动程序应该尽可能的体现硬件的功能考虑协议和算法在驱动中实现还是在应用层中实现。根据应用程序的需要,在驱动中实现相应的方法。,刷莉裤钝崇瘴蔼提惠耕穷渭儒骸萨盼避纲守烬返晦瓷狙刚伊顶务公哼怜鞍第10章综合创新实验第10章综合创新实验,25,5.1驱动方法概要(1),设备的方法集中包含了8个方法:open这个方法在驱动中必须实现,因为应用程序打开设备文件时就就会调用此方法 release这个方法与open是成对出现的,当应用程序调用close关闭设备文件时,就会调用此方法 ioctl 应用程序中必须通过ioctl方法向驱动传递命令字,来通知驱动操作的模块,同时也通过ioctl来通知或改变模块的工作模式。,柑撩蝇扳级温奴繁炬膝巢件勇皆洁扭腑赁住嫂虐兵浩江炸汇钧长邓靡瓮拒第10章综合创新实验第10章综合创新实验,26,5.1 驱动方法概要(2),read,write 应用程序实质对扩展板的操作是通过这两个函数完成的 poll实现此方法主要目的是满足当应用程序调用select或poll时设备能正确的响应。fasync实现异步信号通知select,隋灯艘访淬镊蹬涛贝雀匡烁逼囊墨姬掀涸锅虑峪寝涟隅威谜耀吼滨交斑瑶第10章综合创新实验第10章综合创新实验,27,5.2 驱动具体实现要点,注册中断号中断号与设备所使用的中断引脚息息相关,内核维护中断号 FPGA扩展板以GPIO11作为中断信号线,键盘,拨码开关,ADC共用这一中断信号线 注册中断号前,必须先初始化GPIO11,这里可以通过一个函数完成:GPIO80也必须初始化为nCS4功能管脚 board_irq_handle为中断处理函数,SA_INTERRUPT|SA_SHIRQ用于设置中断的属性,克寸当供未舅工畜蔫弦辱膏登牧潜慷弛湖杯日吻修雾取惩喂揖扣故蠕属淖第10章综合创新实验第10章综合创新实验,28,模块选择与命令字当应用程序选择操作扩展板上的模块时,或选择模块的操作模式时,需要通过ioctl传递命令字到驱动,驱动代码如图:,扎密副仙琼愉摘殷谣吞枣熏奇镍倘罕筑横寿庙耗枢盏嚣骸不泪爷疵餐署捅第10章综合创新实验第10章综合创新实验,29,阻塞与非阻塞操作阻塞操作的目的是当应用程序去读写设备时,如果此时设备没有数据流经过,则应用程序会进入睡眠状态,并一直等待数据 令应用程序进入睡眠状态的原因是因为驱动程序里使用了令进程睡眠的函数或宏 以键盘为例,键盘的read驱动如下:,赔晰驯腹气秆帛妨种梳君魏氮平拧登上捣嘛穿须涛寐雏蜂农伐姓障绣撒淘第10章综合创新实验第10章综合创新实验,30,础末偏谎鼠哀淋撂慧蝴侍潮贷创认求家茂坛簇统仅誉践讶叮谁凛岳字癌影第10章综合创新实验第10章综合创新实验,31,poll方法分两步完成第一步,poll方法需要将所有这些可让进程睡眠的事件队列都加入到poll_table结构的链表中 第二步是返回一个用来描述操作是否可以立即无阻塞执行的位掩码,想易谤荧伦幼汉祥百搭氓官俗机懊卖脖锑眯辗星少抖秽胎獭硝叉坪邮声椽第10章综合创新实验第10章综合创新实验,32,Poll方法代码如下:,画熙导酮倪柑床猾拾砍街繁仇古赶寝急社骨幸师蘑札匿斌诊提唁兆屑泵樱第10章综合创新实验第10章综合创新实验,33,fasync方法当应用程序修改文件描述符的FASYNC标志(filp-f_flags)时,该方法就会被调用。fasync方法代码如下:,痴爹朴曳攫呕脖邯家娇喷折仅羞刃媒锻章炎缎般买对书笺盅敝吕纫绒统神第10章综合创新实验第10章综合创新实验,34,中断处理函数在注册中断号中,使用如下函数:参数filp用于传递信息给中断处理函数,中断处理函数通过参数dev_id接收中断处理函数的代码,以键盘为例:,径簇辊虹撅拣户蚂氦觉披回百途孜雾糙镍困徘炼党很舱察库焰角找擒尔务第10章综合创新实验第10章综合创新实验,35,蚕相埔坎鸣戮些矫票罕揣挚华尊闽雇禄佃夷仔来铬虎邱反除特妄乃客畔套第10章综合创新实验第10章综合创新实验,36,驱动的加载,1.安装位置 将以上的驱动程序文件放入嵌入式Linux的源代码目录中:driver/char/2.修改Makefile在位于driver/char/目录下的Makefile文件中加入如下语句:obj-$(CONFIG_FPGA)+=fpga_board_0.o fpga_board_1.o fpga_board_2.o fpga_board_3.o fpga_board_4.o,协拒雾衙刀洗终岳邢韩垃娟馆钨捧域远眼曼够汕递疟枢幕员膳夺献垃狈讯第10章综合创新实验第10章综合创新实验,37,3.修改菜单文件修改config.in文件,增加如下语句:,她乙肿谋蜂析舀惫沫撕压务女蛊孜昨蜜讣鼎在琐淆扬邓拉智鲜问浮组浆丰第10章综合创新实验第10章综合创新实验,38,4.初始化FPGA扩展板的中断引脚 修改 include/asm-arm/arch-pxa/xsbase255.h,增加以下语句:修改arch/arm/mach-pxa/xsbase255.c,增加以下语句:,惋婪益此供趋玛扳瓣醉抛处诣朝博褐太湖留青把枫绎兹谆险道蛋塘精竖凯第10章综合创新实验第10章综合创新实验,39,5.编译Linux内核 进入Linux源代码目录中,执行make menuconfig,进入Linux内核配置菜单将FPGA扩展板的驱动加入内核中 进入Character devices菜单 选择“FPGA_BOARD”编译内核,选嘎牛涵附绚咳筏宪烽尖聊砖哗耐哀触玉熔扎鞭撅茅谓道迹污循祁旧伪孺第10章综合创新实验第10章综合创新实验,40,6.测试程序设计,测试程序(应用程序)可以通过驱动提供的接口函数来操作设备文件结点来控制设备6.1 设备文件FPGA扩展板的设备文件为“fpga_board_x”在应用程序中通过以下指令打开设备文件:,仅间探语狐摸奏功专掣奏寡帛洋偏蛊契价寅值卡赞员栓搅蝶敦观孰手隆函第10章综合创新实验第10章综合创新实验,41,6.2 操作命令字,操作命令字是一些符号,通过ioctl系统调用,将这些符号传递到底层驱动程序,告诉驱动程序将要执行的操作 FPGA扩展板上有五个部件:分别是灯,键盘,拨码开关,A/D控制器,D/A控制器,相应的操作对象可以使用对象选择命令字来表示:LED、KEYBOARD、SWBOARD、DAC和ADC,昏粤爬腊潭洼截郁近毡谍枷告浑何佛壁沛啡戊辕加映淆瘴撮故墙氯奠槽苑第10章综合创新实验第10章综合创新实验,42,如果需要操作扩展板上灯,键盘,拨码开关,可使用以下程序:,濒孺悲迢腑糊髓娶战议可荣胺昏机渭骇宁铅针铣篇焚赦协溢萎屹弧天寅晒第10章综合创新实验第10章综合创新实验,43,select系统调用:是用在访问多个设备文件,但又不想阻塞于任何一个设备文件时使用 异步通知:是应用程序中通过向系统注册一个信号,并且将该信号与某一处理函数相关联,当中断产生时,激发该信号,然后系统调用与该信号相关联的处理函数 FPGA扩展板中只有键盘,拨码开关,A/D控制器才能使用异步通知,当使用异步通知前需要开启中断,通联累罚凋仰胸囚妈频趾裹梳吱荒推需燥拓抒冬鸭屠些烽淬娄肺烟龄湿顽第10章综合创新实验第10章综合创新实验,44,KEYBOARD对象KEYBOARD对象命令字 使用方式:键盘的操作模式有查询和中断方式两种,钧哇黑栗睛装有狼茸寨储奴个特江燥萍痛摇脸帖裤夺涕蔷芳姿睹淋懒语贫第10章综合创新实验第10章综合创新实验,45,ADC对象 A/D控制器有两个输入通道,并且每个通道的工作模式都有两种选择:模式一.即时输入方式 模式二.自动缓冲采集 采集频率设置,弹蓉未炮电廉深昭氟阿周雪得畏签俭刊啤抄茁巫捣雹哇缩儿延谎佳虑两唉第10章综合创新实验第10章综合创新实验,46,板级对象 有一些命令字是针对整个FPGA扩展板的,包括如下:,轮屯葫隶周姑秘爆莎漆彰瘪鹰苏素仗譬贤汗炬芦撞祸变吕渭慰旦鹏谴刽久第10章综合创新实验第10章综合创新实验,47,7.GUI程序设计,着重介绍如何为FPGA扩展板设计具有图形用户介面的应用程序 建立回调函数 监控I/O 绘制图形,此触髓凋仇憋龙咕因友氦甄迫盎碟抱卡都龟郎煞荣奥斌弓翼傅猫穆霉务铜第10章综合创新实验第10章综合创新实验,48,Key&Led 界面,旋谅嚣敞滤樱懒痛粳薄车冶签象划碎奈希遭臣标捐教拾然榆袖辟春吴洞暇第10章综合创新实验第10章综合创新实验,49,DA控制界面,汐镍其坚辩纸要循累孩亥朱敛攒掌碉驻壮皱若壮铅捂廷鳞挥臻插躲拿羞洼第10章综合创新实验第10章综合创新实验,50,AD控制界面,拳碱窜丰懊宝卖扁留妇蹿佣追卜狗辰满论瘤与霖淖威汗薯曾律拧供羊蛆麻第10章综合创新实验第10章综合创新实验,51,完成界面后,还需完成以下工作:响应ADC发出的中断。为控件的事件添加回调函数。绘制图形。,剃衅凶夷享鬼筐泣包沉休谭帚彰石米挖眯驰贼闷鸣尘提桔泛希痞仓联上梯第10章综合创新实验第10章综合创新实验,52,建立回调函数 以普通按钮控件为例,在Glade的Properties窗口的Signal下拉菜单中,为按钮的clicked事件添加回调函数,嫁查溅移渤仪甸缔肮堡侄箱彩劣讽糊笋仁锅胶侮岗懂越狸趁逻施恿迢壤父第10章综合创新实验第10章综合创新实验,53,监控I/O 这一步我们需要控制AD控制器对外部信号的采集 对ADC的控制方式,这里选择模式二自动缓冲采集 GDK+中包含更加简便的方法来监测IO,阵袒点括砧徊氨砌沫雌王牛酚契干是汽思儡朵竣玲课层响肯疙膜解弛敌蚁第10章综合创新实验第10章综合创新实验,54,绘制图形 建立一个pixmap,并且将该pixmap的背景色置为白色,drawingarea1为绘图区域控件,代码如下:,大颧霉悯制般吗摄买辞卑疯凛皱庞求耳窍隐敢嘉念响窍迸岛克龙损神艰旧第10章综合创新实验第10章综合创新实验,55,思考,思考现代电子设计中,为何很多产品设计中使用ARM处理器和FPGA的组合方式?总结嵌入式系统开发的流程。简述设备驱动开发的要点。简述GUI应用程序设计的要点。,绘切辽河灼右尘摸诅侨籍眩了苛长赶存箕黎蟹排榨掐曾秋译茎炉又除摈满第10章综合创新实验第10章综合创新实验,

    注意事项

    本文(第10章综合创新实验名师编辑PPT课件.ppt)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开