【《单片机控制的非接触式测温系统的软件设计案例综述》2000字】_第1页
【《单片机控制的非接触式测温系统的软件设计案例综述》2000字】_第2页
【《单片机控制的非接触式测温系统的软件设计案例综述》2000字】_第3页
【《单片机控制的非接触式测温系统的软件设计案例综述》2000字】_第4页
【《单片机控制的非接触式测温系统的软件设计案例综述》2000字】_第5页
已阅读5页,还剩3页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机控制的非接触式测温系统的软件设计案例目录TOC\o"1-3"\h\u32191单片机控制的非接触式测温系统的软件设计案例 1325361.1IIC协议原理 128331.2SMBus协议 261551.3CRC-8校验原理 4316431.4MLX90614软件流程 466221.5程序流程 6本设计采用目前学习和设计中用得比较广泛的开发环境——KeiluVision5,KeiluVision5是一个功能多样、库函数齐全、设计版面合理的开发软件。[14]本设计中C语言程序的设计方案主要是在实现各个模块功能的基础上,进行联系操作,需要实现红外传感器读取以及数据计算、控制OLED显示实时温度、达到预设温度报警、使用微动开关暂时记录数据等功能。1.1IIC协议原理IIC总线标准是一种双线同步串行接口。新型单片机基本都具有IIC总线接口,通信时序和控制过程都是由单片机内部IIC总线控制器实现。编程时将数据发送到相关的控制寄存器和缓冲器,并设计好相应的控制寄存器即可实现IIC通信过程。[15]IIC总线结构如图1.1所示。图1.1IIC总线结构示意图IIC在主从机之间的通讯步骤为:1、首先主机发送一个起始信号传递至从机,通知各个从机准备就绪;2、然后主机发送从机目标地址和读写标志位。写入标志位为0,读写标志位为1。从机地址和读写标志位一共占用8位,从机地址占用高7位,读写标志位占用最低位;3、写入地址后从机回复响应主机(ACK);4、不同模式的流程不同:(1)写模式。主机发送一字节数据等待从机回复响应,主机收到响应之后如果还有数据需要发送便继续发送第二段数据等待响应,重复这个过程直到全部数据发送完成;(2)读模式。主机STM32读取从机送回的数据,并且给从机回复响应,如果从机还有数据需要继续汇报,则主机接着读取并发送响应给从机,重复这个过程直到全部数据发送完成;5、主机向从机发送停止信号结束通信。1.2SMBus协议STM32芯片通过SMBus协议对MLX90614器件进行驱动和读写操作。[10]MLX90614的SMBus协议如图1.2所示。图1.2SMBus的数据包组成SMBus接口可以提供主机与从机之间的数据通信,但某一刻总线上只能有一个主机有效。数据传输方式分为MastertoSlave和SlavetoMaster两种。写时序首先,主机发送一个起始位个从属机,然后再发送从机的地址0x00和写入标志位0,总共8位。发送后,主机等待从机的响应,如果接收到从机发送的应答信号,主机继续向从机发送一个字节的数据。同理,再次等待从机的响应,在主机收到响应之后,如果还有数据需要发松,主机将继续发送第二段数据以等待响应,这个过程将重复进行,直到发送完成。如图1.3所示。图1.3写入数据格式读时序首先是主机发送一个起始位,然后发送从机地址0x00和读取标志位1,共8位。发送起始位后,主机等待从机的响应,如果接下来收到从机发送的是应答信号,则从机再发送一个字节的数据到主机。读时序就是主机从从机读数据,也就是从机向主机发送数据。同理,从机在发送完一个字节的数据后,要向主机发送信号询问是否继续发送,如果主机回复了应答信号,从机就继续发送数据,每次发送完之后,都要询问是否要继续发送,直到主机回应,非应答信号,从机才停止发送数据,最后主机发送停止信号结束。如图1.4所示。图1.4读数数据格式MLX90614数据传输时序如图1.5所示:图1.5MLX90614的数据传输时序起始信号:SCL高电平时,SDA发生下降沿跳变产生起始信号;应答信号:SCL高电平时,SDA保持低电平为应答信号;非应答信号:SCL高电平时,SDA保持高电平为非应答信号;结束信号:SCL高电平时,SDA发生上升沿跳变产生停止信号;数据信号:数据传输期间且SCL处于高电平时,如果SDA为高电平则代表二进制1。同理,SCL处于高电平时,如果SDA为低电平则代表二进制0;1号框是SDA数据有效期,2号框是数据改变期。1.3CRC-8校验原理循环冗余校验CRC(CyclicRedundancyCheck)是通过分组线性码的分支而产生的循环冗余码,是数据通信领域中最常用的一种查错校验码,编码简单且误判概率很低。循环冗余校验码是属于分组码中的一类重要的循环码,它不仅在理论上具有很好的代数结构,而且其编码和译码可以通过线性移位寄存器很容易地实现。[16]CRC主要是对数据进行多项式计算,将得到的计算结果放在帧后面,其接受设备同样执行类似的算法,以此保证数据传输的正确性和完整性。CRC-8校验采用模2除法。模2除法每一位除的结果不影响其他位,即不需要向上一位借位,实际上是一个异或的过程。校验中有两点很重要,第一是预先确定一个发送端和接收端用来作为除数的二进制多项式,最高位最低位必须是1;第二是将原始帧和前面计算出的除数进行模2除法运算,计算出CRC码。具体步骤如下:选择合适多项式,确定除数。根据选定多项式的二进制位数,将要发送的数据上加上这个位数-1位的0,然后用得到的数用模2触发除以确定的除数,得到的余数就是这个数的CRC校验码。余数的位数一定只比除数位数少一,也就是CRC校验码位数比除数位数少一,即使前面位是0也不能省略。CRC-8在软件上有两种实现方法,一是循环计算法、二是查表法。本设计采用循环计算法。1.4MLX90614软件流程MLX90614发送和接收的每个字读写流程分别如图1.6、图1.7所示。ML90614系统数据操作程序流程图如图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论