- 帖子
- 76
- 主题
- 23
- 精华
- 2
- 积分
- 109
- 在线时间
- 70 小时
- 注册时间
- 2010-10-1
|
转(ourdev) 关于AVR I/O 的驱动能力的介绍
关于AVR I/O 的驱动能力的介绍 作者:马潮老师 / 整理:armok / 2005-01-17/ www.OurAVR.com
AVR单片机I/O的驱动能力在8位单片机中算一流的。大家应仔细阅读AVR器件手册中关于电气指标和典型特性的内容。(顺便提一下,有那些8位单片机的器件手册比AVR的多?并且提供非常详细的电气指标?)。
讨论AVR的I/O驱动能力主要指它使用输出工作方式下的输出电流(输出为1时)和灌电流(输出为0时)。
参考下图,当输出高电平时,在Vcc=5V条件下,一个I/O输出电流可达40mA,但此时输出电压已降到4V左右,输出20mA时,电压降为4.5v,(3v以上,对于CMOS讲,仍为逻辑“1”)。说明AVR的输出电流最大可为40mA。
当输出低电平时,I/O的倾动能力表现为灌电流。见图,
在Vcc=5V条件下,一个I/O可灌入的电流也可达40mA,但此时输出电压已生到1V左右,灌入20mA时,电压生为0.5v,(0.8v以下,对于CMOS讲,仍为逻辑“0”)。说明AVR的灌入电流最大可为20mA。
在使用中还要注意的是:
3. Although each I/O port can sink more than the test conditions (20 mA at VCC = 5V, 10 mA at VCC = 3V) under steady state
conditions (non-transient), the following must be observed: TQFP and MLF Package:
1] The sum of all IOL, for all ports, should not exceed 400 mA.
2] The sum of all IOL, for ports A0 - A7, G2, C3 - C7 should not exceed 300 mA.
3] The sum of all IOL, for ports C0 - C2, G0 - G1, D0 - D7, XTAL2 should not exceed 150 mA.
4] The sum of all IOL, for ports B0 - B7, G3 - G4, E0 - E7 should not exceed 150 mA.
5] The sum of all IOL, for ports F0 - F7, should not exceed 200 mA.
If IOL exceeds the test condition, VOL may exceed the related specification. Pins are not guaranteed to sink current greater
than the listed test condition.
4. Although each I/O port can source more than the test conditions (20 mA at Vcc = 5V, 10 mA at Vcc = 3V) under steady state
conditions (non-transient), the following must be observed: TQFP and MLF Package:
1] The sum of all IOH, for all ports, should not exceed 400 mA.
2] The sum of all IOH, for ports A0 - A7, G2, C3 - C7 should not exceed 300 mA.
3] The sum of all IOH, for ports C0 - C2, G0 - G1, D0 - D7, XTAL2 should not exceed 150 mA.
4] The sum of all IOH, for ports B0 - B7, G3 - G4, E0 - E7 should not exceed 150 mA.
5] The sum of all IOH, for ports F0 - F7, should not exceed 200 mA.
If IOH exceeds the test condition, VOH may exceed the related specification. Pins are not guaranteed to source current
greater than the listed test condition.
此段大家自己读,主要是说整个PORT口,以及整个芯片电流的限制。不能简单的计算:一个I/O口输出20mA,一片M128有近50个I/O口,那么20*50=1000mA,芯片烧了。
当AVR的I/O工作于输入方式时,其主要是对外部的实际电平进行检测,不应该输出电流,而灌电流应该越小越好(对外部无影响)。在下图中看出:当外部引脚电平为0时,I/O通过内部的上拉电阻输出120uA的弱电流;外部引脚电平为5时,I/O不提供电流。这种方式能够精确的检测出外部引脚的逻辑电平。
试想,当外部引脚对地串入一个5K电阻,如果I/O输出20mA电流,那么引脚上真正的电压为多少,如何测的准?
AVR的I/O特性吸收了个种单片机(如PIC)的优点,是非常有特色和优点的。没有“修练”到一定的层次,是不能体会到的。我在我的许多帖子中,多次强调不要浮燥,要踏踏实实、认真学习,打好基础,仔细读手册。但是还是有许多人往往提出一些没有经过认真思考和学习后,甚至是无边际的问题,甚至是“正确回答”。
一个硬件工程师,首先要有过硬的硬件功底,模拟、逻辑、数字、时序...,十八般武器,样样要精通。看网上一些问题和以及回答,我感到有些人连基本的欧姆定律都不懂(指不会分析和设计应用,不是指背出公式),但忙于制作MP3。试想,你买一块芯片,照别人的电路搭好线路,把别人的程序写入后,
做出了MP3,可你到低真正学到手的是什么?“高级傻瓜”型的工程师越来越多,这也正是外国人所希望的。
作为教师,我为国内大学这些年在电子专业上教育的失败感到痛心。看看国外的大学生的学习情况和能力(http://instruct1.cit.cornell.edu/courses/ee476/),我们有和能力和他们竞争!?
对不起,又跑题了。留下几个思考题。在“马潮老师的专栏:AVR串口多机通讯模式的问题 ”的多机通信原理图中(该简单系统已连续工作两天了):
1. 为什么在与4个下位机通信的接口中,串入D9-D12四个二极管?
2. 主机电路中的U2部分电路的作用是什么?为什么接入INT0,而不是RESET?
3. 每个下位机使用M16倾动16个LED数码管,如何估算M16的倾动能力(M16能点亮全部的LED而不发热烧毁)?
4. 电阻R2-R8起的作用是什么(好多高校老师的设计中,不使用R2-R8)?
5. 16个LED数码管采用何种驱动方式?如何设计“同时”点亮16个LED,而且亮度均匀,无闪烁,无拖尾。如何调整LED的亮度?
6. 如何使用下位机的电路实现一个简易的时钟(年-月-日 时:分:秒),带闹钟设置和时间设置功能。如何估算你的时钟精度?
7. 5个按键直接接在I/O口上,外部没有吊高电阻,可靠吗?
8. 使用其中两个按键作为“+”和“-”键,用于输入数据设置时间和日期。其特性为:按下“+”键,在1秒内放开,表示加1,按下“+”键后不放开,超过1秒后每隔0.5秒加10,直到按键放开。如何设计程序实现?
9. 按键按下要消抖动处理,要判别按下的时间长短等,但不管按键按下多长时间,LED必须正常显示,不能有抖动和闪烁,更不能熄灭。
10. 你认为电路的硬件设计有什么不合理和改进的地方(任何方面)?
armok(阿莫)将上面的英文翻译如下: 虽然 IO端口的灌电流(IOL)在稳定的实验条件下,可以达到每路20 mA (VCC = 5V时), 10 mA (VCC = 3V时),但必须遵从: TQFP 及 MLF 封装 1] 所有端口的总和, 不能超过 400 mA.
2] 端口 A0 - A7, G2, C3 - C7 的灌电流总和,不能超过 300 mA.
3] 端口 C0 - C2, G0 - G1, D0 - D7, XTAL2 的灌电流总和,不能超过 150 mA.
4] 端口 B0 - B7, G3 - G4, E0 - E7 的灌电流总和,不能超过 150 mA.
5] 端口 F0 - F7 的灌电流总和,不能超过 200 mA. 如果灌电流超出了上面的标准,端口的电压(VOL) 就会超出规范值。端口不能保证在超出标准的灌电流下正常工作。 ----------------- 虽然 IO端口的驱动电流(IOH)在稳定的实验条件下,可以达到每路20 mA (VCC = 5V时), 10 mA (VCC = 3V时),但必须遵从: TQFP 及 MLF 封装 1] 所有端口的总和, 不能超过 400 mA.
2] 端口 A0 - A7, G2, C3 - C7 的驱动电流总和,不能超过 300 mA.
3] 端口 C0 - C2, G0 - G1, D0 - D7, XTAL2 的驱动电流总和,不能超过 150 mA.
4] 端口 B0 - B7, G3 - G4, E0 - E7 的驱动电流总和,不能超过 150 mA.
5] 端口 F0 - F7 的驱动电流总和,不能超过 200 mA. 如果驱动电流超出了上面的标准,端口的电压(VOH) 就会超出规范值。端口不能保证在超出标准的驱动电流下正常工作。
|
|