首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>编程开发>嵌入式开发>正文

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

http://www.oklinux.cn  2007-08-23  赛迪网 kenn  会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

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输出时是低阻抗,而在片外外设输入时是高阻抗,所以无影响。相反也一样。

 

 


上一篇:Linux系统内核分析 使用GDB和QEMU来调试   下一篇:当今常用的开源协议详细解析

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·当今常用的开源协议详细解析
·在嵌入式软件设计过程中查找缺陷的技巧
·三种嵌入式操作系统的深入分析与详细比较
·几种Linux下嵌入式开发环境的简单介绍
·嵌入式系统的开发流程概括介绍
·在你的Ubuntu Linux桌面上嵌入终端窗口
·Linux嵌入应用之ARM体系结构的技术特征
·介绍嵌入式应用中存储器类型的选择技巧
·嵌入式系统开发学习如何起步、如何深入?
·嵌入式Linux系统的驱动程序开发要点
·Linux嵌入式系统的内存管理方法详细介绍
·Linux系统和嵌入式系统应用
·嵌入式Linux操作系统名词解释及资源大全
·用GNU工具开发基于ARM嵌入式系统的方法
· 2.6内核的Linux嵌入式系统应用
·嵌入式Linux系统的设计与应用
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·“中立人士”对嵌入式Linux的相关评论
·嵌入式技巧:ARM的三种中断调试方法介
·嵌入式:关于Linux下_init与_exit的解
·在嵌入式Linux系统中应用的GTK 和X分析
·使用虚拟机嵌入式Linux开发前的必要准
·用NFS服务开发ARM Linux程序的方法介绍
·虚拟机Linux系统下连接ARM开发板的方法
·嵌入式Linux系统下的网页浏览器 WebKit
·系统学习嵌入式Linux 几点非常实用的建
·嵌入式Linux攻略 ACE程序移植过程详细
·嵌入式基础 当今常用的开源协议详细解
·Linux攻略 嵌入式系统的开发流程概括介
  阅读排行
· 常见的嵌入式操作系统都有哪些?
·嵌入式Linux文件系统详细介绍
·Linux攻略 嵌入式系统的开发流程概括介
·嵌入式Linux系统学习规划
·在嵌入式Linux系统中应用的GTK 和X分析
· 嵌入式linux下常见的文件系统
·系统学习嵌入式Linux 几点非常实用的建
· armlinux启动配置文件 /etc/init.d/rc
·嵌入式系统的开发流程概括介绍
·U-Boot的常用命令详解
·疯狂DIY! 在iPod上安装Linux系统
·嵌入式Linux系统下的网页浏览器 WebKit
·详述嵌入式系统下Microwindows的实现
·Linux嵌入式系统的内存管理方法详细介
·嵌入式Linux系统名词解释及资源大全
网摘收藏: