SPI与模拟量转换.ppt

上传人:小飞机 文档编号:5449030 上传时间:2023-07-08 格式:PPT 页数:41 大小:408KB
返回 下载 相关 举报
SPI与模拟量转换.ppt_第1页
第1页 / 共41页
SPI与模拟量转换.ppt_第2页
第2页 / 共41页
SPI与模拟量转换.ppt_第3页
第3页 / 共41页
SPI与模拟量转换.ppt_第4页
第4页 / 共41页
SPI与模拟量转换.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《SPI与模拟量转换.ppt》由会员分享,可在线阅读,更多相关《SPI与模拟量转换.ppt(41页珍藏版)》请在三一办公上搜索。

1、第十章 SPI与模拟量转换,主要内容SPI的基本工作原理 GP32的SPI模块编程基础 A/D和D/A转换的基本问题 MC908GP32内部A/D转换模块GP32 MCU A/D转换编程实例*利用SPI进行高位扩A/D展接口*利用SPI进行高位扩D/A展接口*扩展实现D/A转换*常用传感器及采样电路简介,嵌入式技术基础与实践,10.1 SPI的基本工作原理,10.1.1 SPI的主要特性全双工。主、从工作方式。发送和接收的数据寄存器相互独立从而实现双缓存操作。主机可以设定4种工作频率(最大可达总线频率的二分之一)。从机最大工作频率等于总线频率。发送结束、接收结束、工作方式错误和溢出错误四种中断

2、标志。一个主控MCU和几个从控MCU相互连接。几个MCU相互连接构成一个多主机系统。一个主控MCU和一个或多个从属外设相互连接。,10.1.2 SPI的数据传输利用SPI进行MCU之间的数据传输时,主机的程序控制着数据传输,从机的程序配合主机工作,完成传输过程。图10-1是SPI的主-从连接示意图。具体工作过程:从主机CPU发出启动传输信号开始,此时要传送的数据装入8位移位寄存器,同时产生8个时钟信号从SPSCK引脚依次送出;在SPSCK信号的控制下,主机中8位移位寄存器中的数据依次从MOSI引脚送出,到从机的MOSI引脚送入它的8位移位寄存器;在此过程中,从机的数据也通过MISO引脚到主机中

3、。,10.1.3 SPI模块的时序 SPI是在同步信号SPSCK的控制下完成数据的传输,根据控制位CPHA和CPOL的不同,数据线和时钟线产生4种可能的时序。图10-2、图10-3、图10-4和图10-5给出了数据线与SPSCK之间的关系。图10-2 CPHA=0,CPOL=0时的数据/时钟时序图,10.1.3 SPI模块的时序图10-3 CPHA=0,CPOL=1时的数据/时钟时序图,SPSCK周期,CPOL=1,MOSIFROM MASTER,MISOFROM SLAVE,信号捕捉点,10.1.3 SPI模块的时序图10-4 CPHA=1,CPOL=0时的数据/时钟时序图,10.1.3 S

4、PI模块的时序图10-5 CPHA=1,CPOL=1时的数据/时钟时序图,10.2 GP32的SPI模块编程基础,10.2.1 SPI模块的引脚SPI模块通常引出4个引脚,分别为:SS、MISO、MOSI、SPSCK。(1)从机选择引脚SS(Slave select)若SPI工作于主机方式,置SS为高电平;若SPI工作于从机方式,当SS=0时,表示主机选中了该从机,反之则未选中该从机。(2)主出从入引脚MOSI(Master out/slave in)MOSI是主机输出、从机输入数据线。(3)主入从出引脚MISO(Master in/slave out)MISO是主机输入、从机输出数据线。(4

5、)SPI串行时钟引脚SPSCK(SPI serial clock)SPSCK用于控制主机与从机之间的数据传输。,10.2.2 SPI模块的寄存器SPI模块有3个寄存器:数据寄存器SPDR,控制寄存器SPCR,状态和控制寄存器SPSCR。(1)数据寄存器SPDR(SPI Data Register)SPDR由两个独立的数据寄存器组成:只能写入的发送数据寄存器和只能读出的接收数据寄存器,它们共用一个地址$0012。写入时,为要发送的8位数据,记为:T7T0;读出时,为接收的8位数据,记为:R7R0。,(2)控制寄存器SPCR(SPI Control Register)SPCR复位时写一次,以后不再

6、对其写入,不再更改对SPI的设置,地址是$0010,各位定义:,SPI接收中断允许位,DMA选择位,SPI发送中断允许位,SPI允许位,SPI线或模式位,时钟相位位,时钟极性选择位,SPI主机位,3SPI状态和控制寄存器SPSCR(SPI Status and Control Register)SPSCR的地址:$0011,定义为:SPI的波特率=CGMOUT/(2xBD)。上式中:CGMOUT为时钟产生模块CGM的基准时钟输出。BD是分频系数,由SPR1、SPR0位决定:SPR1、SPR0=00 01 10 11 BD=2 8 32 128,SPI接收器满标志位,错误中断允许位,SPI波特率

7、选择位,模式错误标志允许位,SPI发送器空标志位,模式错误标志位,溢出标志位,10.2.3 SPI编程基本方法(1)SPI初始化 第一步:写控制字到SPCR,确定是否允许SPI接收中断、SPI的工作方式、时钟极性、时钟相位、是否允许SPI等。第二步:写控制字到SPSCR,确定SPI的波特率。(2)发送一个数据与接收一个数据 通过SPI发送一个数据,同时通过SPI接收一个数据,作为主机方,只要将数据送入SPDR,然后检查SPSCR的SPTE位(位3),若该位为1,表示数据已送出。若同时接收对方送来的数据,则接着检查SPSCR的SPRF位(位7),若该位为1,表示要接收的数据已进入数据寄存器,可以

8、取出。,10.3 A/D和D/A转换的基本问题,1 A/D转换A/D转换模块(Analog To Digital Convert Module),即模数转换,是将电压信号转换为对应的数字信号。进行A/D转换的基本问题:(1)采样精度 数字量变化一个最小量时模拟信号的变化量,即采样位数。(2)采样速率 完成一次A/D采样所要花费的时间。(3)滤波 对采样的数据进行筛选去掉误差较大的毛刺。(4)物理量回归 把A/D采样值与实际物理量对应起来。,2 D/A转换(1)D/A转换器的转换精度有两种衡量方法分辨率:D/A转换器在理论上可达到的精度。其定义,电路所能分辨的最小输出电压VLSB(输入的n位数字

9、代码最低有效位LSB为1,其余都为0)与最大输出电压Vm(此时输入数字代码所有各位全为1)之比。转换误差:D/A转换器实际上能达到的转换精度。转换误差可用输出电压满度值的百分数表示,也可以用LSB的倍数来表示。,(2)D/A转换器的转换速度有两种衡量方法 建立时间tset是在输入数字量各位由全0变为全1或由全1变为全0时,输出电压达到某一规定值(例如取1/2LSB或满度值的0.01%)所需要的时间。转换速率SR是在大信号工作时,即输入数字量的各位由全0变为全1或由全1变为0时,输出电压uo的变化率。D/A转换器完成一次转换所需的时间应包括建立时间tset和输出电压uo的上升或下降时间,即最大转

10、换时间为:TTRmax=tset+Vomax/SR 上式中Vomax是输出模拟电压的最大值。,10.4 MC908GP32内部A/D转换模块,10.4.1 GP32 A/D转换模块寄存器1 A/D转换状态和控制寄存器ADSCR(Analog-to-Digital Status and Control Register)ADSCR主要功能是:选取要转换的通道、决定转换结束数据获取的方式、设置是连续转换还是一次转换。ADSCR的地址是:$003C,定义为:,转换完成标志位,A/D转换中断允许标志位,连续转换控制位,通道选择,10.4.1 GP32 A/D转换模块寄存器2 A/D转换数据寄存器ADR

11、(Analog-to-Digital Data Register)ADR存放A/D转换的8位结果,每次A/D转换结束更新该寄存器。编程从该寄存器读取A/D转换结果。该寄存器地址为:$003D,为只读寄存器,复位时为$00。,10.4.1 GP32 A/D转换模块寄存器3 A/D转换输入时钟寄存器ADCLK(Analog-to-Digital Input Clock Register)该寄存器决定A/D转换的时钟频率来源、分频系数值,芯片内的A/D转换器要求ADC时钟频率为1MHz左右。ADCLK 的地址是:$003E.定义为:,ADC时钟分频系数选择位,ADC输入时钟源选择位,未用,10.4.

12、2 A/D转换模块的基本编程方法(1)A/D转换初始化 对ADCLK写入控制字节,决定时钟输入源是内部总线还是外部晶振,决定分频系数等。(2)启动A/D转换 对ADSCR写入控制字节,选取要转换的通道、决定转换结束数据获取的方式、设置是连续转换还是一次转换等。(3)获A/D转换结果 若是中断方式,在A/D中断程序中取得,若是查询方式,通过ADSCR的第7位(COCO位)取得,当COCO=1时可从ADR中取数。,10.5 GP32 MCU A/D转换编程实例,10.5.1 A/D转换08C语言编程实例,(1)A/D转换有关C语言子函数,10.5.1 A/D转换08C语言编程实例,(1)A/D转换

13、有关C语言子函数,(1)A/D转换有关C语言子函数,(1)A/D转换有关C语言子函数,(2)A/D转换08C测试实例主函数,10.5.2 A/D转换汇编语言编程实例,(1)A/D转换有关子程序(2)A/D转换测试程序汇编主程序,*10.6 高位A/D转换接口,A/D芯片TCL2543概述1TLC2543的引脚说明图10-8 TLC2543的封装管脚,TLC2543的编程要点(1)控制字的格式 控制字为从DATA INPUT端串行输入TLC2543芯片内部的8位数据,它告诉TLC2543要转换的模拟量通道、转换后的输出数据长度、输出数据的格式。(2)TLC2543的内部寄存器 输入数据寄存器存放

14、从DATA INPUT端移入的控制字。输出数据寄存器存放转换好的数据,以供从DATA OUT端移出。,(3)转换过程上电后,片选CS必须从高到低,才能开始一次工作周期,此时EOC为高,输入数据寄存器被置0,输出数据寄存器内容是随机的。开始时,片选CS为高,I/O CLOCK、DATA INPUT被禁止,DATA OUT呈高阻态,EOC为高。使CS变低,I/O CLOCK、DATA INPUT使能,DATA OUT脱离高阻态。12个时钟信号从I/O CLOCK端依次加入,控制字从DATA INPUT一位一位地在时钟信号的上升沿时被送入TLC2543(高位先送入),同时上一周期转换的A/D数据,即

15、输出数据寄存器中的数据从DATA OUT一位一位地移出。TLC2543收到第4个时钟信号后,通道号也已收到,因此,此时TLC2543开始对选定通道的模拟量进行采样,并保持到第12个时钟的下降沿。在第12个时钟下降沿,EOC变低,开始对本次采样的模拟量进行A/D转换,转换时间约需10s,转换完成EOC变高,转换的数据在输出数据寄存器中,待下一个工作周期输出。此后,可以进行新的工作周期。,3.TLC2543与MCU的接口方法 TLC2543与微处理器芯片的接口部分有五个引脚,分别是:时钟输入(I/O CLOCK)、串行控制字输入(DATA INPUT)、片选输入(CS)、A/D转换串行数据输出(D

16、ATA OUTPUT)、转换结束电平输出(EOC)。经分析TLC2543的工作时序,可以通过软件估计转换结束,免去EOC接线。TLC2543与具有SPI或相同接口能力的MCU可以直接连接,对于没有SPI接口的MCU可以通过软件编程合成SPI操作。,10.6.2 SPI模块与TLC2543的接口扩展1扩展电路设计,10.6.2 SPI模块与TLC2543的接口扩展2编程方法 基于上述电路的A/D采集子程序 3.应用举例 利用上述子程序实现33路A/D数据的采集,并进行平均值滤波。每一路取16次求平均。,*10.7 扩展实现D/A转换,10.7.1 D/A芯片TLV5608概述1.TLV5608的

17、引脚说明 TLV5608有20根引脚,分布参见图10-8。图10-8 TLV5608的封装管脚,2TLV5608的控制寄存器(1)控制寄存器0(CTRL0)PD低功耗驱动:PD0时,正常模式;PD1时,低功耗。DO数字输出使能:DO1时,DOUT引脚输出传送的数据。IM输入模式:IM0时,直接输出二进制数据;IM1时,两次不足后输出。,2TLV5608的控制寄存器(2)控制寄存器1(CTRL1)PXY1时,DACXY低功耗;SXY1时,DACXY快速传输;SXY1时,DACXY低速传输。,3TLV5608工作原理TLV5608的16位数据由两部分组成:通道控制位(D15D12)和数据位(D11

18、D0)。如下所示。通道控制位(D15D12即A3A0),决定数据输出到哪个通道。当A3A00 x00000 x0111时对应通道DAC ADAC H;当A3A00 x1000选择寄存器CTRL0;当A3A00 x1001选择寄存器CTRL1,其他取值这里不作介绍。在C Mode(MODE接高电平)下传送数据时,首先,FS引脚打高电平,把要传送的数据发送到数据线上;然后,给FS引脚低电平,FS的下降沿开始,在SCLK的每个下降沿使数据一位接一位的移入内部数据寄存器(从高位开始)。在传送了16位数据后或者FS的上升沿到达后,移位寄存器的内容送至DAC锁存器。,10.7.2 SPI模块与TLV560

19、8的接口实现图10-9 基于SPI的D/A转换扩展电路,10.7.3 扩展D/A的程序实现1.D/A转换有关C语言子函数,2.D/A转换08C测试实例主函数,*10.8 传感器技术简介,1热敏电阻的温度传感器温度传感器利用一些金属、半导体等材料与温度有关的特性而制成的,这些特性包括热膨胀、电阻、电容、磁性、热电势、热噪声、弹性及光学特征。根据制造材料将其分为热敏电阻传感器、半导体热电偶传感器、PN结温度传感器和集成温度传感器等类型。热敏电阻传感器,其最基本电气特性是随着温度的变化自身阻值也随之变化。2灰度传感器灰度也可认为是亮度,简单的说就是色彩的深浅程度。主要工作原理是它使用两只二极管,一只

20、为发白光的高亮度发光二极管,另一只为光敏探头。,3超声波传感器超声是指当声的频率高到超过人耳听觉的频率极限(根据大量调查,取整数20000赫)时,人们就觉察不出声的存在。超声波传感器按其工作原理可分为压电式、磁致伸缩式、电磁式等。压电式超声波传感器常用的材料是压电晶体和压电陶瓷,它利用压电材料的压电效应来工作:逆压电效应将高频电振动转换为高频机械振动,从而产生超声波,可作为发射器;利用正压电效应,将超声振动波转换成电振荡,可作为接收器。4红外线传感器红外传感器模块可用来测量障碍物的距离,由红外发射管和红外接收管组成。基本原理 发射管发射红外光,当前方没有障碍物时,红外线就一直往前照射,一旦遇到障碍物后,红外光就会反射回来。,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号