基于FPGA的可直接输入阻值提供不同电阻

2013-09-26 23:05 来源:电子信息网 作者:和静

如通过键盘输入一个预置值,如果输入的数值为5 4 5 . 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Ω以内的精度可达到0.1Ω的任何电阻,使用电阻数量小,通过程序来控制电阻的接入,体积更小,同时,维护起来也更加方便,如果需要大于1500Ω的电阻,同样可以根据此原理来增加电阻(如8000、4000、2000、1000等),因为此设计中同时提供两个电阻,因而还要16个同样的电阻,原理同上(根据不同场合如要提供三组或三组以上的电阻只需相应增加即可)。

1.4 输出显示电路

输出显示电路主要功能是实时显示对应的键盘输入电阻值的大小、当前工作的步数和预置时间。根据要求,本实验采用数码管来显示其阻值即可,能够满足要求,为了显示以上数据,每个阻值的显示至少需要九个数码管,其中五位用来显示当前阻值的大小,两位用来显示当前的工作步数,两位用来显示数据的工作时间,如果采用静态显示控制将会需要相当多的引脚端资源(9×2×8=144个),为了减少对FPGA引脚资源的使用,本设计中采用扫描的方式来实现LED的动态显示。

2 软件设计及部分仿真结果

本设计中,主要控制程序都是通过FPGA的软件编程来实现。软件设计大体可以分为三个大模块:键盘扫描模块、LED显示模块、继电器电阻驱动电路模块。

2.1 键盘扫描模块:

键盘扫描模块主要用来检测外界输入的数据,主要由分频器电路、键盘扫描计数器电路、键盘行和列按键检测电路、按键抖动消除电路和键盘编码电路组成。

因为本设计中外接频率为一般用6MHz的信号作为时钟信号,但是键盘扫描不需要那么高的频率,所以需要一个分频电路将其频率降低为1kHz。键盘扫描计数器主要为键盘行和列按键检测电路和键盘编码电路服务,键盘行和列按键检测电路用来检测键盘输入所在行列的位置,按键抖动消除电路主要目的是为了避免按键时键盘产生的拉动效应使按键使能位产生不必要的抖动变化而造成重复统计按键次数的结果。同时,键盘位置的代号,并不是键盘上的按键值,所以要用键盘编码电路来传递真正的按键值。

2.2 LED显示模块:

LED显示模块采用动态显示方式,这种实现方法是依次点亮各个LED数码管,循环进行显示,这种显示方式控制好数码管之间的延时相当重要,根据人眼视觉暂留原理,LED数码管每秒的导通16次以上,人眼就无法分辩LED数码管短暂的不亮,认为是一直点亮的,但延时也不是越小越好,因为LED数码管达到一定亮需要一定时间。为了达到较好的效果,本设计中延时取0.005s。

< 1 2 3 4 > 
FPGA 电阻

相关阅读

暂无数据

一周热门