单片机常用数据总线 -new

  • 格式:ppt
  • 大小:165.00 KB
  • 文档页数:68

下载文档原格式

  / 68
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。



I2C器件: 24lc01 1Kbit 128byte*8bit 24lc02 2Kbit 256byte*8bit 24lc64 64Kbit 8Kbyte*8bit

其他类似自定义串口器件 TLC5615 D/A TLC1549 A/D

来自百度文库
SPI总线
SPI 是MOTOROLA推出的一种芯片间四线 同步接口,SPI总线通过串行数据线 (MISO、MOSI)、串行时钟线(SCK) 和低电平片选线(CS)实现芯片间的数据传 输。其数据传输率最高可达1.05Mbps。
单片机常用数据总线
Intel 总线(MCS-51)

地址总线(16位) 数据总线(8位) 控制总线

由I/O口和其他控制信号对其他外设编码、选择 数据总线由P0口提供,与存储器、I/O扩展芯片等 进行数据交换
• Motorola总线与Intel总线类似,有些可以直接相连
常用串行总线

SCK
MOSI MISO 外围器件2 CS
外围器件扩展结构图
CS
SCK
DATA
MSB
LSB
SPI时序图
SPI时序软件模拟

写总线子程序

读总线子程序
write_spi: mov r7,#08H Spi_loop: clr SCLK rlc a mov MOSI,c setb SCLK djnz r7,spi_loop clr MOSI ret
总线上每个器件有唯一的地址(主器件 可以不需要器件地址),由主器件初始化总 线,产生允许传输的时钟信号。主从器件的 关系并不是固定的,发起本次数据传输的是 主机。SDA、SCL均需通过上拉电阻接至电 源;总线空闲时释放总线,这两条线保持高 电平;SDA线上的状态只有在SCl线为低电 平时才可以改变,SCl为高时改变SDA状态 认为是启停信号;8位数据位,一位应答位。
I2C总线上数据的有效性
I2C总线的信号连接示意图
主机向从机发送1 个字节数据的时序图
主机从从机接收1 个字节数据的时序图
若是接收多个字符,第一个应答由从机发出,此后应答由主机发出, 接收最后一个字符时,主机发送一个非应答信号(及SDA为高)
I2C总线优点

总线仅由2 根信号线组成 由此带来的好处有:节省芯片 I/O、节省PCB 面积、节省线材成本,等等。 总线协议简单 I2C ,比较易掌握I2C 总线协议的要领。 协议容易实现,得益于简单的协议规范,在芯片内部,以 硬件的方法实现I2C 部件的逻辑是很容易的。对应用工程 师来讲,即使MCU 内部没有硬件的I2C 总线接口,也能 够方便地利用开漏的I/O(如果没有,可用准双向I/O 代 替)来模拟实现。

HighSpeedConfigDscr: db DSCR_CONFIG_LEN ;; Descriptor length db DSCR_CONFIG ;; Descriptor type db (HighSpeedConfigDscrEnd-HighSpeedConfigDscr) mod 256 ;; Total Length (LSB) db (HighSpeedConfigDscrEnd-HighSpeedConfigDscr) / 256 ;; Total Length (MSB) db 1 ;; Number of interfaces db 1 ;; Configuration number db 0 ;; Configuration string db 10100000b ;; Attributes (b7 - buspwr, b6 - selfpwr, b5 rwu) db 50 ;; Power requirement (div 2 ma)


I2C总线优点

支持的器件多 NXP 半导体最早提出I2C 总线协议,目前 包括半导体巨头德州仪器(TI)、美国国家半导体 (National Semi)、意法半导体(ST)、美信半导体 (Maxim-IC)等都有大量器件带有I2C 总线接口,这为 设计产品时选择合适的I2C 器件提供了广阔的空间。 总线上可同时挂接多个器件 同一条I2C 总线上可以挂接 很多个器件,一般可达数十个以上,甚至更多。器件之间 是靠不同的编址来区分的,而不需要附加的I/O 线或地址 译码部件。


每次发起传输的第一字节是由7位从机地址 和一位方向位组成,方向位为0表示主机将 向从机写入数据,方向位为1表示主机将从 从机读入数据;传输时高位在前,低位在 后;每次传输的字节数量没有严格限制; 每次传输一个字节后要跟随一个应答位。 若传输中需改变传输方向,需重新发送起 始条件和从机地址。
I2C起始条件和停止条件

中断传输
传输少量数据,且数据延迟时间有限制,可由设备在任何时间发送。

同步传输
同步数据的建立传输和使用是连续且实时的,以稳定的速率发送和接收, 传输带宽确定,但不保证数据的正确性。



帧:全速标准每1ms一帧数据,可以用来检测、 传送是否有中断数据(保证带宽),能保证中断 及时得到处理,也可用来进行批量传送,但不保 证带宽。 微帧:高速下将每一帧分为3个微帧(125us一 个微帧),每个微帧最大可传输三个同步包(保 证带宽,无纠错)。 对于批量传输,有带宽可用时分配尽可能大的带 宽(带宽不保证,但有纠错)。如cypress的 FX2端口1的FIFO深度64字节,在批量传输下速 率可超过4MBps,端口2在同步方式下可达 24MBps。
SPI接口芯片通常都同时兼容Microwire/Plus 外围接口

SPI 串行开展系统中的主器件产生同步时 钟(SCK)控制数据的输入和输出。数据 的传送格式是高位(MSB)在前,低位(LSB) 在后。但对于不同的外围芯片,有可能 SCK上升沿,也有可能是下降沿读写数据。
MCU
SCK
MOSI MISO 外围器件1 CS
read_spi: mov r7,#08H Spi_loop: setb SCLK mov c,MISO rlc a clr SCLK djnz r7,spi_loop ret
SPI器件: GM8142 SPI转4串口 S25FL064A 64Mb串行闪存(Spansion )
1-wire总线简介

I2C 总线 SPI总线 USB总线 CAN总线
RS232 RS485


I2C总线
Inter Integrate Circuit BUS:芯片间总 线,以两根连线(SDA,SCL)实现双向 同步数据传送,是一种多主机总线,可以 方便扩展外围器件,速率:100Kbps(标 准)、400Kbps(快速)、3.4Mbps(高 速)。

1-wire是DALLAS公司推出的一项特有的 单总线技术。该技术采用单根信号线,进 行双向数据传输。单总线技术具有线路简 单、硬件开销少、成本低廉、便于总线扩 展和维护等优点,常用于各种监控系统。 常规模式传输速率为16kbps,高速模式速 率为140kbps。
优势 通过单线接口提供器件控制及操作 每个器件具有唯一的工厂光刻ID 从器件的供电和数据通信都是借助这条1Wire线完成的。供电通过以下方式实现: 在数据传输过程中,总线状态为高时为从 机的内部电容充电,总线状态为低时利用 电容存储的电荷为器件供电。

DeviceDscr: db DSCR_DEVICE_LEN ;; Descriptor length db DSCR_DEVICE ;; Decriptor type dw 0002H ;; Specification Version (BCD) db 00H ;; Device class db 00H ;; Device sub-class db 00H ;; Device sub-sub-class db 64 ;; Maximum packet size dw 4705H ;; Vendor ID dw 0210H ;; Product ID (Sample Device) dw 0000H ;; Product version ID db 1 ;; Manufacturer string index db 2 ;; Product string index db 0 ;; Serial number string index db 1 ;; Number of configurations
通用串行总线(USB)



独立供电:usb设备可使用总线供电,向设 备提供5V、500mA电流 支持多媒体传输,可支持异步及同步数据 传输 Usb具有稳定的传输,可工作在低功耗模式, 性价比高
USB数据流种类

控制传输
用于配置设备、发送命令。

批量传输
用于传输大批量数据,使用错误检测以保证可靠的数据传输。

目前一般厂家都针对自己的器件提供开发 包,开发者可以较方便的开发自己的USB 设备。如FTDI和Cypress都提供开发包和 不同应用下的驱动程序,开发者按自己要 求配置设备工作方式,按格式书写描述符, 即可快速开发出自己的USB设备。
FX2的描述符示例






支持多种通信方式,一主多从是最常见的通信方式。此外 还支持双主机通信、多主机通信以及广播模式等等。
I2C总线优点

通信速率高 I2C 总线标准传输速率为100kbps(每秒 100k 位)。在快速模式下为400kbps。按照后来修订的 版本,位速率可高达3.4Mbps。 兼顾低速通信 I2C 总线的通信速率也可以低至几kbps 以 下,用以支持低速器件(比如软件模拟的实现)或者用来 延长通信距离。 有一定的通信距离 一般情况下,I2C 总线通信距离有几 米到十几米。通过降低传输速率等办法,通信距离可延长 到数十米乃至数百米以上。


单总线属于单主机系统,可以控制一个或 多个从机设备。主机是控制器,从机是单 总线器件,主从机之间通过一根信号线进 行数据交换。 1-wire协议定义了严格的时序,所有单总 线器件都要遵循此时序,以保证数据的完 整性。
Vcc
4.7K
MCU
外围器件1
外围器件2
单总线系统结构图

DS2430A 256位1-Wire EEPROM DS2433 4k位1-Wire EEPROM

I2C总线优点

总线可裁减性好,在原有总线连接的基础上可以随时新增 或者删除器件。用软件可以很容易实现I2C 总线的自检功 能,能够及时发现总线上的变动。 总线电气兼容性好,I2C 总线规定器件之间以开漏I/O 互 联,这样,只要选取适当的上拉电阻就能轻易实现3V/5V 逻辑电平的兼容,而不需要额外的转换。





DeviceQualDscr: db DSCR_DEVQUAL_LEN ;; Descriptor length db DSCR_DEVQUAL ;; Decriptor type dw 0002H ;; Specification Version (BCD) db 00H ;; Device class db 00H ;; Device sub-class db 00H ;; Device sub-sub-class db 64 ;; Maximum packet size db 1 ;; Number of configurations db 0 ;; Reserved


通用串行总线(USB)


使用方便,可以连接多个不同设备,支持 热插拔,也不涉及IRQ冲突等问题,不与其 他设备争用pc机有限资源,真正做到即插 即用 传输速率高,支持三种信道速率:低速 1.5Mbps,全速12Mbps,高速480Mbps 多个usb设备可以分享同一信道 Usb接口支持不同设备的串列连接,一个 usb接口理论上可连接127个usb设备
起始、停止信号软件模拟
IIC起始子程序 Void iic_start() { SetSDA(); SetSCL(); ClrSDA(); ClrSCL(); }


IIC停止子程序 Void iic_stop() { ClrSDA(); SetSCL(); SetSDA(); }