可编程逻辑器件在数电实验中的应用研究

2020-04-06 09:25车沛强
数字通信世界 2020年3期
关键词:数字电路器件编程

车沛强

(闽南科技学院,南安 362332)

0 引言

对于目前的数字电路实验装置而言,大部分的数字实验装置都是使用的中规模逻辑芯片,而这种逻辑芯片的使用就会导致实验装置具有较多的插座,而且插座的规模较多,使实验变得复杂化,除此之外使用该装置还会占据大量的空间,使用的引线较长较多,会对实验的操作造成一定的影响,而且会使得实验的成本增加,而且该实验装置无法适用于复杂、高速的逻辑实验,在使用以及维修方面都有着不小的困难[1]。而单片机和可编程逻辑器件的使用能够使得实验装置使用的成本下降,从而为研制低成本又功能繁多的数字实验装置提供了有利的条件。

1 单片机的特点以及工作原理

所谓的单片机,又可称为单片微控制器,是一种集成电路芯片,将一个计算机系统集成到一个芯片上,近似于一个微型的计算机,只是缺少了I/O设备[2]。单片机具有体积小、重量轻以及价格便宜等优点,能够为学习、开发和应用提供良好的便利条件。目前,对于单片机的使用已经十分广泛,各个领域都有着单片机的应用,比如通信设备、家用电器、智能手表以及导航系统等[3]。

随着科学技术的不断发展,人们对于单片机的应用逐渐渗透到各个领域。现如今,人们越来越重视单片机的开发与应用,而电子信息技术与单片机技术的融合更是显著的提高了单片机的应用效果[4]。作为计算机技术中的一个分支,单片机广泛的应用于电子产品领域,丰富了电子产品的功能,使智能化电子设备的创新与发展得到了有效的实现。

简而言之,单片机就是一块由系统组成的芯片,其通过集成电路技术将数据运算和处理能力集成到芯片之中,从而能够对数据进行高速化的处理[5]。

作为一种现代化电子信息技术的产物,单片机具有其独特的特征。单片机具有较小的体积,其内部的芯片虽然是结构简单的计算机系统,但却具有完善的功能,能够十分方便简洁的进行使用,还能够进行模块化的应用。另一方面,单片机具有较高的集成度以及较强的可靠性,即便进行了长时间的工作,单片机也不会发生什么故障。并且在使用的时候,单片机消耗的能量较低,给人们的生产与研发带来了不小的便利,人们在日常生活中首先会对单片机进行选择。除此之外,对于数据处理能力以及运算能力,单片机也较强,能够应用在各种环境之中,而且其控制能力也较为突出。

对于单片机,由于其从内部的硬件到软件具有一整套按位操作系统,其处理的对象是位而不是字以及字节,这就使得其不但能够对寄存器的某位进行有效的处理,还可以对位进行逻辑运算,具有十分完备的功能。而片内的RAM区间开辟的双重功能地址区间还使得使用十分灵活,给使用者提供了不小的便利。除此之外,乘法和除法指令也使得编程变得更加的方便。

CPLD即复杂可编程逻辑器件,是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。

而在数字集成电路实验当中,AVR单片机负责控制实验装置,并且快速对CPLD进行配置,而CPLD器件则是负责实现逻辑功能。

图1 电路连接图

单片机会在上电后进行复位自检,电子开关闭合,接通单片机到CPLD器件的编程线,于显示器上显示出等待标志,然后通过扫描键盘等待键盘输入所需的逻辑器件编号。键入编号后,单片机则是将与器件对应的编程数据编程到CPLD器件中,使得CPLD具备了所选器件的逻辑功能[6]。

其中,对于单片机的选择,为ATMEL的Atmega161系列。采用哈佛结构的这种单片机中具有1K字节RAM、512字节的串行EEPRPM、一个增强性能的RISC8位CPU以及16K字节的Flash程序储存器等大量的资源。另外,这种单片机具有较快的运行速度,平均下来,对于一条指令的执行大概在一个时钟周期,而且在8MHz时钟下的运行速度能够达到8MIPS,对于CPLD的配置能够快速的完成[7]。

按照所设计的逻辑功能将可编程逻辑器件的编程数据排列成表格放在单片机程序的存储器以及扩展的EEPROM存储器中,再将单片机读入键盘状态后根据键值对逻辑功能所对应的数据进行寻找,然后传送到可编程逻辑器件中,就使得对于所选择的逻辑功能,可编程逻辑器件已经具备,从而能够进行数字电路实验。

2 单片机的软件设计

对于整个实验装置而言,单片机软件是一个十分重要的组成部分。对于单片机设计,根据系统功能的要求是采用了模块化的结构,其主要构成成分为主程序、通信模块、CPLD编程模块以及EEPROM读写模块等[8]。

在主程序之中主要包括打开编程开关、系统参数初始化以及键盘扫描显示驱动等;而对于CPLD编程而言,要根据所选的器件序号,将编程数据写到CPLD器件中时需要按照CPLD器编程的时序要求,从而对CPLD进行编程,并关闭编程开关。软件编程则是对单片机的串行同步接口SPI进行了使用,将单片机设置为主机模式,只要在主CPU的SPI数据寄存器中将编程数据的一个字节写入,就能够将SPI的时钟生成器启动,从而以PB5引脚将数据移出。移出一个字节后,SPI时钟生成器会停止工作,对停止标志位(SOIF)进行设置后再继续下一个数据编程,直到编程数据结束标志。对于软件的编写,是在Avrstudio环境下进行语言的汇编,这样可以显著的提高CPLD的配置速度。对于上位机的通信,通信模块在完成之后会配合EEPROM读写模块对上位机已经综合好的配置文件进行下载,并导入到EEPROM当中。

图2 工作流程

3 可编程逻辑器的选择

对于可编程逻辑器件(CPLD)的选择,是选择ATMEL公司的FLEX系列,因为对于这个系列的可编程逻辑器件的制造,是采用高性能的CMOS技术进行的。通过这个技术,编程数据被存放在RAM中,从而使得重复编程变得高效快速,系统的时钟可达130 MHz,具有快速的运行速度,对于高速数字电路实验的要求能够进行很好的满足[9]。对于可编程逻辑器件的引脚,按照高速数字电路等长度引线的要求将其引到一个模拟插座上,并对这个模拟插座进行相应的标识,对于实验所用的数字电路型号的选择,根据键盘进行,然后对对应的标识进行更换,从而能够有效的模拟74LS系列或者其他的逻辑器件的数字电路实验。

而获取可编程逻辑器件的配置数据,首先是要得到配置数据文件,这需要在PD机上使用VHDL语言或者是采用GDF原理图法按照不同型号的数字集成电路的功能进行逻辑设计编程综合,通过仿真才能够实现。之后对于头尾标志的添加,需要根据可编程器件编程的要求以及该数据文件的结构采用C语言程序转化为AVR系列单机片所要求的数据格式,然后将其与单片机程序一起编程到单片机。除此之外,为了更好的扩展实验的个数,将常用期间的编程数据存放在单片机的程序存储器之中,而在外扩的EEPROM中存放将其他器件编程数据,对于实验的内容以及数量的更改,只要与上位机通信刷新EEPROM内容就能够简单得到实现。

4 实验功能的扩展

可以利用单片机的ISP编程接口对本文所述的数字电路实验装置的单片机的控制功能进行自由的更换,从而使得软件可编程数字电路实验装置得到了真正的实现。除此之外,对于数字逻辑实验,除了能够完成74LS系列的之外,本文所述的数字电路实验装置还能够进行可编程逻辑器件实验以及AVR系列单片机实验,并且具有价格低廉、灵活高效以及一机多用等优点,大大降低了实验的成本与难度,充分满足了高等学校日益发展的教学要求。

5 结束语

对于数字电路实验,由于传统的数字电路实验装置存在着功能单一、规模较小且接线复杂,因此导致学生的数字电路实验存在着一定的缺陷,无法满足日益发展的教学要求。而随着科学技术的发展,电子信息技术的不断壮大,单片机的使用对于数字电路实验的发展有着良好的推动作用。对于数字电路实验装置,在其中使用单片机使得数字电路实验装置的运行成本得到了降低,而且具有功能多,操作简单等丰富的优点,为数字电路实验的进行创造了有利的条件。

猜你喜欢
数字电路器件编程
编程,是一种态度
带浮空层的LDMOS 器件特性研究
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
基于数字电路的定时器的设计
案例教学在数字电路教学改革中的应用研究
数字电路实验的设计分析
数字电路功耗的分析及优化
旋涂-蒸镀工艺制备红光量子点器件