您的位置:首页 > 理论基础 > 计算机网络

第2章 驱动设计的硬件基础

2009-03-20 11:24 281 查看
本文摘自(偶有较小改动)《Linux 设备驱动开发详解》(宋宝华 编著;人民邮电出版社;),留作纪念。
——Living Park
第2章 驱动设计的硬件基础
2.1 处理器
2.1.1 通用处理器
一般而言,在嵌入式微控制器(MCU)和微处理器(MPU)中会包含一个通用处理器核。
早期,微控制器被称为单片机,意思是把计算机集成在一个芯片内。嵌入式微控制器也常被称作片上系统(SoC),含义是一个芯片上设计了整个系统。
中央处理器的体系结构可以分为两类,一类为冯·诺依曼结构,一类为哈佛结构。
从指令集的角度来讲,中央处理器也可以分为两类,即RISC(精简指令集计算机)和CISC(复杂指令集计算机) 。
2.1.2 数字信号处理器
       数字信号处理器(DSP)针对通信、图像、语音和视频处理等领域的算法而设计。它包含独立的硬件乘法器。DSP的乘法指令一般在单周期内完成。
       DSP一般采用改进的哈佛架构,它具有独立的地址总线和数据总线,两条总线由程序存储器和数据存储器分时共用。
       DSP分为两类,一类是定点DSP,一类是浮点DSP。浮点DSP的浮点运算用硬件来实现,可以在单周期内完成,而定点DSP只能用定点运算模拟浮点运算。
2.2 存储器
       存储器可分为只读存储器(ROM)、闪存(Flash)、随机存取存储器(RAM)、光介质存储器和磁介质存储器。
       目前ROM有被Flash替代的趋势,NOR(或非)和NAND(与非)是市场上两种主要的Flash闪存技术。Intel公司于1988年首先开发出NOR Flash,1989年东芝公司开发出NAND Flash。
       NAND Flash与NOR Flash相比容量大、价格低,而且擦除、编程速度远超过NOR Flash。
       Flash读写数据过程中会存在位反转且无法避免。NAND Flash发生位反转的几率远大于NOR
Flash。
       Flash的编程原理都是只能将1写为0,而不能将0写为1。所以在Flash编程前,必须将对应的块擦除,而擦除的过程就是把所有位都写为1的过程,块内的所有字节变为0xFF。
       RAM也可分为静态RAM(SRAM)和动态RAM(DRAM)。DRAM器件需要定期被刷新,而SRAM没有刷新周期。每个SRAM存储单元由6个晶体管组成,而DRAM存储单元由1个晶体管和1个电容器组成。
       DDR SDRAM同时利用了时钟脉冲的上升沿和下降沿传输数据,因此在时钟频率不变的情况下,数据传输频率加倍。
2.3 接口与总线
2.3.1 串口
       RS-232、RS-422与RS-485都是串行数据接口标准,最初都是由电子工业协会(EIA)制定并发布的。
       1969年发布的RS-232修改版RS-232C的标准接口有25条线(4条数据线、11条控制线、3条定时线、7条备用和未定义线),常用的只有9根。
2.3.2 I2C总线
       I2C(内置集成电路)总线是由Philips公司开发的两线式串行总线,用于连接微控制器及其外围设备。
       组成I2C总线的两个信号为数据线SDA和时钟线SCL。为了避免总线信号的混乱,要求各设备连接到总线的输出端必须是开漏输出或集电极开路输出的结构。
2.3.3 USB
USB(通用串行总线)是Intel、Microsoft等厂商为解决计算机外设种类的日益增加与有限的主板插槽和端口之间的矛盾而于1995年提出的,它具有数据传输率高、易扩展、支持即插即用和热插拔的优点。
USB1.1包含全速和低速两种模式,低速方式的速率为1.5Mbit/s,支持一些不需要很大数据吞吐量和很高实时性的设备,如鼠标等。全速模式为12Mbit/s,可以外接速率更高的外设。在USB2.0中增加了一种高速方式,数据传输率达到480Mbit/s,可以满足更高速外设的需要。
USB总线的机械连接非常简单,采用4芯的屏蔽线,一对差分线(D+,D-)传送信号,另一对(VBUS,电源地)传送+5V的直流电。一个USB主控制器端口最多可连接127个器件,各器件之间的距离不超过5米。
2.3.4 以太网接口
以太网接口由MAC(以太网媒体接入控制器)和PHY(物理接口收发器)。以太网MAC实现了数据链路层。PHY则实现物理层功能。
MAC和PHY之间采用MII(媒体独立接口)连接,包括一个数据接口和一个MAC和PHY之间的管理接口。数据接口包括分别用于发送和接收的两条独立信道,每条信道都有自己的数据、时钟和控制信号,MII数据接口总共需要16个信号。MII管理接口包含两个信号,一个是时钟信号,另一个是数据信号。通过管理接口,上层能监视和控制PHY。
2.3.5 ISA总线
       ISA(工业标准结构总线)。
2.3.6 PCI和cPCI
PCI(外围不见互连)是Intel公司于1991年推出的一种局部总线。
2.4 CPLD和FPGA
       CPLD(复杂可编程逻辑器件)由完全可编程的与或门阵列以及宏单元构成。
       FPGA(现场可编程门阵列)基于LUT(查找表)工艺。
2.5 原理图分析
2.5.1 原理图分析的内容
       原理图分析的含义是指通过阅读电路板的原理图获得各种存储器、外设所使用的硬件资源,主要包括存储器和外设控制芯片所使用的片选、中断和DMA资源。
2.5.2 原理图的分析方法
       原理图的分析方法是以CPU为中心向存储器和外设辐射。
2.6 硬件时序分析
2.6.1 时序分析的概念
       对驱动工程师或硬件工程师而言,时序分析的意思是让芯片之间的访问满足芯片手册中时序图有效的先后顺序、采样建立时间(setup time)和保持时间(hold
time)的要求,在电路板工作不正常的时候,准确地定位时序方面的问题。
2.6.2 典型硬件时序
       最典型的硬件时序是SRAM的读写时序,在读/写过程中涉及的信号包括地址、数据、片选、读/写、字节使能和就绪忙。对于一个16位、32位(甚至64位)的SRAM,字节使能表明哪些字节被读写。
2.7 仪器仪表使用
2.7.1 万用表
       在电路板调试过程中我们主要使用万用表的一下两个功能:
l       
测量电平
l       
使用二极管挡测量电路板上网络的连通性,当示波器被设置在二极管挡时,测量连通的网络会发出“滴滴”的鸣叫,否则,没有连通。
2.7.2 示波器
       示波器是利用电子示波管的特性,将人眼无法直接观测的交变电信号转换成图像,显示在荧光屏上以便测量的电子仪器。
       使用示波器主要应注意调节垂直偏转因数选择(VOLTS/DIV)和微调、时基选择(TIME/DIV)和微调以及触发方式。
2.7.3 逻辑分析仪
       逻辑分析仪是利用时钟从 设备上采集数字信号并进行显示的仪器,最主要的作用是用于时序的判定。
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息