嵌入式Linux系统中I/O端口需要注意的问题

1、i/o作为输出时要注意的问题
(1)接收信号时片外外设可能没有输入锁存器,因此嵌入式微处理器输出信号在下次再写入新数据前应一直保持不变。输出置数指令执行时间小于1微秒,而外设动作保持时间可能几分钟甚至几小时不变。因此,输出数据要有锁存器,存储瞬时写入的数据。
(2) 输出端口要有一定的驱动能力。i/o外负载情况有两种:动态驱动和静态驱动。动态驱动如i/o作为数据总线使用时,在指令控制下i/o是很短时间内输出数 据,脉冲宽度一般小于1微秒。i/o由特定动态的mos作为负载,一般可以驱动4到8个ttl电路。静态驱动是指i/o端口长时间处于同一种状态(0或者 1),只有驱动信号改变时i/o端口状态才改变,这时驱动的一般只有一个ttl电路。
2、就驱动能力来说应该注意下面两个问题:
(1)驱动时使用高电平驱动还是使用低电平拉入电流驱动。当为高电平驱动时,一般通用的i/o端口的最大驱动电流不能超过4到5毫安,而低电平拉入电流一般比较大,最大可以达到25毫安。
(2) 电阻性负载还是电容性负载。对于电容性负载,当高频驱动时由于有电容的存在,使i/o驱动电路负载加重,这样会损坏i/o端口,同时使i/o端口输出电平 降低。一般i/o电容负载不得大于50皮法。大于50皮法的应该加缓冲器,缓冲器可以用反门、晶体管、d触发器、rs触发器等。也可以在i/o端口串联一 个小于50欧姆的电阻,减小因电容引起的对i/o端口的瞬时冲击。如果使电阻性负载,主要考虑驱动电流是否适合。
3、用户把微处理器i/o定义为输入端口,但是在制造芯片时为了灵活使用该端口,也允许其作为输出端口,片内输出锁存器、数据寄存器对用户定义大输入口肯定会有影响。目前半导体制作上解决已有的输出硬件结构与定义输入口之间相互影响的办法有两个:
(1)输出数据寄存器与引脚连接要控制,例如加入一个可控制的三态输出门连接到引脚。也就是说,用户定义该端口为输入口,还要定义输出数据寄存器不与引脚连接,从而不影响输入状态。
(2)硬件结构已经把输出数据寄存器永远与引脚通过逻辑电路连接起来,这时如果该端口定义为输入口,事先应在输出数据寄存器置1。由于这时引脚状态是输出数据寄存器与射入端口的状态线相“与”的结果,因此也不会影响输入状态。
4、当输入端口是计数器捕捉寄存器输入、正交编码电路输入时,对于输入的最小脉冲宽度有一定的要求。脉冲过窄会使计数器无法正常工作。最小脉冲宽度对于不同的微处理器不同的主频有不同的要求,一般脉冲大于1微秒就可以正常工作了。
5、 在某一个瞬时,可能有两个i/o输出,并且片外外设输出1,微处理器i/o输出0,这样可能使微处理器i/o瞬时过载,损坏i/o端口。这时最好在两个引 脚之间串联一个大于100欧姆的电阻(100k欧以内)以限制瞬时电流。由于该电阻在cpu的i/o输出时是低阻抗,而在片外外设输入时是高阻抗,所以无 影响。相反也一样。

三星Note 8虹膜识别 PK iPhoneX人脸识别:各有缺点
linux系统基本操作命令
基于LabVIEW平台和CompactRIO开发移动机器人腿部动态步态
这10大方法告诉你如何使用无人车 防止惨案再次发生
激光测距传感器的原理
嵌入式Linux系统中I/O端口需要注意的问题
华为手机什么时候才会采用鸿蒙系统
美国参议员:人类在自动驾驶中会被当做碰撞试验假人
自制PCB板的方法及步骤流程
镭神智能受邀参加比亚迪暨粤港澳大湾区智能网联汽车高峰论坛,重磅新品获现场高度关注
爱立信称坚持FRAND原则专利收费必要但不宜过高
WP和iOS欧洲市场份额增长 Android萎缩
RFID智能加油站:物联网行业中的增效高手
华米发布全新时尚智能手表:首次加入温度测量 续航24天
大众的转型计划如何分配投资金额
什么是AI?什么是深度学习?
LDO设计电源注意事项
德国联邦金融监管局表示虚拟货币是价值的一种数字表示形式
轨道交通走向智能时代 华为给全球轨道数字化带来全新加速度
智慧大脑如何为河南制造赋能