单片机应用系统的串行扩展医学课件.ppt
《单片机应用系统的串行扩展医学课件.ppt》由会员分享,可在线阅读,更多相关《单片机应用系统的串行扩展医学课件.ppt(81页珍藏版)》请在三一办公上搜索。
1、单片机应用系统的 串行扩展,1,1,单片机应用系统的 串行扩展11,2,第11章 单片机应用系统的串行扩展11.1 单总线串行扩展 11.1.1 单总线系统的典型应用-DS18B20的温度测量系统 11.1.2 单总线DS18B20温度测量系统的设计11.2 SPI总线串行扩展11.3 I2C总线的串行扩展 11.3.1 I2C串行总线系统的基本结构 11.3.2 I2C总线的数据传送规定 11.3.3 AT89S52的I2C总线系统扩展 11.3.4 I2C总线数据传送的模拟 11.3.5 利用I2C总线扩展E2PROM AT24C02的IC卡设计,2第11章 单片机应用系统的串行扩展,3,
2、内容概要单片机应用系统除并行扩展外,串行扩展技术也已得到广泛应用。与并行扩展相比,串行接口器件与单片机相连需要的I/O口线很少,极大地简化了器件间的连接,进而提高了可靠性;串行接口器件体积小,占用电路板的空间小,减少了电路板空间和成本。常见的单片机串行扩展总线接口有单总线(1-Wire)、SPI串行外设接口以及I2C(Inter Interface Circuit)串行总线接口,本章介绍这几种串行扩展接口总线的工作原理及特点以及如何进行系统串行扩展的典型设计。,3内容概要,11.1 单总线串行扩展 单总线也称1-Wire bus,由美国DALLAS公司推出的外围串行扩展总线。它只有一条数据输入
3、/输出线DQ,总线上的所有器件都挂在DQ上,电源也通过这条信号线供给,这种只使用一条信号线的串行扩展技术,称为单总线技术。 单总线系统中配置的各种器件,由DALLAS公司提供的专用芯片实现。每个芯片都有64位ROM,厂家对每一芯片都用激光烧写编码,其中存有16位十进制编码序列号,它是器件的地址编号,确保它挂在总线上后,可唯一地被确定。,4,4,11.1 单总线串行扩展44,5,除了器件的地址编码外,芯片内还包含收发控制和电源存储电路,如图11-1所示。这些芯片的耗电量都很小(空闲时几W,工作时几mW),工作时从总线上馈送电能到大电容中就可以工作,故一般不需另加电源。,5 除了器件的地址编码外,
4、芯片内还包含收发控制和电源存,6,6,图11-1 单总线芯片的内部结构示意图,66图11-1 单总线芯片的内部结构示意图,11.1.1 单总线系统的典型应用-DS18B20的温度测量系统 单总线应用的典型案例是采用单总线温度传感器DS18B20的温度测量系统。1. 单总线温度传感器DS18B20简介 美国DALLAS公司推出的单总线接口的数字温度传感器,温度测量范围为55+128,在-10+85范围内,测量精度可达0.5。DS18B20体积小、功耗低,现场温度的测量直接通过“单总线”以数字方式传输,大大提高了系统的抗干扰性。非常适合于恶劣环境的现场温度测量,也可用于各种狭小空间内设备的测温,如
5、环境控制、过程监测、测温类消费电子产品以及多点温度测控系统等。,7,7,11.1.1 单总线系统的典型应用-DS18B20的温度测量,8,由于DS18B20可直接将温度转化成数字信号传送给单片机处理,因而可省去传统的信号放大、A/D转换等外围电路。 图11-2为单片机与多个带有单总线接口的数字温度传感器DS18B20芯片的分布式温度监测系统,图中多个DS18B20都挂在单片机的1根I/O口线(即DQ线)上。 单片机对每个DS18B20通过总线DQ寻址。DQ为漏极开路,须加上拉电阻。DS18B20的一种封装形式如图11-2所示。除DS18B20外,在该数字温度传感器系列中还有DS1820、DS1
6、8S20、DS1822等其他型号产品,工作原理与特性基本相同。,8 由于DS18B20可直接将温度转化成数字信号传送给,9,图11-2 单总线构成的分布式温度监测系统,9图11-2 单总线构成的分布式温度监测系统,片内有9个字节的高速暂存器RAM单元,具体内容如下:,10,10,第1字节和第2字节是在单片机发给DS18B20温度转换命令发布后,经转换所得的温度值,以两字节补码形式存放其中。一般情况下,用户多使用第1字节和第2字节。单片机通过单总线可读得该数据,读取时低位在前,高位在后。第3、4字节分别是由软件写入用户报警的上下限值TH和TL。第5字节为配置寄存器,可对其更改DS18B20的测温
7、分辨率,高速暂存器的,片内有9个字节的高速暂存器RAM单元,具体内容如下:,11,第6、7、8字节未用,为全1。第9字节是前面所有8个字节的CRC码,用来保证正确通信。片内还有1个E2PROM为TH、TL以及配置寄存器的映像。 配置寄存器(第5字节)各位的定义如下:,其中,最高位TM出厂时已被写入0,用户不能改变;低5位都为1;R1和R0用来设置分辨率。表11-1列出了R1、R0与分辨率和转换时间的关系。用户可通过修改R1、R0位的编码,获得合适的分辨率。,11第6、7、8字节未用,为全1。第9字节是前面所有8个字节,12,12,由表11-1可看出,DS18B20的转换时间与分辨率有关。当设定
8、分辨率为9位时,转换时间为93.75ms;当设定分辨率为12位时,转换时间为750ms。 表11-2列出了DS18B20温度转换后所得到的16位转换结果的典型值。,1212 由表11-1可看出,DS18B20的转换时间,13,13,下面介绍温度转换的计算方法。当DS18B20采集的温度为+125时,输出为07D0H,则:实际温度=(07D0H)/16=(0163+7162+13161 +0160)/16=125,1313下面介绍温度转换的计算方法。,当DS18B20采集的温度为-55时,输出为FC90H,由于是补码,则先将11位数据取反加1得0370H,注意符号位不变,也不参加运算,则:实际温
9、度=(0370H)/16=(0163+3162+7161 +0160)/16=55注意,负号则需要对采集的温度的结果数据进行判断后,再予以显示。2. DS18B20的工作时序 DS18B20对工作时序要求严格,延时时间需准确,否则容易出错。工作时序包括初始化时序、写时序和读时序。,14,14,当DS18B20采集的温度为-55时,输出为FC90,(1)初始化时序,单片机将数据线DQ电平拉低480960s后释放,等待1560s,单总线器件即可输出一持续60240s的低电平,单片机收到此应答后即可进行操作。(2)写时序,当单片机将数据线DQ电平从高拉到低时,产生写时序,有写“0”和写“1”两种时序
10、。写时序开始后,DS18B20在1560s期间从数据线上采样。如果采样到低电平,则向DS18B20写的是“0”;如果采样到高电平,则向DS18B20写的是“1”。这两个独立的时序间至少需要拉高总线电平1s的时间。,15,15,(1)初始化时序,单片机将数据线DQ电平拉低480960,16,(3)读时序,当单片机从DS18B20读取数据时,产生读时序。此时单片机将数据线DQ的电平从高拉到低使读时序被初始化。如果在此后的15s内,单片机在数据线上采样到低电平,则从DS18B20读的是“0”;如果在此后的15s内,单片机在数据线上采样到高电平,则从DS18B20读的是“1”。3. DS18B20的命
11、令 DS18B20片内都有唯一的64位光刻ROM编码,出厂时已刻好。它是DS18B20的地址序列码,目的是使每个DS18B20的地址都不相同,这样就可实现在一根总线上挂接多个DS18B20的目的。64位光刻ROM的各位定义如下:,16 (3)读时序,当单片机从DS18B20读取数据时,产生,17,17,单片机写入DS18B20的所有命令均为8位长,对ROM操作的命令见表11-3。,1717 单片机写入DS18B20的所有命令均为8位长,18,18,下面介绍表11-3中命令的用法。当主机需要对多个单总线上的某一DS18B20进行操作时,首先应将主机逐个与DS18B20挂接,读出其序列号(命令代码
12、为33H);然后再将所有的DS18B20挂接到总线上,单片机发出匹配ROM命令(55H),紧接着主机提供的64位序列号之后的操作就是针对该DS18B20的。如果主机只对一个DS18B20进行操作,就不需要读取ROM编码以及匹配ROM编码,只要使用跳过读ROM序列号(CCH)命令,就可按表11-4执行如下温度转换和读取命令。,1818 下面介绍表11-3中命令的用法。当主机需要对多个单,19,19,1919,11.1.2 单总线DS18B20温度测量系统的设计 【例11-1】利用DS18B20和LED数码管实现单总线温度测量系统,原理仿真电路如图11-3所示。DS18B20的测量范围是55128
13、。本例由于只接有两只数码管,所以显示的数值为0099。读者通过本例应掌握DS18B20的特性以及单片机I/O实现单总线协议的方法。 在Proteus环境下进行虚拟仿真时,用手动调整DS18B20的温度值,即用鼠标单击DS18B20图标上的“”或“”来改变温度,注意手动调节温度的同时,LED数码管上会显示出与DS18B20窗口相同的2位温度数值,表示测量结果正确。,20,20,11.1.2 单总线DS18B20温度测量系统的设计202,21,图11-3 单总线DS18B20温度测量与显示系统,21图11-3 单总线DS18B20温度测量与显示系统,图11-3 74LS47为BCD-7段译码器/驱
14、动器,用于将单片机P0口输出的欲显示的BCD码转化成相应的数字显示的段码,并直接驱动LED数码管显示。电路中的两个三极管用于两个数码管的位控端的选通和驱动。参考程序如下。,22,22,图11-3 74LS47为BCD-7段译码器/驱动器,用于将,23,23,2323,24,24,2424,25,25,2525,26,26,2626,27,27,28,28,29,29,30,30,11.2 SPI总线串行扩展 SPI(Serial Periperal Interface,串行外设接口)是Motorola公司推出的一种同步串行外设接口,允许单片机与多厂家的带有标准SPI接口的外围器件直接连接。所谓
15、同步,就是串行口每发送、接收一位数据都伴随有一个同步时钟脉冲来控制。 SPI外围串行扩展结构如图11-4所示。SPI使用4条线:串行时钟SCK,主器件输入/从器件输出数据线MISO,主器件输出/从器件输入数据线MOSI和从器件选择线CS*。,31,31,11.2 SPI总线串行扩展3131,32,图11-4 SPI外围串行扩展结构图,32图11-4 SPI外围串行扩展结构图,典型的SPI系统是单主器件系统,从器件通常是外围器件,如存储器、I/O接口、A/D、D/A、键盘、日历/时钟和显示驱动等。单片机使用SPI扩展多个外围器件时,SPI无法通过地址线译码选择,故外围器件都有片选端。在扩展单个S
16、PI器件时,外围器件的片选端CS*可以接地或通过I/O口控制;在扩展多个SPI器件时,单片机应分别通过I/O口线来分时选通外围器件。在SPI串行扩展系统中,如果某一从器件只作输入(如键盘)或只作输出(如显示器)时,可省去一条数据输出(MISO)线或一条数据输入(MOSI)线,从而构成双线系统(CS*接地)。 SPI系统中单片机对从器件的选通需控制其CS*端,由于,33,33,典型的SPI系统是单主器件系统,从器件通常是外围器,34,省去了地址字节,数据传送软件十分简单。但在扩展器件较多时,需要控制较多的从器件端,连线较多。 在SPI串行扩展系统中,作为主器件的单片机在启动一次传送时,便产生8个
17、时钟,传送给外围器件作为同步时钟,控制数据的输入和输出。数据的传送格式是高位(MSB)在前,低位(LSB)在后,如图11-5所示。数据线上输出数据的变化以及输入数据时的采样,都取决于SCK。但对于不同的外围芯片,有的可能是SCK的上升沿起作用,有的可能是SCK的下降沿起作用。SPI有较高的数据传输速度,最高可达1.05Mbit/s。,34省去了地址字节,数据传送软件十分简单。但在扩展器件较多时,35,35,图11-5 SPI数据传送格式,3535图11-5 SPI数据传送格式,目前世界各大公司为用户提供了一系列具有SPI接口的单片机和外围接口芯片,例如Motorola公司存储器MC2814、显
18、示驱动器MC14499和MC14489等各种芯片;美国TI公司的8位串行A/D转换器TLC549、10位串行A/D转换器TLC1549、12位串行A/D转换器TLC2543等。 SPI外围串行扩展系统的从器件要具有SPI接口。主器件是单片机。AT89S51单片机不带有SPI接口,可采用软件与I/O口结合来模拟SPI的接口时序。在SPI总线系统扩展的应用设计中,扩展串行D/A转换器和串行A/D转换器应用较多, AT89S52单片机与带有SPI串行接口的12位A/D转换器TLC2543的扩展设计案例已在11.7节介绍。,36,36,目前世界各大公司为用户提供了一系列具有SPI接口的,11.3 I2
19、C总线的串行扩展 I2C(Inter Interface Circuit)全称为芯片间总线,是应用广泛的芯片间串行扩展总线。目前世界上采用的I2C总线有两个规范,分别由荷兰飞利浦公司和日本索尼公司提出,现在多采用飞利浦公司的I2C总线技术规范,它已成为电子行业认可的总线标准。采用I2C技术的单片机以及外围器件种类很多,目前已广泛用于各类电子产品、家用电器及通信设备中。,37,37,11.3 I2C总线的串行扩展3737,38,11.3.1 I2C串行总线系统的基本结构 I2C串行总线只有两条信号线,一条是数据线SDA,另一条是时钟线SCL。SDA和SCL是双向的, I2C总线上各器件的数据线都
20、接到SDA线上,各器件的时钟线均接到SCL线上。 I2C总线系统的基本结构如图11-6所示。 带有I2C总线接口的主器件可直接与具有I2C总线接口的各种从器件(如存储器、I/O芯片、A/D或D/A转换器、键盘、显示器、日历/时钟芯片)连接。由于I2C总线采用纯软件的寻址方法,无需片选线的连接,这样就大大简化了总线数量。I2C串行总线的运行由主器件控制。主器件是指启动,3811.3.1 I2C串行总线系统的基本结构,39,39,图11-6 I2C串行总线系统的基本结构,3939图11-6 I2C串行总线系统的基本,数据的发送(发出起始信号)、发出时钟信号、传送结束时发出终止信号的器件,通常由单片
21、机来担当。从器件可以是存储器、LED或LCD驱动器、A/D或D/A转换器、时钟/日历器件等,从器件必须带有I2C串行总线接口。 当I2C总线空闲时,SDA和SCL两条线均为高电平。由于连接到总线上器件的输出级必须是漏级或集电极开路的,只要有一个器件任意时刻输出低电平,都将使总线上的信号变低,即各器件的SDA及SCL都是“线与”的关系。由于各器件输出端为漏级开路,故必须通过上拉电阻接正电源(图11-6中的两个电阻),以保证SDA和SCL在空闲时被上拉为高电平。,40,40,数据的发送(发出起始信号)、发出时钟信号、传送结束时发出终止,SCL线上的时钟信号对SDA线上的各器件间的数据传输起同步控制
22、作用。SDA线上的数据起始、终止及数据的有效性均要根据SCL线上的时钟信号来判断。 在标准的I2C普通模式下,数据的传输速率为100kbit/s,高速模式下可达400kbit/s。总线上扩展的器件数量不是由电流负载决定的,而是由电容负载确定的。I2C总线上的每个器件的接口处都有一定的等效电容,器件越多,电容值就越大,就会造成信号传输的延迟。总线上允许的器件数以器件的电容量不超过400pF(通过驱动扩展可达4000pF)为宜,据此可计算出总线长度及连接器件的数量。每个连到I2C总线上的器件都有一个唯一的地址,扩展器件数目的多少也要受器件地址数目的限制。,41,SCL线上的时钟信号对SDA线上的各
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 应用 系统 串行 扩展 医学 课件

链接地址:https://www.31ppt.com/p-1321658.html