基于stm32控制器的lvdt位移测量系统设计.docx

上传人:b****5 文档编号:14976968 上传时间:2023-06-28 格式:DOCX 页数:26 大小:313.22KB
下载 相关 举报
基于stm32控制器的lvdt位移测量系统设计.docx_第1页
第1页 / 共26页
基于stm32控制器的lvdt位移测量系统设计.docx_第2页
第2页 / 共26页
基于stm32控制器的lvdt位移测量系统设计.docx_第3页
第3页 / 共26页
基于stm32控制器的lvdt位移测量系统设计.docx_第4页
第4页 / 共26页
基于stm32控制器的lvdt位移测量系统设计.docx_第5页
第5页 / 共26页
基于stm32控制器的lvdt位移测量系统设计.docx_第6页
第6页 / 共26页
基于stm32控制器的lvdt位移测量系统设计.docx_第7页
第7页 / 共26页
基于stm32控制器的lvdt位移测量系统设计.docx_第8页
第8页 / 共26页
基于stm32控制器的lvdt位移测量系统设计.docx_第9页
第9页 / 共26页
基于stm32控制器的lvdt位移测量系统设计.docx_第10页
第10页 / 共26页
基于stm32控制器的lvdt位移测量系统设计.docx_第11页
第11页 / 共26页
基于stm32控制器的lvdt位移测量系统设计.docx_第12页
第12页 / 共26页
基于stm32控制器的lvdt位移测量系统设计.docx_第13页
第13页 / 共26页
基于stm32控制器的lvdt位移测量系统设计.docx_第14页
第14页 / 共26页
基于stm32控制器的lvdt位移测量系统设计.docx_第15页
第15页 / 共26页
基于stm32控制器的lvdt位移测量系统设计.docx_第16页
第16页 / 共26页
基于stm32控制器的lvdt位移测量系统设计.docx_第17页
第17页 / 共26页
基于stm32控制器的lvdt位移测量系统设计.docx_第18页
第18页 / 共26页
基于stm32控制器的lvdt位移测量系统设计.docx_第19页
第19页 / 共26页
基于stm32控制器的lvdt位移测量系统设计.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于stm32控制器的lvdt位移测量系统设计.docx

《基于stm32控制器的lvdt位移测量系统设计.docx》由会员分享,可在线阅读,更多相关《基于stm32控制器的lvdt位移测量系统设计.docx(26页珍藏版)》请在冰点文库上搜索。

基于stm32控制器的lvdt位移测量系统设计.docx

基于stm32控制器的lvdt位移测量系统设计

 

课程设计报告

题目:

基于STM32的LVDT位移测量系统设计

 

姓  名:

班级:

学号:

 

西北工业大学自动化学院

基于STM32的LVDT位移测量系统设计任务书

1.设计目的与要求

设计一个基于STM32控制器的LVDT数字测量系统设计,要求认真并准确地理解有关要求,按组完成系统设计,具体设计要求如下:

(1)对流体传动管道中的压力进行,测温范围及精度:

38mm,0.5%。

(2)LVDT信号的调制与解调,测量数据存储功能,掉电不丢失;

(3)4位八段码实时数据显示;

(4)通过RS232通信接口与上位机进行数据通信;

(5)功能按键、指示灯和蜂鸣器报警。

2.设计内容

(1)查阅资料,熟悉设计内容;

(2)根据设计要求选择传感器,确定系统方案和主控芯片;

(3)根据系统方案分别设计单元电路;确定元器件及元件参数;

(4)画出电路原理图,正确使用逻辑关系。

3.编写设计报告

写出设计的全过程,附上有关资料和图纸,并写出心得体会。

目录

1.引言1

2.设计方案2

2.1.任务分析2

2.2.设计思路2

3.详细设计3

3.1.主控制器模块3

3.1.1.微处理器电路3

3.1.2.电源模块4

3.1.3.JTAG/SWD电路4

3.2.LVDT传感器的测量原理与电路设计5

3.2.1.LVDT传感器的测量原理5

3.2.2.LVDT传感器电路的设计5

3.3.显示模块8

3.4.串口通信模块9

3.5.存储模块10

4.总结与体会(不宜过长)11

附录1MAX721912

附录2I2C总线14

 

基于STM32的LVDT位移测量系统设计

摘要:

LVDT可以用来测量物体的伸长度、震动频率、振幅、物体厚薄程度和膨胀度等精确数据。

具体还可以用在机床工具和液压缸的定位,以及辊缝和阀门的控制等。

LVDT还有无摩擦测量、无限的机械寿命、坚固耐用、环境适用性等优点,这使它应用范围也非常广泛。

本文将基于ARMCortex-M内核的32位微控制器,即STM32设计一款的LVDT位移测量器,以期能够实现LVDT的位移测量。

工作简单流程即通过LVDT传感器获得电压信号,进行信号的简单调理并送入STM32芯片进行处理。

STM32主控电路将获取到的数据实现实时的显示存储并传输给PC端进行后续的处理。

本文将简单介绍设计思路与设计方案,并且详细介绍该硬件主控制器设计,LVDT数据获取,数据显示,串口通信,存储等功能模块。

关键词:

STM32;LVDT传感器;译码显示;E2ROM 

 

1.引言

随着科学技术的发展,测试工作量的不断加大,测试任务也越来越复杂,对测量的准确度要求越来越高。

多年来,我国精密测量技术和仪器经历了许多变革,从最早广泛应用的机械仪表,到后来发展的光学、电学仪表,以及采用微处理器做成的智能仪表从静态测试到动态测试以及由计算机数字控制的多参数自动测试。

由此可见,新的测试技术总是随着电子技术的飞速发展以及计算机科学技术的应用不断地更新换代。

位移传感器已经渗透到我们的生活之中。

位移传感器的种类繁多,用途也各不相同,精度、量程更是千差万别。

为位移传感器分类不是一件容易的事。

常见的有电容式、电感式、还有精度较高的光纤式、激光式位移传感器。

随着科技的发展,位移传感器家族必然会增加新的成员。

现在较为常用的是电容电感式位移传感器,因为它们测量精度较高,价格也便宜于光纤、激光式传感器。

在多数场合能够胜任。

电感式传感器也有不同的总类,如单螺线管式、间隙式、差动变压式等等。

其中精度最好的是差动变压式位移传感器,它的工作原理简单,可靠性高,特别是测量精度较高,因此在工业生产中被广泛的应用。

在信息采集系统中,传感器通常处于系统前端,即检测和控制系统之首,它提供给系统处理和决策所必需的原始信息,因此,传感器的精度对整个系统是至关重要的。

在位移、速度及加速度的测量中,经常使用差动变压器式传感器,原因是其灵敏度高、线性好且有配套集成电路,月贻精密长度测量仪是一种利用线圈自感或者互感的变化来实现测量的装置,具有灵敏度及分辨力高、线性度好、工作可靠、寿命长、易于实现监控等优点,广泛应用于工业、农业、医疗、军事等很多领域。

随着时代科技的迅猛发展,微电子学和计算机等现代电子技术的成就给传统的电子测量与仪器带来了巨大的冲击和革命性的影响。

常规的测试仪器仪表和控制装置被更先进的智能仪器所取代,使得传统的电子测量仪器在远离、功能、精度及自动化水平定方面发生了巨大变化,并相应的出现了各种各样的智能仪器控制系统,使得科学实验和应用工程的自动化程度得以显著提高。

差动变压器式位移传感器广泛应用于工业现场的领域测试,如过程检验、自动控制和形变测量等。

该设计题目主要实现位移测量功能,具有一定的设计研究意义,除了测量位移本身外,其他的很多物理量也可以通过转化为位移来测量,测量精度也相对原始的方法较高。

STM32系列芯片STM32F103,STM32F103是基于ARMCortex-M3内核的32位嵌入式微处理器,它具有出色的内核性能,丰富的外部接口和低功耗。

该设计系统采用STM32单片机作为核心控制器件,实现磁棒的小距离位移的精确测量。

本设计首先采用AD598元件提供用来驱动LVDT的激励电压,磁芯移动,差动变压器的两个副线圈输出电压信号经过解调、滤波、放大后输出到A/D转换器,A/D转换结果送入单片机进行数据处理、存储,最后将结果通过四位七段数码管显示并传送至PC端。

整个系统结构合理,设计简洁,性能稳定,具有较强的抗干扰能力。

2.设计方案

2.1.任务分析

此次设计,将使用STM32F103芯片获取LVDT传感器的数据,并进行简单的处理,最终将数据传往PC端。

具体可分为如下几个任务:

●实现LVDT数据的获取

●对LVDT数据进行处理并显示

●将数据实时传输至PC端

●完成数据的实时存储,掉电不丢失

2.2.设计思路

1.

2.

2.1.

针对以上任务,本次设计以嵌入式模块STM32F103为核心,、通过八段数码管实时显示LVDT传感器的信息,方便用户观察,并可以通过串口将主要信息传送到PC端以进行后续的处理。

另外,为了防止掉电数据丢失的情况发生,加入E2ROM存储器件以进行实时的数据采集与存储。

总体框架结构如图1所示。

图1

主控模块:

主控模块以STM32F103作为系统的主控制器,其最小系统电路包含电源电路,复位电路,时钟电路,这些均为芯片运行所必需的外接电路模块。

LVDT模块:

LVDT模块功能是获取外界位移物理量并且将其转化位电压信号传送至主芯片的AD转换通道,处理器将获取的到的电压信号按照建立好的数学模型进行逆解获取位移信息。

显示模块:

显示模块功能是将获取到的位移信息通过4位八段译码器显示出来,实现位移变量的实时监测。

通讯模块:

通讯模块将单片机与PC互联,实现单片机与PC端的信息交互。

将LVDT传感器获取到的数据传送至PC可以实现信息的互联,为后续开发留下接口。

存储模块:

存储模块的功能是将获取到的进行数据存储并保护,防止单片机工作过程中出现意外情况而丢失数据。

3.详细设计

3.1.主控制器模块

3.1.1.微处理器电路[1]

如图2为STM32电路设计图。

图2

STM32F103RBT6主要技术指标如下:

●最高频率72MHz,1.25DMIPS/MHz

●128KB的FLASH,20KB的通用SRAM

●时钟,复位和电源管理;电压范围2.0~3.6V,可外接3~25M晶振,自带内部

RC,用于RTC的32KHz晶振

●低功耗管理:

有睡眠、停机和待机模式,突然掉电时可用电池为RTC和备用寄

存器供电

●2个12位1μsA/D,2个12位D/A

●12通道DMA控制器,支持TINIER,ADC,DAC,I

S,SPI,I

C和USART

●多达10个带有引脚重映射功能的定时器:

4个16位通用定时器,1个16位马

达专用PWM定时器,2个看门狗定时器,1个24位系统嘀嗒倒计数定时器,

2个用于DAC的16位基础定时器

●14个带有引脚重映射功能的通信接口:

2个I

C接口,3个USART,3个SPI接口,2个CAN接口,USB2.0全速设备,10/1OOM以太网MAC

可以看出,STM32F103RBT6是一款具有极其丰富的片内外设,在本设计中将使用其自带的AD转换器进行信号的电压转换。

3.1.2.电源模块

系统采用锂电池供电,通常的锂电池电压输出为3.7V,而系统正常工作需要5V和3.3V电压,其中STM32需要3.3V电压进行供电,液晶显示的LCD电路以及蓝牙通讯模块需要5V电压供电。

因此,设计中采用两级变压方式,第一级将3.7V电压升至5V,第二级将5V电压降至3.3V对控制器供电。

采用自举电路可以将电源输出的电压升至5V,同时,对应于锂电池使用过程中的电压下降,自举电路也可以大致稳定输出电压不变,因此能够使用简单的自举电路完成升压过程。

图3是将SV电压转换成3.3V的电路,在此选用LM1117-33芯片。

它是一个低压差电压调节器系列,提供了电流限制和热保护,符合本系统的要求。

图3

3.1.3.JTAG/SWD电路

JTAG(JointTestActionGroup)是一种国际标准测试协议,主要用于芯片内部测试及系统进行仿真、调试。

在STM32F103RBT6处理器中,利用JTAG可以直接控制芯片的内部总线以及I/O口,通过JTAG接口,可对芯片内部的所有部件进行访问,是开发调试嵌入式系统的一种简洁高效的手段。

在设计中,对于nTRST,TDI,TMS,TDO端口,分别用lOK的上拉电阻上拉至3.3V。

电路设计如图4所示。

图4

3.2.LVDT传感器的测量原理与电路设计

3.2.1.LVDT传感器的测量原理

差动变压器(LVDT)的原理比较简单。

它就是在一个线圈骨架

(1)上均匀绕制一个一次线圈

(2)作励磁。

再在两侧绕制两个二次线圈(3与4),与线圈同轴放置一个铁芯(5),通过测杆(6)与可移动的物体连接。

线圈外侧还有一个磁罩(7)作屏蔽,如图5所示。

图5图6

在未引入铁芯以前,一次线圈通入交流电流后产生一个左右对称的沿轴向分布的交变磁场。

交变磁场在两个对称放置的二次线圈上产生的感应电动势当然相等,引入铁芯后,铁芯在一次交变磁场的激励下,产生沿铁芯中心轴(当然也是线圈的中心轴)分布并与铁芯对称的交变磁场。

这样,线圈中心轴上的磁感应强度就成为铁芯位置的轴向分布函数,于是两个二次线圈的感应电动势Es1与Es2也成了铁芯位置的函数。

如果设计得当,两者可成为线性函数关系。

将两个二次线圈差接后,即可获得与铁芯位移成线性关系的二次输出:

Es=Es1-Es2。

这就是LVDT的简单工作原理(如图6示)。

3.2.2.LVDT传感器电路的设计

LVDT是一种机电换能器,它的输入为磁芯机械位移,而输出为一对与磁芯位移成比例的AC电压信号,而我们所需要的是DC电压信号,所以还要用到AD598信号调理器来调制信号,下图是AD598的功能图:

图7

AD598为LVDT提供激励电源,检测LVDT次级绕组的输出电压,并提供一个与可动磁性位置成比例的DC输出电压。

AD598由正弦波振荡器(OSC)、用来驱动LVDT初级绕组的功率放大器(AMP)、用来确定LVDT两个次级绕组输出电压之差与和的比例关系的解调器、滤波器(FILTER)和输出放大器(AMP)组成。

由于设计要求为位移量程为38mm,精度0.5%,经过比较选择SchaevitzHR1000型LVDT(

)。

下图是AD598采用

15双电源时与SchaevitzHR1000型LVDT的连接图:

图8

确定LVDT位移测量子系统所要求的带宽fSUBSYSTEM小于10HZ,取f=10HZ;

选择LVDT激励频率约为2.5KHZ;

选择工作范围在2.5KHZ的LVDT,实例中选择的SchaevitzHR1000型LVDT工作在400HZ~5KHZ,所以符合要求;

确定LVDT次级绕组电压VA和VB之和。

根据生产商的数据手册VPRI=3Vrms,调节磁芯到中间位置,此时有VA=VB,测量的两个之和VA+VB=2.80Vrms。

确定LVDT的最佳激励电压VEXC,对于AD598的最大线性度和最小噪声敏感系数来说,AD598输入信号VSEC的范围为1~3.5Vrms,所以选择VSEC=3Vrms。

因此LVDT的激励电压为:

VEXC=VSEC*VTR=4.97Vrms

VTR为LVDT的电压转换率:

VSEC为用典型驱动电平VPRI驱动LVDT,并且磁芯到期满刻度时,次级绕组输出信号到最大时的输出电压。

对于输入电压为

V时,根据下图来确定激励信号幅值的电阻R1=6KΩ;

图9激励电压VEXC与R1的关系图

选择确定激励频率的电容C1:

=

=3.5

C2、C3、C4是AD598构成的位移测量子系统带宽的函数,它们的取值应该相等:

C2=C3=C4=

=

为了计算AD598增益和满刻度输出范围调节电阻R2,,需要了解以下几点信息:

LVDT的灵敏度S=0.39mV/V/mils;

满刻度可动磁芯位移d=1inch;

生产商推荐的初级驱动电平VPRI和VA+VB的值;

对于满刻度的d的位移来说,AD598的输出电压按下式来计算:

Vout测量要相对与信号Pin17进行,如连接图,又由AD598手册,Vout=22V。

求出R2=52.6KΩ。

针对上例,Vout与d的关系如下所示:

图10

3.3.显示模块

系统采用的芯片为MAX7219。

MAX7219是一个高性能的多位LED显示驱动器,可同时驱动8位共阴极LED或64个独立的LED。

MAX7219采用串行接口方式,只需LOAD、DIN、CLK三个管脚便可实现数据传送。

DIN管脚上的16位串行数据包不受LOAD状态的影响,在每个CLK的上升沿被移入到内部16位移位寄存器中。

[2]

MAX7219的串行数据标记为D15~D0,其中低8位表示显示数据本身,最高的4位D15~D12未使用,寻址内部寄存器的地址位占用D11~D8,选择14个内部寄存器。

[3]

MAX7219内部具有14个可寻址数字和控制寄存器。

其中的8个数字寄存器由一个片内8×8双端口SRAM实现。

具体电路如图11所示:

图11

3.4.串口通信模块

位移测量系统需要与PC端进行通讯[4]。

在这里我们采用MAXRS232作为串口。

由于RS232信号的电平和单片机串口信号的电平不一致,必须进行二者之间的电平转换。

MAX232由单一的+5V电源供电,只需配5个高精度10UF/50V的钽电容即可完成电平转换,转换后的串行信号TXD,RXD直接与上位机的串口连接采用电平转换芯片MAX232实现TTL逻辑电平和RS232电平间的相互转换,转换之后的串行信号TXDRXD直接与PC机的串口连接

MAXRS232的接口电路设计图如图12所示[5]

图12

3.5.存储模块

在设计中,为了防止掉电数据丢失的情况发生,需要这样一种存储器,它既能写入数据,又能在掉电情况下将数据保存下来,经过查阅资料,我们选择了E2PROM,也就是可用电信号擦除的可编程ROM。

这是一种可擦除的可编程ROM(PROM),其中存储的数据可以擦除重写,因而在LVDT位移测量系统设计中它便成为一种比较理想的器件。

24C02是一个2K串行CMOSE2PROM,内部含有256个8位字节,该器件通

过I2C总线接功能列表。

I2C总线是两线式串行总线,是提供集成电路之间同步通信的一种特殊形式,通过串行数据(SDA)线和串行时钟(SCL)线在连接到总线的器件间传递信息,是一个双向的两线连续总线,暨I2C总线,I2C总线是由数据线SDA和时钟线SCL构成的串行总线,可发送和接收数据。

在单片机与被控IC之间,最高传送速率100kbps。

对于I2C总线的描述见附录2。

管脚名称

功能

A0﹑A1﹑A2

这三个引脚用于多个器件同时使用时设置区分器件地址,当这些引脚悬空时默认0。

在同一总线中最多可同时使用8个24C02器件。

如果总线只有一个24C02器件被寻址,这三个地址可悬或接地。

SDA

双向串行数据/地址管脚,用于器件所有数据的发送或接收,SDA是一个开漏输出管脚。

SCL

串行时钟。

串行时钟输入管脚用于产生器件所有数据发送或接收的时钟,这是一个输入管脚。

WP

写保护引脚。

当WP引脚连接到VCC时芯片里面的内容为只读内容而不能进行写操作。

而当WP引脚连接到VSS时芯片里面的内容可进行正常的读/写操作。

VCC

+1.8V~6.0V工作电压

VSS

接地

表格1

电路连接图如图所示:

图13

4.总结与体会

在这次课程设计中,我们小组合作,完成了关于数字式流量测量系统的设计。

其中我负责的是串口设计。

这也是比较简单的一部分。

由于系统要求,我通过查阅资料以及参考以前学过的课程内容发现了RS232并不能直接连接上位机,需要一个中间接口来完成工作,就是MAX232并在同学和老师的帮助下采用专门的软件进行了电路连接图的绘制工作,并将基本原理分析与汇总,达到了课程设计要求,并最终与大家合作完成了本次课程设计。

这次课程设计中,一开始我对于ad软件的使用不是很熟练,后来通过同学的指点和网上查阅资料才基本掌握了操作,即便如此我画的电路图也经过了很多次修改才最终完成。

我还在网络上寻找了RS232与MAX232的连接线路图,通过学习对此有了初步的了解。

通过这次课程设计,我深刻的体会到了“纸上得来终觉浅”的道理,书本上教给我们的知识和实际运用的知识是存在很大差距的,我们要将压力转换为动力,努力践行实践精神,将学习和实践真正的结合在一起。

参考文献

[1]武利珍,基于STM32的便携式心电图仪的设计与实现[M].浙江:

杭州电子科技大学,2009

[2]夏莉英,陈雁. 基于MAX7219的LED显示系统[J].工业控制计算机,2009.

[3]张志清.串行接口8位LED显示驱动器MAX7219[J].国外电子元器件,1998.

[4]陈传波,杜鹃,张智杰. WIN32下基于RS 232协议的通信方法及应用研究[J].南昌大学学报工科版,2005,27(3):

71-74.

[5]李朝青.单片机原理及接口技术[M].北京:

北京航空航天大学,2005.

[6]高强; 赫荣杰; 李树良.串行E~2PROM的读写应用[J]. 东北微电子研究所,2004,(04))

[7]郭文华.基于I~2C总线的串行E~2PROM及其应用[J].常熟理工学院学报 ,2008,(10)

附录1MAX7219

内部寄存器说明

A、译码方式选择寄存器地址:

09H

赋值:

FFH表示使用MAX7219内部的BCD译码器

00H表示不使用MAX7219内部的BCD译码器

B、亮度调节寄存器地址:

0AH

赋值:

00H~0FH可改变MAX7219所驱动的LED的亮度,其变化范围在1/32~31/32之间

C、扫描位数设定寄存器地址:

0BH

赋值:

00H所有位不显示

01H~07H依次对应于1~8位及前面位全部显示(即需显示的位应为“1”)

D、待机模式开关寄存器地址:

0CH

赋值:

00HLED全灭

01HLED正常显示

E、显示器测试寄存器地址:

0FH

赋值:

00HLED为正常显示状态

01HLED测试状态,即LED全亮

F、8位LED显示数据寄存器地址:

01H~08H

对这些寄存器赋值(即需显示的内容),就会在对应的1~8位LED数码管上显示出来

MAX7219的外部引脚分配

管脚描述

管脚

名称

功能

1

DIN

串行数据输入端口。

在时钟上升沿时数据被载入内部的16位寄存器。

2,3,5-8,10,11

DIG0~DIG7

八个数据驱动线路置显示器共阴极为低电平。

关闭时7219此管脚输出高电平。

4,9

GND

地线 (4脚和9脚必须同时接地)

12

LOAD

载入数据。

连续数据的后16位在LOAD端的上升沿时被锁定。

13

CLK

时钟序列输入端。

最大速率为10MHz.在时钟的上升沿,数据移入内部移位寄存器。

 下降沿时,数据从DOUT端输出。

14-17,20-23

SEGA~SEGG,DP

7段和小数点驱动,为显示器提供电流。

当一个段驱动关闭时,7219的此端呈低电平。

18

SET

通过一个电阻连接到VDD来提高段电流。

19 

V+

正极电压输入,+5V

24

DOUT 

串行数据输出端口,从DIN输入的数据在16.5个时钟周期后在此端有效。

附录2I2C总线

一﹑I2C总线数据的传送规则

1.开始信号:

在I2C总线工作过程中,当SCL为高电平时,SDA由高电平向低电平跳变,定义为起始信号,起始信号由主控机产生。

如图所示

(开始信号)

2.停止信号:

当SCL为高电平时,SDA由低电平向高电平跳变,定义为停止信号,此信号也只能由主控机产生。

如图5-22所示。

 

(停止信号)

3.应答信号与非应答信号:

I2C总线传送的每个字节为8位,受控的器件在接收到8位数据后,在第9个脉冲必须输出低电平作为应答信号,同时,要求主控器在第9个时钟脉冲位上释放SDA线,以便受控器发出应答信号,将SDA拉低,表示接收数据的应答(如图所示)。

若果在第9个脉冲收到受控器的非应答信号(如图5-24所示),则表示停止数据的发送或接收。

(应答信号)(非应答信号)

其次,每启动一次总线,传输的字节数没有限制。

主控件和受控器件都可以工作于接收和发送状态。

总线必须由主器件控制,也就是说必须由主控器产生时钟信号﹑起始信号﹑停止信号。

在时钟信号为高电平期间,数据线上的数据必须保特稳定,数据线上的数据状态仅在时钟为低电平的期间才能改变,而当时钟线为高电平的期间,数据线状态的改变被用来表示起始和停止条件。

(数据的有效性)

图为总线的完整时序[7],在这里有一点要加以说明的,当主控器接收数据时,在最后一个数据字节,必须发送一个非应答信号,使受控器释放数据线,以便

主控器产生一个停止信号来终止总线的数据传送。

(总线的完整时序)

下面我们来看一下关于I2C总线的读操作与写操作:

(总线写格式)

写操作就是主控器件向受控器件发送数据,如图所示。

首先主控器会对总线发送起始信号,紧跟应该是第一个字节的8位数据,但是从地址只有7位,所谓从地址就是受控器的地址,而第8位是受控器约定的数据方向位,“0”为写,从图中我们可以清楚地看到发送完一个8位数之后应该是一个受控器的应答信号。

应答信号过后就是第二个字节的8位数据,这个数多般是受控器件的寄存器地址,寄存器地址过后就是要发送的数据,当数据发送完后就是一个应答信号,每启动一次总线,传输的字节数没有限制,一个字节地址或数据过后的第9个脉冲是受控器件应答信号,当数据传送完之后由主控器发出停止信号来停止总线。

 

(总线读格式)

读操作指受控

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2