电阻数字测量仪.docx
《电阻数字测量仪.docx》由会员分享,可在线阅读,更多相关《电阻数字测量仪.docx(17页珍藏版)》请在冰豆网上搜索。
![电阻数字测量仪.docx](https://file1.bdocx.com/fileroot1/2023-1/23/738796fd-74db-4e21-bd5c-96361f2fc53a/738796fd-74db-4e21-bd5c-96361f2fc53a1.gif)
电阻数字测量仪
课程设计说明书
学生姓名:
学号:
学院:
电子与计算机科学技术学院
专业:
微电子学
题目:
电阻数字测量仪
指导教师:
2009年1月4日
一、设计目的
1)掌握电子电路的一般设计方法和设计流程。
2)学习使用PROTEL软件绘制电路原理图及印刷板图。
3)掌握应用EDA工具对所设计的电路进行仿真验证,通过仿真结果验证设计的正确性。
4)掌握CPLD或FPGA等ASIC的设计方法和设计思想。
二、设计要求
1)设计一数字显示的电阻测量仪,测量范围为100欧——1兆欧。
2)要求采用单片机或FPGA/CPLD作为控制芯片。
3)整理设计内容,编写设计说明书。
三、设计过程及内容
1、设计过程
1)查阅相关资料,熟悉任务要求,理解设计原理。
2)把设计任务按照功能的不同进行模块划分,计划设计进度。
3)在各种不同的EDA工具中对设计好的模块电路进行功能仿真,检验其正确性。
4)各模块功能完成后,进行电路的组装与合成。
在protelDXP中进行整体原理图的绘制,生成网表,进行PCB布图布线。
5)整理设计内容,编写设计总结。
2、设计原理
1)电阻测量原理
在线电阻测量仪的关键技术是Rx/V转换器,Rx即在线电阻。
无论电路多么复杂,总可以把与Rx相并联的元件等效为两只互相串联的电阻R1和R2,由此构成三角形电阻网络,基本原理图如图1所示。
R0为量程电阻,只要使R1两端呈等电位,此时UR1=0,则R1相当于开路,R2变成运放的负载电阻,R1和R2就不起分流作用,这样即可直接测量Rx的阻值。
E为测试电压,
为测试电流。
设流过Rx、R1的电流分别为
、
。
根据基尔霍夫定律可知:
=
+
————————————
(1)
又根据“虚地”原理,
,故
,亦可忽略不计,由此得到:
—————————————
(2)
再考虑到c点接地,d点为虚地,因此
=E/
—————————————(3)
进而推导出
=
=
=(E/
)
—————————(4)
显然,只要测出
两端的压降
,就能求出
值。
这就是在线测量电阻的基本原理。
/V模块基本原理图如下所示:
图1、电阻基本测量原理
2)功能模块划分
根据电路的实际要求同时为了进一步练习VHDL硬件描述语言以及ASIC的设计思想,因此选用FPGA作为系统的控制芯片。
整个电路分为五个模块:
控制模块,显示模块,测量模块,AD转化模块,时钟发生模块。
3)各模块功能说明
控制模块:
由FPGA实现对整个系统的控制,协调各个模块之间的正常运作。
通过对FPGA编程生成内部处理电路,使其具有一定的控制功能。
显示模块:
由四个共阴极的七段数码管构成。
数码的驱动程序有FPGA内部实现。
其中数码管前三位显示数据,最后一位表示单位,显示‘0’表示欧姆,显示‘1’千欧。
由于最大测量值为1兆欧,所以最大的显示值为999千欧即“9991”。
测量模块:
该模块是电阻测量电路的主要部分,有集成运放LM358,X9241及一些外部元件构成。
AD转换模块:
主要是采集外部电压
,并将其转化为数字量输入控制芯片,进行相关运算,得到被测电阻的阻值。
3、主要模块的实现
1)控制模块
控制模块集成了基本运算电路,加减法,乘除法以及数据比较功能、数码管译码驱动、时钟分频、I2C总线通信功能。
下图是在MAX-PLUS2里面编译的FPGA芯片
图2控制芯片FPGA外部接口
其内部结构如下图所示:
图3FPGA内部结构
该FPGA模块调用了多个底层模块,有:
8位加减法电路,8位乘法器,8位除四位除法器,显示驱动模块,移位寄存器模块,时钟分频模块,I2C通信模块。
下面是各主要模块的电路图和仿真结果:
1、8位加减法模块:
图4外部接口与内部结构
其中,PLUS_4模块是调用下一层的电路,实现4位全加器功能,具体结构就不再给出。
引脚A_/S是控制端,当输入为高电平是进行减法运算,这是B[7..0]是减数,A[7..0]为被减数。
在系统中进行比较和运算,通过减法运算的输出结果以及借位输出CO来实现数据比较功能。
其逻辑功能仿真图形如下:
图5加减法运算电路仿真时序图
2、乘法电路模块
图6外部接口与内部结构
该乘法器乘数为B,是8位数据,A为串行输入的被乘数,运算结果Q也是串行输出。
在其内部结构中又调用了底层的MULTI_PIPE模块,该模块是最基本的乘法运算单元。
在系统中,进行乘法运算,仿真图形如下:
图7乘法器的仿真时序
3、除法电路模块
图8外部接口及内部结构
该除法器在系统中实现除法运算的功能,其中A为8位被除数,B为4位除数。
输出Q为商,M为余数。
在系统中进行除法运算,其仿真波形如下:
图9除法器的仿真时序
4、8位移位寄存器
该寄存器实现8位数据串行输入,并行输出。
以便在系统中将各个运算模块不同输出方式的数据进行转化,进行下一步处理。
其电路图如下图所示:
图10外部接口及内部结构
图11移位寄存器的仿真波形
5、显示译码电路
该模块实现对输入数据的译码输出,同时使其输出满足七段数码管的译码要求。
其外部接口如下所示:
图12译码电路的外部接口
其中,输入NUM对应于四个数码管的输入,EN对应于七段数码管的阴极,即控制端,通过电路进行扫描显示。
其具体程序如下:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_arith.all;
useieee.std_logic_unsigned.all;
entityDis_Driveis
port(clk:
instd_logic;
num0,num1,num2,num3:
instd_logic_vector(3downto0);
en:
outstd_logic_vector(3downto0);--使能,低有效
display:
outstd_logic_vector(7downto0)
);
endDis_Drive;
architecturedecoderofdis_driveis
signalcounter:
integerrange0to3;
signaldis_reg:
std_logic_vector(6downto0);
signalnum_reg:
std_logic_vector(3downto0);
begin
process(clk)
begin
ifrising_edge(clk)then
ifcounter=3then
counter<=0;
else
counter<=counter+1;
endif;
casecounteris
when0=>en<="1110";num_reg<=num0;
when1=>en<="1101";num_reg<=num1;
when2=>en<="1011";num_reg<=num2;
whenothers=>en<="0111";num_reg<=num3;
endcase;
endif;
endprocess;
withnum_regselect
dis_reg<="0000000"when"0000",
"1111001"when"0001",
"0100100"when"0010",
"0110000"when"0011",
"0011001"when"0100",
"0010010"when"0101",
"0000010"when"0110",
"1011000"when"0111",
"0000000"when"1000",
"0010000"when"1001",
"1111111"whenothers;
display<='0'&dis_reg;
enddecoder;
2)测量模块
该模块主要采用LM358集成运放以及X9241非易失性数字继电器构成。
LM358的相关信息如下:
X9241的相关信息如下:
X9241由4个电阻器串组成,每个电阻串包含63个不连续的电阻段相串联。
每个电阻串的两端引出线相当于机械电位器的固定端(VH\RH和VL\RL)端。
在每个电阻串里的段与段之间是一个FET开关连接到滑动触点输出端VW\LW。
在同一时间里只有一个开关与滑动点接通。
这个开关是由滑动触点控制寄存器(WCR)控制。
WCR的低6位是有意义的,用于64个开关之一的选通。
WCR能被直接写或通过改变与其相关的4个数据寄存器的内容然后将其内容转移到WCR中(这些数据寄存器和WCR能由主器件系统进行读和写。
3)AD转化模块
该模块主要用来转化来自外部的电压信息,将
转化为数字量输入FPGA进行后续处理。
AD转化芯片采用ADC0809。
下面是该芯片的主要信息以及管脚图。
4)时钟产生模块
该模块时钟信号由晶振产生,频率为25MHz,电路图如下:
图13时钟产生电路及其仿真波形
4、PROTEL原理图及PCB版图
图14PROTEL中的原理图
图14PCB版图
图153D图形
5、设计结论
通过整个电路的设计,以及各个模块的仿真,这个系统可以初步完成预定功能。
实现基本的电阻测量功能。
6、设计心得
1、对控制芯片FPGA的设计,使自己更加了解ASIC设计中的层次化、模块化思想。
对自顶向下和自底向上的设计方法有了初步的认识。
2、这个设计过程,加深了对实际电子线路制作的流程的认识。
清楚了各个关键步骤,学会了如何去计划设计一个大的系统。
3、设计过程中对各种EDA软件的应用,使自己对与相关软件的掌握更加深刻。
对PCB制版等流程也有了较好的认识。
4、这个设计过程中,都离不开相关资料,锻炼了自己对周边资源的利用能力和信息整合能力。
5、通过对实际电路的设计,意识到了理论与实际的差距是很大的。
所学的东西不一定都是正确的,或是有用的,一定要拿到实际中去验证才能够判断其对与错。
同时,实际电路环境下,会有各种想不到的干扰因素。
这些因素会严重影响系统的工作性能。
参考文献
[1].毕满清.电子技术实验与课程设计[M].北京:
机械工业出版社,2005
[2].谢自美.电子线路综合设计[M]武汉:
华中科技大学出版社,2006
[3].陈晓平.Protel99SE电子线路CAD应用教程南京:
东南大学出版社,2005
[4].张建华.数字电子技术.北京:
机械工业出版社,2004
[5].童诗白.模拟电子技术基础,北京:
高等教育出版社