存档

‘电子知识’ 分类的存档

固态硬盘与普通硬盘比较,有哪些优缺点

2010年6月27日 小卢 2 条评论
非常之郁闷,今天去教室看书,结果,本科生考试。杯具了。转了一圈没找到一个教室看书!愤然回来了。
翻了翻网易的笔试题。看到有谈到固态硬盘和传统硬盘。以前只有简单了解,没有仔细分析。于是…百度、谷歌…
优点:
1. 启动快,没有电机加速旋转的过程。
2. 不用磁头,快速随机读取,读延迟极小。根据相关测试:两台电脑在同样配置的电脑下,搭载固态硬盘的笔记本从开机到出现桌面一共只用了18秒,而搭载传统硬盘的笔记本总共用了31秒,两者几乎有将近一半的差距。
3. 相对固定的读取时间。由于寻址时间与数据存储位置无关,因此磁盘碎片不会影响读取时间。
4. 基于DRAM的固态硬盘写入速度极快。
5. 无噪音。因为没有机械马达和风扇,工作时噪音值为0分贝。某些高端或大容量产品装有风扇,因此仍会产生噪音。
6. 低容量的基于闪存的固态硬盘在工作状态下能耗和发热量较低,但高端或大容量产品能耗会较高。
7. 内部不存在任何机械活动部件,不会发生机械故障,也不怕碰撞、冲击、振动。这样即使在高速移动甚至伴随翻转倾斜的情况下也不会影响到正常使用,而且在笔记本电脑发生意外掉落或与硬物碰撞时能够将数据丢失的可能性降到最小。
8. 工作温度范围更大。典型的硬盘驱动器只能在5到55摄氏度范围内工作。而大多数固态硬盘可在-10~70摄氏度工作,一些工业级的固态硬盘还可在-40~85摄氏度,甚至更大的温度范围下工作。
9. 低容量的固态硬盘比同容量硬盘体积小、重量轻。但这一优势随容量增大而逐渐减弱。直至256GB,固态硬盘仍比相同容量的普通硬盘轻。
缺点:
1. 成本高。每单位容量价格是传统硬盘的5~10倍(基于闪存),甚至200~300倍(基于DRAM)。
2. 容量低。目前固态硬盘最大容量远低于传统硬盘。固态硬盘的容量仍在迅速增长,据称IBM已测试过4TB的固态硬盘。
3. 由于不像传统硬盘那样屏蔽于法拉第笼中,固态硬盘更易受到某些外界因素的不良影响。如断电(基于DRAM的固态硬盘尤甚)、磁场干扰、静电等。
4. 写入寿命有限(基于闪存)。一般闪存写入寿命为1万到10万次,特制的可达100万到500万次,然而整台计算机寿命期内文件系统的某些部分(如文件分配表)的写入次数仍将超过这一极限。特制的文件系统或者固件可以分担写入的位置,使固态硬盘的整体寿命达到20年以上。
5. 基于闪存的固态硬盘在写入时比传统硬盘慢很多,也更易受到写入碎片的影响。
6. 数据损坏后难以的恢复。传统的磁盘或者磁带存储方式,如果硬件发生损坏,通过目前的数据恢复技术也许还能挽救一部分数据。但如果固态硬盘发生损坏,几乎不可能通过目前的数据恢复技术在失效(尤其是基于DRAM的)、破碎或者被击穿的芯片中找回数据。
7. 根据实际测试,使用固态硬盘的笔记本电脑在空闲或低负荷运行下,电池航程短于使用7200RPM的2.5英寸传统硬盘。
8. 基于DRAM的固态硬盘在任何时候的能耗都高于传统硬盘,尤其是关闭时仍需供电,否则数据丢失。
9. 据用户反映,使用低廉的MLC的固态硬盘在Windows操作系统下运行比传统硬盘慢。这是由于Windows操作系统的文件系统机制不适于固态硬盘。在Linux下无此问题。
分类: 电子知识 标签:

74系列芯片功能大全(二)

2008年3月22日 小卢 没有评论
74系列芯片功能大全(二)
7400 QUAD 2-INPUT NAND
GATES
与非门
7401 QUAD 2-INPUT NAND GATES
OC
与非门

7402 QUAD 2-INPUT NOR
GATES
或非门 7403 QUAD 2-INPUT NAND
GATES
与非门

7404 HEX INVERTING
GATES
反向器 7406 HEX INVERTING GATES
HV
高输出反向器

7408 QUAD 2-INPUT AND
GATE
与门 7409 QUAD 2-INPUT AND GATES
OC
与门

7410 TRIPLE 3-INPUT NAND
GATES
与非门 7411 TRIPLE 3-INPUT AND
GATES
与门

74121 ONE-SHOT WITH
CLEAR
单稳态 74132 SCHMITT TRIGGER NAND GATES 触发器与非门

7414 SCHMITT TRIGGER INVERTERS 触发器反向器 74153 4-LINE TO 1 LINE
SELECTOR
四选一

74155 2-LINE TO 4-LINE
DECODER
译码器 74180 PARITY
GENERATOR/CHECKER
奇偶发生检验

74191 4-BIT BINARY COUNTER
UP/DOWN
计数器 7420 DUAL 4-INPUT NAND
GATES
双四输入与非门

7426 QUAD 2-INPUT NAND
GATES
与非门 7427 TRIPLE 3-INPUT NOR
GATES
三输入或非门

7430 8-INPUT NAND
GATES
八输入端与非门 7432 QUAD 2-INPUT OR
GATES
二输入或门

7438 2-INPUT NAND GATE BUFFER
与非门缓冲器 7445 BCD-DECIMAL DECODER/DRIVER BCD译码驱动器

7474 D-TYPE
FLIP-FLOP
D型触发器 7475 QUAD
LATCHES
双锁存器

7476 J-K
FLIP-FLOP
J-K触发器 7485 4-BIT MAGNITUDE
COMPARATOR
四位比较器

7486 2-INPUT EXCLUSIVE OR GATES
双端异或门 74HC00 QUAD 2-INPUT NAND
GATES
双输入与非门

74HC02 QUAD 2-INPUT NOR GATES
双输入或非门 74HC03 2-INPUT OPEN-DRAIN NAND
GATES
与非门

74HC04 HEX
INVERTERS
六路反向器 74HC05 HEX INVERTERS OPEN
DRAIN
六路反向器

74HC08 2-INPUT AND
GATES
双输入与门 74HC107 J-K FLIP-FLOP WITH
CLEAR
J-K触发器

74HC109A J-K FLIP-FLOP
W/PRESET
J-K触发器 74HC11 TRIPLE 3-INPUT AND
GATES
三输入与门

74HC112 DUAL J-K
FLIP-FLOP
双J-K触发器 74HC113 DUAL J-K FLIP-FLOP
PRESET   双JK触发器

74HC123A RETRIGGERABLE MONOSTAB可重触发单稳 74HC125 TRI-STATE QUAD
BUFFERS
四个三态门

74HC126 TRI-STATE QUAD
BUFFERS
六三态门 74HC132 2-INPUT TRIGGER NAND 施密特触发与非门

74HC133 13-INPUT NAND GATES
十三输入与非门 74HC137 3-TO-8 DECODERS W/LATCHES 3-8线译码器

74HC138 3-8 LINE
DECODER
3线至8线译码器 74HC139 2-4 LINE
DECODER
2线至4线译码器

74HC14 TRIGGERED HEX INVERTER
六触发反向器 74HC147 10-4 LINE PRIORITY
ENCODER
编码器

74HC148 8-3 LINE PRIORITY
ENCODER
编码器 74HC149 8-8 LINE PRIORITY
ENCODER
编码器

74HC151 8-CHANNEL DIGITAL
MUX
8通道多路器 74HC153 DUAL 4-INPUT
MUX
双四输入多路器

74HC154 4-16 LINE
DECODER
4线至16线译码器 74HC155 2-4 LINE
DECODER
2线至4线译码器

74HC157 QUAD 2-INPUT
MUX
四个双端多路器 74HC161 BINARY
COUNTER
二进制计数器

74HC163 DECADE
COUNTERS
十进制计数器 74HC164 SERIAL-PARALLEL SHIFT
REG
串入并出

74HC165 PARALLEL-SERIAL SHIFT
REG   并入串出 74HC166
SERIAL-PARALLEL SHIFT
REG
串入并出

74HC173 TRI-STATE D
FLIP-FLOP
三态D触发器 74HC174 HEX D FLIP-FLOP
W/CLEAR
六D触发器

74HC175 HEX D FLIP-FLOP
W/CLEAR
六D触发器 74HC181 ARITHMETIC LOGIC
UNIT
算术逻辑单元

74HC182 LOOK AHEAD CARRYGENERATR 进位发生器 74HC190 BINARY UP/DN
COUNTER 二进制加减计数器

74HC191 DECADE UP/DN COUNTER 十进制加减计数 74HC192 DECADE UP/DN
COUNTER 十进制加减计数器

74HC193 BINARY UP/DN COUNTER 二进制加减计数 74HC194 4BIT BI-DIR
SHIFT
4位双向移位寄存器

74HC195 4BIT PARALLEL SHIFT 4位并行移位寄存 74HC20 QUAD 4-INPUT
NAND GATE   四个四入与非门

74HC221A NON-RETRIG MONOSTAB 不可重触发单稳 74HC237 3-8 LINE
DECODER 地址锁3线至8线译码器

74HC242/243 TRI-STAT TRANSCEIVER 三态收发器 74HC244 OCTAL 3-STATE
BUFFER
八个三态缓冲门

74HC245 OCTAL 3-STATE TRANSCEIVER三态收发器 74HC251 8-CH 3-STATE
MUX
8路3态多路器

74HC253 DUAL 4-CH 3-STATE MUX
4路3态多路器 74HC257 QUAD 2-CH 3-STATE
MUX
4路3态多路器

74HC258 2-CH 3-STATE
MUX
2路3态多路器 74HC259 3-8 LINE
DECODER
8位地址锁存译码器

74HC266A 2-INPUT EXCLUSIVE NOR
GATE   异或非 74HC27 TRIPLE
3-INPUT NOR GATE三个3输入或非门

74HC273 OCTAL D FLIP-FLOP CLEAR
8路D触发器 74HC280 9BIT ODD/EVEN
GENERATOR
奇偶发生器

74HC283 4BIT BINARY ADDER CARRY
四位加法器 74HC299 3-STATE UNIVERSAL
SHIFT   三态移位寄存

74HC30 8-INPUT NAND
GATE
8输入端与非门 74HC32 QUAD 2-INPUT OR
GATE
四个双端或门

74HC34
NON-INVERTER
非反向器 74HC354 8-CH 3-STATE
MUX
8路3态多路器

74HC356 8-CH 3-STATE
MUX
8路3态多路器 74HC365 HEX 3-STATE
BUFFER
六个三态缓冲门

74HC366 3-STATE BUFFER INVERTER
缓冲反向器 74HC367 3-STATE BUFFER
INVERTER
缓冲反向器

74HC368 3-STATE BUFFER INVERTER
缓冲反向器 74HC373 3-STATE OCTAL D LATCHES 三态D型锁存器

74HC374 3-STATE OCTAL D FLIPFLOP三态D触发器
74HC393   4-BIT BINARY COUNTER
4位二进制计数器

74HC4016 QUAD ANALOG SWITCH
四路模拟量开关 74HC4020 14-Stage Binary Counter 14输出计数器

74HC4017 Decade Counter/Divider with 10 Decoded Outputs
十进制计数器带10个译码输出端

74HC4040 12 Stage Binary Counter 12出计数器 74HC4046 PHASE LOCK
LOOP
相位监测输出器

74HC4049 LEVEL DOWN
CONVERTER
电平变低器 74HC4050 LEVEL DOWN
CONVERTER
电平变低器

74HC4051 8-CH ANALOG
MUX
8通道多路器 74HC4052 4-CH ANALOG
MUX
4通道多路器

74HC4053 2-CH ANALOG
MUX
2通道多路器 74HC4060 14-STAGE BINARY
COUNTER   14阶BIN计数

74HC4066 QUAD ANALOG
MUX
四通道多路器 74HC4075 TRIPLE 3-INPUT OR
GATE
3输入或门

74HC42 BCD TO
DECIMAL
BCD转十进制译码器 74HC423A RETRIGGERABLE
MONOSTAB   可重触发单稳

74HC4511 BCD-7 SEG DRIVER/DECODER 7段译码器 74HC4514 4-16 LINE
DECODER
4至16线译码器

74HC4538A RETRIGGERAB MONOSTAB 可重触发单稳 74HC4543 LCD BCD-7 SEG
LCD用的BCD-7段译码驱动

74HC51 AND OR GATE
INVERTER
与或非门 74HC521 8BIT MAGNITUDE
COMPARATOR
判决定路

74HC533 3-STATE D
LATCH
三态D锁存器 74HC534 3-STATE D
FLIP-FLOP
三态D型触发器

74HC540 3-STATE
BUFFER
三态缓冲器 74HC541 3-STATE BUFFER INVERTER三态缓冲反向器

74HC58 DUAL AND OR
GATE
与或门 74HC589 3STATE 8BIT SHIFT 8位移位寄存三态输出

74HC594 8BIT SHIFT
REG
8位移位寄存器 74HC595 8BIT SHIFT
REG
8位移位寄存器出锁存

74HC597 8BIT SHIFT REG
8位移位寄存器入锁存 74HC620 3-STATE
TRANSCEIVER
反向3态收发器

74HC623 3-STATE TRANSCEIVER
八路三态收发器 74HC640 3-STATE
TRANSCEIVER
反向3态收发器

74HC643 3-STATE TRANSCEIVER
八路三态收发器 74HC646 NON-INVERT BUS TRANSCEIVER 总线收发器

74HC648 INVERT BUS TRANCIVER 反向总线收发器 74HC688 8BIT MAGNITUDE
COMPARATOR 8位判决电路

74HC7266 2-INPUT EXCLUSIVE NOR GATE异或非门 74HC73 DUAL J-K
FLIP-FLOP W/CLEAR
双JK触发器

74HC74A PRESET/CLEAR D
FLIP-FLOP   双D触发器 74HC75 4BIT
BISTABLE
LATCH
4位双稳锁存器

74HC76 PRESET/CLEAR JK FLIP-FLOP 双JK触发器 74HC85 4BIT MAGNITUDE
COMPARATOR   4位判决电路

74HC86 2INPUT EXCLUSIVE OR GATE 2输入异或门 74HC942 BAUD
MODEM
300BPS低速调制解调器

74HC943 300 BAUD MODEM 300BPS低速调制解调器 74LS00 QUAD 2-INPUT
NAND
GATES
与非门

74LS02 QUAD 2-INPUT NOR
GATES
或非门 74LS03 QUAD 2-INPUT NAND
GATES
与非门

74LS04 HEX INVERTING
GATES
反向器 74LS05 HEX INVERTERS OPEN
DRAIN
六路反向器

74LS08 QUAD 2-INPUT AND
GATE
与门 74LS09 QUAD 2-INPUT AND GATES
OC
与门

74LS10 TRIPLE 3-INPUT NAND
GATES
与非门   74LS109 QUAD 2-INPUT AND
GATES
OC
与门

74LS11 TRIPLE 3-INPUT AND
GATES
与门 74LS112 DUAL J-K
FLIP-FLOP
双J-K触发器

74LS113 DUAL J-K FLIP-FLOP PRESET双JK触发器 74LS114 NEGATIVE J-K
FLIP-FLOP   负沿J-K触发器

74LS122 Retriggerable Monostab 可重触发单稳 74LS123 Retriggerable
Monostable 可重触发单稳

74LS125 TRI-STATE QUAD
BUFFERS
四个三态门 74LS13 QUAL 4-in NAND TRIGGER 4输入与非触发器

74LS160 BCD DECADE 4BIT BIN COUNTERS 计数器 74LS136 QUADRUPLE
2-INPUT XOR
GATE
异或门

74LS138 3-8 LINE
DECODER
3线至8线译码器 74LS139 2-4 LINE
DECODER
2线至4线译码器

74LS14 TRIGGERED HEX INVERTER
六触发反向器 74LS151 8-CHANNEL DIGITAL
MUX
8通道多路器

74LS153 DUAL 4-INPUT
MUX
双四输入多路器 74LS155 2-4 LINE
DECODER
2线至4线译码器

74LS156 2-4 LINE
DECODER/DEMUX
2-4译码器 74LS157 QUAD 2-INPUT
MUX
四个双端多路器

74LS158 2-1 LINE
MUX
2-1线多路器 74LS160A BINARY
COUNTER
二进制计数器

74LS161A BINARY
COUNTER
二进制计数器 74LS162A BINARY
COUNTER
二进制计数器

74LS163A DECADE
COUNTERS
十进制计数器 74LS164 SERIAL-PARALLEL SHIFT
REG
串入并出

74LS168 BI-DIRECT BCD TO DECADE
双向计数器 74LS169 4BIT UP/DN BIN COUNTER 四位加减计数器

74LS173 TRI-STATE D
FLIP-FLOP
三态D触发器 74LS174 HEX D FLIP-FLOP
W/CLEAR
六D触发器

74LS175 HEX D FLIP-FLOP
W/CLEAR
六D触发器 74LS190 BINARY UP/DN COUNTER 二进制加减计数器

74LS191 DECADE UP/DN COUNTER 十进制加减计数 74LS192 DECADE UP/DN
COUNTER 十进制加减计数器

74LS193 BINARY UP/DN COUNTER 二进制加减计数 74LS194A 4BIT BI-DIR
SHIFT   4位双向移位寄存器

74LS195A 4BIT PARALLEL SHIFT4位并行移位寄存 74LS20 QUAD 4-INPUT
NAND GATE   四个四入与非门

74LS21 4-INPUT AND
GATE
四输入端与门 74LS240 OCTAL 3-STATE
BUFFER
八个三态缓冲门

74LS244 OCTAL 3-STATE BUFFER 八个三态缓冲门

74LS245 OCTAL 3-STATE TRANSCEIVER三态收发器 74LS253 DUAL 4-CH
3-STATE
MUX
4路3态多路器

74LS256 4BIT ADDRESS LATCH 四位可锁存锁存器 74LS257 QUAD 2-CH
3-STATE
MUX
4路3态多路器

74LS258 2-CH 3-STATE
MUX
2路3态多路器 74LS27 TRIPLE 3-INPUT NOR
GATES   三输入或非门

74LS279 QUAD R-S
LATCHES
四个RS非锁存器 74LS28 QUAD 2-INPUT NOR BUFFER 四双端或非缓冲

74LS283 4BIT BINARY ADDER CARRY
四位加法器 74LS30 8-INPUT NAND
GATES
八输入端与非门

74LS32 QUAD 2-INPUT OR
GATES
二输入或门 74LS352 4-1 LINE SELECTOR/MUX 4-1线选择多路器

74LS365 HEX 3-STATE
BUFFER
六个三态缓冲门 74LS367 3-STATE BUFFER
INVERTER
缓冲反向器

74LS368A 3-STATE BUFFER INVERTER 缓冲反向器 74LS373 OCT LATCH
W/3-STATE OUT三态输出锁存器

74LS76 Dual JK Flip-Flop w/set
2个JK触发器 74LS379 QUAD PARALLEL
REG
四个并行寄存器

74LS38 2 …

分类: 电子知识 标签:

红外遥控器信号的接收和转发

2008年3月22日 小卢 没有评论

红外遥控器信号的接收和转发

摘要:介绍用51系列单片机采集家用电器红外遥控器信号,并将其转发原理。文中给出红外接收芯片的外围电路和测量接收波形的程序。


   
关键词:
红外遥控 单片机系统 转发

红外遥控在家电产品中有广泛应用,但各产生的遥控器不能相互兼容。目前市场上常见的万能遥控器只能对某几种产品进行控制,不是真正的“万能”,而且不能对新上市的产品进行控制。本文介绍一种用单片机对红外遥控器信号接收和转发的方法,由于只关心发射信号波形中的高低电平的宽度,不管其如何编码,因此可以用来实现自学习万能遥控器。

一、红外信号的接收和波形测量

所有红外遥控器的输出都是用编码后串行数据对38~40kHz的方波进行脉冲幅度调制而产生的。如果直接对已调波进行测量,由于单片机的指令周期是微秒(μs)级,而已调波的脉宽只有20多μs,会产生很大的误差。因此先要对已调波进行解调,对解调后的波形进行测量。

300){this.resized=true;this.style.width=300;}” vspace=1
border=0 resized=”true”>

   
红外遥控接收芯片CX20106可以完成对遥控信号的前置放大、限幅放大、带通滤波、峰值检波和波形整形,只需加上简单的外围电路即可完成对已调波的解调,原理如图1所示。

将CX20106解调出的遥控编码脉冲直接连入8751单片机的INT0和T0脚,定时器T)和T1都初始化为定时器工作方式1,T0的GATE位置位。每次外部中断首先停止定时,记录T0、T1的计数值,然后将T0、T1的计数值清零,并重新启动定时。T0的值即为高电平脉宽,T1-T0的值为低电平脉宽,如图2所示。

测量波形的外部中断服务程序的流程如图3所示。

测量波形的外部中断服务程序如下:

interup0:clr tr0300){this.resized=true;this.style.width=300;}” align=right
vspace=1 border=0 resized=”true”>

clr tr1

push psw

push acc

inc test

jb first,RE

mov a,tl0

mov temp1,a

mov a,th0

mov temp2,a

mov a,tl1

clr c300){this.resized=true;this.style.width=300;}” align=right
vspace=1 border=0 resized=”true”>

subb a,temp1

movx @dptr,a

inc dptr

mov a,th1

subb a,temp2

movx @dptr,a

inc dptr

mov a,temp1

movx @dptr,a

inc dptr

mov a,temp2

movx @dptr,a300){this.resized=true;this.style.width=300;}” align=right
vspace=1 border=0 resized=”true”>

inc dptr

RE:clr first

mov tl0,#0

mov th0,#0

mov tl1,#0

mov th1,#0

setb tr0

setb tr1

二、测量数据的转发

只须用的数据周期性地改变P1.0就可以得到原来的遥控编码脉冲,流程如图4所示。

三、产生遥控发射信号300){this.resized=true;this.style.width=300;}” align=right
vspace=1 border=0 resized=”true”>

用遥控脉冲信号调制38kHz方波,然后将已调波放大,驱动红外发光二极管,就可以得到遥发射信号。调制可用一个或门实现,38kHz方波可用8751的定时器T1产生,如图5所示。

有些遥控器的载频可能是40kHz,只须稍微加大发射功率仍然可用38kHz载频使其接收电路动作。

四、应用领域

只须加上键盘和液晶或数码显示电路,并扩展一定数量的RAM,就可以用此方法实现自学习万能遥控器。笔者已对目前市面上的彩电、影蝶机、录像机、投影仪、空调器等产品的常见品牌进行过实验,均实现了准确的接收和转发。此外,只要在图5所示电路前加一级编码模块(可用软件实现)作为发射单元;图1所示电路加上波形测量软件作接收单元,再加上相应的解码控制软件就可组成一个通用红外收发控制系统或数据传输系统,不需要再增加额外的硬件。

分类: 电子知识 标签:

51红外遥控解码

2008年3月22日 小卢 没有评论
51红外遥控解码

红外遥控在生产和生活中应用越来越广泛,不同的红外遥控芯片有不同的发码协议,但一般都是由引导码,系统码,键码三部分组成.

引导码是告诉接收机准备接收红外遥控码.系统码是识别码,不同的遥控芯片有不同的误别码,以免搞错.

遥控器上不同的按键有不同的键码,系统码和键码都是16位码,8位正码,8位反码.如SC6122的系统码是FF00,FF和00互为反码,键码



1为EF10也是互为反码.

  SC6122的引导码为低电平为9000微秒,高电平为4500微秒.当然高电平不可能精确为9000微秒,在8000微秒到10000微秒都看作是正



常范围,低电平在4000-5000之间都看作是正常范围.引导码后的32位编码(16位系统码和16位键码)不管高低电平,载波时间都是



560微秒,但低电平持续时间是1125微秒,高电平持续时间是2250微秒,所以低电平除去载波时间大约是560微秒,高电平除去载波时间



大约是1680微秒.低电平也有一个波动范围,在400-700之间都看作是正常的,具体多少可以通过示波器测量出来.高电平也有一个波



动范围,在400-2000之间都看作是正常的,具体多少也是根据经验.当然范围越宽,捕捉红外线的范围也越宽,越精确.在捕捉到有高低



电平之间,在560-1680之间取一个中间值1120微秒,认为小于1120微秒是低电平,大于1120微秒是高电平.

下面有两个经过实践能在实验板上显示键码的程序,一个是汇编写的,一个是用C写的,与大家一起探讨遥控器.

以下程序能在LCD上显示系统码和键码,按不同的按键,系统码不变,变的是键码.有不懂的地方可以在留言本上留言.

RS EQU
P2.5                
;这几个是LCD引脚.

RW EQU P2.6 

E EQU P2.7 



IRR EQU
P3.3               
;红外接收的输出接P3.3.



BUF EQU 30H ;30H-33H保存解码结果





;=============================================

ORG 0000H

AJMP MAIN



;=============================================

ORG 0030H

MAIN:

MOV SP,#70H ;堆栈指针设到70H的地方



ACALL
INIT_LCD                                   
;初始化LCD



MOV R7,#10

ACALL DELAY_MS



MOV DPTR,#MSG1

CALL
DISPLAY_LINE1                       
;在第一行显示 Test8: IR Reader

MOV DPTR,#MSG2

CALL
DISPLAY_LINE2                       
;在第二行显示www.mcuedu.com  





MAIN_LOOP:

JB IRR,$ ;等待接收头信号为低

ACALL GET_LOW ;测量引导脉冲低电平

CLR C

MOV A,R7

SUBB A,#(8000/50)
;SC6122的引导脉冲低电平为9000US,我们只要测到低电平的值在8000-10000US范围内就认为合格的.

JC MAIN_LOOP ;如果小于8000US,不对,重新等待接收



CLR C

MOV A,R7

SUBB A,#(10000/50)

JNC MAIN_LOOP



ACALL GET_HIGH ;测量引导脉冲高电平

CLR C

MOV A,R7

SUBB A,#(4000/50)

JC
MAIN_LOOP                   
;如果小于4000US,不对,重新等待接收



CLR C

MOV A,R7

SUBB A,#(5000/50)

JNC
MAIN_LOOP                       
;如果大于5000US,不对,重新等待接收





MOV R0,#BUF ;



MOV R5,#8
;SC6122发的码有32位,我们用4个字节来存放,每个字节有8位



IR_NEXT:



CALL GET_LOW



CLR C

MOV A,R7

SUBB A,#(300/50) ;300US

JC
MAIN_LOOP                               
;低电平小于300微秒认为不对,重新接收



CLR C

MOV A,R7

SUBB A,#(800/50) ;800US

JNC
MAIN_LOOP                               
;低电平大于800微秒认为不对,重新接收





ACALL GET_HIGH

CLR C

MOV A,R7

SUBB A,#(300/50) ;300US

JC
MAIN_LOOP                               
;高电平小于300微秒认为不对,重新接收



CLR C

MOV A,R7

SUBB A,#(2000/50) ;2000US

JNC
MAIN_LOOP                                    
;高电平大于2000微秒认为不对,重新接收





CLR C

MOV A,R7

SUBB A,#(1120/50)
                          
;跟中间值1120进行比较





RRC A

MOV
@R0,A                                   
;通过CY移到间接地址R0中去

DJNZ
R5,IR_NEXT                                   
;8位移完了吗

MOV R5,#8

INC R0

MOV A,R0

XRL A,#(BUF+4)

JNZ IR_NEXT ;如果不到4个字节,接收下一个





MOV DPTR,#MSG_6122

ACALL DISPLAY_LINE1 ;显示格式名称



ACALL DISPLAY_IR_CODE ;显示码





AJMP MAIN_LOOP

;============================================ 

MSG1: DB ” Test8: IR Reader “

MSG2: DB ” www.mcuedu.com “

MSG_6122: DB ” Format: SC6122 “

;============================================

;转为ASCII码在LCD在显示

TO_ASCII:

CJNE A,#0AH,TO_ASCII_1

TO_ASCII_1:

JC TO_ASCII_2 ;小于10

ADD A,#(‘A’-10)

RET

TO_ASCII_2:

ADD A,#’0′

RET

;============================================

DISPLAY_IR_CODE:

MOV A,#0C0H ;显示在第二行

ACALL SEND_COMMAND_BYTE ;设置DDRAM地址



MOV R0,#BUF

DISPLAY_IR_CODE_NEXT:

MOV A,@R0

SWAP A

ANL
A,#0FH                           
;分离出高字节

ACALL
TO_ASCII                               
;转为ASCII码

ACALL
SEND_DATA_BYTE                            
;显示 

MOV A,@R0

ANL
A,#0FH                           
;分离出低字节

ACALL
TO_ASCII                                
;转为ASCII码

ACALL
SEND_DATA_BYTE                           
;显示 

MOV A,#’ ‘

ACALL
SEND_DATA_BYTE                               
;显示空格



INC R0

MOV A,R0

XRL A,#(BUF+4)

JNZ DISPLAY_IR_CODE_NEXT



MOV R0,#8 ;第2行共有20个字符,前面显示用了12个,再用8个空格填满

DISPLAY_IR_CODE_B:

MOV A,#’ ‘

ACALL SEND_DATA_BYTE

DJNZ R0,DISPLAY_IR_CODE_B



RET





;============================================

;测量低电平时间,50US采样一次,R7加1一次,比如低电平时间为9000US,测得R7的结果为180(0B4H)

;OUTPUT: R7

GET_LOW:

MOV R7,#00H



GET_LOW_NEXT:

MOV R6,#20 ;在晶振为11.0592M时,延50US需要46个机器周期,

DJNZ R6,$ ;这条指令执行需要2个机器周期



JB IRR,GET_LOW_RTN ;接收头为高电平,结束测量

INC R7

MOV A,R7

JNZ GET_LOW_NEXT ;看R7是否有溢出



GET_LOW_RTN:

RET

;============================================

;测量高电平时间,50US采样一次,R7加1一次,比如高电平时间为4500US,测得R7的结果为90

;OUTPUT: R7

GET_HIGH:

MOV R7,#00H



GET_HIGH_NEXT:

MOV R6,#20 ;在晶振为11.0592M时,延50US需要46个机器周期,

DJNZ R6,$ ;这条指令执行需要2个机器周期



JNB IRR,GET_HIGH_RTN ;接收头为低电平,结束测量

INC R7

MOV A,R7

JNZ GET_HIGH_NEXT ;看R7是否有溢出



GET_HIGH_RTN:

RET

;============================================

;============================================



DELAY_MS:

MOV R6,#250

DELAY_MS_NEXT:

NOP

NOP

DJNZ R6,DELAY_MS_NEXT

DJNZ R7,DELAY_MS

RET

;============================================ 

;INPUT: R7

DELAY:

DJNZ R7,$

RET

;============================================

;向LCD写一个命令字节

;INPUT: ACC

SEND_COMMAND_BYTE:

CLR RS

CLR RW



MOV P0,A



SETB E

NOP

NOP

NOP

NOP

NOP

NOP

CLR E



MOV R7,#100

ACALL DELAY

RET

;===============================================

;向LCD写一个数据字节

;INPUT: ACC

SEND_DATA_BYTE:

SETB RS

CLR RW



MOV P0,A



SETB E

NOP

NOP

NOP

NOP

NOP

NOP

CLR E



MOV R7,#100

ACALL DELAY

RET

;======================================================

;初始化LCD

INIT_LCD:

MOV A,#30H

ACALL SEND_COMMAND_BYTE

ACALL SEND_COMMAND_BYTE

ACALL SEND_COMMAND_BYTE

MOV A,#38H ;设置工作方式

ACALL SEND_COMMAND_BYTE

MOV A,#0CH ;显示状态设置

ACALL SEND_COMMAND_BYTE

MOV A,#01H ;清屏

ACALL SEND_COMMAND_BYTE

MOV A,#06H ;输入方式设置

ACALL SEND_COMMAND_BYTE

RET

;=======================================================

;在第一行显示

;INPUT: DPTR指向要显示的内容

DISPLAY_LINE1:

MOV A,#080H

DISPLAY_LINE1_A:

ACALL SEND_COMMAND_BYTE ;设置DDRAM地址

MOV R6,#20

DISPLAY_LINE1_NEXT:

CLR A

MOVC A,@A+DPTR

ACALL SEND_DATA_BYTE

INC DPTR

DJNZ R6,DISPLAY_LINE1_NEXT

MOV R7,#100

ACALL DELAY

RET

;=======================================================

;在第二行显示

;INPUT: DPTR指向要显示的内容

DISPLAY_LINE2:

MOV A,#0C0H

AJMP DISPLAY_LINE1_A

;=======================================================



END

下面是一个用C写的遥控器程序.能在数码管上显示键码.

#include <reg52.h>



#define c(x) (x*110592/120000) 



sbit Ir_Pin=P3^3;



unsigned char code
Led_Tab<>={0xC0,0xF9,0xA4,0xB0,0×99,0×92,0×82,

0xf8,0×80,0×90,0×88,0×83,0xC6,0xA1,0×86,0×8E};                       
//共阳极数码显示码0-F.

unsigned char code Led_Sel<>={0xe,0xd,0xb,0×7};



unsigned char Led_Buf<4>; //显示缓冲区

char
Led_Index;                  
//位选         



unsigned char Ir_Buf<4>; //用于保存解码结果



//==============================================================

//数码管扫描

timer0() interrupt 1 using 1

{

TL0=65536-1000;

TH0=(65536-1000)/256;
//定时器0设定约1000us中断一次,用于数码管扫描

P0=0xff;

P2=Led_Sel;                           
//位选

P0=Led_Tab];                   
//段选



if(++Led_Index>3)
Led_Index=0;                   
//四个扫描完了,到第一个数码管

}

//==============================================================

unsigned int Ir_Get_Low()

{

TL1=0;

TH1=0;

TR1=1;

while(!Ir_Pin &&
(TH1&0×80)==0);                

TR1=0;           

return TH1*256+TL1;

}

//=============================================================

unsigned int Ir_Get_High()

{

TL1=0;

TH1=0;

TR1=1;

while(Ir_Pin && (TH1&0×80)==0);

TR1=0;

return TH1*256+TL1;

}

//==============================================================

main()

{

unsigned int temp;

char i,j;

Led_Index=1;



TMOD=0×11;

TL0=65536-1000;

TH0=(65536-1000)/256;
//定时器0设定约1000us中断一次,用于数码管扫描

EA=1;

ET0=1;

TR0=1;



Led_Buf<0>=0;

Led_Buf<1>=0;

Led_Buf<2>=0;

Led_Buf<3>=0; //显示区设成0



do{

restart:

while(Ir_Pin);

temp=Ir_Get_Low();

if(temp<c(8500) || temp>c(9500))
continue;//引导脉冲低电平9000

temp=Ir_Get_High();

if(temp<c(4000) || temp>c(5000))
continue;//引导脉冲高电平4500

for(i=0;i<4;i++) //4个字节

for( …

分类: 电子知识 标签:

红外遥控系统原理及单片机解码实例

2008年3月21日 小卢 没有评论
 

 

      
红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。



1 红外遥控系统



      
通用红外遥控系统由发射和接收两大部分组成。应用编/解码专用集成电路芯片来进行控制操作,如图1所示。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。

 



图1 红外线遥控系统框图

 

2 遥控发射器及其编码

 

      
遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的uPD6121G组成发射电路为例说明编码原理(一般家庭用的DVD、VCD、音响都使用这种编码方式)。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征:



      
采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图2所示。

图2 遥控码的“0”和“1”
(注:所有波形为接收端的与发射相反)



      
上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,如图3所示。

图3 遥控信号编码波形图



      
UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。UPD6121G最多额128种不同组合的编码。



      
遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间,图4为发射波形图。

图4 遥控连发信号波形

 

      
当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个引导码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8位地址码(9ms~18ms),8位数据码(9ms~18ms)和这8位数据的反码(9ms~18ms)组成。如果键按下超过108ms仍未松开,接下来发射的代码(连发码)将仅由起始码(9ms)和结束码(2.25ms)组成。

图5
引导码                 
图6连发码

 

3 遥控信号接收

 

      
接收电路可以使用一种集红外线接收和放大于一体的一体化红外线接收器,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。

      
接收器对外只有3个引脚:Out、GND、Vcc与单片机接口非常方便,如图7所示。

   图 7

      
① 脉冲信号输出接,直接接单片机的IO 口。

      
② GND接系统的地线(0V);

      
③ Vcc接系统的电源正极(+5V);

 

遥控信号的解码

 

      
下面是一个对51实验板配套的红外线遥控器的解码程序,它可以把红外遥控器每一个按键的键值读出来,并且通过实验板上P1口的8个LED显示出来,在解码成功的同时并且能发出“嘀嘀嘀”的提示音。

      
;=================================================

;
红外遥控接收    

;=================================================

 
中山单片机学习网   
智佳科技   逸风

;=================================================

ORG 0000H

 

MAIN:

   
JNB   
P2.2,IR   
   
;遥控扫描

   
LJMP  
MAIN      
   
;在正常无遥控信号时,一体化红外接收头输出是高电平,程序一直在循环。

 

;=================================================

  解码程序

IR:

   
;以下对遥控信号的9000微秒的初始低电平信号的识别,波形见图5。

    MOV
   R6,#10

IR_SB:

    ACALL
DELAY882  
   
 ;调用882微秒延时子程序

   
JB    
P2.2,IR_ERROR 
;延时882微秒后判断P2.2脚是否出现高电平如果有就退出解码程序

    DJNZ
  R6,IR_SB  
   
;重复10次,目的是检测在8820微秒内如果出现高电平就退出解码程序

 

   
;识别连发码,和跳过4.5ma的高电平。

    JNB
    P2.2,
      ;等待高电平避开9毫秒低电平引导脉冲

   
ACALL  DELAY2400

    JNB
   
P2.2,IR_Rp   
;这里为低电平,认为是连发码信号,见图6。

   
ACALL  DELAY2400
   
 ;延时4.74毫秒避开4.5毫秒的结果码

 

   
;以下32数据码的读取 ,0和1的识别 请看图2

    MOV
    R1,#1AH
  
   
;设定1AH为起始RAM区

    MOV
    R2,#4

IR_4BYTE:

    MOV
    R3,#8

IR_8BIT:  

    JNB
    P2.2,$
   
   
;等待地址码第一位的高电平信号

   
LCALL 
DELAY882  
   
 ;高电平开始后用882微秒的时间尺去判断信号此时的高低电平状态

   
MOV    C,P2.2
        
;将P2.2引脚此时的电平状态0或1存入C中

    JNC
   
IR_8BIT_0     
;如果为0就跳转到IR_8BIT_0

   
LCALL  DELAY1000

IR_8BIT_0:

   
MOV   
A,@R1 
   
    
;将R1中地址的给A

   
RRC   
 
   
   
   
;将C中的值0或1移入A中的最低位

   
MOV   
@R1,A     
    
;将A中的数暂时存放在R1中

   
DJNZ  
R3,IR_8BIT    
 ;接收地址码的高8位

   
INC   
R1 
   
   
   
;对R1中的值加1,换下一个RAM

   
DJNZ  
R2,IR_4BYTE    
;接收完16位地址码和8位数据码和8位数据,

                          
;存放在1AH/1BH/1CH/1DH的RAM中

   
;解码成功

   
JMP   
IR_GOTO

 

IR_Rp:

   
;这里为重复码执行处

   
;按住遥控按键时,每过108ms就到这里来

   
JMP   
IR_GOTO

 

IR_ERROR:

   
;错语退出

   
LJMP   MAIN ;退出解码子程序

 

;=================================================

;遥控执行部份

IR_GOTO:

   
;这里还要判断1AH和1BH 两个系统码或用户码,用于识别不同的遥控器

   
;MOV   A,1AH

   
;CJNE 
A,#xxH,IR_ERROR  
;用户码1不对则退出

   
;MOV   A,1BH

   
;CJNE 
A,#xxH,IR_ERROR  
;用户码2不对则退出

 

 

 

   
;判断两个数据码是否相反

   
MOV    A,1CH

   
CPL    A

   
CJNE  
A,1DH,IR_ERROR   
;两个数据码不相反则退出

   
;遥控执行部份

   
;MOV  
A,1DH            
;判断对应按键

   
;CJNE  A,#xxH,$+6

   
;LJMP  -à跳到对应按键执行处

   
;CJNE  A,#xxH,$+6

   
;LJMP  -à跳到对应按键执行处

    ;.

 

    MOV
    P1,1DH
   
   
;将按键的键值通过P1口的8个LED显示出来!

    CLR
   
P2.3  
      
;蜂鸣器鸣响-嘀嘀嘀-的声音,表示解码成功

   
LCALL  DELAY2400

   
LCALL  DELAY2400

   
LCALL  DELAY2400

   
SETB  
P2.3         
;蜂鸣器停止

 

   
;清除遥控值使连按失效

   
MOV   
1AH,#00H

   
MOV   
1BH,#00H

   
MOV   
1CH,#00H

   
MOV   
1DH,#00H

   
LJMP   MAIN

;=================================================

; 延时子程序

;=============================882

DELAY882: ;1.085x ((202×4)+5)=882

    MOV
R7,#202

DELAY882_A:

    NOP

    NOP

   
DJNZ   R7,DELAY882_A

RET

 

;=============================1000

DELAY1000: ;1.085x ((229×4)+5)=999.285

    MOV
R7,#229

DELAY1000_A:

    NOP

    NOP

   
DJNZ   R7,DELAY1000_A

RET

;=============================2400

DELAY2400: ;1.085x ((245×9)+5)=2397.85

    MOV
R7,#245

DELAY2400_A:

    NOP

    NOP

    NOP

    NOP

    NOP

   NOP

    NOP

   
DJNZ   R7,DELAY2400_A

RET

END

分类: 电子知识 标签:

红外遥控系统原理及单片机解码实例-2

2008年3月21日 小卢 没有评论
红外遥控系统原理及单片机解码实例
 
      
红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。



1
红外遥控系统




      
通用红外遥控系统由发射和接收两大部分组成。应用编/解码专用集成电路芯片来进行控制操作,如图1所示。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。

 



图1 红外线遥控系统框图
 
2
遥控发射器及其编码
 
      
遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的uPD6121G组成发射电路为例说明编码原理(一般家庭用的DVD、VCD、音响都使用这种编码方式)。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征:



      
采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图2所示。

图2 遥控码的“0”和“1”
(注:所有波形为接收端的与发射相反)


      
上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,如图3所示。

图3 遥控信号编码波形图


      
UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。UPD6121G最多额128种不同组合的编码。



      
遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间,图4为发射波形图。

图4 遥控连发信号波形
 
      
当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个引导码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8位地址码(9ms~18ms),8位数据码(9ms~18ms)和这8位数据的反码(9ms~18ms)组成。如果键按下超过108ms仍未松开,接下来发射的代码(连发码)将仅由起始码(9ms)和结束码(2.25ms)组成。

图5
引导码                 
图6连发码
 
3
遥控信号接收
 
      
接收电路可以使用一种集红外线接收和放大于一体的一体化红外线接收器,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。
      
接收器对外只有3个引脚:Out、GND、Vcc与单片机接口非常方便,如图7所示。

   图 7
      
① 脉冲信号输出接,直接接单片机的IO 口。

      
② GND接系统的地线(0V);

      
③ Vcc接系统的电源正极(+5V);
 
遥控信号的解码
 
      
下面是一个对51实验板配套的红外线遥控器的解码程序,它可以把红外遥控器每一个按键的键值读出来,并且通过实验板上P1口的8个LED显示出来,在解码成功的同时并且能发出“嘀嘀嘀”的提示音。

      
;=================================================

;
红外遥控接收    
;=================================================
 
中山单片机学习网   
智佳科技   逸风
;=================================================
ORG 0000H
 
MAIN:
   
JNB   
P2.2,IR   
   
;遥控扫描
   
LJMP  
MAIN      
   
;在正常无遥控信号时,一体化红外接收头输出是高电平,程序一直在循环。
 
;=================================================
  解码程序
IR:
   
;以下对遥控信号的9000微秒的初始低电平信号的识别,波形见图5。
    MOV
   R6,#10
IR_SB:
    ACALL
DELAY882  
   
 ;调用882微秒延时子程序
   
JB    
P2.2,IR_ERROR 
;延时882微秒后判断P2.2脚是否出现高电平如果有就退出解码程序
    DJNZ
  R6,IR_SB  
   
;重复10次,目的是检测在8820微秒内如果出现高电平就退出解码程序
 
   
;识别连发码,和跳过4.5ma的高电平。
    JNB
    P2.2,
      ;等待高电平避开9毫秒低电平引导脉冲
   
ACALL  DELAY2400
    JNB
   
P2.2,IR_Rp   
;这里为低电平,认为是连发码信号,见图6。
   
ACALL  DELAY2400
   
 ;延时4.74毫秒避开4.5毫秒的结果码
 
   
;以下32数据码的读取 ,0和1的识别 请看图2
    MOV
    R1,#1AH
  
   
;设定1AH为起始RAM区
    MOV
    R2,#4
IR_4BYTE:
    MOV
    R3,#8
IR_8BIT:  
    JNB
    P2.2,$
   
   
;等待地址码第一位的高电平信号
   
LCALL 
DELAY882  
   
 ;高电平开始后用882微秒的时间尺去判断信号此时的高低电平状态
   
MOV    C,P2.2
        
;将P2.2引脚此时的电平状态0或1存入C中
    JNC
   
IR_8BIT_0     
;如果为0就跳转到IR_8BIT_0
   
LCALL  DELAY1000
IR_8BIT_0:
   
MOV   
A,@R1 
   
    
;将R1中地址的给A
   
RRC   
 
   
   
   
;将C中的值0或1移入A中的最低位
   
MOV   
@R1,A     
    
;将A中的数暂时存放在R1中
   
DJNZ  
R3,IR_8BIT    
 ;接收地址码的高8位
   
INC   
R1 
   
   
   
;对R1中的值加1,换下一个RAM
   
DJNZ  
R2,IR_4BYTE    
;接收完16位地址码和8位数据码和8位数据,
                          
;存放在1AH/1BH/1CH/1DH的RAM中
   
;解码成功
   
JMP   
IR_GOTO
 
IR_Rp:
   
;这里为重复码执行处
   
;按住遥控按键时,每过108ms就到这里来
   
JMP   
IR_GOTO
 
IR_ERROR:
   
;错语退出
   
LJMP   MAIN ;退出解码子程序
 
;=================================================
;遥控执行部份
IR_GOTO:
   
;这里还要判断1AH和1BH 两个系统码或用户码,用于识别不同的遥控器
   
;MOV   A,1AH
   
;CJNE 
A,#xxH,IR_ERROR  
;用户码1不对则退出
   
;MOV   A,1BH
   
;CJNE 
A,#xxH,IR_ERROR  
;用户码2不对则退出
 
 
 
   
;判断两个数据码是否相反
   
MOV   
A,1CH
   
CPL    A
   
CJNE  
A,1DH,IR_ERROR   
;两个数据码不相反则退出
   
;遥控执行部份
   
;MOV  
A,1DH            
;判断对应按键
   
;CJNE  A,#xxH,$+6
   
;LJMP  -à跳到对应按键执行处
   
;CJNE  A,#xxH,$+6
   
;LJMP  -à跳到对应按键执行处
   
;.
 
    MOV
    P1,1DH
   
   
;将按键的键值通过P1口的8个LED显示出来!
    CLR
   
P2.3  
      
;蜂鸣器鸣响-嘀嘀嘀-的声音,表示解码成功
   
LCALL  DELAY2400
   
LCALL  DELAY2400
   
LCALL  DELAY2400
   
SETB  
P2.3         
;蜂鸣器停止
 
   
;清除遥控值使连按失效
   
MOV   
1AH,#00H
   
MOV   
1BH,#00H
   
MOV   
1CH,#00H
   
MOV   
1DH,#00H
   
LJMP   MAIN
;=================================================
; 延时子程序
;=============================882
DELAY882: ;1.085x ((202×4)+5)=882
    MOV
R7,#202
DELAY882_A:
   
NOP
   
NOP
   
DJNZ   R7,DELAY882_A
RET
 
;=============================1000
DELAY1000: ;1.085x ((229×4)+5)=999.285
    MOV
R7,#229
DELAY1000_A:
   
NOP
   
NOP
   
DJNZ   R7,DELAY1000_A
RET
;=============================2400
DELAY2400: ;1.085x ((245×9)+5)=2397.85
    MOV
R7,#245
DELAY2400_A:
   
NOP
   
NOP
   
NOP
   
NOP
   
NOP
   NOP
   
NOP
   
DJNZ   R7,DELAY2400_A
RET
END

分类: 电子知识 标签:

PCB布线规则详解

2007年3月16日 小卢 没有评论

前两天看人家的就业经验说有的HR问到了PCB版的东西,我也不是很了解,通信么,也没开这课,但应该了解吧,所以就找些东西帖出来,大家分享一下…..

 

PCB布线规则详解

1 电源、地线的处理
既使在整个PCB板中的布线完成得都很好,但由于电源、
地线的考虑不周到而引起的干扰,会使产品的性能下降,有时甚至影响到产品的成功率。所以对电、
地线的布线要认真对待,把电、地线所产生的噪音干扰降到最低限度,以保证产品的质量。
对每个从事电子产品设计的工程人员来说都明白地线与电源线之间噪音所产生的原因,
现只对降低式抑制噪音作以表述:
众所周知的是在电源、地线之间加上去耦电容。
尽量加宽电源、地线宽度,最好是地线比电源线宽,它们的关系是:地线>电源线>信号线,通常信号线宽为:0.2~0.3mm,最经细宽度可达0.05~0.07mm,电源线为1.2~2.5
mm 对数字电路的PCB可用宽的地导线组成一个回路,
即构成一个地网来使用(模拟电路的地不能这样使用)
用大面积铜层作地线用,在印制板上把没被用上

的地方都与地相连接作为地线用。或是做成多层板,

电源,地线各占用一层。

 

2、数字电路与模拟电路的共地处理
现在有许多PCB不再是单一功能电路(数字或模拟电路),而是由数字电路和模拟电路混合

构成的。因此在布线时就需要考虑它们之间互相干扰问题,特别是地线上的噪音干扰。
数字电路的频率高,模拟电路的敏感度

强,对信号线来说,高频的信号线尽可能远离敏感的模拟电路器件,对地线来说,整人PCB对外界只有一个结点,所以必须在PCB

内部进行处理数、模共地的问题,而在板内部数字地和模拟地实际上是分开的它们之间互不相连,只是在PCB与外界连接的接口

处(如插头等)。数字地与模拟地有一点短接,请注意,只有一个连接点。也有在PCB上不共地的,这由系统设计来决定。

 

 

3、信号线布在电(地)层上
在多层印制板布线时,由于在信号线层没有布完的线剩下已经不多,再多加层数就会造成浪费也会

给生产增加一定的工作量,成本也相应增加了,为解决这个矛盾,可以考虑在电(地)层上进行布线。首先应考虑用电源层,其

次才是地层。因为最好是保留地层的完整性。

 

 

4、大面积导体中连接腿的处理
在大面积的接地(电)中,常用元器件的腿与其连接,对连接腿的处理需要进行综合的考虑,就

电气性能而言,元件腿的焊盘与铜面满接为好,但对元件的焊接装配就存在一些不良隐患如:①焊接需要大功率加热器。②容易

造成虚焊点。所以兼顾电气性能与工艺需要,做成十字花焊盘,称之为热隔离(heat
shield)俗称热焊盘(Thermal),这样,

可使在焊接时因截面过分散热而产生虚焊点的可能性大大减少。多层板的接电(地)层腿的处理相同。

 

 

5、布线中网络系统的作用
在许多CAD系统中,布线是依据网络系统决定的。网格过密,通路虽然有所增加,但步进太小,图场的

数据量过大,这必然对设备的存贮空间有更高的要求,同时也对象计算机类电子产品的运算速度有极大的影响。而有些通路是无

效的,如被元件腿的焊盘占用的或被安装孔、定们孔所占用的等。网格过疏,通路太少对布通率的影响极大。所以要有一个疏密

合理的网格系统来支持布线的进行。
标准元器件两腿之间的距离为0.1英寸(2.54mm),所以网格系统的基础一般就定为0.1英寸

(2.54
mm)或小于0.1英寸的整倍数,如:0.05英寸、0.025英寸、0.02英寸等。

 

 

6、设计规则检查(DRC)
布线设计完成后,需认真检查布线设计是否符合设计者所制定的规则,同时也需确认所制定的规则是

否符合印制板生产工艺的需求,一般检查有如下几个方面:
线与线,线与元件焊盘,线与贯通孔,元件焊盘与贯通孔,贯通孔

与贯通孔之间的距离是否合理,是否满足生产要求。
电源线和地线的宽度是否合适,电源与地线之间是否紧耦合(低的波阻抗

)?在PCB中是否还有能让地线加宽的地方。
对于关键的信号线是否采取了最佳措施,如长度最短,加保护线,输入线及输出线

被明显地分开。 模拟电路和数字电路部分,是否有各自独立的地线。
后加在PCB中的图形(如图标、注标)是否会造成信号短

路。 对一些不理想的线形进行修改。
在PCB上是否加有工艺线?阻焊是否符合生产工艺的要求,阻焊尺寸是否合适,字符标志

是否压在器件焊盘上,以免影响电装质量。
多层板中的电源地层的外框边缘是否缩小,如电源地层的铜箔露出板外容易造成短

路。概述
本文档的目的在于说明使用PADS的印制板设计软件PowerPCB进行印制板设计的流程和一些注意事项,为一个工作组的

设计人员提供设计规范,方便设计人员之间进行交流和相互检查。

 

 

2、设计流程
PCB的设计流程分为网表输入、规则设置、元器件布局、布线、检查、复查、输出六个步骤.

 

 2.1
网表输入   

网表输入有两种方法,一种是使用PowerLogic的OLE PowerPCB
Connection功能,选择Send Netlist,应用OLE功能,可以随时保

持原理图和PCB图的一致,尽量减少出错的可能。

 

 另一种方法是直接在PowerPCB中装载网表,选择File->Import,将原理图生成的网表输入进来。

 

 2.2 规则设置
如果在原理图设计阶段就已经把PCB的设计规则设置好的话,就不用再进行设置

这些规则了,因为输入网表时,设计规则已随网表输入进PowerPCB了。如果修改了设计规则,必须同步原理图,保证原理图和PCB

的一致。除了设计规则和层定义外,还有一些规则需要设置,比如Pad
Stacks,需要修改标准过孔的大小。如果设计者新建了一个

焊盘或过孔,一定要加上Layer 25。

 注意:
PCB设计规则、层定义、过孔设置、CAM输出设置已经作成缺省启动文件,名称为Default.stp,网表输入进来以后,按照

设计的实际情况,把电源网络和地分配给电源层和地层,并设置其它高级规则。在所有的规则都设置好以后,在PowerLogic中,

使用OLE PowerPCB Connection的Rules From
PCB功能,更新原理图中的规则设置,保证原

理图和PCB图的规则一致。

 

 2.3 元器件布局
网表输入以后,所有的元器件都会放在工作区的零点,重叠在一起,下一步的工作就是把这些元器件分开,按照

一些规则摆放整齐,即元器件布局。PowerPCB提供了两种方法,手工布局和自动布局。

 

2.3.1 手工布局

 1. 工具印制板的结构尺寸画出板边(Board
Outline)。

 2. 将元器件分散(Disperse
Components),元器件会排列在板边的周围。

 3.
把元器件一个一个地移动、旋转,放到板边以内,按照一定的规则摆放整齐。

 

2.3.2 自动布局  
PowerPCB提供了自动布局和自动的局部簇布局,但对大多数的设计来说,效果并不理想,不推荐使用。

 

2.3.3 注意事项

 a.
布局的首要原则是保证布线的布通率,移动器件时注意飞线的连接,把有连线关系的器件放在一起

 b. 数字器件和模拟器件要分开,尽量远离 c.
去耦电容尽量靠近器件的VCC

 d. 放置器件时要考虑以后的焊接,不要太密集

 e.
多使用软件提供的Array和Union功能,提高布局的效率

2.4 布线  
布线的方式也有两种,手工布线和自动布线。

 PowerPCB提供的手工布线功能十分强大,包括自动推挤、在线设计规则检查(DRC),自动布线由Specctra的布线引擎进行,通常

这两种方法配合使用,常用的步骤是手工—自动—手工。

 

2.4.1 手工布线

1.
自动布线前,先用手工布一些重要的网络,比如高频时钟、主电源等,这些网络往往对走线距离、线宽、线间距、屏蔽等有特殊

的要求;另外一些特殊封装,如BGA,自动布线很难布得有规则,也要用手工布线。

2. 自动布线以后,还要用手工布线对PCB的走线进行调整。

 

2.4.2 自动布线 手工布线结束以后,剩下的

网络就交给自动布线器来自布。选择Tools->SPECCTRA,启动Specctra布线器的接口,设置好DO文件,按Continue就启动了Specctra

布线器自动布线,结束后如果布通率为100%,那么就可以进行手工调整布线了;如果不到100%,说明布局或手工布线有问题,需要

调整布局或手工布线,直至全部布通为止。

 

2.4.3 注意事项

a. 电源线和地线尽量加粗

b. 去耦电容尽量与VCC直接连接

c. 设置Specctra的DO文件时,首先添加Protect all
wires命令,保护手工布的线不被自动布线器重布

d. 如果有混合电源层,应该将该层定义为Split/mixed
Plane,在布线之前将其分割,布完线之后,使用Pour Manager的Plane

   Connect进行覆铜

e.
将所有的器件管脚设置为热焊盘方式,做法是将Filter设为Pins,选中所有的管脚,修改属性,在Thermal选项前打勾

f. 手动布线时把DRC选项打开,使用动态布线(Dynamic Route)

 

2.5 检查  
检查的项目有间距(Clearance)、连接性(Connectivity)、高速规则(High
Speed)和电源层(Plane),这些项目

可以选择Tools->Verify Design进行。如果设

置了高速规则,必须检查,否则可以跳过这一项。检查出错误,必须修改布局和布线。
注意:  
有些错误可以忽略,例如有些接

插件的Outline的一部分放在了板框外,检查间距时会出错;另外每次修改过走线和过孔之后,都要重新覆铜一次。

 

2.6 复查  
复查根据“PCB检查表”,内容包括设计规则,层定义、线宽、间距、焊盘、过孔设置;还要重点复查器件布局的合理

性,电源、地线网络的走线,高速时钟网络的走线与屏蔽,去耦电容的摆放和连接等。复查不合格,设计者要修改布局和布线,合

格之后,复查者和设计者分别签字。

 

2.7 设计输出  
PCB设计可以输出到打印机或输出光绘文件。打印机可以把PCB分层打印,便于设计者和复查者检查;光绘文件交给

制板厂家,生产印制板。光绘文件的输出十分重要,关系到这次设计的成败,下面将着重说明输出光绘文件的注意

事项。

 

a.
需要输出的层有布线层(包括顶层、底层、中间布线层)、电源层(包括VCC层和GND层)、丝印层(包括顶层丝印、底层丝印)

、阻焊层(包括顶层阻焊和底层阻焊),另外还要生成钻孔文件(NC
Drill) b. 如果电源层设置为Split/Mixed,那么在Add

Document窗口的Document项选择Routing,并且每次输出光绘文件之前,都要对PCB图使用Pour
Manager的Plane Connect进行覆铜;

如果设置为CAM
Plane,则选择Plane,在设置Layer项的时候,要把Layer25加上,在Layer25层中选择Pads和Viasc.
在设备设置窗口

(按Device Setup),将Aperture的值改为199 d.
在设置每层的Layer时,将Board Outline选上

 

e. 设置丝印层的Layer时,不要选择Part
Type,选择顶层(底层)和丝印层的Outline、Text、Line

 

f.
设置阻焊层的Layer时,选择过孔表示过孔上不加阻焊,不选过孔表示家阻焊,视具体情况确定

 

g. 生成钻孔文件时,使用PowerPCB的缺省设置,不要作任何改动

 

h.
所有光绘文件输出以后,用CAM350打开并打印,由设计者和复查者根据“PCB检查表”检查过孔(via)是多层PCB的重要组

成部分之一,钻孔的费用通常占PCB制板费用的30%到40%。

  
简单的说来,PCB上的每一个孔都可以称之为过孔。从作用上看,过孔可以分成两类:一是用作各层间的电气连接;

  
二是用作器件的固定或定位。如果从工艺制程上来说,这些过孔一般又分为三类,即盲孔(blind
via)、埋孔(buried via)和通孔

(through
via)。盲孔位于印刷线路板的顶层和底层表面,具有一定深度,用于表层线路和下面的内层线路的连接,孔的深度通常不

超过一定的比率(孔径)。埋孔是指位于印刷线路板内层的连接孔,它不会延伸到线路板的表面。上述两类孔都位于线路板的内层,

层压前利用通孔成型工艺完成,在过孔形成过程中可能还会重叠做好几个内层。第三种称为通孔,这种孔穿过整个线路板,可用于实

现内部互连或作为元件的安装定位孔。由于通孔在工艺上更易于实现,成本较低,所以绝大部分印刷电路板均使用它,而不用另外两

种过孔。以下所说的过孔,没有特殊说明的,均作为通孔考虑。
从设计的角度来看,一个过孔主要由两个部分组成,一是中间的钻孔

(drill
hole),二是钻孔周围的焊盘区,见下图。这两部分的尺寸大小决定了过孔的大小。很显然,在高速,高密度的PCB设计时,设

计者总是希望过孔越小越好,这样板上可以留有更多的布线空间,此外,过孔越小,其自身的寄生电容也越小,更适合用于高速电路。

但孔尺寸的减小同时带来了成本的增加,而且过孔的尺寸不可能无限制的减小,它受到钻孔(drill)和电镀(plating)等工艺技术的

限制:孔越小,钻孔需花费的时间越长,也越容易偏离中心位置;且当孔的深度超过钻孔直径的6倍时,就无法保证孔壁能均匀镀铜。

比如,现在正常的一块6层PCB板的厚度(通孔深度)为50Mil左右,所以PCB厂家能提供的钻孔直径最小只能达到8Mil。
二、过孔的寄

生电容
过孔本身存在着对地的寄生电容,如果已知过孔在铺地层上的隔离孔直径为D2,过孔焊盘的直径为D1,PCB板的厚度为T,板基材

介电常数为ε,则过孔的寄生电容大小近似于: C=1.41εTD1/(D2-D1)
过孔的寄生电容会给电路造成的主要影响是延长了信号的上升

时间,降低了电路的速度。举例来说,对于一块厚度为50Mil的PCB板,如果使用内径为10Mil,焊盘直径为20Mil的过孔,焊盘与地铺

铜区的距离为32Mil,则我们可以通过上面的公式近似算出过孔的寄生电容大致是:C=1.41×4.4×0.050×0.020/(0.032-0.020)=0.517pF,

这部分电容引起的上升时间变化量为:T10-90=2.2C(Z0/2)=2.2×0.517x(55/2)=31.28ps
。从这些数值可以看出,尽管单个过孔的寄生

电容引起的上升延变缓的效用不是很明显,但是如果走线中多次使用过孔进行层间的切换,设计者还是要慎重考虑的。

 

三、过孔的寄生电感
同样,过孔存在寄生电容的同时也存在着寄生电感,在高速数字电路的设计中,过孔的寄生电感带来的危害

往往大于寄生电容的影响。它的寄生串联电感会削弱旁路电容的贡献,减弱整个电源系统的滤波效用。我们可以用下面的公式来简

单地计算一个过孔近似的寄生电感:
L=5.08h[ln(4h/d)+1]其中L指过孔的电感,h是过孔的长度,d是中心钻孔的直径。从式中可以

看出,过孔的直径对电感的影响较小,而对电感影响最大的是过孔的长度。仍然采用上面的例子,可以计算出过孔的电感为:L=

5.08×0.050[ln(4x0.050/0.010)+1]=1.015nH
。如果信号的上升时间是1ns,那么其等效阻抗大小为:XL=πL/T10-90=3.19Ω。这样

的阻抗在有高频电流的通过已经不能够被忽略,特别要注意,旁路电容在连接电源层和地层的时候需要通过两个过孔,这样过孔的

寄生电感就会成倍增加。

 

四、高速PCB中的过孔设计
通过上面对过孔寄生特性的分析,我们可以看到,在高速PCB设计中,看似简单的过
孔往往也会给电路

的设计带来很大的负面效应。为了减小过孔的寄生效应带来的不利影响,在设计中可以尽量做到:

 

1、从成本和信号质量两方面考虑,选择合理尺寸的过孔大小。比如对6-10层的内
存模块PCB设计来说,选用10/20Mil(钻孔/焊盘)

的过孔较好,对于一些高密度的小尺寸的板子,也可以尝试使用8/18Mil的过孔。目前技术条件下,很难使用更小尺寸的过孔了。对

于电源或地线的过孔则可以考虑使用较大尺寸,以减小阻抗。

2、上面讨论的两个公式可以得出,使用较薄的PCB板有利于减小过孔的两种寄
生参数。

3、PCB板上的信号走线尽量不换层,也就是说尽量不要使用不必要的过孔。

4、电源和地的管脚要就近打过孔,过孔和管脚之间的引线越短越好,因为它们会
导致电感的增加。同时电源和地的引线要尽可能粗,

以减少阻抗。

5、在信号换层的过孔附近放置一些接地的过孔,以便为信号提供最近的回路。甚至可以在PCB板上大量放置一些多余的接地过孔。当

然,在设计时还需要灵活多变。前面讨论的过孔模型是每层均有焊盘的情况,也有的时候,我们可以将某些层的焊盘减小甚至去掉。

特别是在过孔密度非常大的情况下,可能会导致在铺铜层形成一个隔断回路的断槽,解决这样的问题除了移动过孔的位置,我们还可

以考虑将过孔在该铺铜层的焊盘尺寸减小。

分类: 电子知识 标签:

可控硅知识的问与答(晶闸管)

2007年3月16日 小卢 没有评论

可控硅知识的问与答

 

一、可控硅的概念和结构?

晶闸管又叫可控硅。自从20世纪50年代问世以来已经发展成了一个大的家族,它的主要成员有单向晶闸管、双向晶闸管、光控晶闸管、逆导晶闸管、可关断晶闸管、快速晶闸管,等等。今天大家使用的是单向晶闸管,也就是人们常说的普通晶闸管,它是由四层半导体材料组成的,有三个PN结,对外有三个电极〔图2(a)〕:第一层P型半导体引出的电极叫阳极A,第三层P型半导体引出的电极叫控制极G,第四层N型半导体引出的电极叫阴极K。从晶闸管的电路符号〔图2(b)〕可以看到,它和二极管一样是一种单方向导电的器件,关键是多了一个控制极G,这就使它具有与二极管完全不同的工作特性。

Wx9222.jpg (5902 字节)

图2

二、晶闸管的主要工作特性

为了能够直观地认识晶闸管的工作特性,大家先看这块示教板(图3)。晶闸管VS与小灯泡EL串联起来,通过开关S接在直流电源上。注意阳极A是接电源的正极,阴极K接电源的负极,控制极G通过按钮开关SB接在3V直流电源的正极(这里使用的是KP5型晶闸管,若采用KP1型,应接在1.5V直流电源的正极)。晶闸管与电源的这种连接方式叫做正向连接,也就是说,给晶闸管阳极和控制极所加的都是正向电压。现在我们合上电源开关S,小灯泡不亮,说明晶闸管没有导通;再按一下按钮开关SB,给控制极输入一个触发电压,小灯泡亮了,说明晶闸管导通了。这个演示实验给了我们什么启发呢?

Wx9223.jpg (7036 字节)

图3

这个实验告诉我们,要使晶闸管导通,一是在它的阳极A与阴极K之间外加正向电压,二是在它的控制极G与阴极K之间输入一个正向触发电压。晶闸管导通后,松开按钮开关,去掉触发电压,仍然维持导通状态。

晶闸管的特点:
是“一触即发”。但是,如果阳极或控制极外加的是反向电压,晶闸管就不能导通。控制极的作用是通过外加正向触发脉冲使晶闸管导通,却不能使它关断。那么,用什么方法才能使导通的晶闸管关断呢?使导通的晶闸管关断,可以断开阳极电源(图3中的开关S)或使阳极电流小于维持导通的最小值(称为维持电流)。如果晶闸管阳极和阴极之间外加的是交流电压或脉动直流电压,那么,在电压过零时,晶闸管会自行关断。

三、用万用表可以区分晶闸管的三个电极吗?怎样测试晶闸管的好坏呢?

普通晶闸管的三个电极可以用万用表欧姆挡R×100挡位来测。大家知道,晶闸管G、K之间是一个PN结〔图2(a)〕,相当于一个二极管,G为正极、K为负极,所以,按照测试二极管的方法,找出三个极中的两个极,测它的正、反向电阻,电阻小时,万用表黑表笔接的是控制极G,红表笔接的是阴极K,剩下的一个就是阳极A了。测试晶闸管的好坏,可以用刚才演示用的示教板电路(图3)。接通电源开关S,按一下按钮开关SB,灯泡发光就是好的,不发光就是坏的

四、晶闸管在电路中的主要用途是什么?

普通晶闸管最基本的用途就是可控整流。大家熟悉的二极管整流电路属于不可控整流电路。如果把二极管换成晶闸管,就可以构成可控整流电路。现在我画一个最简单的单相半波可控整流电路〔图4(a)〕。在正弦交流电压U2的正半周期间,如果VS的控制极没有输入触发脉冲Ug,VS仍然不能导通,只有在U2处于正半周,在控制极外加触发脉冲Ug时,晶闸管被触发导通。现在,画出它的波形图〔图4(c)及(d)〕,可以看到,只有在触发脉冲Ug到来时,负载RL上才有电压UL输出(波形图上阴影部分)。Ug到来得早,晶闸管导通的时间就早;Ug到来得晚,晶闸管导通的时间就晚。通过改变控制极上触发脉冲Ug到来的时间,就可以调节负载上输出电压的平均值UL(阴影部分的面积大小)。在电工技术中,常把交流电的半个周期定为180°,称为电角度。这样,在U2的每个正半周,从零值开始到触发脉冲到来瞬间所经历的电角度称为控制角α;在每个正半周内晶闸管导通的电角度叫导通角θ。很明显,α和θ都是用来表示晶闸管在承受正向电压的半个周期的导通或阻断范围的。通过改变控制角α或导通角θ,改变负载上脉冲直流电压的平均值UL,实现了可控整流。

五、在桥式整流电路中,把二极管都换成晶闸管是不是就成了可控整流电路了呢?

在桥式整流电路中,只需要把两个二极管换成晶闸管就能构成全波可控整流电路了。现在画出电路图和波形图(图5),就能看明白了。

六、晶闸管控制极所需的触发脉冲是怎么产生的呢?

晶闸管触发电路的形式很多,常用的有阻容移相桥触发电路、单结晶体管触发电路、晶体三极管触发电路、利用小晶闸管触发大晶闸管的触发电路,等等。今天大家制作的调压器,采用的是单结晶体管触发电路。

七、什么是单结晶体管?它有什么特殊性能呢?

单结晶体管又叫双基极二极管,是由一个PN结和三个电极构成的半导体器件(图6)。我们先画出它的结构示意图〔图7(a)〕。在一块N型硅片两端,制作两个电极,分别叫做第一基极B1和第二基极B2;硅片的另一侧靠近B2处制作了一个PN结,相当于一只二极管,在P区引出的电极叫发射极E。为了分析方便,可以把B1、B2之间的N型区域等效为一个纯电阻RBB,称为基区电阻,并可看作是两个电阻RB2、RB1的串联〔图7(b)〕。值得注意的是RB1的阻值会随发射极电流IE的变化而改变,具有可变电阻的特性。如果在两个基极B2、B1之间加上一个直流电压UBB,则A点的电压UA为:若发射极电压UE<UA,二极管VD截止;当UE大于单结晶体管的峰点电压UP(UP=UD+UA)时,二极管VD导通,发射极电流IE注入RB1,使RB1的阻值急剧变小,E点电位UE随之下降,出现了IE增大UE反而降低的现象,称为负阻效应。发射极电流IE继续增加,发射极电压UE不断下降,当UE下降到谷点电压UV以下时,单结晶体管就进入截止状态。

八、怎样利用单结晶体管组成晶闸管触发电路呢?

单结晶体管组成的触发脉冲产生电路在今天大家制作的调压器中已经具体应用了。为了说明它的工作原理,我们单独画出单结晶体管张弛振荡器的电路(图8)。它是由单结晶体管和RC充放电电路组成的。合上电源开关S后,电源UBB经电位器RP向电容器C充电,电容器上的电压UC按指数规律上升。当UC上升到单结晶体管的峰点电压UP时,单结晶体管突然导通,基区电阻RB1急剧减小,电容器C通过PN结向电阻R1迅速放电,使R1两端电压Ug发生一个正跳变,形成陡峭的脉冲前沿〔图8(b)〕。随着电容器C的放电,UE按指数规律下降,直到低于谷点电压UV时单结晶体管截止。这样,在R1两端输出的是尖顶触发脉冲。此时,电源UBB又开始给电容器C充电,进入第二个充放电过程。这样周而复始,电路中进行着周期性的振荡。调节RP可以改变振荡周期。

九、在可控整流电路的波形图中,发现晶闸管承受正向电压的每半个周期内,发出第一个触发脉冲的时刻都相同,也就是控制角α和导通角θ都相等,那么,单结晶体管张弛振荡器怎样才能与交流电源准确地配合以实现有效的控制呢?

为了实现整流电路输出电压“可控”,必须使晶闸管承受正向电压的每半个周期内,触发电路发出第一个触发脉冲的时刻都相同,这种相互配合的工作方式,称为触发脉冲与电源同步。

Wx9221.jpg (10891 字节)

怎样才能做到同步呢?大家再看调压器的电路图(图1)。请注意,在这里单结晶体管张弛振荡器的电源是取自桥式整流电路输出的全波脉冲直流电压。在晶闸管没有导通时,张弛振荡器的电容器C被电源充电,UC按指数规律上升到峰点电压UP时,单结晶体管VT导通,在VS导通期间,负载RL上有交流电压和电流,与此同时,导通的VS两端电压降很小,迫使张弛振荡器停止工作。当交流电压过零瞬间,晶闸管VS被迫关断,张弛振荡器得电,又开始给电容器C充电,重复以上过程。这样,每次交流电压过零后,张弛振荡器发出第一个触发脉冲的时刻都相同,这个时刻取决于RP的阻值和C的电容量。调节RP的阻值,就可以改变电容器C的充电时间,也就改变了第一个Ug发出的时刻,相应地改变了晶闸管的控制角,使负载RL上输出电压的平均值发生变化,达到调压的目的。

双向晶闸管的T1和T2不能互换。否则会损坏管子和相关的控制电路。

分类: 电子知识 标签:

记忆碎片 load time improved by PHP Speedy 记忆碎片 load time improved by PHP Speedy