EDA技术在微机接口技术实验教学中的应用

最新更新时间:2007-06-29来源: 中国电子报关键字:时钟  扫描  赋值  分频 手机看文章 扫描二维码
随时随地手机看文章
微机接口技术是计算机专业的核心课程之一,是学习计算机硬件系统的关键课程。搞好该课程的实验教学,对于加深对课程的理解、培养设计能力和创新能力具有重要的意义。多年来,微机接口技术课程的实验一直使用专用实验箱,但存在几个方面的问题:

(1) 实验箱系统中的硬件结构基本固定,器件的品种、数量扩展困难,因此以验证型的实验为主,学生的设计难以突破实验箱的限制;

(2) 实验方法与前期课程脱节,与技术的发展脱节;

(3) 由于实验箱中需学生插接的连线很多,只要一个接触不良就会影响实验的完成。因此有必要改革微机接口课程的实验模式。EDA技术的出现,革新了传统的手工设计过程。微机接口设计作为一个典型的复杂数字系统设计,其设计方法发生了根本性的变革,因此应用EDA技术是微机接口课程实验改革的方向。

1 EDA技术简介

EDA技术是指以计算机为工作平台,以EDA软件工具为开发环境,以硬件描述语言为设计语言,以可编程器件为实验载体,以专用集成电路、片上系统芯片为目标器件,以电子系统设计为应用方向的电子产品自动化设计过程,是一种基于芯片的现代电子系统设计方法。EDA技术主要包括4个方面的内容:

大规模可编程逻辑器件;硬件描述语言;开发软件工具;实验开发系统。

其中,大规模可编程逻辑器件是利用EDA技术进行电子系统设计的载体硬件,描述语言是利用EDA技术进行电子系统设计的主要表达手段,开发软件工具是利用EDA技术进行电子系统设计的智能化的自动化设计工具,实验开发系统则是提供芯片下载电路及EDA实验/开发的外围资源,供硬件验证用。在实验教学中,实验硬件使用了我们开发研制的CPLD开发系统,其中的CPLD器件为Xilinx公司XC95系列的XC95144PQ160,实验使用VHDL为设计语言,选用了XilinxISE7.1i作为实验软件。

2 设计实例——键盘接口设计

下面以键盘接口设计为例,说明EDA技术在微机接口技术实验教学中的应用。

2.1 硬件设计

硬件实现框图如图1所示。

 

2.2 按键扫描

本设计采用16.384 MHz时钟,缓冲后除了为其他芯片提供工作时钟外,还可采用计数的方法进行分频,以得到125 Hz的参考时钟。这个时钟,就用来作几个与键盘处理息息相关的进程敏感事件。按键采用通用的扫描方式,4组行扫描线是在每一个分频时钟的下降沿,利用1个预先设计的4位状态机产生,在每一个扫描线送出的同时,读取列值(COL),即按键码。按键行扫描时序图如图2所示。

2.3 按键的识别

如果本次扫描没有键按下,按键码赋值为00H。如果扫描到键码不为0(即有键按下),将该键码对应的键值送至存储器指定地址data key暂存。然后再触发中断,接受处理器的访问。本设计中CPLD将键码转换为标准键盘按键的ASCII码,可以直接送至数据线由处理器做读取、判断处理,而无需再做转换。

2.4 按键长按、去抖及相关问题的解决

本设计中,如果长时间(超过2个扫描周期)按同一按键视为单次按键,处理方法如下:每次扫描到的键码与暂存在data_key的键码相比,如果相等则说明按键未释放,不作处理;如果不等说明有新的按键按下,则触发中断。这样设计解决了长按键的问题,但产生了新的问题:如果下次(间隔了若干个扫描周期)还是同一键按下,那么会扫描到同一键码,按照上述处理机制,这个键码是不送数据线的,这是不正确的。

我们注意到,同一按键按下间隔的时钟周期理论上为4个周期(按本设计4行扫描线计算),在本设计中,采用16.384 MHz时钟,采用计数的方法进行分频,得到125 Hz的参考时钟,故需要32 ms。在实际应用中,任何操作人员也达不到这个速度。所以,这里可以采用一个小技巧:

设计一个计数器,每扫描到一次为0键码(无键按下),计数器加1。如果有键按下,即扫描到的键码不为0,则计数器清零;如果计数到某一数值(即时间大于一个扫描周期),则保持当前计数不变。这样通过综合分析,得出触发中断、要求得到响应的条件为:

(1) 扫描到的键码不为0;

(2) 本次扫描到的键码和寄存器data key中的暂存码不同;

(3) 计数器当前计数值大于3;

这样就解决了不同按键的响应问题,或者:

(1) 扫描到的键码不为0;

(2) 计数器当前计数值大于等于5。

这样就解决了在以上功能实现前提下同一按键连续按下的响应问题。

大量实践经验证明,按键抖动时间一般为10 ms(保守估计),本设计中扫描时钟为8 ms,在满足快速响应按键的同时,在较大程度上也实现了键盘去抖的功能。

2.5 VHDL程序设计

限于篇幅,这里只给出一组扫描线情况(ROW=“1110”)下按键识别的设计实现方法:

 

 

 

3 结 语

与以往传统的实验方法相比,学生在实验过程中可以节省大量的接线时间,把重点放在微机接口的设计和仿真、验证上,使本实践环节更好地达到教学目的。软件设计调试阶段完成后的硬件下载和测试,又使学生能够学习硬件环境下的调试方法。实验教学的实践表明,新的实验模式激发了学生学习的积极性,加深了对本课程的掌握程度,同时还能够学到先进的设计技术,学生普遍欢迎这种改革新的实验模式,有效地锻炼了学生的设计能力和实践能力,为学生提供了充分的创造空间,收到了传统实验方法难以获得的效果。

关键字:时钟  扫描  赋值  分频 编辑:冀凯 引用地址:EDA技术在微机接口技术实验教学中的应用

上一篇:EDA技术在微机接口技术实验教学中的应用
下一篇:基于Virtuoso 平台的单片射频收发系统电路仿真与版图设计

推荐阅读最新更新时间:2023-10-12 23:12

DeepMind以光学相干断层扫描视网膜图像
DeepMind以光学相干断层扫描(Op ti cal coherence tomography,OCT)视网膜图像,进行眼睛疾病诊断的 机器学习 训练,该产品由DeepMind和英国Moorfields眼科医院合作,可进行OCT视网膜图像实时分析,并透过 AI 判读患病紧急程度与诊断结果,但此人工智能系统产品原型尚处试量产阶段。 透过OCT图像进行机器学习,较能达成具眼睛疾病诊断功能的AI系统 截至2017年,美国FDA核准的AI医疗影像软件医材仅个位数,2018年增至11项,多数产品以「辅助诊断」为主,其中仅有IDx-DR是无需临床医生就能提供糖尿病视网膜病变医疗「诊断」功能的AI系统。OCT是目前医院眼科进行眼部疾病诊断的主
[医疗电子]
DeepMind以光学相干断层<font color='red'>扫描</font>视网膜图像
无需外部信号发生器、时钟或微型控制器 就可实现准确的 PWM LED
LED调光能以两种方式进行:模拟调光和脉冲宽度调制 (PWM) 调光。模拟调光简单地调节 LED 串的 DC 电流,以改变 LED 的光输出,而 PWM 调光则改变 LED 串中恒定电流的占空比,以有效改变 LED 串中的平均电流,以此实现调光。尽管模拟调光的简单性富有吸引力,但是这种方式对很多应用不合适,因为模拟调光仅在 10:1 的亮度调节时,就损失超过 25% 的准确度,而且这种调光方式使 LED 产生色彩失真。相比之下,PWM 调光可以在准确度没有任何显著损失的情况下,产生 3000:1 以及更高的调光比 (在 100Hz 时),而且 LED 色彩没有改变。 LT3761 通过自己产生的 PWM 信号,可同时提供模拟调光的
[电源管理]
无需外部信号发生器、<font color='red'>时钟</font>或微型控制器 就可实现准确的 PWM LED
课程设计:矩阵键盘扫描(汇编)
//比较简单的汇编矩阵键盘扫描程序 //P2口高四位接列线,第四位接行线 //源程序和proteus仿真我一打包,地址: http://proteus.5d6d.com/thread-9013-1-1.html ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV P2,#0F0H ;给列送高电平 LCALL DELAY ;延时,使电路稳定下来 MOV R4,00H MOV A,P2 ;取P2口的值 ANL A,#0F0H ;屏蔽行线的影响 CJNE A,#0F0H,L
[单片机]
课程设计:矩阵键盘<font color='red'>扫描</font>(汇编)
ST公布针对AR眼镜激光束扫描应用的压电驱动MEMS反射镜
近年来,MEMS 反射镜的采用迅速增长,涉及不同类型的应用。 激光束扫描 (LBS) 显示最具挑战性的应用之一是增强现实 (AR) 眼镜,因为它们需要高分辨率图像、小体积和低功耗。为了满足这些要求,MEMS 扫描仪正在转向压电驱动技术,这种技术可以在小芯片面积内实现高驱动力和高效率。 在ST日前公布的论文中显示,该公司正在加紧这方面的工作。ST展示了两个具有压电驱动的紧凑型 MEMS 反射镜:一个 27.5kHz 谐振反射镜 (MMR40100),直径为 1.1mm,FOV(可视角) 为 56°,以及一个准静态反射镜 (MML40100),工作频率为 60Hz,反射面积为 2.45x1.44mm2,FOV为 32°。
[手机便携]
MSP430时钟定性分析
1.时钟参数 1.1 宏定义时钟注释 //宏定义外接时钟,设置时钟很重要 #define EXTAL_IN_XT1_HZ ( 32768) #define EXTAL_IN_XT2_HZ (4000000) //宏定义内部REFO,VLO时钟频率 #define VLOCLK_FREQUENCY ( 10000) #define REFOCLK_FREQUENCY ( 32768) 1.2 时钟来源 switch(clk) { case CLOCK_XT1 :g_sClock.CLK.nHZ = EXTAL_IN_XT1_HZ;break; case CLOCK_VLO :g_sClock.CLK.nHZ =
[单片机]
MSP430<font color='red'>时钟</font>定性分析
生产各种医疗专用接口 FCI满足日益增加的数码影像服务需求
许多高科技产业对产品功能和灵活性的需求不断增强,医疗行业更是如此,其许多应用在很多情况下是至关重要的。 更为精准、更易于使用的技术让各类产品,特别是医疗影像领域的产品得到了不断的完善,使得日益老龄化的社会能够从中获益,无论是在医院还是家中。 推动对新兴医疗成像设备的需求不断增加的主要原因是医院对扫描系统的投资、对旧的门诊设施的更替、用数字X光系统代替传统的模拟机器、超声波诊断设备的增长以及将不同技术整合在同一设备(例如CT*和MRI*)中的趋势。 根据Bharat Book Bureau(一家汇集全球商业情报并且按需收集已出版市场调研信息的机构 http://www.bharatbook.com )发布的数据,对
[单片机]
具有电隔离、线"或"能力和改善噪声容限的I2C接口
本设计实例描述了一种简单而有效的方法为连接在I 2 C总线上的设备提供光隔离(图1)。这个电路改进了早期的版本。(参考1)。SDA和SCL处在I 2 C总线的主区域。SDA1和SCL1在从设备区域。可以很容易对时钟线路进行光隔离,因为它具有从主设备到从设备的单向性。P沟道MOSFET,Q3为快速光耦合器IC2的LED提供电流,缓冲时钟线路。 但数据线路是双向的。电路的该部分是对称的。电阻R6和R7为IC在总线从设备一侧的上拉电阻,而R3和R1为与位于SDA/SCL一侧平行于主I 2 C上拉电阻的虚拟上拉电阻。如果SDA和SDA1线都为高电平——也就是说,I2C设备没有将其电平拉低——Q1将截止,没有电流流进光耦IC2的
[应用]
为什么STM32单片机编程时需要使能时钟
作为一个STM32的菜鸟级人物,我刚开始接触STM32时,其实和当年开始学习51单片机的心理是一样的。茫然,谁说不是呢?但是,正常的学习途径无非就是看书,然后敲代码,最后烧程序,有问题就check,然后再继续烧,我都怀疑我快成了火头工。因为在我的印象中,只有这类职业才和“烧”有着密不可分的联系。即使当一名敬业又牛逼的火头工是我毕生的梦想。OK,不侃了。我希望,通过写日志把我作为一个菜鸟在学习STM32中的问题记录下来,同时以我为鉴,规避那些没有必要的破事。 1. 学习STM32要不要基础 原则上它应该是需要的,但是,我们也能发现很多人也是没有基础的。比如说,我们实验室的大师兄原来是管理专业,但是现在相当牛逼,软硬皆通。如果你和
[单片机]
小广播
最新半导体设计/制造文章

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 市场动态 半导体生产 材料技术 封装测试 工艺设备 光伏产业 平板显示 EDA与IP 电子制造 视频教程

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved