




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电子设计大赛设计书微弱信号检测电路设计通信12级小分队队员:周广权201203010331 赵雪靖201203010327 郑明威201203010132信号放大检测电路设计报告参赛队伍:通信12级小分队周广权 赵雪靖 郑明威摘要:本装置主要由加法器,纯电阻分压网络,微弱信号检测电路,显示电路四部分组成,本设计利用函数发生器产生的正弦波和给定的标准噪声相加,作为滤波电路的输入参考信号,其中加法器模块我们用NE5532P芯片来实现加法作用,电路分压采用纯电阻分压网络进行分压使其衰减系数不低于100,为了增加它的输入阻抗,我们在滤波电路之前设计了一个电压跟随电路来实现,并在之后用同相比例运算电路来
2、实现放大作用。我们的滤波电路有一个二阶的巴特沃斯带通滤波电路构成,最后通过51单片机的的A/D模块和显示模块实现显示信号幅度值的功能。一流程图部分 (一)微弱信号检测装置示意图:(二)原理框图: 说明: 由信号发生器发生的正弦波和已给的标准噪声构成的两路信号经相加器进行相加运算后整合成一路信号,然后对信号进行分压,在对信号进行微弱信号检测,其中包括滤波部分、放大部分、电压跟随部分。最后由51单片机进行采样输出幅度值 二方案论证(一)加法器模块方案:用老师提供的NE5532P实现加法器模块,对提供的两个信号由信号发生器产生的正弦波和
3、以给定的标准噪声进行相加,NE5532P具有低失真,低噪音等特点,其经过不断模拟输出测试发现,满足题目带宽大于500KHz的要求(同时发现OP07CP不符合要求)。加法器模块原理图:电路理论原理如下:、(二)纯电阻分压网络: 分压模块要求纯电阻分压网络的衰减系数不低于100,电路采用1k与100k电阻进行串联进行分压(三)微弱信号检测方案:电路三部分:1、 电压跟随电路 为了满足微弱信号检测电路的输入阻抗Ri1 MW。我们设计了电压跟随电路,他的输入阻抗高,而输出阻抗低。一般来说,输入阻抗可以达到几兆欧姆,而输出阻抗低,通常只有几欧姆,甚至更低。2、 放大电路 题目要求当输入正弦波信
4、号VS 的频率为1 kHz、幅度峰峰值在200mV 2V范围内时,检测并显示正弦波信号的幅度值,要求误差不超过5%。所以我们用同相比例运算电路构成一个放大器,并把电位器设为RF,以便调节放大倍数。电路为电压并联负反馈放大电路由电路原理虚短和虚断可得Uo=R7/R5*Ui,所以我们的放大增益在1到200之间。3,、滤波电路我们采用的是二阶巴特沃斯滤波电路,根据f=1/(2*PI*R*C),把f设在1k欧姆三.测试方案及测试结果分析 利用信号发生器,产生一个1kHZ的正弦波,幅度峰峰值在200mV 2V范围内变换;同时,根据老师要求,利用信号发生器,把噪声设成10k的波形,VN的均方根电压值固定为
5、1V±0.1V。为便于各个模块的测试,所有测试端点(AE)已成跳线连接方式。各个点测试波形如下:A点:B点:C点:D点:E点:(四)AD误差测量及结果幅度峰峰值实际测量值(V)理论值(V)200mv0.090.1400mV0.190.2600mv0.290.3800mv0.370.41v0.490.51.2V0.580.61.4V0.680.71.6V0.810.81.8V0.920.92V1.031 四总结经过两天三夜的电路设计、焊接调试、程序设计联调,最终完成了整个规定的设计过程。从最终的结果看,达到了预期的各项基本要求,主要包括 :加法器的输出
6、VC =VS+VN,带宽可达远远大于要求的500kHz;纯电阻分压网络的衰减系数不低于100,微弱信号检测电路的输入阻抗Ri1 MW,当51单片机检测并显示正弦波信号的幅度值是时,由于显示板的原因,仅当输入200mv,误差稍微大于5%范围,其他时候均小于5%;输入正弦波信号VS 的频率为1 kHz、幅度峰峰值在200mV 2V范围内等。通过这几天的设计竞赛,我们不但增强了实践能力和合作精神,而且懂得了理论联系实际的重要性,在不断的调试中吸取经验,这对我们以后的学习生活不无裨益,当然我们的设计中还存在着一些缺陷,有待于进一步提高, 在此恳请各位老师批评指正。附件1完整电路图附件2单片机程序/-函
7、数声明,变量定义-#include <reg51.h>#include <intrins.h>sbit SDA=P20; / 将p1.2口模拟数据口sbit SCL=P21; / 将p1.7口模拟时钟口sbit DS1302 =P24;sbit DU = P20;sbit WE = P21;#define uchar unsigned char#define uint unsigned int#define disdata P0 /显示数据码输出口sbit LCD_RS = P10; sbit LCD_RW = P11;sbit LCD_EN = P25;uint da
8、ta dis4=0x00,0x00,0x00,0x00; /定义3个显示数据单元和1个数据存储单元uchar code dis4 = "1- . V -"uchar code dis5 = "- -"#define delayNOP(); _nop_();_nop_();_nop_();_nop_(); bit bdata SystemError; /从机错误标志位/* PCF8591专用变量定义 */#definePCF8591_WRITE0x90#definePCF8591_READ 0x91#define NUM 4 /接收和发送缓存区的深度uch
9、ar idata receivebufNUM; /数据接收缓冲区void cmg88()/关数码管,点阵函数DU=1; P0=0X00;DU=0;/*/* */* 延时函数 */* */*/void delay(int ms) while(ms-) uchar i; for(i=0;i<250;i+) _nop_(); _nop_();_nop_();_nop_(); /*/* */*检查LCD忙状态 */*lcd_busy为1时,忙,等待。lcd-busy为0时,闲,可写指令与数据。 */* */*/ bit lcd_busy() bit result; LCD_RS = 0; LCD
10、_RW = 1; LCD_EN = 1; delayNOP(); result = (bit)(P0&0x80); LCD_EN = 0; return(result); /*/* */*写指令数据到LCD */*RS=L,RW=L,E=高脉冲,D0-D7=指令码。 */* */*/void lcd_wcmd(uchar cmd) while(lcd_busy(); LCD_RS = 0; LCD_RW = 0; LCD_EN = 0; _nop_(); _nop_(); P0 = cmd; delayNOP(); LCD_EN = 1; delayNOP(); LCD_EN = 0;
11、 /*/* */*写显示数据到LCD */*RS=H,RW=L,E=高脉冲,D0-D7=数据。 */* */*/void lcd_wdat(uchar dat) while(lcd_busy(); LCD_RS = 1; LCD_RW = 0; LCD_EN = 0; P0 = dat; delayNOP(); LCD_EN = 1; delayNOP(); LCD_EN = 0; /*/* */* LCD初始化设定 */* */*/void lcd_init() delay(15); lcd_wcmd(0x38); /16*2显示,5*7点阵,8位数据 delay(5); lcd_wcmd(
12、0x38); delay(5); lcd_wcmd(0x38); delay(5); lcd_wcmd(0x0c); /显示开,关光标 delay(5); lcd_wcmd(0x06); /移动光标 delay(5); lcd_wcmd(0x01); /清除LCD的显示内容 delay(5);/*/* */* 设定显示位置 */* */*/void lcd_pos(uchar pos) lcd_wcmd(pos | 0x80); /数据指针=80+地址变量/*/* */* 数据处理与显示 */* 将采集到的数据进行16进制转换为ASCLL码。 */* */*/show_value(uchar
13、ad_data) dis2=ad_data/51; /AD值转换为3为BCD码,最大为5.00V。 dis2=dis2+0x30; /转换为ACSII码 dis3=ad_data%51; /余数暂存 dis3=dis3*10; /计算小数第一位 dis1=dis3/51; dis1=dis1+0x30; /转换为ACSII码 dis3=dis3%51; dis3=dis3*10; /计算小数第二位 dis0=dis3/51; / dis0=dis0+0x30; /转换为ACSII码 /-/ 函数名称: iic_start()/ 函数功能: 启动I2C总线子程序/-void iic_start(
14、void) /时钟保持高,数据线从高到低一次跳变,I2C通信开始SDA = 1; SCL = 1;delayNOP(); / 延时5us SDA = 0;delayNOP(); SCL = 0;/-/ 函数名称: iic_stop()/ 函数功能: 停止I2C总线数据传送子程序/-void iic_stop(void) SDA = 0; /时钟保持高,数据线从低到高一次跳变,I2C通信停止SCL = 1;delayNOP();SDA = 1;delayNOP(); SCL = 0;/-/ 函数名称: iicInit_()/ 函数功能: 初始化I2C总线子程序/- void iicInit(vo
15、id) SCL = 0; iic_stop(); /-/ 函数名称: slave_ACK/ 函数功能: 从机发送应答位子程序/-void slave_ACK(void)SDA = 0; SCL = 1;delayNOP();SCL = 0;/-/ 函数名称: slave_NOACK/ 函数功能: 从机发送非应答位子程序,迫使数据传输过程结束/-void slave_NOACK(void) SDA = 1;SCL = 1;delayNOP();SDA = 0; SCL = 0; /-/ 函数名称: check_ACK/ 函数功能: 主机应答位检查子程序,迫使数据传输过程结束/-void chec
16、k_ACK(void) SDA = 1; / 将SDA设置成输入,必须先向端口写1SCL = 1;F0 = 0;delayNOP(); if(SDA = 1) / 若SDA=1表明非应答,置位非应答标志F0 F0 = 1; SCL = 0;/-/ 函数名称: IICSendByte/ 入口参数: ch/ 函数功能: 发送一个字节/-void IICSendByte(uchar ch) unsigned char idata n=8; / 向SDA上发送一位数据字节,共八位while(n-) if(ch&0x80) = 0x80) / 若要发送的数据最高位为1则发送位1 SDA = 1;
17、 / 传送位1SCL = 1; delayNOP();/SDA = 0;SCL = 0; else SDA = 0; / 否则传送位0SCL = 1;delayNOP(); SCL = 0;ch = ch<<1; / 数据左移一位/-/ 函数名称: IICreceiveByte/ 返回接收的数据/ 函数功能: 接收一字节子程序/-uchar IICreceiveByte(void)uchar idata n=8; / 从SDA线上读取一上数据字节,共八位uchar tdata=0;while(n-) SDA = 1; SCL = 1; tdata =tdata<<1;
18、/左移一位 if(SDA = 1) tdata = tdata|0x01; / 若接收到的位为1,则数据的最后一位置1else tdata = tdata&0xfe; / 否则数据的最后一位置0 SCL = 0; return(tdata);/-/ 函数名称: DAC_PCF8591/ 入口参数: slave_add从机地址,n要发送的数据个数/ 函数功能: 发送n位数据子程序/-void DAC_PCF8591(uchar controlbyte,uchar w_data) iic_start(); / 启动I2CdelayNOP();IICSendByte(PCF8591_WRIT
19、E); / 发送地址位check_ACK(); / 检查应答位 if(F0 = 1) SystemError = 1;return; / 若非应答,置错误标志位 IICSendByte(controlbyte&0x77);/Control byte check_ACK(); /检查应答位 if(F0 = 1) SystemError = 1;return; / 若非应答,置错误标志位 IICSendByte(w_data); /data bytecheck_ACK(); / 检查应答位 if(F0 = 1) SystemError = 1; return; / 若非应答表明器件错误或已
20、坏,置错误标志位SystemError iic_stop(); / 全部发完则停止delayNOP();delayNOP();delayNOP();delayNOP();/-/ 函数名称: ADC_PCF8591/ 入口参数: controlbyte控制字/ 函数功能: 连续读入4路通道的A/D转换结果到receivebuf/-void ADC_PCF8591(uchar controlbyte) uchar idata receive_da,i=0;iic_start();IICSendByte(PCF8591_WRITE);/控制字check_ACK();if(F0 = 1)SystemE
21、rror = 1;return;IICSendByte(controlbyte);/控制字check_ACK();if(F0 = 1)SystemError = 1;return; iic_start(); /重新发送开始命令 IICSendByte(PCF8591_READ);/控制字check_ACK();if(F0 = 1)SystemError = 1;return; IICreceiveByte(); /空读一次,调整读顺序 slave_ACK(); /收到一个字节后发送一个应答位while(i<4) receive_da=IICreceiveByte(); receivebufi+=receive_da; slave_ACK(); /收到一个字节后发送一个应答位slave_NOACK(); /收到最后一个字节后发送一个非应答位iic_stop();/-/ 函数名称: main/ 函数功能: 主程序/-main() uchar i,l,max;max=0x00; delay(10); /延
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年护士执业资格考试题库(社区护理学专项)社区护理护理管理试题
- 2025年乡村医生考试题库:基础医学知识及急救技能试题汇编
- 2025年大学统计学期末考试题库-数据分析计算题难点解析
- 2025年大学辅导员招聘考试题库-学生活动策划与实施策略试题
- 2025年ACCA国际注册会计师考试真题卷(财务会计与财务报告实务案例分析)
- 游玩加盟授权合同范本
- 居家陪护合同范本
- 高位胆管癌护理
- 施工建设安全合同范本
- 2025年吉林货运从业资格证考试题答案解析大全
- 乡村老年人活动中心建设方案
- 2025年上海外服招聘笔试参考题库含答案解析
- 英语课堂中的思政元素融入策略研究
- 新文化运动课件
- 糖尿病合并输尿管结石
- 管线标志桩施工方案
- 扬州市“无废城市”建设实施方案(2022-2025年)
- 汽车乘员仿真RAMSIS操作指南
- DB11T 1490-2017 人民防空工程防护设备安装验收技术规程
- 军队采购协议书模板
- 2024-2025学年中职语文基础模块 下册高教版教学设计合集
评论
0/150
提交评论