EDA技术在微机接口技术实验教学中的应用
发布时间:2008/5/27 0:00:00 访问次数:451
    
     广东外语外贸大学 张 晶,李心广
    
    微机接口技术是计算机专业的核心课程之一,是学习计算机硬件系统的关键课程。搞好该课程的实验教学,对于加深对课程的理解、培养设计能力和创新能力具有重要的意义。多年来,微机接口技术课程的实验一直使用专用实验箱,但存在几个方面的问题:
    
    (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时钟,采用计数的方法
    
     广东外语外贸大学 张 晶,李心广
    
    微机接口技术是计算机专业的核心课程之一,是学习计算机硬件系统的关键课程。搞好该课程的实验教学,对于加深对课程的理解、培养设计能力和创新能力具有重要的意义。多年来,微机接口技术课程的实验一直使用专用实验箱,但存在几个方面的问题:
    
    (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时钟,采用计数的方法