




已阅读5页,还剩62页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业设计论文 题目:基于 c8051f007 的晶振温度补偿 系统设计 院、 系: 电子信息工程学院 学科专业: 自动化 学 生: 学 号: 040403132 指导教师: 摘 要 i 基于 c8051f007 的晶振温度补偿系统设计 摘 要 现代电子技术的发展对晶体振荡器的频率稳定度、体积、功耗等技术指标提出了越来 越高的要求。为了适应形式的发展,本文提出了一种以微处理器为核心的c80f007芯片新 型微机补偿晶体振荡器(mcxo) ,介绍了系统构成及硬件工作原理,同时给出了详细的软 件设计方法。通过对一系列补偿温度点的温度值和控制电压值的标定,确定出温度-电压 曲线拟合参数,进而实现对控制电压的补偿。 本文所设计的微机补偿晶体振荡器具有频率稳定度高、体积小、功耗低、使用方便、 非常适合自动化批量生产等特点,具有很大的推广应用价值。 关键词: c8051f007 温度补偿 频率稳定度 abstract ii the design of crystal oscillator temperature compensation system based on c8051f007 abstract with the development of electronic technology,performance of crystal oscillator which is stability,volume and low power consuption need be improved greatly.to adapting to the situations development, microprocessor compensation crystal oscillator (mcxo) based on c8051f007 is described in this paper. this thesis introduces the architecture of mcxo system,the principle of the hardware and detailed design method of the software.calibrate a series of control voltage u and the value of the temperature of the compensating temperature dot.gain the temperature_voltage curvature fitting parameter,accomplish the compensation of the control voltage. the mcxo designed in the thesis has lots of advantages in terms of high frequency-temperature stability,small size low power consumption, convenient operation and pratical for mass production.possess great expanding and applicative value. key words: c8051f007 temperature compensation frequency stability 目 录 i 目 录 摘 要 .(i) .(ii) 1 绪论 .(1) 1.1 课题背景 .(1) 1.2 研究意义 .(1) 1.3 国内外相关领域的研究现状 .(1) 1.4 研究内容 .(2) 1.5 论文结构 .(2) 1.6 小结 .(2) 2 微机补偿晶体振荡器硬件系统设计 .(3) 2.1 系统的总体设计 .(3) 2.1.1 系统组成原理及框图 (3) 2.1.2 系统性能指标 (3) 2.2 压控晶振电路的设计 .(4) 2.2.1 晶体振荡器的选择 (4) 2.2.2 压控晶振电路概述 (4) 2.2.3 主振电路分析 (4) 2.2.4 实用电路 (5) 2.3 温度传感电路 .(6) 2.3.1 芯片选择 .(6) 2.3.2 ds18b20 的特性 (6) 2.3.3 测温原理 .(6) 2.4 微处理器 c8051f007(7) 2.5 jetg 调试电路 .(9) 2.6 外接按键 .(9) 西安工业大学学士学位论文 ii 2.7 电源接口电路 .(9) 2.8 小结 (10) 3 mcxo 补偿电压的算法分析 .(11) 3.1 补偿原理概述 (11) 3.2 最小二乘曲线拟合 (11) 3.3 小结 (12) 4 微机补偿晶体振荡器的程序设计 (13) 4.1 单片机初始化程序 (13) 4.2 温度测量程序 (14) 4.2.1 ds18b20 控制步骤如下 .(14) 4.2.2 程序流程图及其调试程序 (17) 4.3 flash 存储程序 .(23) 4.3.1 flash 存储的调试程序 .(24) 4.4 d/a 转换程序 .(26) 4.5 外接按键程序 (27) 4.6 曲线拟合程序 (28) 4.7 小结 (31) 5 系统程序调试 (32) 5.1 程序调试环境 (32) 5.2 程序调试方法及步骤 (33) 5.2.1 温度采集模块调试 (33) 5.2.2 flash 存储模块调试 .(33) 5.2.3 d/a 转换模块调试 (34) 5.2.4 外接按键模块调试 (34) 5.2.5 曲线拟合模块调试 (34) 5.3 小结 (34) 西安工业大学学士学位论文 iii 6 总结 (35) 6.1 设计总结 (35) 6.2 设计优化方法 (35) 6.3 小结 (35) 致 谢 (36) 参考文献 (37) 附 录 (38) 第一章 绪论 1 1 绪论 1.1 课题背景 恒温晶体振荡器虽然是频率稳定度最高的晶体振荡器,但是由于其体积大,功耗大, 造价高,开机不能立即使用,要预热,因此不可能得到广泛的应用。微机补偿晶体振荡器 较好的改善了上述缺点。目前,微机补偿晶体振荡器有两种型式:第一种 mcxo 可以称为 “传统型” 。因为它是直接从数字温补晶振升级产生的。近年来,随着 ic 工艺的飞速发展, 这种型式的 mcxo 在综合指标上取得了长足的发展,其体积、功耗、成本已与模拟温补晶振 不相上下,而频率稳定度却高得多,适合于取代模拟温补晶振。第二种 mcxo 可以称之为 “先进型” 。在这种类型的 mcxo 中,普遍采用 sc 切三次泛音晶体振荡器,双 c 模自温敏温 度传感器,dds 综合器,锁相环等新技术,成为唯一能将频率温度稳定度提高到 10-8量级的 温度补偿晶体振荡器。它的体积和功耗较模拟温度补偿晶体振荡器稍大,成本较高,是温 度补偿晶体振荡器的高端产品。 1.2 研究意义 通信和信息产业的迅速发展正在推动着晶体振荡器市场的急速增长,小型化、高精度 始终是晶体振荡器发展的方向。晶体振荡器具有以下发展趋势: (1)小型化、片式化和集成化,以满足便携式产品轻、薄、小的要求。 (2)高精度与高稳定度,目前微机补偿晶体振荡器的稳定度为 10-7到 10-8量级。 (3)低功耗,快速启动,低电压工作,低电平驱动和低电流消耗,以满足野外工作时 移动通信设备的要求,同时也满足军事上对即时性的要求。 (4)低噪声,高频化:在 gps 通信系统中是不允许频率颤抖的,相位噪声是表征振 荡器频率的一个重要参数。 从以上四方面看出,精度高、体积小、功耗低、易于集成化的微机补偿晶体振荡器具 有良好的发展前景。本文所述的微机补偿晶体振荡器,与以往相比,采用了功能强大、体积 小的新型芯片 c8051f007 ,而且自身带有 a/ d 和 d/ a , 为实现小型化和高精度提供了前 提条件。 1.3 国内外相关领域的研究现状 目前国外的高端微机补偿晶体振荡器通常采用 sc 切双 c 模振荡器,用直接数字频率合成 (dds)和锁相环(pll)组成的频率综合器来校正输出频率,并能自动校正晶体老化。它 一般有两种工作模式,一种是正常模式,在该模式下输出标称频率同时提供 1hz 的同步时 频信号输出;另一模式为省功耗模式,该模式下不进行温度补偿或是补偿周期很长,因而 功耗很低。国内并未见微机补偿晶体振荡器实用品的报道。目前西安电子科技大学在积极 的从事于微机补偿晶体振荡器的研发工作。 西安工业大学学士学位论文 2 1.4 研究内容 用 c8051f007 和 18b20 实现晶体振荡器在-4085的温度范围内频率按给定的误 差趋近于标称频率 f0 技术指标:该晶振振荡频率在-40至+85范围内都能够得到误差补偿; 温度采集误差为0.01 ; 其程序能够自动识别“温度试验标定阶段”及“正常运行阶段” ; “温度试验标定阶段”标定的温度点为 26 个。 1.5 论文结构 本文分六个章节来叙述:第一章绪论,介绍了课题背景、研究意义、国内 外相关领域的研究现状和研究内容。第二章叙述微机补偿晶体振荡器的硬件设计,对芯片 及电路的介绍。第三章介绍补偿电压的算法和补偿原理。第四章系统软件设计,介绍了系 统主要模块的软件信息及编程方法。第五章主要介绍了程序调试的环境,及各个子程序的 调试过程。第六章是对整个设计的总结和提出优化措施。 1.6 小结 本章主要对课题的研究背景、研究意义、国内外相关领域的研究现状、研究内容以及 本论文的结构做出了简要的说明。 第二章 微机补偿晶体振荡器硬件系统设计 3 2 微机补偿晶体振荡器硬件系统设计 2.1 系统的总体设计 2.1.1 系统组成原理及框图 本系统“微机补偿晶体振荡器”主要由温度传感电路、压控晶振电路、微处理器及外 接按键 4 部分构成。在后面几节中将对各个部分详细介绍。系统的设计方案如下: 首先对一系列补偿温度点的控制电压 u 和温度值进行标定。标定过程为:在- 4085范围内,每 5设一个温度测量点,共 26 个点。在每一个标定点上,通过外接 按键调节振荡器的控制电压 u,使其振荡频率达到标称频率 f0 ,同时对该点的温度及电压 值进行存储; 其次,根据得出的 26 个标定点进行曲线拟合,得出温度补偿曲线的“温度- 电压”函数。当曲线拟合结束后,系统对温度实时采集,根据曲线拟合函数即可得到需要 补偿的控制电压,进而得出标称频率。 系统硬件框图如图 2.1 所示。18b20 把采集到的温度转换为数字量,该数字量经过单 总线接口送入 cpu;d/a 转换把 cpu 所给的补偿电压输出至压控晶振电路;flash 存储用来 储存标定值;键盘用于温度标定控制。电压通过压控晶振电路来控制晶体振荡器的频率。 图 2.1 系统硬件框图 2.1.2 系统性能指标 本方案中,微机补偿晶体振荡器的设计指标为: 该晶振振荡频率在-40至+85范围内都能够得到误差补偿; 温度采集误差为0.01 ; 西安工业大学学士学位论文 4 其程序能够自动识别“温度试验标定阶段”及“正常运行阶段” ; “温度试验标定阶段”标定的温度点为 26 个。 2.2 压控晶振电路的设计 2.2.1 晶体振荡器的选择 本系统中,我们采用 at 切晶体振荡器,标称频率为 10mhz,因为和其它切型的晶体振 荡器相比,在宽温范围内,at 切晶体振荡器温度频差小,易于制作,且价格低廉。 下面给出了 at 切型石英晶体谐振器的频率温度特性曲线如图 2.2 所示。 图 2.2 频率温度特性曲线 2.2.2 压控晶振电路概述 压控晶振电路的基本功能是把直流电能转变成具有一定频率与幅度和一定稳定性的交 流电能,这种转换是在石英晶体的参与下进行的。其主振电路的作用是将直流能量转换成 所需振荡频率(主要取决于石英晶体谐振器)的交流能量,它是晶体振荡电路的核心。 振荡电路包括主振级电路、频率放大电路。频率放大电路只对晶体的工作频率放大, 而对其它的杂波信号有抑制作用,并增加了负载隔离,有利于电路的稳定性,而且可以使 输出的信号更加纯净。 2.2.3 主振电路分析 在温度补偿晶体振荡器的设计中,主振级电路的设计是个关键。因为性能良好的主振 电路,才能保证整个振荡器的工作稳定。否则,无论其它部分工作得怎样好,补偿精度设 计的多么高,都没有什么意义。只有在保证主振电路稳定性的基础上,对其频率温度特性 进行的补偿才能取得良好的效果。 本设计用到的主振电路是其结构与电容三点式相似,电容三点式振荡电路又称考毕兹 振荡电路,图 2.3 为电容三点式原理图。 西安工业大学学士学位论文 5 图 2.3 电容三点式原理图 对于三点式振荡电路,只要电路工作在振荡频率上,由巴克豪生准则:“它是指交流 通路中三极管的三个电级与谐振回路的三个引出端连接时,只要服从以下规律:与发射结 相接的为两个同性质的电抗,而与另一个(接在集电极与基极间为异性质电抗” 。可以判 定,按这种规定连接的三点式振荡器电路必定满足相位起振和平衡条件。 2.2.4 实用电路 图 2.4 是实际的压控晶振电路,c8051f007 的管脚 dac0 与电路相连。 图 2.4 实际的压控晶振电路 图中c4,c12,c13是有选择范围的,选择条件是根据设计要求而定。c4是调整变容二极 管的压控范围,c12,c13的作用是调整振荡电路振荡频率微调和确保振荡振荡电路起振。 我们分析电路图可以看出压控晶振电路是共集电容三点式振荡电路,共基频率放大电 路,简称为共集-共基电路。 西安工业大学学士学位论文 6 2.3 温度传感电路 2.3.1 芯片选择 本系统中的温度传感器采用dallas 半导体公司生产的数字化温度传感器ds18b20。这 是世界上第一片支持“单线总线”接口的温度传感器ds1820 的新一代改进型产品。单线 总线独特而且经济的特点,使用户可以轻松地组建传感器网络,为测量系统的构建引入全 新的概念。 ds18b20 数字温度计是dallas 公司最新的单线数字式温度传感器。新的“单线器件” 体积更小、适用电压更宽,使用更经济、更灵活。现场温度直接以“单线总线”的数字方 式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,如:环境控制、 工业系统、消费电子产品、过程监测和控制系统、温度计或任何温度传感系统等。其分辨 率的设定及用户设定的最高和最低报警温度存储在eeprom中,掉电后依然保存。ds18b20 的性能是新一代产品中最好的,性能价格比也非常出色。继“单线总线”的早期产品 ds1820 开辟了温度传感器技术的新概念后,ds18b20 和ds1822 使电压、特性及封装又有 更多的选择,让我们可以构建适合自己的经济的测温系统。 2.3.2 ds18b20的特性 a.工作电压范围:3.0v5.5v,测量温度范围:-55+125; b.可以直接从数据线上供电(寄生电源方式); c.独特的一线接口,只需要一条口线和中央微处理机进行通信; d.64 位的rom 中存有唯一代表该器件身份的序列号,因而能够允许多ds18b20 可以 同时挂接到同一条数据线上,从而使用一个cpu 就能控制分布在一个大面积区域的多个 ds18b20,占用微处理器的端口较少,可节省大量的引线和逻辑电路; e.在-10+85温度范围内能达到0.5的测量精度,在-55+125的温度范围 内测量精度为2; f.程序可选温度分辨率(最小可为0.0625); g.最大转换时间为750 ms; h.用户自定义的非易失性报警温度设置; i.封装方式可选:8-pin so,8-pin sop 和3-pin to-92。 2.3.3 测温原理 ds18b20 的核心功能是其直接数字温度传感器。温度传感器的分辨率是用户可配置的 9,10,11,12 位,其相对应的增加量为 0.5,0.25,0.125和 0.0625。在电源上 升沿默认的协议是 12 位。ds18b20 的上升沿是处在一个低电平的空闲状态;用来初始化温 度测量和 a/d 转换,控制器必须发出温度转换命令44h。转换结束后,得到的数据存放 在暂存器 2 字节的温度寄存器里,并且 ds18b20 返回它的空闲状态。如果 ds18b20 由外部 电源供电(见图 2.5) ,在转换温度命令后控制器能够发出“读时间隙” ;并且 ds18b20 通 过在温度转换过程中传送 0,温度转换结束后传送 1 来作出响应。如果 ds18b20 由寄生电 西安工业大学学士学位论文 7 源供电,由于在整个温度转换过程中总线必须由一个强的上拉来保持高电平,这种告知方 式不能使用。 ds18b20 输出温度数据通过摄氏度校准,对华氏温度计应用,必须使用一个查询表或转 换规定。温度数据作为温度寄存器中 16 位符号扩展 2 位补足数来存储。符号位指示温度 的正、负:正数 s 为 0,负数 s 为 1。如果 ds18b20 分辨率配置为 12 位,温度寄存器的所 有位都包含有效的数据。对 11 位的分辨率,0 位是未定义的。对 10 位的分辨率,0 位和 1 位是未定义的。对 9 位的分辨率,0、1、2 位是未定义的。 图 2.5 ds18b20 外部电源供电 2.4 微处理器c8051f007 c8051f007是完全集成的混合信号系统级mcu芯片,有一个真正的12位多通道adc。器 件有一个可编程增益放大器、两个12位dac、一个电压比较器、一个电压基准、一个具有 32k字节flash存储器并与8051兼容的微控制器内核。还有硬件实现的(不是在用户软件中 用位操作模拟)i2c/smbus、uart、spi串行接口及一个具有5个捕捉/比较模块的可编程计 数器/定时器阵列(pca) 。还有4个通用的16位定时器和4字节宽的通用数字i/o端口。 c8051f007有2304字节的ram,执行速度可达25mips。 具有片内 vdd 监视器、wdt、和时钟振荡器的 mcu 是真正能独立工作的片上系统。每 个 mcu 都能有效地管理模拟和数字外设。flash 存储器还具有在系统重新编程能力,可用 于非易失性数据存储,并允许现场更新 8051 固件。每个 mcu 都可以关闭任何一个或全部 外设以节省功耗。 片内 jtag 调试支持功能允许使用安装在最终应用系统上的产品 mcu 进行非侵入式 (不占用片内资源) 、全速、在系统调试。该调试系统支持观察和修改存储器和寄存器, 支持断点、观察点、单步及运行和停机命令。在使用 jtag 调试时,所有的模拟和数字外 设都可全功能运行。 每个 mcu 都可在工业温度范围(-45到+85)内用 2.7v-3.6v 的电压工作。见图 2.6 为 c8051f007 的 lqfp 封装。 西安工业大学学士学位论文 8 图2.6 c8051f007lqfp封装 c8051f000系列器件使用silicon laboratories的专利cip-51微控制器内核。cip-51 与mcs-51 tm指令集完全兼容,可以使用标准803x/805x的汇编器和编译器进行软件开发。 cip-51内核具有标准8052的所有外设部件,包括4个16位的计数器/定时器、一个全双工 uart、256字节内部ram空间、128字节特殊功能寄存器(sfr)地址空间及4字节宽的i/o端 口。 mcu可有多达7个复位源:一个片内vdd监视器、一个看门狗定时器、一个时钟丢失检 测器、一个由比较器0提供的电压检测器、一个软件强制复位、cnvstr引脚及/rst引脚。 /rst引脚是双向的,可接受外部复位或将内部产生的上电复位信号输出到/rst引脚。除了 vdd监视器和复位输入引脚以外,每个复位源都可以由用户用软件禁止。在一次上电复位 之后的mcu初始化期间,wdt可以一直被使能。 mcu内部有一个能独立工作的时钟发生器,在复位后被默认为系统时钟。如有需要, 时钟源可以在运行时切换到外部振荡器,外部振荡器可以使用晶体、陶瓷谐振器、电容、 rc或外部时钟源产生系统时钟。这种时钟切换功能在低功耗系统中是非常有用的,它允许 mcu从一个低频率(节电)外部晶体源运行,当需要时再周期性地切换到高速(可达 西安工业大学学士学位论文 9 16mhz)的内部振荡器。 2.5 jetg调试电路 c8051f000 系列具有片内 jtag 和调试电路,通过 4 脚 jtag 接口并使用安装在最终应 用系统中的产品器件就可以进行非侵入式、全速的在系统调试。该 jtag 接口完全符合 ieee 1149.1 标准,为生产和测试提供完全的边界扫描功能。 silicon labs 的调试系统支持观察和修改存储器和寄存器、断点、观察点、堆栈指示 器和单步执行。不需要额外的目标 ram、程序存储器、定时器或通信通道。在调试时所有 的模拟和数字外设都正常工作。当 mcu 单步执行或遇到断点而停止运行时,所有的外设 (adc 除外)都停止运行,以便保持与指令执行同步。 本设计中 jtag 电路设计如图 2.7,管脚 4、5、6、7 分别连接 c8051f007 的 tck、tms、tdo 和 tdi。 图 2.7 jtag 电路图 2.6 外接按键 系统通过外接按键调节控制电压的大小,有增加键、减少键和结束键三个键构成。其 电路如图 2.8 所示。s1、s2、s3 分别接 c8051f007 的 p0.5、p0.6、和 p0.7 端口。有键按 下时,端口为低电平。 图 2.8 外接按键电路 2.7 电源接口电路 电源接口部分是本设计的重要组成部分,只有提供正确稳定电压,系统才能正常工作, 西安工业大学学士学位论文 10 其它部分的设计也才有效。本系统由开关电源提供 12v 的工作电压,而根据系统功能设计, 电源接口部分要为各个功能模块提供以下几种电压: (1)单片机的逻辑电源电压+3.3v,模拟电源电压+3.3v;ds18b20 工作电压为+3.3v。 (2)压控晶振电路的工作电压为+6v。 本设计电源接口部分要提供 12v 的工作电压,+6v 的工作电压由芯片 78l05 和芯片 78l06 提供。采用电源转换芯片 asm1117-3.3 提供 3.3v 数字电压和 3.3v 模拟电压。 在电源转换芯片选择过程中,除注意各芯片输入输出电压范围和输出电流之外,对另 外一些参数的选择比较也很重要。比如,2.5v 电压基准的初始精度必须比单片机内部基准 精度高,噪声低,温度系数小;转换效率的考虑;芯片本身工作电流的考虑,以尽量降低 功耗为标准。另外芯片在典型应用电路基础上,对电压输出端均作了滤波,隔离(如使用 0ohm 电阻)等措施以尽量减小干扰,使供给数字部分和模拟部分的电压均符合要求。系统 电源接口电路如图 2.9 所示。 图 2.9 电源接口电路 2.8 小结 本章主要叙述了微机补偿晶体振荡器的设计思想和系统构成。介绍了选用的芯片及其 各部分硬件电路的设计和工作原理。系统中 c8051f007 这个关键部件,充分利用了该单片 机所具有的资源并发挥软件的作用,通过软件与简单硬件电路相配合的方法,节约了系统 所需的大量硬件电路。与数字温度补偿晶体振荡器(dtcxo)和最初的(mcxo)相比,本 章所叙述的微机补偿晶体振荡器具有结构简单,体积小,功耗低,开机预热时间短等优势, 使其更具有竞争力。 第三章 mcxo 补偿电压的算法分析 11 3 mcxo 补偿电压的算法分析 3.1补偿原理概述 利用微处理机(cpu)对压控晶振(vcxo)进行电压补偿,这一思想是在温补晶振(tcxo) 的基础上发展起来的。由图2.2可知,at切晶体谐振器的频温特性曲线在宽温度范围内近 似为一条三次曲线,所以其相应的温度补偿曲线也近似为一条三次曲线。本方案通过外接 按键调节控制电压u的大小,从而使晶体振荡器的输出频率基本保持不变。 我们在标定过程中,每5设一个标定点,那么在两个相邻测量点之间的数据就是未 知的。为了解决以上问题,同时达到减少测量时间、提高测试效率和提高补偿精度的目的, 我们就需要寻找一个数学函数来近似描述出由温度标定所测到的数据点的规律,再通过这 个函数来计算在两个相邻温度测量点之间的温度点上所需的补偿电压值u,这种方法被称 为数值逼近。 常用的数值逼近方法有多项式插值法(含拉格朗日插值和牛顿插值)、埃尔米特插值、 分段插值、样条插值及最小二乘曲线拟合等。由于最小二乘曲线拟合方法简单、拟合精度 高,通过理论计算和实际调试得到的补偿结果都证明采用最小二乘曲线拟合方法是可行的。 3.2最小二乘曲线拟合 曲线拟合是求近似函数的一种数值方法。用最小二乘曲线拟合法求取近似函数时,是 根据残差平方和最小作为判断准则的。在做函数逼近时,要求近似函数应尽可能反映给定 数据点的基本趋势,在某种意义下与函数最“逼近”。在做函数逼近时,衡量近似函数好 坏的标准是残差的大小,这里所说的残差是指检测值与近似函数求得的近似值。按照残差 平方和最小( 2=min)准则确定参数,求得近似函数的方法称为最佳平方逼近。它的计id 算比较简单,也是实践中常用的一种函数逼近方法。 数据拟合的最小二乘法问题是:根据给定的数据(通常称为结点( )其中,ixy i=0,1,n),构造逼近函数y=f(x),绘制函数拟合曲线。在节点处曲线上对应点的y坐 标值f(x i)与相应的实验数值y i的差 =yi-f(xi)称为残差,最小二乘法就是要使残差的平方d 和最小,即 2为最小。二乘法拟合函数时,构造的函数f(x)为一些简单的函数的集合,id 如低次多项式、指数函数等。在用最小二乘法拟合求取函数时,由给定数据确定近似函数 的表达形式,一般可通过描点观察或经验估计得到。 当选择代数多项式作为逼近函数时,用最小二乘法构造逼近函数的方法如下:设有n+1个 实验观测数据点( ),k=0,1,2,n,需要求一个m次的最小二乘拟合多项式:,kxy (3.1)201()fxaax+ 其中m=n,一般m远小于n。要满足平方逼近的条件,应使误差的平方和: 20120(,)()(nmkkksyf,. 第三章 mcxo 补偿电压的算法分析 12 (3.2) 西安工业大学学士学位论文 13 为最小。式中 ,s为非负的关于 的二次多项式,它必有最小值。根据s()kyx01,ma 取极值的条件,分别对 求偏导并在 处令其为零:(0,1ja)kx (3.3) 方程组(3.3)的系数矩阵是一个对称矩阵,并且是正定的。由该方程组可以唯一地 解出系数 ,然后代入 m 次多项式(3.2) ,即可得到由标定数据点01,ma, 所确定的满足最小平方逼近条件的拟合多项式。方程组(3.3)中(,)2kxyn 的 m+1 个方程通常称为法方程。 最小二乘法构造的逼近函数,由于全面而不是孤立地考虑各节点的影响,因此其曲线 拟合原理与函数插值不同,在曲线拟合问题中,不要求曲线通过所有已知点,只要求得到 近似函数能反映数据的基本要求。 3.3小结 本章主要叙述了微机补偿晶体振荡器的补偿原理及数据处理方法。采用最小二乘法处 理数据,讲述了最小二乘法的原理及算法分析。 0010 11010()()0n mkkkkkkkkn mkkkkmsxayxasx 西安工业大学学士学位论文 14 4 微机补偿晶体振荡器的程序设计 程序设计是mcxo设计的主要工作之一,良好的程序设计可以有效的发挥单片机的功能, 提高系统的可靠性和抗干扰性。总程序主要包括温度补偿程序、曲线拟合程序、flash存 储程序、d/a转换程序及外接按键程序几部分。本系统的主流程图见图4.1。主流程图主要 分三个阶段: (1)标定阶段,完成对温度补偿点的控制电压 u 和温度值的标定。定义 count 为 标定次数,存放于 flash 存储器某一指定区域。 count 小于 27 即前 26 次为此阶段。 通过外接按键调节振荡器的控制电压 u,使其振荡频率达到标称频率 f0。 (2)曲线拟合阶段,完成对26个标定点的曲线拟合,得到曲线拟合参数,此时, count值为28。 (3)温度补偿阶段,调用曲线拟合参数,确定需要补偿的电压值。 图 4.1 系统主流程图 西安工业大学学士学位论文 15 图 4.1 系统软件主流程图 微机补偿晶体振荡器系统的所有子程序包括温度测量程序、flash 存储程序、d/a 转 换程序、外接按键程序及曲线拟合程序都是在单片机的控制之下协调一致的工作的。下面 给出 c8051f007 的初始化程序: void c8051f007_init(void) oscicn=0xe4; /c8051f007 时钟配置为 2m,允许时钟丢失检测 xbr0=0; /端口 i/o 交叉开关寄存器:自由 i/o 口 xbr1=0; /自由 i/o 口 xbr2=0x40; /自由 i/o 口,弱上拉使能 prt0cf=0x00; / p0.7_p0.0 输出方式为漏极开路 prt1cf=0x00; /p1.7_p1.0 输出方式为漏极开路 prt2cf=0x00; /p2.7_p2.0 输出方式为漏极开路 prt3cf=0xff; / p3.7_p3.0 输出方式为推挽 key_fin=1; /确认键初始化为 1 key_dec=1; /减少键初始化为 1 key_inc=1; /增加键初始化为 1 wdtcn = 0xde; /禁用看门狗 wdtcn = 0xad; 4.2 温度测量程序 温度测量子程序使得 cpu 得以正确地与传感器 ds18b20 进行通信。ds18b20 使用单线 总线传递数据,所以就涉及到多个信号共同用一条数据线的问题。ds18b20 的各个时序必 须严格遵守单总线协议,以确保数据的完整性,具体来说,包括复位脉冲、当前脉冲、写 1、写 0、读 1 和读 0。由 cpu 发送除当前脉冲之外的所有上述信号。 和 ds18b20 的所有通信都必须从初始化操作开始,包括 cpu 发送一个复位脉冲以及随 后由 ds18b20 发送的一个当前脉冲。当 ds18b20 发送完一个当前脉冲来相应复位脉冲后, 就像 cpu 表明了传感器已在总线上并准备工作。 前已述及,所有访问 ds18b20 的过程都必须经历以下三个步骤: a.初始化; b.rom 命令(后跟必要的数据交换); c.ds18b20 的功能命令(后跟必要的数据交换) 。 如果错过任何一步或时序错误,ds18b20 都将不会响应。 4.2.1 ds18b20 控制步骤如下 a.总线初始化: 当开始对ds18b20进行操作时,首先应该由主控器执行图4.2中的时序。 西安工业大学学士学位论文 16 图4.2 总线初始化时序图 b.ds18b20 的 rom 操作: 如果初始化正常,紧接着执行 rom 操作。图 6 为 ds18b20 的 rom 区分布,在多点温度采集系统中,可通过读取 rom 区的序列号,选取总线上各个采集点; 在单点采集的系统中,无需执行该操作,可通过指令 skip rom44h跳过这一步。 图 4.3 rom 结构分布图 c.控制指令: 通过发送特定的命令字,达到控制 ds18b20 进行温度转换,读其内部存储 区,写 eeprom 区等操作。以上操作中,总线的读/写应按时序图 4.4 进行操作。 西安工业大学学士学位论文 17 图4.4总线读/写应时序图 注意事项: a.关于总线初始化(按照图4.2解析): (1) 首先需要将dq拉低480us以上。 (2) 然后拉高dq并延时60us以上。 (3) 接着读取dq的值,如果dq为低,则初始化成功;如果dq为高,则初始化失败,可 再次初始化 (4) 拉高dq并延时480us以上,以结束总线初始化。 b.关于读数据指令(按照图4.4解析): (1) 首先将dq拉低,并延时1us左右(延时时间不能过长)。 (2) 然后延时几个us(本示例中延迟了5us),并读取dq的值。 (3) dq拉低至总线的时间必须限定在15us以内。 (4) 读完一位以后,需要延时45us以上,并将dq置高。 c.关于写数据指令(按照图4.4解析): (1) 首先将dq拉低,然后延迟10us到15us。 (2) 接着向总线写入数据,并延时50us以上。 (3) 最后拉高总线。 西安工业大学学士学位论文 18 (4) 按照时序图4.4,读/写每一位数据的间隔时间需要大于1us。 d.如果ds18b20采用外部供电模式,当其执行完转换温度指令(convert t)后,可读取总 线,以判定是否完成温度转换;如果总线响应1,则完成温度转换,如果响应0,则正在进 行温度转换。采用寄生供电模式无效,因为该模式下,进行温度转换操作时,总线始终被 外部强上拉置高。不同的温度分辨率,所需的温度转换时间也不同,为保证温度转换的完 成,应该给予足够的延时,转换完成后,应重新复位总线,然后执行温度读取指令。 e.如果总线初始化不正常,或总线处于不稳定的状态,读出的温度值可能为 50h、05h(85);关于读取的双 8 位数值与温度的转换算法, 0以上时,可先将 16 位数转换 10 进制,然后乘以相应的温度分辨率即可;0以下时,将读取的 16 位数取反 后,再加 1,然后乘以相应的温度分辨率,并在前面加上负号即可。 4.2.2 程序流程图及其调试程序 由上述分析,结合本系统需要,确定程序的流程图如图 4.5 所示 图4.5 温度测量程序流程图 西安工业大学学士学位论文 19 调试程序如下: #include / sfr declarations #include /* 函数声明 */ void c8051f007_init(void); unsigned int ds18b20(void); void start_18b20(void); void reset_18b20(void); void write_18b20(unsigned char m1 ); unsigned int read_18b20(void); unsigned char read_onebyte_18b20(void); void delay_ms(unsigned char m1); void delay_6us(unsigned char m1); /* 接口定义 */ sbit dq_18b20=p01; /* 18b20常量定义 */ #define skip_18b20 0xcc /跳过rom监测 #define wr_scr_18b20 0x4e /写1820暂存器 #define rd_scr_18b20 0xbe /读1820暂存器 #define conv_t_18b20 0x44 /启动1820温度变换 /* cpu初始化 */ void c8051f007_init(void) oscicn=0xe4; /c8051f007时钟配置为2m,允许时钟丢失检测 xbr0=0; /端口初始化,自由io口,推挽、弱上拉允许 xbr1=0; xbr2=0x40; prt0cf=0xff; prt1cf=0xff; prt2cf=0xff; 西安工业大学学士学位论文 20 prt3cf=0xff; /* 函数名:ds18b20(void) * 功能描述:单片18b20的12位温度采集子程序,无rom访问,无高低温预警 * 入口参数:无 * 返回:12位温度值 */ unsigned int ds18b20(void) unsigned int temp; start_18b20(); /启动18b20 temp=read_18b20(); /读取温度值 return (temp); /返回温度值 /* 函数名:start_18b20(void) * 功能描述:启动18b20 * 入口参数:无 * 返回:无 */ void start_18b20(void) reset_18b20(); /复位18b20 write_18b20(skip_18b20); /跳过rom检测 write_18b20(conv_t_18b20); /启动温度转换 delay_ms(760); /延时大于750ms,等待转换结束 /* 函数名:reset_18b20(void) * 功能描述:复位18b20 * 入口参数: * 返回: */ void reset_18b20(void) dq_18b20=1; delay_6us(1); dq_18b20=0; 西安工业大学学士学位论文 21 delay_6us(160); /低电平720us(大于480us小于960us),提供复位脉冲 dq_18b20=1; delay_6us(16); /高电平80us(大于60us),准备接受存在脉冲 delay_6us(50); /最大需240us,存在脉冲信号将结束,之后总线自动为高电平,以示 空闲 /* 函数名:write_18b20(unsigned char m1) * 功能描述:向18b20发送8位数据 * 入口参数:unsigned char m1 * 返回:无 */ void write_18b20(unsigned char m1 ) unsigned char i; for(i=0;i=1; delay_6us(1); /* 函数名:unsigned int read_18b20(void) * 功能描述:读回18b20的12位温度值 * 入口参数:无 * 返回:12为无符号整型温度值 */ unsigned int read_18b20(void) unsigned char temp_l; 西安工业大学学士学位论文 22 unsigned char temp_h; unsigned int temp; reset_18b20(); write_18b20(skip_18b20); write_18b20(rd_scr_18b20); /发送读命令 temp_l=read_onebyte_18b20(); /读出温度低8位 temp_h=read_onebyte_18b20(); /读出温度高8位 temp=temp_h*256+temp_l; /合并为temp reset_18b20(); /读操作结束 return(temp); /* 函数名:unsigned char read_onebyte_18b20(void) * 功能描述:在读命令后读取18b20的8位数据 * 入口参数:无 * 返回:无符号字节型温度数据 */
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中级会计实务考试归纳总结试题及答案探讨
- 员工离店合同协议书
- 2025办公室租赁合同范本应该怎么写
- 卖车尾款合同协议书
- 2025贷款装修合同模板
- 劳动合同寄存协议书
- 2025年个人二手房买卖合同
- 中级会计实务考试实务试题及答案集
- 2025年医疗美容行业:医美消费趋势与市场潜力分析报告
- 中级会计实务考试2025年考生必读与试题答案
- 【语文】第18课《井冈翠竹》课件 2024-2025学年统编版语文七年级下册
- DBJ33T 1020-2022 建设工程地质钻探安全技术规程
- 房地产行业信访处理规范制度
- 绿色施工知识培训课件
- 幼儿园伙食费管理制度
- 【MOOC】学术英语写作-东南大学 中国大学慕课MOOC答案
- 应激性心肌病指南解读
- 【水利水电】李想 案例专项班教案 02-案例专项班(二)
- 教室租赁合同范本教程
- 三管三必须-新安法宣贯课件
- 山东长山列岛国家地质公园规划编制说明(2020-2030年)
评论
0/150
提交评论