一 处理器
1 通用处理器(GPP)
   不针对具体应用领域进行体系结构和指令的优化,具有通用性,以支持复杂的运算和添加新功能。
2 微控制器(MCU):含有CPU和一些基本外设的芯片
    微处理器(MPU):等价于CPU。
    两者都含有一个通用处理器核。
3 典型MCU结构包括时钟,定时器,看门狗,中断控制器,UART,IIC,USB,DMA,MMU以及最重要的CPU。
4 主流的嵌入式CPU:
(1)ARM:特点是低功耗
(2)MIPS:有IDT和PMC两个公司,主要用于高端路由器以及以太网交换
(3)Power PC:IBM和motorola公司,经典代表是MPC 860和MPC 8260
(4)68k/Coldfire:飞思卡尔(原来的Motorola半导体部),用作DSP核最多
5 CPU的体系架构
     (1)冯诺依曼(普林斯顿)结构:程序和数据共用一个存储器的不同物理位置,故数据宽度相同。
     (2)哈佛结构:程序总线和数据总线分开,有不同的数据结构,可独立寻址。
6 CPU的指令集
    (1)精简指令集(RISC):代码量大,指令周期短
    (2)复杂指令集(CISC):代码量小,指令周期长
7 数字信号处理器(DSP)
    (1)针对通信,语音,图形图像处理等领域的算法而设计,包含独立的硬件乘加器,且DSP的乘法指令一般在单周期完成。优化了矩阵,数字滤波,FFT等复杂的数学运算。
    (2)采用改进的哈佛结构,数据总线和程序总线可被CPU分时复用。
    (3)浮点DSP的浮点运算由硬件完成,所以比定点DSP快速。
    (4)代表产品:
        TI的TMS320DSP系列。C64X已经支持linux内核
        DI的21XX和SHARC,以及等价于MCU+DSP的blackfin平台。
8 专用处理器
    (1)网络处理器==若干微码处理器+若干硬件协处理器
    (2)专用集成电路(ASIC)
    (3)CPLD/FPGA
9 一般情况下,MCU用于多任务实时系统,图形界面操作
    DSP则用于语音,视频编解码

二 存储器
1 分类:Flash(闪存),ROM(只读),RAM(随机存取存储器),光,磁介质
2 ROM:
    (1)可编程ROM(PROM)
                可擦除可编程ROM:EPROM
                电可擦除可编程ROM:EEPROM
    (2)不可编程ROM
3 FLASH可替代ROM
    (1)NOR:可片内执行(XIP),类SRAM接口,不需要额外电路。利用EFI可以更新旧产品
                类SRAM接口的信号包括:地址线,数据线,片选,字节使能,读信号,写信号,就绪/忙信号,中断信号
    (2)NAND:不可片内执行,以块为单位,需要专用控制器。接口有:
                IO总线:供地址,数据,指令的传输,8/16位
                芯片启动(CE):未检测到CE信号则待机
                写使能(WE):负责将总线上的数据写到Nand的寄存器
                读使能(RE):允许读出数据
                指令锁存(CLE):当CLE高时,在WE的上升沿,指令被锁到nand
                地址锁存(ALE):当ALE高时,在WE的上升沿,地址被锁存到nand
                RB:低忙高空闲
        特点:容量大,价格低,擦写快,可操作次数约一百万次。
        (3)flash都会位反转,nand的几率较大
        (4)flash编程原理都只能将1写为0,不能将0写为1,所以在操作flash之前都要先擦除,使得全部为1
4 磁介质:IDE接口约等于ATA接口,链接硬盘和光驱。类SRAM接口
以上说的是NVM的flash

5 RAM  掉电丢失数据
SRAM:静态,6个晶体管,一供电就保持一个值,无刷新周期
DRAM:动态,一个晶体管加一个电容器,需要定期刷新,否则漏电丢失数据
                有SDRAM和DDR之分

6 特定类型的RAM
    (1)NVRAM:实质是借助带备用电源的SRAM或者借助NVM如EEPROM来保存并恢复信息。可避免类似对EEPROM的擦写过程。完全像SRAM一样读写,多用于存放操作系统参数信息。
    (2)DPRAM:双端口
            有两套DB,AB,CB,常用于两个CPU之间通信,通过两个端口同时访问,借助轮询或者中断,一口入,一口出。有点:快,实时性强,接口简单,甚至有多端口RAM。
    (3)CAM:内容寻址RAM,将输入数据与存储在CAM中的所有数据同时比较,找到匹配项,并输出相应信息,用于数据检索,输入的是要查询的数,输出的是地址和匹配信息

(4)FIFO:先进先出队列。类似DPRAM,但是只能指定一个端口作为输入,另外一个作为输出。即不能双向传输,通过循环读同一个地址来读取数据。

三 接口与总线
1 串口
    RS-232
    RS-422:单向,平衡传输,单机发,多机收
    RS-485:多点,双向,扩展共模范围
    常用的是RS-232C,标准是25条线,常用9条,一般我们开发只用到3条

2 IIC(内置集成电路)
    (1)两线串行式,SDA,SCL都是双向的
    (2)MCU和外设
    (3)多主控,但任意时刻只能有一个主控。
    (4)连到总线的输出端:开漏输出或者集电极开路输出,方可实现线与。
    (5)从设备可以向SCL发出低电平可以延长总线时钟信号周期
    (6)SCL为高时,SDA下降沿对应开始位,上升沿对应停止位。开始停止位都由主控设备产生,SCL的时钟脉冲由主控发出。
    (7)选从设备,先发出1字节地址信息,前7位地址,最后一位表示读写选择。
    (8)每个字节传送完毕,在SCL的第9个上升沿到来之前从设备应有ACK信号,第8个时钟周期以后,主控应该释放SDA。

3 USB(通用串行总线)
    速率快,可扩展,即插即用,热插拔(主机控制器和设备适配器)
(1)控制传输:双向,数据量较小,用来查询,配置,给USB设备发送指令
(2)同步传输:提供确定带宽和间隔时间,流数据传输,语音业务
(3)中断传输:单向传输,对USB主机,只有输入,定时查询设备是否有输入,键盘鼠标这类。

4 以太网接口
    实际上就是MAC+PHY。
MAC:以太网媒体接入控制器,实现数据链路层,
PHY:物理接口收发器, 实现物理层。
两者之间用MII链接。
MII:媒体独立接口。一个数据接口+一个MAC和PHY之间的管理接口
数据接口:用于发送,接收两条独立信道,每条信道都有自己独立的CLK,DATA,CONTROL信号,共需16个信号
管理接口:一个时钟信号+一个数据信号,通过它,上层可以监视控制PHY。

5 ISA(工业标准结构总线)
        20            24                32
        8              16                32(EISA)--------(IBM-PC/CAT)
(1)总线基本信号:复位,时钟,电源,地
(2)总线访问信号:AB,DB,应答信号
(3)总线控制信号:中断,DMA

6 PCI(外围部件互连)
(1)提供了一组完整的总线接口规范,其目的是描述如何将计算机系统中的外设以一种结构化和可控化的方式连接在一起,给出了外设在连接时的电气特性和行为规约。并且详细定义了计算机系统的各个不同部件之间应该如何正确的进行交互。 特点是:
                    数据总线32位,可扩展到64位
                    可进行突发模式传输(:取得总线控制权以后,连续的进行多个数据的传输。只需要给出目的地址的首地址,访问第一个数据以后,就会自动寻址和传输以后的数据。对应的是单周期方式,一个总线周期只传输一个数据)
                    总线操作与处理器--存储器子系统操作并行
                    总线时钟33MHZ或者66MHZ,最高速率528MB/S
                    采用中央集中式总线仲裁
                    支持全自动配置,资源分配,PCI卡内有设备信息寄存器组位系统提供卡的信息,即插即用
                    总线规范独立于微处理器,通用性好
                    可以完全作为主控设备控制总线

PCI卡刚加电时只有配置空间可以被访问,所以不能由驱动或者用户程序访问。这与ISA卡有本质区别,可以兼容ISA。

四 CPLD/FPGA
    如果他们完成的是特定的接口和控制功能,我们就直接把它当成ASIC。如果他作为主控制器,就当做CPU。

五 原理图分析
1 通过分析片选信号得出芯片的内存,I/O基地址,通过分析中断,DMA信号获得芯片使用的中断号和DMA通道。
2 以CPU为中心向存储器和外设辐射
            符号,网络,描述

六 时序分析
信号的先后顺序,建立时间,保持时间。
工具有Timing Diagrammer Pro

七 Data Sheet
产品综述
内存映射(存储器和外设的基地址)
用到什么找什么

八仪器使用
(1)万用表:
测电压
检查电路的连通性(二极管档)
(2)示波器
注意垂直偏转因数(VOLTS/DIV)(幅度),微调,时基(TIME/DIV)(混叠)的设置
(3)逻辑分析仪和ICD
断点,触发,跟踪调试,查看代码对应的二进制文件。
注意ICD和ICE的区别。

君君学Linux设备驱动第二天之硬件基础相关推荐

  1. 君君学Linux设备驱动第一天之概述及开发环境搭建

    一.设备驱动的作用:     1 计算机系统里面的软件和硬件是互相成就的,没有软件的硬件是废铁,没有硬件作为依托的软件是空中楼阁.     2 当应用软件工程师不想了解硬件底层的具体操作的时候,就需要 ...

  2. 君君学Linux设备驱动第三天之linux内核简简简介

    内核这东西不是一篇博客,日志能说清楚的,但是简要总结一下有利于后面的学习...... 一 内核的演变和发展 Linux是unix的一种克隆系统.它的发展依赖于五大支柱:unix系统(分时操作系统),m ...

  3. linux设备驱动第二篇:构造和运行模块

    上一篇介绍了linux驱动的概念,以及linux下设备驱动的基本分类情况及其各个分类的依据和差异,这一篇我们来描述如何写一个类似hello world的简单测试驱动程序.而这个驱动的唯一功能就是输出h ...

  4. 《Android深度探索(卷1):HAL与驱动开发》——1.6节 Linux设备驱动

    本节书摘来自异步社区<Android深度探索(卷1):HAL与驱动开发>一书中的第1章,第1.6节 Linux设备驱动,作者李宁,更多章节内容可以访问云栖社区"异步社区" ...

  5. Linux设备驱动开发详解 第3版 (即 Linux设备驱动开发详解 基于最新的Linux 4 0内核 )前言

    Linux从未停歇脚步.Linus Torvalds,世界上最伟大的程序员之一,Linux内核的创始人,Git的缔造者,仍然在没日没夜的合并补丁,升级内核.做技术,从来没有终南捷径,拼的就是坐冷板凳的 ...

  6. 十天学Linux内核之第二天---进程

    十天学Linux内核之第二天---进程 原文:十天学Linux内核之第二天---进程 都说这个主题不错,连我自己都觉得有点过大了,不过我想我还是得坚持下去,努力在有限的时间里学习到Linux内核的奥秘 ...

  7. linux设备驱动之总线、设备、驱动

    文章转载至多个地方,网上拼凑的一篇文章,说的好听一些的话那就叫自己总结的文章,只 是多次引用啊,哈哈,哎,不管了,反正这个有利用学习进步就好,这是重要的,文章转载过来要经过一篇大脑才能成为自己的,以后 ...

  8. 《Linux设备驱动开发详解 A》一一2.3 接口与总线

    本节书摘来华章计算机出版社<Linux设备驱动开发详解 A>一书中的第2章,第2.3节,作者:宋宝华 更多章节内容可以访问云栖社区"华章计算机"公众号查看.1 2.3 ...

  9. 【Linux开发】linux设备驱动归纳总结(四):5.多处理器下的竞态和并发

    linux设备驱动归纳总结(四):5.多处理器下的竞态和并发 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

最新文章

  1. mysql 5 可执行漏洞_漏洞预警:MySQL 0-day代码执行漏洞 可本地提权
  2. requirejs使用笔记
  3. java实现单词或字符串反转
  4. u盘版linux initramfs,Linux_内核升级后 出现initramfs错误问题解决, 出现initramfs找不到/root /hos - phpStudy...
  5. DbVisualizer 12.0.* Ubuntu
  6. Python被誉为神奇的“胶水语言”,到底神奇在哪?
  7. 《啊哈!算法》-----系列更新暂时停止
  8. ARM Keil5下载安装并导入STM32芯片
  9. 素数表(Prime number table)
  10. 基于STM32的简易交通灯设计
  11. 一台电脑中,如何使 git 同时配置Github、Gitee等多种版本控制工具
  12. cocos creator全局开关音效设置之静音开关
  13. 自动量程万用表的实现原理_自动量程万用表各个按钮的含义?
  14. fluent周期边界_在ANSYS Mesh模块中创建周期边界
  15. memcmp函数使用详解
  16. Qt 之QDockwidget 自定义窗口标题栏
  17. python lncrna_一文解决TCGA任意肿瘤的差异lncRNA,miRNA,mRNA
  18. NER依存关系模型:原理,建模及代码实现
  19. 倾城北栀:4.30日晚间行情分析以及操作策略
  20. 历史上康熙皇帝真的很喜欢微服私访吗?

热门文章

  1. DDS (Data Distribution Service) 数据分发服务-规范中文翻译_001
  2. 一种RK3399+MIPI+FPGA的高速工业相机的设计方案(三)
  3. C#实验五——编制写字板
  4. 【Beta阶段】第六次Scrum Meeting!
  5. 金山毒霸千年通行证申请器
  6. SEED-lab:Heartbleed Attack Lab
  7. 01 MongoDB入门基本操作
  8. 天猫双11红包前端jQuery
  9. POJ1015陪审团(Jury Compromise)——dp+路径记录
  10. 回调地狱终结者——Promise