340 likes | 453 Views
一、 I 2 C 串行扩展总线 1.I 2 C 总线接口电路结构. SDA :串行数据线 SCL :串行时钟. 在 I 2 C 总线上可以挂接各种类型的外围器件,如 RAM/EEPROM 、日历 / 时钟芯片、 A/D 转换器、 D/A 转换器、以及由 I/O 口、显示驱动器构成的各种模块。. 例: AT24C01 是 Atmel 公司生产的具有 I 2 C 总线接口的 E 2 PROM ,是 AT24C×× 系列存储器中的一种,芯片存储容量为 1Kb(128×8 位 ) 。 AT24C01 引脚如下图所示。. SCL :串行时钟端。
E N D
一、 I2C串行扩展总线 1.I2C总线接口电路结构 SDA:串行数据线 SCL:串行时钟 • 在I2C总线上可以挂接各种类型的外围器件,如RAM/EEPROM、日历/时钟芯片、A/D转换器、D/A转换器、以及由I/O口、显示驱动器构成的各种模块。
例:AT24C01是Atmel公司生产的具有I2C总线接口的E2PROM,是AT24C××系列存储器中的一种,芯片存储容量为1Kb(128×8位)。AT24C01引脚如下图所示。例:AT24C01是Atmel公司生产的具有I2C总线接口的E2PROM,是AT24C××系列存储器中的一种,芯片存储容量为1Kb(128×8位)。AT24C01引脚如下图所示。 • SCL:串行时钟端。 • SDA:串行数据端,漏极开路,需接上拉电阻到VCC。 • WP:写保护, 当WP为高电平时存储器只读; 当WP为低电平时存储器可读可写。 • A2~A0:芯片地址。
2.I2C数据格式 启动信号 从器件地址、读/写位 应答信号 若干数据字节 停止信号
DA3 DA2 DA1 DA0 A2 A1 A0 R/W 器件识别码 如:RTC 1101 EEPROM 1010 器件选择码 允许在共用的I2C总线上同时接8个同类器件 3.I2C地址设定 I2C总线器件的7位从器件地址(SLA-Slave Address)
4.I2C数据传送 I2C的主要命令只有读、写两种,虽然读写的字节根据具体器件的不同而不同,但其时序关系不会发生改变。 例: Dallas公司的时钟发生器DS1085操作时序。
I2C器件 5.I2C虚拟实现
10.5 单片机系统的抗干扰技术 一、干扰源及其分类 所谓干扰, 一般是指有用信号以外的噪声, 在信号输入、 传输和输出过程中出现的一些有害的电气变化现象。这些变化迫使信号的传输值、 指示值或输出值出现误差, 出现假像。 干扰对电路的影响, 轻则降低信号的质量, 影响系统的稳定性; 重则破坏电路的正常功能, 造成逻辑关系混乱, 控制失灵。
1.装置开口或隙缝处进入的辐射干扰(辐射) 2.电网变化干扰(传输) 3. 周围环境用电干扰(辐射、 传输、 感应) 4. 传输线上的反射干扰(传输) 5. 系统接地不妥引入的干扰(传输、 感应) 6. 外部线间串扰(传输、 感应) 7. 逻辑线路不妥造成的过渡干扰(传输)
8. 线间串扰(感应、 传输) 9.电源干扰(传输) 10.强电器引入的接触电弧和反电动势干扰(辐射、 传输、 感应) 11.内部接地不妥引入的干扰(传输) 12.漏磁感应(感应) 13.传输线反射干扰(传输) 14 .漏电干扰(传输)
二、干扰对单片机系统的影响 正常程序: 13F4 A274 MOV C, 2EH.4 13F6 E544 MOV A, 44H 13F8 3402 ADDC A, #2 13FA 13 RRC A 13FB F544 MOV 44H, A 13FD 9274 MOV 2EH.4, C 如果干扰使程序计数器PC出错, 在某时刻变为13F5H, CPU将执行如下程序片段, 掉进一个死循环: 13F5 74E5 MOV A, #0E5 13F7 4434 ORL A, #34 13F9 02113F5 LJMP 13F5H
三、硬件抗干扰技术 1.抗干扰稳压电源 (1) 应用系统的供电线路和产生干扰的用电设备分开供电。 (2) 通过低通滤波器和隔离变压器接入电网。 (3) 整流组件上并接滤波电容。滤波电容选用 1 000 pF ~ 0.01 μF的瓷片电容, 。 (4) 采用高质量的稳压电源。
89C51 2.输入输出隔离 光电耦合器隔离
3.过压保护电路 在输入通道上采用一定的过压保护电路, 以防引入高压, 损坏系统电路。 过压保护电路由限流电阻和稳压管组成, 稳压值以略高于最高传送信号电压为宜。对于微弱信号(0.2 V 以下), 采用两支反并联的二极管, 也可起到过压保护作用。
四、软件抗干扰技术 1.开关量输入方法
2.程序执行过程中的软件抗干扰 “指令冗余”与“软件陷阱” 下面三条指令即组成一个“软件陷阱”: NOP NOP LJMP ERR 一般使用在: 1)未使用的中断向量区 2)未使用的大片EPROM空间
3.WATCHDOG 如果“跑飞”的程序落到一个临时构成的死循环中, 冗余指令和软件陷阱都将无能为力, 这时可采取WATCHDOG(俗称“看门狗”)措施。 WATCHDOG有如下特性: (1) 本身能独立工作, 基本上不依赖于CPU。 CPU只在一个固定的时间间隔内与之打一次交道, 表明整个系统“目前尚属正常”。 (2) 当CPU落入死循环后, 能及时发现并使整个系统复位。
4.数字滤波 数字滤波有如下优点: (1) 数字滤波是由软件程序实现的, 不需要硬件, 因此不存在阻抗匹配的问题。 (2) 对于多路信号输入通道, 可以共用一个软件“滤波器”, 从而降低设备的硬件成本。 (3) 只要适当改变滤波器程序或运算参数, 就能方便地改变滤波特性, 这对于低频脉冲干扰和随机噪声的克服特别有效。
PUSH ACC ; 保护现场 PUSH PSW MOV A, 30H ; Yn→A CLR C SUBB A, 31H ; 求Yn-Yn-1 INC LP0 ; Yn-Yn-1≥0吗? CPL A ; Yn<Yn-1, 求补 LP0: CLR C CJNE A, #01H, LP2 ; Yn-Yn-1>Δ Y? LP1 : MOV 31H, 30H ; 等于ΔY, 本次采样值有效 SJMP LP3 LP2: JC LP1 ; 小于ΔY, 本次采样值有效 ; 大于ΔY, Yn =Yn-1 LP3: POP PSW POP ACC RET
(2)中值滤波 中值滤波是对某一被测参数连续采样n次(一般n取奇数), 然后把n次采样值按大小排列, 取中间值为本次采样值, 中值滤波能有效地克服偶然因素引起的波动或采样器不稳定引起的误码等脉冲干扰。 设SAMP为存放采样值的内存单元首地址, DATA为存放滤波值的内存单元地址, N为采样值个数, 中值滤波程序如下:
(3)算术平均滤波 对目标参数进行连续采样, 然后求取算术平均值作为有效采样值, 该算法适用于抑制随机干扰。