欢迎来到天天文库
浏览记录
ID:37822367
大小:492.19 KB
页数:14页
时间:2019-05-31
《第11章 串行扩展技术》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、2016/3/51第11章:串行扩展技术11.1单总线串行扩展目录11.2SPI总线串行扩展11.3I2C总线扩展11.3.1I2C总线基础11.3.280C51的I2C总线时序模拟11.3.380C51与AT24C02的接口单片机总线扩展技术,按照数据传送方式,可分为两大类:并行总线扩展技术和串行总线扩展技术。并行总线速度快,适合短距离高速传送;串行总线连线少,结构简单,占用单片机的I/O口资源少,可直接与许多外围设备连接,适合远距离慢速传送。目前,单片机应用系统中常用的串行扩展总线有:•单总线(1-WireBUS)、•SPI总线(Se
2、rialPeripheralInterfaceBUS)、•I2C总线(Inter-IntegratedCircuitBUS)及•SMBus总线(SystemManagementBus)等。312016/3/5单总线(1-WireBus)是美国的Maxim全资子公司达拉斯(DALLAS)半导体公司推出了一项特有的串行扩展总线技术,已经集成到各种类型的芯片中,如存储器、温度传感器、A/D转换器、实时时钟和电池管理芯片等。单总线只有一条数据输入/输出线DQ,总线上的所有器件都挂在DQ上,电源也通过这条信号线供给,这种使用一条信号线的串行扩展技术
3、,称为单总线技术。单总线技术采用单根信号线,既能传输时钟,又能传输数据,而且数单总线技术据传输是双向的,实现半双工通信。单总线技术具有线路简单,硬件开销少,成本低廉,便于总线扩展和维护等诸多优点,在测量、控制、认证和识别等领域的应用越来越广泛。4单总线系统中配置的各种器件,由DALLAS公司提供的专用芯片实现。每个芯片都有64位ROM,厂家对每一个芯片用激光烧写编码,其中存有16位十进制编码序列号,它是器件的地址编号,确保它挂在总线上后,可以被唯一确定。图11-1单总线芯片的内部结构示意图5【例11-1】图11-2(a)所示为一个由单总线
4、构成的分布式温度监测系统实例,也可用于各种狭小空间内设备的数字测温。图中多个带有单总线接口的数字温度传感器DS18B20芯片都挂在单片机的1根I/O口线(即DQ线)上。单片机对每个DS18B20通过总线DQ寻址。DQ为漏极开路,需加上拉电阻。图11-2单总线构成的分布式温度监测系统622016/3/5DS18B20具有以下特点:(1)体积小、结构简单、使用方便。(2)每个芯片都有唯一的64位光刻ROM编码,家族码为28H。(3)温度测量范围-55~+125℃,在-10~+85℃范围内,测量精度可达±0.5℃。(4)DS18B20的分辨率为
5、可编程的9~12位(其中包括1位符号位),对应的温度变化量分别为0.5℃、0.25℃、0.125℃、0.0625℃。(5)DS18B20的转换时间与分辨率有关。当设定为9位时,转换时间为93.75ms;当设定为10位时,转换时间为187.5ms;当设定为11位时,转换时间为375ms;当设定为12位时,转换时间为750ms。(6)DS18B20片内含有SRAM(暂存寄存器)和E2PROM(非易失寄存器),单片机写入E2PROM的上下限温度值以及对DS18B20的设置,在芯片掉电的情况下不丢失。7SPI总线(SerialPeripheral
6、InterfaceBUS)的中文意思就是串行外部设备接口,SPI总线是由Motorola公司最先推出的全双工同步串行总线,允许单片机与各种外围设备以串行方式进行通信,主要应用在EEPROM,FLASHRAM,实时时钟,LCD显示驱动器,A/D转换器,D/A转换器等芯片中。标准的SPI总线可直接与各个厂家生产的具有SPI总线接口功能的各种I/O器件进行连接,只需通过4条信号线就可以实现主从设备之间的通信,被称为四线制同步串行总线。SPI使用4条线:串行时钟SCK,主器件输入/从器件输出数据线MISO,主器件输出/从器件输入数据线MOSI和从
7、器件选择线。8图11-3SPI外围串行扩展结构图图11-4SPI数据传送格式932016/3/5【例11-2】设计80C51单片机与串行A/D转换器TLC2543的SPI接口。图11-580C51单片机与TLC2543的SPI接口10具体的子程序如下:ADCOMDBYTE6FH;定义命令存储单元ADOUTHBYTE6EH;定义存储转换结果高4位单元ADOUTLBYTE6DH;定义存储转换结果低8位单元ADCONV:CLRP1.0;时钟脚为低电平CLRP1.3;片选有效,选中TLC2543MOVR2,#08H;送出下一次8位转换命令和读8位
8、转换结果做准备MOVA,ADCOMD;下一次转换的命令在ADCOMD单元中送ALOOP1:MOVC,P1.2;读入1位转换结果RRCA;1位转换结果带进位位右移MOVP1.1,C;送出命令字节
此文档下载收益归作者所有