Linux驱动开发——学习笔记( 一)

1. 驱动中涉及到的串口与总线

                  a. RS-232、RS-422 与RS-485 都是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的。

                  b.  I2C(内置集成电路)总线是由Philips 公司开发的两线式串行总线,产生于20 世纪80 年代,用于连接微控制器及其外围设备。I2C 总线简单而有效,占用很少的PCB(印刷电路板)空间,芯片管脚数量少,设计成本低。I2C 总线支持多主控(multi-mastering)模式,任何能够进行发送和接收的设备都可以成为主设备。主控能够控制数据的传输和时钟频率,在任意时刻只能有一个主控。

                  c. USB(通用串行总线)是Intel、Microsoft 等厂商为解决计算机外设种类的日益增加与有限的主板插槽和端口之间的矛盾而于1995 年提出的,它具有数据传输率高、易扩展、支持即插即用和热插拔的优点,目前已得到广泛应用

                  d. 以太网接口由MAC(以太网媒体接入控制器)和PHY(物理接口收发器)组成。以太网MAC由IEEE-802.3 以太网标准定义,实现了数据链路层。常用的MAC 支持10Mbit/s 或100Mbit/s 两种速率。PHY 则实现物理层功能,IEEE-802.3 标准定义了以太网PHY,它符合IEEE-802.3k 中用于10BaseT(第14 条)和100BaseTX(第24 条和第25 条)的规范。10BaseT 和100BaseTX PHY两种实现的帧格式是一样的,但信令机制不同,而且10BaseT 采用曼彻斯特编码,100BaseTX 采用4B/5B 编码。

                  e.ISA(工业标准结构总线)总线起源于1981 年IBM 生产的以Intel 8088 为CPU 的IBM-PC微计算机,开始时总线宽度为8 位。1984 年推出的IBM-PC/AT 系统将ISA 总线扩充为16 位数据总线宽度,同时地址总线宽度也由20 位扩充到了24 位。其后推出的EISA(扩展的ISA)采用32 位地址线,数据总线也扩展为32 位,但仍保持了与ISA 的兼容

                  f. PCI(外围部件互连)是由Intel 于1991 年推出的一种局部总线,作为一种通用的总线接口标准,它在目前的计算机系统中得到了非常广泛的应用。PCI 提供了一组完整的总线接口规范,其目的是描述如何将计算机系统中的外围设备以一种结构化和可控化的方式连接在一起,给出了外围设备在连接时的电气特性和行为规约,并且详细定义了计算机系统中的各个不同部件之间应该如何正确地进行交互


2. datasheet的阅读方法

芯片手册往往长达数百页甚至上千页,而且全部是英文,从头到尾不加区分地阅读需要花费非常长的时间,而且不一定能获取对设计设备驱动有帮助的信息。芯片手册的正确阅读方法是快速而准确地定位有用信息,重点阅读这些信息,忽略无关内容。下面以S3C6410A的datasheet 为例来分析阅读方法,为了直观地反映阅读过程,本节的图都直接从手册中抓屏而得。打开S3C6410 A 的datasheet,发现页数为1378 页,阅读这样的数据手册所花费的时间足够完成整个驱动的设计工作了。S3C6410A datasheet 的第1 章“PRODUCT OVERVIEW”即“产品综述”是必读的,通过阅读这一部分可以获知整个芯片的组成。

这一章往往会给出一个芯片的整体结构图,并对芯片内的主要模块进行一个简洁的描述。第2 章“MemoryMap”即“内存映射”比较关键,对于定位存储器和外设所对应的基地址有直接指导意义,这一部分应该细看。

第3~34 章对应于CPU 内部集成的外设或总线控制器,当具体编写某一接口的驱动时,应该详细阅读,主要是要分析数据、控制、地址寄存器(datasheet 中一般会以表格列出)的访问控制和具体设备的操作流程(datasheet 中会给出步骤,有的还会给出流程图)。

第44 章“ELECTRICAL DATA”即“电气数据”,描述芯片的电气特性,如电压、电流和各种工作模式下的时序及建立时间和保持时间的要求。所有的datasheet 都会包含类似章节,这一章对于硬件工程师比较关键,但是,一般来说,驱动工程师并不需阅读。

第45 章“MECHANICAL DATA”即“机械数据”,描述芯片的物理特性、尺寸和封装,硬件工程师会依据这一章绘制芯片的封装(footprint),但是,驱动工程师无需阅读。

                

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值