【大学课件】单片机原理与接口技术课件 单片机系统模拟量及其他扩展技术.ppt
《【大学课件】单片机原理与接口技术课件 单片机系统模拟量及其他扩展技术.ppt》由会员分享,可在线阅读,更多相关《【大学课件】单片机原理与接口技术课件 单片机系统模拟量及其他扩展技术.ppt(82页珍藏版)》请在三一办公上搜索。
1、1,03:31,单片机原理与接口技术,第10章 单片机系统模拟量及其他扩展技术,http:/,2,03:31,(1)掌握常用的并行接口A/D和D/A转换芯片的使用方法。(2)熟悉常用的串行接口A/D和D/A转换芯片的使用方法。(3)了解日历时钟芯片与单片机的接口设计方法。(4)了解IC卡与单片机的接口设计方法。,本章教学要求,3,03:31,本 章 目 录,10.1 A/D转换扩展10.1.1 并行A/D转换扩展10.1.2 串行A/D转换扩展10.2 D/A转换扩展10.2.1 并行D/A转换扩展10.2.2 串行D/A转换扩展10.3 日历时钟芯片扩展10.3.1 日历时钟芯片8563,1
2、0.3.2 单片机与日历时钟芯片的接口方法10.4 IC卡扩展10.4.1 SLE4442 IC卡10.4.2 SLE4442 IC卡数据传送协议10.4.3 SLE4442 IC卡操作命令10.4.4 单片机与SLE4442 IC卡的接口方法习题与思考题,4,03:31,前 言,在单片机应用系统中,经常会遇到模拟量信号的输入/输出问题,对于如何将模拟量转换成数字量送给单片机,或者将数字量转换成模拟量输出到单片机外部,需要用到模数(A/D)或数模(D/A)转换技术。也还经常会遇到与日期、时间有关的控制操作和管理问题,以及IC卡信息读写问题。本章介绍单片机如何扩展A/D和D/A转换接口,怎样扩展
3、日历时钟芯片和IC卡接口等技术和方法。,5,03:31,10.1 A/D转换扩展,A/D转换器(ADC)是将连续的模拟信号转换成二进制数字量的器件;A/D转换器为单片机应用系统采集模拟量信号进而实现数字化处理提供了一种接口;A/D转换器的分类:从工作原理分类有:双积分型、逐次逼近型A/D转换器等;从分辨率分类有:8、12、14、16位A/D转换器等;从数据接口方式分类有:并行A/D转换器和串行A/D转换器。单片机应用系统扩展A/D转换器时,需要根据以上区别采取不同的设计方法。,-A/D转换器分类,6,03:31,10.1.1 并行A/D转换扩展,由于MCS-51系列单片机和51内核单片机的并行
4、数据总线都是8位的,可以直接或间接地与8位并行输出的A/D转换器连接,并一次性从A/D接口读入数据。如ADC0809就是一个8输入通道的逐次逼近比较型8位并行输出A/D转换器,其输出级有一个8位三态输出锁存器,可以直接与单片机的数据总线连接。8位A/D转换的精度往往不能满足实际需求,而常采用10位、12位甚至更高位的A/D转换器。A/D转换器的位数不同,接口电路也不同,对于具有8位数据总线的单片机来说,要扩展高于8位的并行输出A/D转换,单片机需要分两次来完成从A/D接口读取数据。本节以12位并行输出A/D转换芯片AD574为例来介绍并行A/D转换接口的扩展方法。,-并行A/D转换器,7,03
5、:31,10.1.1 并行A/D转换扩展,112位并行A/D转换器芯片AD574,AD574是Analog Devices公司生产的12位逐次逼近型快速A/D转换器。完成12位A/D转换的时间为35s。内部有三态输出缓冲电路。输出电平与TTL和CMOS电平兼容。无须外加时钟电路。得到广泛应用。AD574的引脚如图10-1所示。,-12位并行A/D转换器,8,03:31,10.1.1 并行A/D转换扩展,AD574引脚说明如下:CE,(/CS),R/(/C):用于控制启动转换和读出A/D转换结果,当CE=1、(/CS)=0、R/(/C)=0时启动A/D转换;当CE=1、(/CS)=0、R/(/C
6、S)=1时,可以读出A/D转换结果。12/(/8):数据格式选择端,当12/(/8)=1时,12位数据同时输出,适合于与16位微机系统接口;当12/(/8)=0时,该引脚信号与A0引脚配合使用,可分别输出高8位A/D转换结果和低4位A/D转换结果,适合于与8位微机系统接口。12/(/8)引脚不能由TTL电平控制,只能接VCC或GND。A0:字节选择端。A0的作用主要有两个:启动转换前若A0=1则按8位启动A/D转换,即A/D的转换结果是8位的,完成一次A/D转换的时间是10s;若启动转换前A0=0,则启动12位A/D转换,即A/D转换结果是12位的,完成一次A/D转换的时间是35s。若在读周期
7、中,A0=0读出高8位数据,A0=1读出低4位数据。,-AD574引脚,9,03:31,10.1.1 并行A/D转换扩展,+5 V:逻辑正电源。+15 V和-15 V:器件工作电源,AD574支持双极性信号输入。AGND和DGND:模拟信号地和数字信号地。REF OUT:参考电压输出,AD574向外提供+10V基准电压输出。REF IN:参考电压输入,一般通过一个50电阻与REF OUT引脚连接,或用于调满量程。BIP OFF:双极性偏差调整,用于调零。10Vin和20Vin:模拟信号输入引脚。可以工作在单极性输入或双极性输入方式。单极性输入时,允许输入的信号范围为0+10V或0+20V;双极
8、性输入时,允许输入的信号范围为-5+5V或者0+10V。STS:转换状态输出引脚,转换过程中,该引脚输出高电平,转换结束时该引脚输出低电平。,-AD574引脚,10,03:31,10.1.1 并行A/D转换扩展,AD574的控制信号组合关系:,-AD574信号,11,03:31,10.1.1 并行A/D转换扩展,2单片机与AD574的接口方法,AD574工作在单极性输入方式时与MCS-51单片机的接口电路如下图所示。,-AD574接口方法,12,03:31,10.1.1 并行A/D转换扩展,例10-1 根据上图所示A/D扩展电路,编写完成一次A/D转换的程序。分析:图中,P0.0和P0.1通过
9、地址锁存器连接AD574的A0和R/(/C),因此,AD574操作如下:启动转换时,R/(/C)=0并且A0=0则按12位转换,未连接的地址线按1对待,则启动12位A/D转换的地址为FCH。读取转换结果时,在R/(/C)=1条件下,A0=0读高8位,A0=1读低4位,因而,读高8位数据的地址为FEH,读低4位数据的地址为FFH。P1.0用于查询A/D转换是否结束。,-AD574应用举例,13,03:31,10.1.1 并行A/D转换扩展,编写程序如下:AD574:MOVR1,#30H;R1指向数据缓冲区MOVR0,#0FCH;R0指向启动地址MOVX R0,A;启动A/D转换LOOP:JBP1
10、.0,LOOP;等待转换结束INCR0;指向读高8位数据地址INCR0MOVX A,R0;读高8位数据MOVR1,A;存高8位数据INCR0;指向读低4位数据地址INCR1;指向缓冲区下一字节地址MOVX A,R0;读低4位数据MOVR1,A;保存低4位数据RET,-AD574应用举例,14,03:31,10.1.2 串行A/D转换扩展,采用串行总线扩展A/D转换时,单片机与转换芯片的数据交换是通过串行数据传输方式来实现的。当确定了接口协议时,其硬件接口方式也就确定了,与单片机的接口方法不涉及单片机的数据总线及位数问题。无论是8位或是高于8位的串行A/D转换芯片,与单片机的硬件接口都是一样的,
11、只是单片机对于串行接口A/D芯片的读写时序有所不同,程序设计方法有所不同而已。,-串行A/D转换,15,03:31,10.1.2 串行A/D转换扩展,ADS10XX系列的A/D转换器是由美国德州仪器公司推出的微型封装的12位Delta-Sigma型模数转换器。与该系列相对应的有ADS11XX系列,其分辨率为16位。ADS1013/4/5采用I2C总线与CPU接口。本节将以ADS1015芯片为例介绍采用I2C总线的AD转换器扩展方法。ADS1015的内部结构如图所示。ADS1015的工作方式有连续转换模式和单次转换模式。连续转换模式时,当前转换工作完成后,ADS1015将转换结果保存在,1ADS
12、1015串行A/D转换芯片,输出寄存器,然后立即进行下一次转换。在单次转换模式时,转换结束后芯片自动进入掉电节能状态。ADS的工作方式通过配置寄存器进行选择。,-串行A/D转换芯片,16,03:31,10.1.2 串行A/D转换扩展,ADS1015的主要技术特性:分辨率为12位;可编程转换速率为128 SPS到3.3 kSPS;内置低漂移的电压参考源;内置可编程增益放大器,允许输入电压低到256 mV,最大输入电压为4.096 V;内置转换时钟发生器;逻辑电平输入与TTL电平兼容;四通道单端输入或二通道差分输入;内部具有可编程的比较器;采用单一正电源供电,电源电压范围2.05.5 V;低功耗,
13、连续转换时电流消耗仅为150 A。,-ADS1015性能,17,03:31,10.1.2 串行A/D转换扩展,ADS1015的MSOP-10封装引脚如图所示。引脚定义如下:ADDR:I2C 从器件地址选择。ALERT/RDY:比较器输出或转换准备好信号。AIN0:单端输入通道1或差分输入通道1的正信号输入端。AIN1:单端输入通道2或差分输入通道1的负信号输入端。AIN2:单端输入通道3或差分输入通道2的正信号输入端。AIN3:单端输入通道4或差分输入通道2的负信号输入端。SDA:串行数据线。SCL:串行时钟线。GND:地。VDD:电源。,-ADS1015引脚,18,03:31,10.1.2
14、串行A/D转换扩展,1)ADS1015的输入特性ADS1015可以允许差分输入或单端输入,通过配置寄存器进行选择。ADS1015采用开关电容输入级。由于电容值很小,因此对外部电路而言就像一个电阻。输入阻抗与PGA的增益有关。在输入源阻抗较高时,ADS1015的输入阻抗不能忽略,需要增加缓冲进行阻抗变换,否则会影响测量精度。ADS1015的模拟信号输入范围也与PGA的增益有关,内部等效的差分输入电压为4.096 V/PGA。但要注意输入电压不能低于0.3 V和超过VDD+0.3 V,否则会损坏器件。,2ADS1015的输入和输出特性,-ADS1015输入特性,19,03:31,10.1.2 串行
15、A/D转换扩展,2)ADS1015的输出特性 输出采用二进制补码形式,正的满量程输入信号对应于7FF0h,负的满量程输出对应于8000h。其转换结果与输入电压的关系如图所示。理想的输出特性见下表。,由于采用补码特性输出,在有些情况下需要进行码制变换。此外该器件是为了与同系列16位A/D转换器ADS1115兼容,其转换结果保持16位特性,但只有高12位有效,低4位始终为0。在使用时需注意。采用单端输入时负值范围的输出值是没有用的。,-ADS1015输出特性,20,03:31,10.1.2 串行A/D转换扩展,ADS1015只有一个用于I2C总线从器件的可编程地址引脚ADDR,ADDR可以连接到G
16、ND、VDD、SDA或SCL,从而允许该芯片可以有4个可编程地址。ADS1015的I2C地址见表。,3ADS1015的I2C地址,-ADS1015 I2C地址,21,03:31,10.1.2 串行A/D转换扩展,ADS1015有1个寻址寄存器和4个功能寄存器:输出寄存器存储最后一次转换的结果;配置寄存器可用于改变ADS1015的操作模式或查询器件的状态;低阈值和高阈值寄存器用来设置比较器。1)寻址寄存器访问ADS1015的寄存器需要借助寻址寄存器,通过向寻址寄存器中写入相应的值,来选择所需访问的寄存器。主机发出ADS1015的地址字节,并令最低位为低,然后接着发出要写往寻址寄存器的数据和终止条
17、件。寻址寄存器会保持数据直到对其进行改变。,4ADS1015的寄存器,寻址寄存器格式,功能寄存器地址,-ADS1015寻址寄存器,22,03:31,10.1.2 串行A/D转换扩展,2)输出寻址寄存器 输出寄存器(只读)共有16位,但只有D4D15是转换结果,采用二进制补码格式。复位或上电时,该寄存器的所有位被清零。,输出寄存器(只读),-ADS1015输出寄存器,23,03:31,10.1.2 串行A/D转换扩展,3)配置寄存器 配置寄存器(读/写)用于配置ADS1015的工作模式、输入选择、采样转换速率、可编程增益和比较器的工作模式,见表10-7。配置中寄存器每一位的作用见表10-8。,表
18、10-7 配置寄存器(读/写),-ADS1015配置寄存器,24,03:31,10.1.2 串行A/D转换扩展,表10-8 配置寄存器的作用,-ADS1015配置寄存器,25,03:31,10.1.2 串行A/D转换扩展,4)低阈值和高阈值寄存器 低阈值和高阈值寄存器都是16位的寄存器,它们的低4位固定为0,高12位用来保存数字比较器的阈值。当改变了PGA的增益后,需要对阈值进行重新调整。,ADS1015的读写操作遵循基本的I2C总线的协议。在数据传输过程中,总线的启动和停止信号均由主机发出,但是需要根据ADS1015的特性发送相应的指令。例如,设置ADS1015工作在连续转换模式,然后读取转
19、换结果,可发送如下命令。,5ADS1015的读写操作,-ADS1015读写操作,26,03:31,10.1.2 串行A/D转换扩展,第一步:配置ADS1015工作在连续转换模式。第一字节:10010000,I2C的地址,操作性质为写。第二字节:00000001,选择配置寄存器为操作对象。第三字节:00000100,配置寄存器的高8位数据。第四字节:10000011,配置寄存器的低8位数据。第二步:设置访问的寄存器为输出寄存器。第一字节:10010000,I2C的地址,操作性质为写。第二字节:00000000,选择输出寄存器为操作对象。第三步:读取转换结果。第一字节:10010001,I2C的地
20、址,操作性质为读。第二字节:ADS1015作为从发送器发送的高8位转换结果。第三字节:ADS1015作为从发送器发送的低8位转换结果(只有高4位有效)。,-ADS1015读写操作,27,03:31,10.1.2 串行A/D转换扩展,ADS1015写操作时序图为:,-ADS1015写操作时序,28,03:31,10.1.2 串行A/D转换扩展,ADS1015的读操作时序图为:,-ADS1015读操作时序,29,03:31,10.1.2 串行A/D转换扩展,ADS1015使用时数字电路部分连接关系简单,只需要正确连接I2C总线,同时通过ADDR引脚设置可编程地址,如图所示。,6单片机与串行A/D转
21、换器的接口方法,模拟电路部分需要考虑:根据输入信号的形式考虑好是单端还是差分输入形式。根据输入形式通过配置寄存器确定内部多路转换器的状态,使其与输入信号的形式相适应。根据输入信号的范围设置可编程增益,确保输入信号不会超出ADS1015的转换范围。,-ADS1015接口方法,30,03:31,10.1.2 串行A/D转换扩展,下图为ADS1015采用差分方式实现负载电流检测的应用方案。通过采样电阻Rs将负载电流转换为电压;经过OPA335放大,OPA335的放大倍数为4倍。如果采样电阻上的压降为50mV,ADS1015的满量程输入电压为0.2V,则将其可编程增益设为16,即可进行负载电流监测。,
22、-ADS1015信号输入电路,31,03:31,10.1.2 串行A/D转换扩展,下面通过一个编程实例说明串行A/D转换器ADS1015的程序设计方法。例10-2 根据图10-7的电路来编写程序,控制ADS1015实现A/D转换。分析:ADS1015内部有配置寄存器,用来配置芯片的工作方式、可编程增益和采样速率等内容,在使用时需要根据自己的需要结合表10-8进行配置,否则得不到预期的结果。读出数据时在输出寄存器读取。这些功能都是通过编写适当的函数通过I2C总线访问相应寄存器来实现的。编写C语言程序如下(略)。,7串行A/D转换器编程举例,-ADS1015应用举例,32,03:31,10.2 D
23、/A转换扩展,D/A转换器(DAC)是一种将数字信号转换成模拟信号的器件。D/A转换器为单片机系统将数字信号转换成模拟信号输出提供了一种接口。D/A转换器的分类:从数据接口方式分类有:并行D/A转换器和串行D/A转换器。从分辨率分类有:8位分辨率和高于8位分辨率的A/D转换器。并行D/A转换器根据其内部是否具有锁存器可以分为两类:一类是芯片内部有数据锁存器、片选信号和写信号,数据输入引脚可以直接和单片机的总线进行连接,不需要中间接口器件;另一类是芯片内部没有锁存器,不能直接与单片机的总线连接,中间必须加锁存器,或者通过并行接口与单片机进行连接。单片机与D/A转换器接口时,需要根据以上区别采取不
24、同的设计方法。,-D/A转换器分类,33,03:31,10.2.1 并行D/A转换扩展,经过8位D/A转换后输出的模拟信号基本能满足一般的控制精度要求,但对于控制精度要求较高的应用,则需要采用10位、12位甚至更高的D/A转换器。下面分别以8位并行D/A转换芯片DAC0832和12位并行D/A转换芯片DAC1210为例介绍并行D/A转换得扩展方法。,-并行D/A转换器,34,03:31,10.2.1 并行D/A转换扩展,18位并行D/A转换芯片DAC0832及其单片机的接口方法,DAC0832是带内部数据锁存器的单片式位高速电流型并行输出的DAC,其内部逻辑结构如图所示。,DAC0832的主要
25、技术特性如下:转换时间为1 s;数据输入可以采用单缓冲、双缓冲或直通方式;分辨率为8位;逻辑电平输入与TTL电平兼容;采用单一正电源供电。,-8位并行D/A转换器,35,03:31,10.2.1 并行D/A转换扩展,DAC0832的引脚定义如图所示。,DAC0832的主要引脚功能如下:/CS:片选信号,低电平有效,与ILE配合使用。该信号为高电平时,不能对输入锁存器进行写操作。ILE:允许输入锁存信号,高电平有效。该信号有效时才可能将数据线上的信息打入输入锁存器。,/WR1:写信号1,低电平有效。该信号有效时才可能将数据线上的信息写入8位输入锁存器。/WR2:写信号2,低电平有效。该信号有效时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学课件 【大学课件】单片机原理与接口技术课件 单片机系统模拟量及其他扩展技术 大学 课件 单片机 原理 接口 技术 系统 模拟 及其 扩展
链接地址:https://www.31ppt.com/p-6098813.html