Linux外部设备的硬件接口
出处:woymoon 发布于:2009-02-18 09:15:22
计算机的外部设各通常由电气部分和机械部分两部分组成。电气部分是用来控制机械部分的,因此电气部分也叫做外部设各的控制器。
控制器通过计算机系统总线挂接到系统上。或者说,计算机系统就是通过控制器来控制和操作外部设备的。典型的方式是,把外部设各中的各个控制器看做是一组互不冲突的寄存器组,并赋予它们相应的地址,从而使处理器可以像访问存储器一样来访问控制器,并通过控制器来访问外部设各。
外部设各通常包含4组寄存器,即状态寄存器、控制寄存器、数据输入寄存器和数据输出寄存器。这些寄存器有各自的地址,这个地址叫做端口。这些寄存器的作用分别为:
·状态寄存器用来向处理器提供外部设备的工作状态。例如,设各的当前操作是否执行完毕,数据是否可被读出或写入以及错误提示等。
·控制寄存器是被用来管理外部设备工作模式的。也就是说,在设备初始化或运行时, 处理器可通过向控制寄存器写入命令来启动或改变设各工作模式。
·数据输入寄存器和数据输出寄存器是用来与处理器传递数据的。
外部设各与处理器关系示意图如图所示。
图 外部设备与处理器关系示意图
为了识别外部设各的这些寄存器,系统给这些寄存器都赋予了地址,于是外部设各寄存器占用的地址空间叫做I/O空间。对于I/O空间的处理,目前有两种方式:一种是与存储器统一编址,即在整个内存空间中划出一个范围作为I/O空间,这种方式的特点是处理器没有独立的I/O指令,而是把外部设各的寄存器作为存储单元来对待的;另一种方式是处理器具有单独的I/O指令,所以在这种方式中I/O地址空间是独立编址的。不管是统一编址还是独立编址,从逻辑上来看,外设的各寄存器就相当于一种存储装置,它可向处理器提供数据,也可接收处理器的数据,即处理器可对它们进行读/写操作。
上一篇:Linux外部设备的基本概念
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- 深入解析嵌入式 OPENAMP 框架:开启异核通信新时代2025/7/22 16:27:29
- 一文快速了解OPENWRT基础知识2025/7/14 16:59:04
- 独立 ADC 优势大揭秘:为何不可替代?2025/7/7 16:21:04
- 深入剖析:嵌入式中 RS485、RS422 和 RS232 的特点差异2025/7/5 15:07:54
- 揭秘嵌入式 MCU:浮点数据处理难点及应对策略2025/6/20 15:19:07