新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 基于FPGA的可编程电阻的设计

基于FPGA的可编程电阻的设计

作者:时间:2011-01-11来源:网络收藏

摘要:现在市场上的各种电阻和电阻箱有不足之处,不能满足一些研发场所的要求,为了解决这一问题,本文介绍一种基于的可直接输入阻值提供不同电方法。通过控制继电器的吸合,从而确定与其并联的电阻的接入与否,最后通过电阻的叠加得到不同阻值。介绍了该设计的工作原理及软件设计思想,并有部分仿真结果。这种设计使用8421编码原则和硬件描述语言,减少了一些元器件的使用。相比于市场上的产品,其稳定性更高,抗干扰性更强,体积也更小,同时,它的操作更简便,显示更直观。
关键词:现场门阵列;;任意电阻

0 引言
电阻几乎是所有电路中必不可少的部分,常见的也有很多不同阻值的电阻,然而在一些电路中同一位置不同时刻还需要不同阻值,在一些精度要求不高的场合,可用滑动变阻器来实现,但是我们不能确定其具体阻值。随着技术的进一步发展,为了满足教学研某些场合的需要,阻值确定并可调的电阻箱应运而生。电阻箱提供阻值的原理是通过电阻的串并联得到的不同阻值,因而用到的电阻数量较多,精度也不够高,而且还需要对所需电阻的每一位数选择相应的档位,比较麻烦,也不够直观。而在一些生产应用中(如产品校验)需同时提供几组不同电阻,且要重复提供(如做产品老化检测实验),这就需要将该阻值记录下来,而以前的电阻箱都不具备记忆功能,不能满足要求。
本文介绍了用来实现控制电阻的提供,用软件的方式来设计硬件,设计过程中可用有关软件进行各种仿真,同时整个系统可集成在一个芯片上,体积小、功耗低,可靠性高,又因为其内部有存储单元,所以能够满足上述的“记忆”功能。

1 硬件电路
基于FPOA的电阻系统的硬件系统(如图1所示)主要由以下几个功能模块组成:
a.JPG

1.1 主控制器FPGA
FPGA(本设计中选用的是CyeloneII系列)控制中心是整个设计的核心,主要控制实现对系统的键盘输入进行处理,并根据输入的信息转换成输出数据,控制对应的继电器的吸合,从而得到不同的阻值。
以往可编程网络的主控制器有采用数字电路控制的,也有采用单片机控制的,本电路采用FPGA控制。EPGA是近几年来出现并被广泛应用的大规模集成电路器件,它的特点是直接面向用户,具有极大的灵活性和通用性,使用方便,硬件测试和实现快捷,开发效率高,成本低,上市时间短,技术维护简单,工作可靠性好等。因而用来设计可编程电阻其灵活性更好。
目前市场上主要生产FPGA产品的公司有Lattice、Xilinx、Altera。在教学过程中,一般使用Altera公司生产的FLEX系列和 Cyclone系列较多。鉴于产品的成本和通用性考虑,本实验中采用CycloneII,它是第二代低成本FPGA系列,它所拥有的独特性能有:NiosII嵌入式处理
器支持,嵌入式18*18数字信号处理乘法器,中等容量的片内存储器(能够满足本设计的要求)中等速度的I/O引脚和存储器接口。在性价比上更适合本设计,所以在本设计中选用此系列。
1.2 键盘输入电路
键盘输入电路主要实现输出电阻值大小的设定,本设计中采用的4*4简易键盘输入即可满足要求,可提供简单明了的数字键和功能键共16个键,包括:数字输入键:数字键0~9,按下数字键,输入一个数字,就可在对应的数码管上显示。
功能键:“电阻1”、“电阻2”本设计可以同时提供两组电阻,可以选择电阻1,也可以选择电阻2,提供一组电阻,也可以电阻1、电阻2同时选择提供两组电阻。
“存储”:每输入完一个数字后按一下存储键,以便能够将几个数据存储下来,运行后将按数据存储的先后顺序及预置的时间工作,循环提供数据。
“运行”:此键作为存储完数据后的启动键。
“停止”:停止提供电阻。
“复位”:可作为修改数据时用,按此键后可以使以前存储的数据都清零,然后重置一组数据。
1.3 继电器电阻网络
电阻网络。其原理图如图2所示,从图中可以看出,开关的闭合决定与其对应的电阻的接入与否,本设计中采用8421编码原理控制提各阻值。
b.JPG

本设计所供用的电阻要精确到0.1 Ω,所以,此电阻网络所使用的电阻都是精密电阻。这里我们以提供电阻阻值在1500Ω以内的电阻为例来说明。此电阻网络采用串联的方式来实现,8421编码方式只要控制相应的继电器,将其对应的精密电阻短接就可以实现。以1500 Ω以内电阻为例,只需16个电阻就可以满足要求。通过控制继电器J1至J16的断开或闭合,其对应的电阻就会接入或断开,最后接入的电阻串联相加就得输出的电阻值。
如通过键盘输入一个预置值,如果输入的数值为545.7Ω, 输出的阻值大小就可以表示R=400+100+40+4+1+0.4+0.2+0.1。即只需将这些电阻需要接入,相应的继电器J1、J2、J3、J5、 J7、J11、J13、J15要断开,其余的继电器则闭合,对应的二进制代码则为(0101 0100 0101 0111)B,通过此列可以看出用16个电阻就可以实现1500Ω以内的精度可达到O.1 Ω的任何电阻,使用电阻数量小,通过程序来控制电阻的接入,体积更小,同时,维护起来也更加方便,如果需要大于1500Ω的电阻,同样可以根据此原理来增加电阻(如8000、4000、2000、1000等),因为此设计中同时提供两个电阻,因而还要16个同样的电阻,原理同上(根据不同场合如要提供三组或三组以上的电阻只需相应增加即可)。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭