单片机需要串行扩展的原因:
社区安全报警系统,要对社区内众多地点的多个项目(例如,煤气泄漏,门磁开关,红外人体移动,温度,烟雾,玻璃破碎振动等)进行检测和报警,一旦出现异常情况能及时传送到物业管理部门或公安机关. 在这样一个庞大的监视网络中,众多的检测节点只能以串行方式接入系统.
推广使用的无线抄表技术,由于无线化的要求,不但要串行方式而且还必须采用串行无线数据传输的蓝牙接口
单片机Internet技术是为了把单片机接入互联网,进行控制信息的互联网传送,以实现更远距离以至异地自动检测与控制。而要把单片机接入互联网只能以串行方式。
虽然串行系统有速度较慢的缺点,但是随着单片机工作频率和性能的不断提高,速度问题已被逐渐淡化。
另外,串行方式还有连线简单,结构简化和成本低等优点,所以串行拓展已逐渐被广泛应用。
单片机串行扩展的实现方法主要有三种,即专用串行标准总线方法,串行通信口UART方法和软件模拟方法。
使用专用串行标准总线是串行扩展的主要方法。 目前常用的串行总线标准主要有: I2C总线,串行总线SPI和通用串行总线USB
I2C总线是一种串行同步通信技术,是Philips公司针对单片机需要而研制的,用于实现单片机串行外围扩展. I2C总线通过两条线以及两组信号的相互配合,就可以实现串行数据传输. I2C总线具有完善的总线协议,其内容涉及多个方面,这里只介绍其中的相关内容.
I2C总线具有严格的规范,具体表现在接口的电气性能,信号时序,信号传输的定义,总线状态设置和处理,以及总线管理规则等方面.
I2C总线结构
I2C总线是由串行时钟线SCL和串行数据线SDA构成的双向数据传输通路,其中SCL用于传送时钟信号,SDA用于传送数据信号. 通过I2C总线构成的单片机串行系统中,挂接在总线上的单片机以及各种外围芯片和设备等统称为器件.
一个I2C总线系统允许接入多个器件,传输速率不同也可以,甚至还可以是另一个远程I2C系统的驱动电路,从而形成两个I2C系统的相互交接. I2C总线系统中的器件都具有独立的电气性能,相互之间没有影响,可用独立电源供电(但需共地),并且可以在系统工作的情况下插拔
I2C总线器件接入
I2C总线的两条线SCL和SDA都是通过上拉电阻(一般为10kΩ)以漏极开路或集电极开路输出的形式接入I2C总线的.