




免费预览已结束,剩余42页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要早期的指南针采用了磁化指针和方位盘的组合方式,整个指南针从便携性、指示灵敏度上都有一定不足。本系统采用专用的磁场传感器结合高速微控制器(MCU)的电子指南针能有效解决这些问题。系统采用了磁阻(GMR)传感器采集某一方向磁场强度后通过MCU控制器对其进行处理并显示上传,通过对电子指南针硬件电路和软件程序的分析,阐述了电子指南针基本的工作原理及实现。实际测试指南针模块精度达到1,能够在LCD上显示当前方位并能通过键盘控制上传指南针处理得到的数据到上位机。关键词:电子指南针;GMR;MCU;LCDAbstractSince the early use of a magnetic compass and direction-pointer of the composition, the entire compass from scratch, on the instructions of a certain sensitivity of the defect.Using a dedicated high-speed magnetic sensors with microcontroller (MCU) electronic compass can effectively solve these problems. The system is designed by the reluctance (GMR) sensors collecting a certain direction through the magnetic field strength after the MCU Controller its judgement will be dealt with the results, through the LCD screen display and can be sent to the MCUs top serial Machine. The actual test compass module can reach 1 , in the LCD display on the current position of the keyboard and through selective compass upload the data processing.Key words: Electronic compass; GMR; MCU; LCD目录摘要iAbstractii第1章绪论11.1 课题背景11.2 国内外研究现状11.3 本课题研究的目的和意义2第2章系统总体方案的设计32.1 系统的功能及设计思路32.1.1 系统的功能32.1.2 系统的设计思路32.2 系统的总体设计32.3 系统硬件的选型42.3.1 磁场传感器42.3.2 信号转换专用芯片52.3.3 日历时钟芯片72.3.4 人机界面电路82.3.5 系统控制器8第3章单片机的内部结构和工作原理103.1 控制器内部结构103.2 控制器存储结构113.2 控制器时钟和复位电路123.2.1 时钟电路123.2.2 复位电路13第4章系统硬件部分设计144.1 指南针信号采集模块144.1.1 地磁场信号的采集与处理144.1.2 信号接收模块整体电路154.2 控制器的具体控制电路154.2 系统的外围电路164.2.1 通信电路164.2.2 指南针模块接口电路194.2.3 实时时钟电路204.2.4 液晶显示电路224.2.5 系统输入电路244.3 系统总体电路25第5章系统软件部分设计265.1 软件编写环境简介265.2 主监控程序265.3 实时时钟驱动275.4 人机界面驱动285.4.1 液晶模块驱动285.4.2 键盘驱动295.5 指南针模块驱动29结论32致谢33参考文献34附录1 外文参考文献翻译35附录2 电路系统整体原理图36附录3 电路系统PCB图37附录4 电路系统元件清单38附录5 电路系统主程序3943信息电子技术学院第1章 绪论1.1 课题背景指南针的发明是我国劳动人民,在长期的实践中对物体磁性认识的结果。由于生产劳动,人们接触了磁矿石,开始了对磁性质的了解。人们首先发现了磁石引铁的性质。后来又发现了磁石的指向性。经过多方的实验和研究,终于发明了可以实用的指南针。指南针的始祖大约出现在战国时期。它是用天然磁石制成的。样子象一把汤勺,圆底,可以放在平滑的“地盘”上并保持平衡,且可以自由旋转。当它静止的时候,勺柄就会指向南方。古人称它为“司南”。司南由青铜盘和天然磁体制成的磁勺组成,青铜盘上刻有二十四向,置磁勺于盘中心圆面上,静止时,勺尾指向为南。但司南也有许多缺陷,天然磁体不易找到,在加工时容易因打击、受热而失磁。所以司南的磁性比较弱,而且它与地盘接触处要非常光滑,否则会因转动摩擦阻力过大,而难于旋转,无法达到预期的指南效果。而且司南有一定的体积和重量,携带很不方便,使得司南长期未得到广泛应用。电子指南针全部采用固态元件,可以用简单的方式与其它电子系统进行连接,完成新新产品的开发,电子指南针具有体积小、精度高、稳定性好等特点,因为它的这些优异性,在工业、军事、生活等领域都有着广泛的应用,并且它可以替代旧式的针式指南针或罗盘式指南针。1.2 国内外研究现状随着人们对指南针原理认识的不断深入,指南针也由先前笨重的“司南”发展到现在的便携式的指南针。但其基本构造是没有改变的,都是属于机械的指针式,其指示的机械结构基本上没有改变,都是利用某种支撑使得磁针能够受到地磁场的影响而自由的旋转。由于机械的先天因素导致了指针式指南针在便携性、灵敏度、精度以及使用寿命上都有一定的限制。由于国内外电子技术的飞速发展,特别是在磁传感器和专用芯片(ASIC)上的发展使能指南针的基本实现机理有了质的改变,不再是机械结构而采用了磁场传感器和专用处理器对磁场进行测量和处理后指示方向,这就是当前应用较为广泛的电子式指南针。1.3 本课题研究的目的和意义本课题针对电子指南针的各个功能部件对电子指南针的关键部分做了详细的研究。电子指南针系统是一个典型的单片机系统,了解其工作原理及其信号处理流程有利于研究更加复杂的嵌入式系统,特别是系统中来自国外的磁传感器及其信号的采集芯片更是有利于研究磁场传感器的实现机理,以便将其更加广泛的应用。第2章 系统总体方案的设计2.1 系统的功能及设计思路2.1.1 系统的功能该电子指南针具有体积小、测量精度高、抗干扰能力强、功耗低、价格低、稳定性能好等优点,常温下磁场强度测量分辨率最高可达0.000055Gauss。在接收到指南针模块信号后,系统能直观的把信息通过液晶显示屏表现出来,也能把信息上传到上位机,整个系统功能的切换由键盘输入相应的信号来完成。2.1.2 系统的设计思路整个系统我们采用单片机做为系统的核心控制芯片,而单片机的接口是数字信号的,想要它能够处理地球的磁场状况,必须要把磁场信号转化成电信号(如电压或电流),然后经过模数转换,把模拟的电信号转化成单片机可以处理的数字信号。把所得到的数字信息通过主控制器进行处理,然后用人机界面表现出来,供我们来读取和应用。为了整个系统的结构简单化、流程明了化、体积最小化、功耗最低化、稳定度最大化,系统应该采用模块化的设计思想来进行设计,以达到所要求的技术指标。2.2 系统的总体设计电子指南针的系统主要由前端磁阻传感器、磁场测量专用转换芯片、单片控制器、辅助扩展电路、人机界面以及系统电源几个部分组成,系统的整体结构如图2-1。整个系统中前端的磁阻传感器负责测量地磁场的大小并将磁场的变化转化为微弱的电流的变化,专用的磁场测量芯片负责把磁阻传感器变化的电流(模拟量)转换成微控制器可以识别的数字量,然后通过芯片内部的SPI总线上传给微控制器。微控制器将表征当前磁场大小的数字量按照方位进行归一化等处理后通过直观的LCD进行方位显示,同时可以通过键盘控制微控制器进行相应的操作,如将转换后的数据通过串口的形式发送到上位机。整个系统中还包含了实时时钟等一些辅助电路,使整个系统功能得到进一步的扩展。前端磁阻传感器专用转换芯片控制器系统人 机 界 面辅助扩展电路系统电源图2-1 系统简单框图2.3 系统硬件的选型2.3.1 磁场传感器磁场传感器是系统中最前端的信号测量器件,传统的磁场测量都是采用了电感线圈的形式,在所设计的系统中,由于需要测量的是非常微弱的地磁场,地球表面赤道上的磁场强度在0.290.40高斯之间,两极处的强度略大,地磁北极约0.61高斯,南极约0.68高斯。传统的普通电感线圈的形式在如此微弱的磁场环境下感应产生的电流是非常微弱的,不便于A/D采样,增加了测量的难度。基于普通电感线圈测量的不足,所设计的系统采用了磁阻传感器来测量地址磁场的强度。磁阻传感器是根据电场和磁场的原理,当在铁磁合金薄带的长度方向施加一个电流时,如果在垂直于电流的方向再施加磁场,铁磁性材料中就有磁阻的非质现象出现,从而引起合金带自身的阻值变化。如图2-2。由图中我们可以看出当磁场变化时铁磁合金的电阻会跟着变化,如果此时的电流不变,那么铁磁合金两端的电压将发生变化,这样使用ADC就可以很方便的测量出当前对应的磁场大小。该传感器体积非常小,测量精度高,最小分辨率可达0.00015高斯,测量地磁场已经足够。电流方向铁磁合金磁场方向图2-2 磁阻传感器原理及外形2.3.2 信号转换专用芯片前端磁传感器测量所得的磁信号,必须转换成电信号,再由模拟的电信号转换成数字信号,才能上传到单片机进行处理。本次设计中使用了著名PNI公司的PNI11096磁场测量ASIC,如图2-3所示。图2-3 PNI11096芯片外形图该芯片是在磁通传感器基础上研制出的一种低磁测量应用专项集成电路。PNI11096能够同时对3轴磁场强度(既X,Y,Z轴)进行测量,每个传感器单独有选择地进行测量,也可以是单独配置的测量分辨率和独立的组测量方案,它具备高判断模式和测试振荡电路和计数电路输出显示。PNI11096覆盖整个电路的测量,其中包括模拟和数字方块。每个传感器都会在其相应平行的磁场内进行实际的感应系数变化。为了进行测量,每个传感器都必须连接到LR振荡电路上。由PNI公司研制的双极微测量方案可以在固定的温度下完成磁场测量。它同时具有把测量范围变换到0中心和正负值的优点。对于水平的问题,还可以使用Z轴来进行倾角校正,提高测量精度。在整个PNI11096信号处理电路中包含了3个主要的部分:1) 前端信号处理 由于地磁场非常的微弱,使用SEN-R65传感器转换后其信号也是非常的微弱。那么需要在信号采集前端加入信号放大和滤波整形电路,这样使得A/D能够准确测量当前磁场大小,如图2-4。图2-4 磁阻传感器的驱动2) A/D转换电路 这部分主要完成对SEN-R65磁阻传感器输出的模拟信号进行A/D转换。3) 数据接口电路 这部分组要完成对A/D转换后得到的数据进行格式封装,并在上位MCU的控制下进行数据传输。2.3.3 日历时钟芯片PCF8563是PHILIPS公司推出的一款工业级内含I2C总线接口功能的具有极低功耗的多功能时钟日历芯片。PCF8563的多种报警功能、定时器功能、时钟输出功能以及中断输出功能能完成各种复杂的定时服务,甚至可为单片机提供看门狗功能。内部时钟电路、内部振荡电路、内部低电压检测电路(1.0V)以及两线制I2C总线通讯方式,不但使外围电路及其简洁,而且也增加了芯片的可靠性,同时每次读写数据后,内嵌的字地址寄存器会自动产生增量。当然作为时钟芯片,PCF8563也解决了2000年问题。因而,PCF8563是一款性价比极高的时钟芯片,它已被广泛用于电表、水表、气表、电话传真机、便携式仪器以及电池供电的仪器仪表等产品领域。如图2-5所示。图2-5 PCF8563芯片管脚功能示意图PCF8563有16个位寄存器:一个可自动增量的地址寄存器,一个内置32.768KHz的振荡器(带有一个内部集成的电容),一个分频器(用于给实时时钟RTC提供源时钟),一个可编程时钟输出,一个定时器,一个报警器,一个掉电检测器和一个400KHzI2C总线接口。所有16个寄存器设计成可寻址的8位并行寄存器,但不是所有位都有用。前两个寄存器(内存地址00H,01H)用于控制寄存器和状态寄存器,内存地址02H08H用于时钟计数器(秒年计数器),地址09H0CH用于报警寄存器(定义报警条件),地址0DH控制CLKOUT管脚的输出频率,地址0EH和0FH分别用于定时器控制寄存器和定时器寄存器。秒、分钟、小时、日、月、年、分钟报警、小时报警、日报警寄,存器编码格式为BCD,星期和星期报警寄存器不以BCD格式编码。2.3.4 人机界面电路人机界面(Human-Computer Interface,简写HCI,又称用户界面或使用者界面):是人与计算机之间传递、交换信息的媒介和对话接口,是计算机系统的重要组成部分。在电路系统的人机界面主要由键盘电路和显示电路组成,考虑到要求功耗低、信息传达准确和界面美观等问题,本电路系统采用LCD的模块LCM240*128做为显示电路。2.3.5 系统控制器由于电子指南针要求具有体积小、功耗低、性能稳定等优异特性,因此在单片机造型上面要着重从这几方面着手。在品种众多的单片机中,MCS-51系列单片机以其结构的系统完整、特殊功能寄存器的规范化以及指令系统的控制功能等特色,奠定了8位单片机的基础,形成了单片机的经典体系结构,使得MCS-51系列单片机更适用于数据采集与处理、仪器或仪表测量与其它工业控制中。本次设计的系统所需的程序量和要求达到的处理速度,普通的51单片机达不到要求,所以我们采用更高级的DS89C450作为本次设计的核心单片处理控制器,它也采用的是DIP-40封装,具有51内核,比普通51单片机具有更强的性能。如图2-6。图2-6 DS89C450管脚图与外形图第3章 单片机的内部结构和工作原理3.1 控制器内部结构单片机因将其主要组成部分集成在一个芯片上而得名,具体说就是把中央处理器CPU、随机存储器RAM、只读存储器ROM、中断系统、定时器/ 计数器以及I/O 口电路等主要微型机部件,集成在一块芯片上。其内部组成如图3-1所示。微处理器 (运算部件) 控制部件 总线 P1口 P3口 P0口 P2口 特殊功能寄存器(SFR) RAM ROM 串口 定时器/计算器 8 8 8 8 VCC /PSEN ALE /EA RST XTAL2 XTAL1 VSS 图3-1 51型单片机片内结构本次设计中采用了高速51内核MCU,具体型号为DS89C450,其原理图如图3-2所示,高速8051架构,每个机器周期一个时钟,最高频率33MHz,单周期指令30ns,双数据指针,支持四种页面存储器访问模式。片内64KB闪存,在应用编程,可通过串口实现在系统编程,MOVX可访问的1KB SRAM。与8051系列端口兼容,四路双向,8位I/O端口,三个16位定时器,256字节暂存RAM。支持电源管理模式,可编程的时钟分频器,自动的硬件和软件退出低功耗。外设特性:两路全双工串口、可编程看门狗定时器、13个中断源、五级中断优先级、电源失效复位、电源失效早期预警中断和可降低EMI。图3-2 DS89C450原理图3.2 控制器存储结构传统的51系列芯片内部没有或仅有非常小的程序存储器,这就需要通过外部总线进行存储器的扩展,通常的外部存储器的扩展方法有线选法和译码法两种。两种方法都需要进行较大量的数据线和地址线的扩展,这样使得系统电路复杂且使系统的性能下降。DS89C450内部含有较大的程序和数据存储器,其片内除了256字节RAM区,还提供片内1KB的SRAM和64KB的程序存储器,SRAM存储器可以用来保存系统中的常量,加速系统软件的执行效率,64KB的程序存可以满足一般工程对程序存储器的需求,这样就有足够大的存储区域来存放代码和数据而不需要另外的扩展外部存储器,简化了系统电路提高了系统的性能。基于DS89C450微控制器内建的存储器结构如图3-3所示。图3-3 系统存储分配3.2 控制器时钟和复位电路3.2.1 时钟电路51单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。外部振荡方式是把外部已有的时钟信号引入单片机内。这种方式适宜用来使单片机的时钟与外部信号保持同步。整个微控制系统中采用了无源晶振的形式发生MCU所需要的时钟信号。具体电路如图3-4所示。图中,电容器C1l,C12起稳定振荡频率、快速起振的作用,其电容值一般在20-50pF。单片机DS89C450其晶振频率多数采用的是22.1184MHZ,内部振荡方式所得的时钟情号比较稳定,实用电路中使用较多。时钟电路中的两个电容用作补偿,使得晶振更容易起振,频率更加稳定。图3-4 时钟电路原理图3.2.2 复位电路当5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。本电路系统的复位采用了上电复的形式,上电过程中微控制器复位引脚保证10ms以上的高电平就能可靠的将微控制器复位。常用的上电复位电路如图3-5所示。图中电容C1和电阻R1对电源十5V来说构成微分电路。上电后,保持RST一段高电平时间,由于单片机内的等效电阻的作用,不用图中电阻R1,也能达到上电复位的操作功能。图3-5 单片机上电复位电路第4章 系统硬件部分设计4.1 指南针信号采集模块4.1.1 地磁场信号的采集与处理该部分主要完成对地磁场的测量、A/D转换以及对数据的封包。整个前端的信号处理流程如图4-1。磁阻传感器数据封装SPI接口ADC图4-1 前端信号采集在本电路系统中A/D转换等采集信号的处理都由PNI公司的PNI11096来完成,其具体的连接电路原理图如图4-2所示。图4-2 PNI11096传感器电路原理图 4.1.2 信号接收模块整体电路本次设计采用二维电子罗盘模块FAD-DCM-SPI,它是由富安达智能科技公司生产的磁接收模块。本模块主要由高可靠、强抗干扰工业级单片机和PNI公司高可靠性的磁通传感器及驱动芯片组成,集成度非常高,实现了高可靠性、高精度、强抗磁场干扰的数码电子罗盘功能,非常方便各种产品快速增加电子罗盘功能。电子罗盘采用SPI接口输出,可输出0359角度,并可设置磁偏角及硬磁补偿功能。其电路原理图如图4-3所示。图4-3 指南针信号接收模块总电路图4.2 控制器的具体控制电路整个系统的控制部分主要完成对指南针模块数据的读取和处理并将数据的处理结果通过控制人机界面显示出来,同时监控键盘的输入以便完成系统功能设定等操作。整个系统中各个模块对微控制器的端口占用比较少,指南针模块的接口采用了SPI总线的形式。LCM是系统中比较繁忙的器件之一,其接口采用了并口模式可以提高数据的传输速率,保证了液晶显示屏的及时刷新。DS89C450微控制器内部自带2个通用串行口直接引出即可使用,由于系统需要和上位机(本系统中为PC机)进行数据通信,接口电平需要转换使其满足RS-232标准。控制部分电路如图4-4所示,其中包含了微控制器、LCD接口电路、端口上拉电阻、系统时钟电路和指南针模块接口电路。图4-4系统主控核心电路原理图4.2 系统的外围电路4.2.1 通信电路在本次设计任务中采用了串口作为系统与外界的通信接口,串口通讯对单片机而言意义重大,不但可以实现将单片机的数据传输到计算机端,而且也能实现计算机对单片机的控制。由于其所需电缆线少,接线简单,所以在较远距离传输中,得到了广泛的运用。串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配:a、波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。b、数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0127(7位)。扩展的ASCII码是0255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。c、停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。d、奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。由于单片机的TTL电平和RS-232协议的电平不同,需要MAX232进行电平的转换。通信部分电路图如图4-5所示。图4-5 串口通信电路在本次设计中还充分利用了串口的DTS信号作为单片机串口编程功能使能信号。整个通过串口DTR引脚控制在系统编程电路如图4-6所示。图4-6 串口逻辑电路由于DS89C450提供在系统编程,可以很方便的通过串口对单片机内部的FLASH进行刷新。由于DS89C450进入在系统编程需要几个条件: 复位引脚电平为高; EA引脚为低电平; PSEN引脚为低电平。4.2.2 指南针模块接口电路本次设计中采用了FAD_DCM_SPI指南针模块。该模块采用的正是PNI11096和SEN-R65传感器组合的设计方案。为了模块化,所以该模块把PNI11096芯片的输出信号经过处理后封装成特定的数据报文格式通过SPI总线形式对外提供。经过模块封装的数据格式如表4-1所示。表4-1 指南针模块数据包格式bit10bit 3 bit 9bit 2bit 1ACK数据ACK地址角度数据范围:十六进制(0x000x167),转换成十进制为(0359)。SPI(Serial Peripheral Interface-串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。该接口一般使用4条线:串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT或INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(用于单向传输时,也就是半双工方式)。也是所有基于SPI的设备共有的,它们是SDI(数据输入),SDO(数据输出),SCK(时钟),CS(片选)。(1)SDO 主设备数据输出,从设备数据输入 (2)SDI 主设备数据输入,从设备数据输出 (3)SCLK 时钟信号,由主设备产生 (4)CS 从设备使能信号,由主设备控制 其中CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成为可能。接下来就负责通讯的3根线了。通讯是通过数据交换完成的,这里先要知道SPI是串行通讯协议,也就是说数据是一位一位的传输的。这就是SCK时钟线存在的原因,由SCK提供时钟脉冲,SDI,SDO则基于此脉冲完成数据传输。数据输出通过 SDO线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,输入也使用同样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。由于SPI系统总线一共只需34位数据线和控制即可实现与具有SPI总线接口功能的各种I/O器件进行接口,而扩展并行总线则需要8根数据线、816位地址线、23位控制线,因此,采用SPI总线接口可以简化电路设计,节省很多常规电路中的接口器件和I/O口线,提高设计的可靠性。SPI总线的时序如图图4-7所示。图4-7 SPI时序图4.2.3 实时时钟电路系统采用了PCF8583实时时钟芯片为系统提供实时时钟。PCF8583是一款基于静态CMOS RAM的实时时钟芯片,该芯片采用了I2C总线接口。整个PCF8583的操作都是基于其内建的CMOS RAM,通过对其不同地址的RAM的操作可以实现不同的功能。其内部的256字节的RAM区域被分为了几个功能区以完成不同的操作。由于本次使用的DS89C450内部没有I2C控制器,所以直接使用了芯片的I/O口模拟了I2C时序。整个时钟部分电路如图4-8所示。图4-8 实时时钟电路PCF8583采用了I2C总线的形式与外界传输数据。I2C(InterIntegrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,最高传送速率100kbps。各种被控制电路均并联在这条总线上,但就像电话机一样只有拨通各自的号码才能工作,所以每个电路和模块都有唯一的地址,在信息的传输过程中,I2C总线上并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器),这取决于它所要完成的功能。CPU发出的控制信号分为地址码和控制量两部分,地址码用来选址,即接通需要控制的电路,确定控制的种类;控制量决定该调整的类别(如对比度、亮度等)及需要调整的量。这样,各控制电路虽然挂在同一条总线上,却彼此独立,互不相关。I2C总线在传送数据过程中共有三种类型信号, 它们分别是:开始信号、结束信号和应答信号。开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。 结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。I2C规程运用主/从双向通讯。器件发送数据到总线上,则定义为发送器,器件接收数据则定义为接收器。主器件和从器件都可以工作于接收和发送状态。 总线必须由主器件(通常为微控制器)控制,主器件产生串行时钟(SCL)控制总线的传输方向,并产生起始和停止条件。SDA线上的数据状态仅在SCL为低电平的期间才能改变,SCL为高电平的期间,SDA状态的改变被用来表示起始和停止条件。在I2C总线上数据的发送是由主机来初始化总线。当要主机要开始进行数据发送时,总线在起始后被认为是出于忙状态,而在停止条件一段时间后,总线被认为又回到空闲状态。在SCL线是高电平时,SDA线从高电平向低电平切换这个情况表示起始条件。当SCL是高电平时SDA线由低电平向高电平切换表示停止条件。其时序结构如图4-9所示。图4-9 I2C总线时序4.2.4 液晶显示电路液晶显示器,或称LCD(Liquid Crystal Display),为平面超薄的显示设备,它由一定数量的彩色或黑白像素组成,放置于光源或者反射面前方。液晶显示器功耗很低,因此倍受工程师青睐,适用于使用电池的电子设备。它的主要原理是以电流刺激液晶分子产生点、线、面配合背部灯管构成画面。本次设计采用了160128点阵的单色液晶显示屏(LCD)作为系统的显示界面,具体的型号为PG160128,该LCM采用了T6963C控制芯片作为显示控制核心。微控制器只需要对T6963C芯片进行操作便可以完成对LCD屏的相关操作,使用非常方便。模块内部原理如图4-10所示。图4-10 LCM内部结构图该液晶模块的管脚定义见表4-2所示:表4-2 液晶模块管脚功能管脚名称管脚定义FG边框地,用于防静电、防雷击,应与大地连,禁止悬空。VSS数字地VDD逻辑电源+5VVo(Vadj)对比度调节VEE液晶驱动电源/WR写/RD读/CE片选C/D指令数据通道/RST复位信号,可通过对+5V接4.7K电阻,对地接4.7u电容来实现。DB0数据线DB1DB2DB3DB4DB5DB6DB7FS字体选择。FS=1选8*6点阵;FS=0选8*8点阵。Vee液晶驱动电压(Vout)LED+LED背光正电源端LED-LED接地端整个LCM中T6963C负责对LCD行列驱动芯片T6A40和T6A39进行控制。微控制器只需要按照T6963给定的指令格式进行相应的操作即可。T6963提供10种控制命令,其数据和指令的读写时序如图4-11所示。图4-11 T6963C通信时序图4.2.5 系统输入电路系统采用了5键输入以实现系统功能的设定,如系统时间的调整和菜单的选择。由于系统中的其他模块对微控制器的端口占用较少还有很多没有使用的端口,键盘连接上直接采用了每个按键占用一个端口的形式,如图4-12所示,电路的中的几个电阻属于上拉电阻,保证在没有输入的情况下端口电平稳定为高,同时也可以达到省电的目的。键盘的读取采用扫描的形式,当检测到有按键按下时,消抖动后进行键值判断。图4-12 键盘输入电路4.3 系统总体电路系统总电路中包含了系统主控制电路、指南针模块、实时时钟、通信电路及其逻辑控制电路,扩展接口和相关辅助电路。第5章 系统软件部分设计5.1 软件编写环境简介Keil C51是美国Keil Software 公司出品的51系列兼容单片机c语言软件开发系统,与汇编相比,c语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用c来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。C51工具包的整体结构,如图5-1所示,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C 或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。图5-1 C51工具包整体框图5.2 主监控程序整个监控系统中各个模块间存在一定的先后顺序且程序模块数量较少,为了减少系统的程序量,设计过程中系统的监控程序采用了传统的前后台方式。整个监控程序主要由指南针模块驱动、液晶显示驱动、实时时钟驱动和串口驱动组成。整个系统监控程序流程如图5-2所示。当系统上电后,最先执行的就是对系统各个部件进行初始化的代码,其中主要包括对系统内部定时器、实时时钟、LCM驱动、指南针模块以及对系统通信串口的初始化。系统初始化完成时对指南针模块进行读取,此时指南针模块将根据ADJUST端口的电平状态判定是否需要校正指南针,其后将得到的数据上传至微控制器,微控制器根据得到的数据驱动LCM进行相应的显示,随后微控制器将对系统键盘端口进行扫描,并根据扫描得到的键值进行相应的处理。前后台式的监控系统结构简单,但是其实时性较差。系统中由于各个程序之间相互关联,且对实时性要求不是很高,前后台能够满足其要求。图5-2 系统主程序流程图5.3 实时时钟驱动实时时钟为整个系统的运行提供实时数据。本次设计采用的PCF8583实时时钟芯片采用的I2C接口,对它的所有操作直接通过对其内部线性的CMOS RAM区进行操作即可即对PCF8583的操作主要是通过I2C总线对其内部RAM进行读写。整个驱动流程如图5-3所示。图5-3 PCF8583驱动程序流程图 5.4 人机界面驱动5.4.1 液晶模块驱动液晶显示驱动处于系统的最后端,属于人机交互界面。直观的液晶显示能够使得系统更容易操控。本次设计采用了PG160128点阵的LCM模块。整个LCM驱动的构架图如图5-4所示。采用层次设计的驱动可以很好的移植到不同的处理器。图5-4 LCM驱动程序构架5.4.2 键盘驱动系统中将按键电路中按键K1、K2、K3、K4、K5分别与单片机的P13、P14、P15、P16、P17引脚进行连接,此按键是低电平有效,当有键按下时,与按键相连接的单片机引脚检测到这个信号,然后进行相应的处理后再输出。5.5 指南针模块驱动本次设计采用的是FAD_DCMP_SPI指南针模块。模块采用SPI接口与MCU进行数据交换。整个模块驱动包括了读取PNI11096数据、处理数据、封装数据和通过SPI时序发送数据几个部分。程序的流程如图5-5所示。图5-5 指南针模块内部程序处理流程在整个指南针模块程序的设计过程中最主要的也就是其数据的处理,直接关系到系统的精度。在还没有处理之前从PNI11096读取的数据真实的反应了水平面内地磁场的分布情况,如图5-6所示,这是均匀转动指南针模块得到的地磁场强度分布,图中显示地磁场强度在不同方向上的分布是不同的,经过归一化后,可以很好的将其归一化为圆,使得在各个方向上的磁场强度均匀,这样既可以方便进行角度计算又可以提高测量精度,如图5-7所示。图5-6 未经处理前所测得的真实磁场强度图5-7 归一化处理后的磁场强度指南针模块在第一次使用前都必须校正,系统上电时将模块的ADJUST引脚拉低即可进入校正状态,将模块在水平面内均匀的转动一周后校正结束。校正时主要调整的系数就是本地的磁偏角。将磁场强度归一化后,直接对X,Y轴的强度进行计算就可以得到当前方向与正东方向的夹角,如图5-8所示。图5-8 角度的计算从图5-8中可以看出夹角就是:结论所设计的系统中包含了磁场传感器、微控制器、显示部件、输入部件和实时时钟等部分,微控制器通过对磁场传感器配套的ASIC进行读取获得当前方向地磁场的强度,通过一定的运算后由直观的人机界面显示出来,并可通过微控制器的串口和上位机建立连接进行数据的传输。在整个设计系统中充分掌握各模块电路的工作原理,对硬件电路进行设计,使用C语言编写全部的驱动程序。本系统用于方位指示实测精度可以达到1、功耗小、显示直观。由于个人在知识面和能力方面还有限,再加上条件的限制,电子指南针的采样精度和抗干扰能力等各项技术指标的提高、诸多功能的完善还需要进一步的研究和开发,此外在完成基本功能的基础上,还需要努力提高软件的效率、硬件系统的稳定性、进一步降低系统功耗等。致谢在本论文完成之际,我首先要向我的指导老师孙鹤老师表达我最诚挚的谢意,感谢侯老师在整个毕业设计过程中耐心细致的指导!感谢在毕业设计中给予我支持的所有同学!我还要特别要向我的家人表示由衷的感谢,正是他们的无私奉献和鼎力支持,我才能顺利的完成我的学业。向百忙之中抽出宝贵时间来评阅这篇论文的各位专家致以衷心的感谢!参考文献1 李广弟,单片机基础,北京:北京航空航天大学出版社,2001.2 张毅刚.新编MCS-51单片机应用设计(第3版)M.哈尔滨:哈尔滨工业大学,2006.3 盛世电子科技公司.51单片机C语言快速上手.4 周立功公司单片机C语言.5 黄志伟编著.全国大学生电子设计竞赛系统设计M.北京:北京航空航天大学出版社, 2006.6 常玉燕, 吕光译. 日本电子电路精选M.北京: 电子工业出版社, 1990.7 佐藤一朗. 集成运算运算放大器电路设计实用手册M.北京: 北京航空航天大学出版社,1989.8 Bonnie Baker. 嵌入式系统中的模拟设计M,北京:北京航空航天大学出版社,2006.9 Optical receiver performance evaluation.10 Intel Microcontroller Handbook.1985附录1 外文参考文献翻译附录2 电路系统整体原理图附录3 电路系统PCB图附录4 电路系统元件清单序号元件标号元件名称封装形式注释数量1BT1BATTERYRB-.2/.43.0V12C1, C2, C3, C4CAPACITORRB-.2/.41uF43C5CAPRAD0.115pF14C6, C9CAPACITOR, CAPACITOR POLRB-.2/.410uF25C7, C8CAPRAD0.122pF26COM1COM9SIP9COM917D1DIODEDIODE-0.4IN414818D2LEDRB-.2/.4LED19D3LCMSIP20LCM110J1CON2SIP2电源接口111Q1PNPTO-468550112R1RES2AXIAL0.3100ohm113R2, R3, R4, R5RES2AXIAL0.310K414R6RES2AXIAL0.3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工转让协议书范本7篇
- 2025黑龙江帕弗尔能源产业管理有限公司高校毕业生招聘93人(第三期)模拟试卷及答案详解(有一套)
- 2025河北保定幼儿师范高等专科学校选聘教师考前自测高频考点模拟试题附答案详解
- 2025安徽中医药大学招聘教学、科研人员37人模拟试卷及答案详解(考点梳理)
- 儿童节主题演讲稿范文
- 2025年新乡市开发公益性岗位安置就业困难毕业生25人模拟试卷及答案详解(历年真题)
- 个人按时交付工期保证承诺书(9篇)
- 房屋买卖合同解约协议书5篇
- 2025江西赣州市会昌县正源建设有限责任公司招聘劳务派遣人员1人考前自测高频考点模拟试题含答案详解
- 2025内蒙古鄂尔多斯生态环境职业学院人才引进38人考前自测高频考点模拟试题附答案详解(完整版)
- 新编利息理论-刘波-课后答案
- 结构生物学01章-结构生物学绪论(一)课件
- 脾功能亢进诊疗规范内科学诊疗规范诊疗指南2023版
- 25手术室护理实践指南
- 灌胶机作业指导书
- 日语的拨音促音和长音
- 门诊质量控制指标
- 机械工程学科课件
- 公共教育学试题10套 答案
- 英语文章 the giver每章概述
- 二年级上册数学乘法练习题
评论
0/150
提交评论