第三章-嵌入式系统硬件组成

考纲与考点分析

嵌入式系统硬件组成

  1. 嵌入式硬件组成与嵌入式处理芯片(组成,特点,类型,ARM的AMBA总线,嵌入式处理芯片的选型)
  2. 嵌入式系统的存储器(层次结构,分类,性能指标,片内存储器,片外存储器,外部存储器等)
  3. I/O接口、I/O设备以及外部通信接口(GPIO、I2C、SPI、UART、USB、HDMI等;键盘、LED、LCD、触摸屏、传感器等;RS-232/RS-485、CAN、以太网和常用无线通信接口)
  4. 基于ARM内核的典型嵌入式处理芯片(S3C2410/S3C2440芯片的内部结构,如片上总线、DMA、时钟控制、中断控制、GPIO、UART、I2C、SPI、Timer、RTC、WDT及其他硬件组件)

考点分析

  • 在考试中一般情况下会出现在选择题和操作题(知识类型为记忆型和理解型相结合,记忆型偏多)
  • 常考知识点有:
    • 嵌入式最小硬件组成
    • 嵌入式处理芯片
    • 嵌入式系统的存储器
    • I/O接口及常用I/O设备
    • ARM内核典型嵌入式处理芯片
    • 嵌入式系统外部通信接口

考点1 嵌入式最小硬件系统

嵌入式最小硬件系统的组成

  • 提供嵌入式处理器运行必备条件的硬件电路与嵌入式处理器共同构成了嵌入式最小硬件系统,而大多数基于ARM处理器核的处理器芯片都有调试接口

1、电源电路

  • 电源电路为整个嵌入式硬件系统提供能量,是整个系统的基础,具有极其重要的地位

选择和设计电源电路时主要考虑的7个因素

  1. 输出的电压、电流

    • 按嵌入式硬件系统需要的最大功率来确定电源输出功率
  2. 输入的电压、电流
    • 是直流还是交流,输入电压和电流有多大
  3. 安全因素
    • 是否需要不会因火花或热效应而点燃爆炸性环境的本安型电源
  4. 电磁兼容
  5. 体积限制
  6. 功耗限制
  7. 成本限制

嵌入式系统常用的电源模块

  • 交流变直流(AC-DC)模块
  • 直流变交流(DC-AC)模块
  • 低压差稳压器(LDO)模块

2、时钟电路

  • 几乎所有的嵌入式处理器本质上均为同步时序电路,需要时钟信号才能按照节拍正常工作。大多数嵌入式处理器内置了时钟信号发生器,因此时钟电路只需要外接一个石英晶体振荡器和两只电容就可以工作了。
  • 上图中的Xtal为晶体振荡器,简称晶振。根据系统需求选择合适的晶振,既要考虑嵌入式处理器的最高工作频率,又要保证系统在一定的功耗范围内
  • 晶振是无极性的,通常分为无源和有源两种,无源晶振有两只引脚X1和X2,有源晶振有四只引脚,除了X1、X2外还有电源和地,X1为输入,X2为输出,通过X2可以提供时钟源给外部的其他电路使用

3、复位电路

  • 嵌入式处理器都有一个系统复位引脚为nRESET或RESET,其中n表示低电平复位不带n的表示高电平复位。一般来说nRESET必须至少保持若干个处理器时钟周期的低电平,系统才能可靠复位。目前嵌入式系统常使用外接典型复位芯片以保证系统能可靠复位
  • ARM复位后PC指针指向唯一的地址0x00000000,而在此地址处通常放一条无条件转移指令B RESET, 转向RESET开始的系统初始化程序,在这个系统初始化程序中就可以对系统进行初始化操作,以保证系统有序工作

4、JTAG测试接口

  • “JTAG”是一种国际标准测试协议,主要用于芯片内部测试以及对系统进行仿真和调试
  • JTAG技术是一种嵌入式测试技术,它在芯片内部封装了专门的测试电路并提供测试访问口(Test Access Port),TAP通过专用的JTAG测试工具可以对内部节点进行测试
  • JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,实现对各个器件分别进行测试

考点2 基于ARM内核的典型嵌入式应用系统硬件组成

典型嵌入式应用系统硬件组成

  • 典型嵌入式系统硬件是由嵌入式最小硬件组成、前向通道、后向通道、人机交互通道以及相互互联通道组成

    • 前向通道。即输入接口,由模拟量输入接口和数字量输入接口组成,模拟输入接口包括传感器陈、信号调理电路(滤波器、放大器等)、A/D转换器等
    • 后向通道。即输出接口,由模拟量输出接口和数字量输出接口组成,模拟输出接口包括D/A转换器、功率放大器、执行器等
    • 人机交互通道。包括键盘或触摸屏输入接口以及LED或LCD显示输出接口等
    • 相互互联通道。包括RS-232/RS-485串行通信接口、CAN通信接口、以太网通信接口、USB通信接口等

考点3 ARM的AMBA总线体系结构及标准

AMBA总线的概念

  • AMBA,先进微控制器总线体系结构。是ARM公司发布的总线协议,用于连接和管理SoC中功能模块的开放标准和片上互连规范
  • 标准规定了ARM处理器内核与处理器内部高带宽RAM、DMA以及高带宽外部存储器等快速组件的接口标准(通常称为系统总线),
  • 也规定了内核与ARM处理器内部外围端口及慢速设备接口组件的接口标准(通常称为外围总线)。

1、AMBA总线的发展及版本

  • AMBA1总线标准规定了两种类型总线,分别为系统总线和外围总线。ASB、APB

    • 先进系统总线(ASB)用于连接高性能系统模块
    • 先进外围总线(APB)支持低性能的外围接口。所有通用外设组件均连接到APB总线上
    • ASP和APB之间通过桥接器(Bridge)相连,期望能减少系统总线的负载
  • AMBA2总线标准增强了AMBA的性能,定义了两种高性能的中线规范AHB和APB2以及测试方法。AHB、APB2
    • ASB改成先进高性能总线(AHB),用于连接高性能系统组件或高带宽组件
  • AMBA3总线标准包括先进的可扩展接口(AXI),先进的跟踪总线(ATB),AHB-Lite以及APB3四个总线标准。AXI、ATB、AHB-Lite、APB3
  • AMBA4总线标准在ATB的基础上增加了5个接口协议:AXI一致性扩展(ACE)、ACE-Lite、AXI4、AXI4-Lite以及AXI4-Stream。ACE、ACE-Lite、AXI4、AXI4-Lite、AXI4-Stream、ATB、AHB-Lite、APB4
  • 不同版本的外围总线从APB到APB4的发展仅仅是所支持的外围硬件组件有所增加,其他没有什么变化

2、基于AMBA总线的典型ARM片上系统

  • AMBA1由ASB+APB组合构成总线系统
  • AMBA2由AHB+APB组合构成总线系统
  • AMBA3由AHB+ATB+AXI+APB组合构成总线系统
  • AMBA4由ACE+ATB+AXI(包括-Lite,-Stream)+APB组合构成总线系统,系统总线信号经过桥接器变换成外围总线APB的信号

考点4 基于ARM内核的嵌入式芯片的硬件组成

基于ARM内核的嵌入式芯片的硬件组成

1、存储器及控制器

  • ARM处理芯片内部硬件中除ARM内核外,最重要的组件就是存储器及其管理组件,用于管理和控制片内的SRAM、ROM和Flash ROM,通过外部存储器对外部扩展存储器如Flash存储器及DRAM等进行管理与控制
  • 片内程序存储器通常使用的是Flash ROM,片内数据存储器通常使用的是SRAM
  • 目前程序存储器的大多采用Flash存储器,数据存储器采用SRAM和DDR或DDR2或普通的DRAM
  • 高带宽外部存储器控制接口为外部存储器扩展提供了接口,可扩展程序存储器及数据存储器
  • 高带宽外部存储器控制接口与AMBA的系统总线部分相连

2、中断控制器

  • 中断控制器负责对其他硬件组件的中断请求进行管理和控制,一般采用向量中断(VIC)或嵌套向量中断(NVIC)方式管理中断。
  • 处理中断有两种形式,分别为标准的中断控制器和向量中断控制器(VIC)
    • 标准中断控制器在一个外设设备需要服务时,发送一个中断请求信号给处理器核。
    • 中断处理程序通过读取中断控制器中与各设备对应表示中断请求的寄存器内容,从而判断哪个设备需要服务。
  • VIC比标准中断控制器的功能更为强大些,它区分中断的优先级,简化了判断中断源的过程,只有当一个新的中断其优先级高于当前正在执行的中断处理优先级时,VIC才向内核提出中断请求
  • NVIC比VIC更进一步,可以进行中断的嵌套,即高优先级的中断可以进入低优先级中断的处理过程中。待高优先级中断处理完成才去继续执行低优先级中断。也有人称之为抢占式优先级中断Cortex-M系列就支持嵌套的向量中断

3、DMA控制器

  • ARM处理芯片内部的DMA控制器(即直接存储器访问控制器)是一种硬件组件,可将数据块从外设传输至内存从内存传输至外设从内存传输至内存
  • 数据传输过程中不需要CPU参与,因此可降低处理器的负荷。通过将CPU设为低功率状态并DMA使用控制器传输数据,降低了系统的功耗
  • 当ARM与串行通信端口、USB接口、CAN接口、以太网接口等通道进行交流时, 它们既可以由ARM内核控制其数据传输, 也可以通过DMA控制器控制数据传输

4、电源管理与时钟控制器

  • ARM处理芯片内部的电源管理主要有正常工作模式、慢时钟模式、空闲模式、掉电模式、 休眠模式、深度休眠模式等以控制不同组件的功耗。
  • 时钟信号是ARM芯片定时的关键,时钟控制器负责对时钟的分配,产生不同频率的定时时钟供片内各组件作为同步时钟使用。
    • 例如,有供快速通道的存储器时钟、供DMA控制器及中断控制器的时钟,也有经过桥接器之后经若 干分频得到的慢速时钟供APB总线上的各个不同接口作为同步信号。

5、GPIO

  • GPIO(General Purpose Input Output)即通用输入/输出端口。作为输入时具有缓冲功能,而作为输出时则具有锁存功能,GPIO也可以作为双向I/O使用。
  • 在ARM处理芯片中,GPIO引脚通常是多功能使用的,目的是为了减少芯片引脚数,缩小PCB面积,以减少功耗。有的引脚是双功能的,也有三功能甚至四功能的引脚,不同厂家的ARM处理芯片其具体引脚的定义不同。

6、定时计数组件

ARM处理芯片内部的计数组件

  • WDT(看门狗定时器)

    • WDT是能使系统定时复位的硬件或软件
    • 看门狗的主要功能是当处理器在进入错误状态后的一定时间内复位,保证系统的稳定运行
  • Timer通用定时器
    • Timer是通用定时器,可用于一般的定时
  • RTC
    • RTC可提供年月日时分秒,使应用系统具有自己独立的日期和时间
  • PWM(脉冲宽度调制器)
    • PWM用于脉冲宽度的调制,比如电机控制、用于变频调整等多种场合
  • 以上所有与定时有关的组件的一个共同特点就是,对特定输入的时钟通过分频后接入计数器进行加1或减 1计数,计数达到预定的数值后将引发一个中断并置一定的标志位

7、模拟通道组件

ARM处理芯片内部的模拟组件

  • ADC

    • ADC是模拟到数字的转换器,可完成从模拟信号到数字信号的变换。对于嵌入式系统而言它是一个模拟输入的组件。ARM芯片内部只有一个变换单元,分辨率一般为10位和12位居多。
  • DAC
    • DAC是数字到模拟的变换器,可完成从数字信号到模拟信号的变换。对于嵌入式系统而言它是一个模拟输出组件。一般内置DAC有10位、12位、14位等分辨率。
  • 比较器
    • 比较器可方便地对模拟电压信号等与基准信号相比较 ,可监测电源电压、芯片温度等,通过比较采样值与基准值,就可以判断是否欠压、温度是否超高等。

8、互联通信组件

ARM处理芯片内部的互联通信组件

  • UART(通用异步收发器)

    • UART为标准的串行通信接口,字符格式按照低位在前、高位在后的次序进行传输,1位起始位,5~8位数据位,1位奇偶校验位,1~2位停止位
  • I2C(Inter-Integrated Circuit)
    • I2C是集成电路互连的一种总线标准,只有两根信号线,一根是时钟线SCL,一根是数据线SDA(双向三态),即可完成数据的传输操作
    • 具有特定的起始位和终止位,可完成同步半双工串行通信方式,常用于板级芯片之间的短距离低速通信
  • I2S(Inter-Integrated Circuit Sound Bus)
    • I2S是一种面向多媒体应用的音频串行总线,是SONY、PHILIPS等公司共同推出的接口标准,主要针对数字音频设备如便携CD机、数字音频处瑾器等,专用于这些音频设备之间的数据传输
  • SPI(Serial Peripheral Interface)
    • SPI是串行外设接口,总线系统是一种同步串行外设接口,可以使MCU与各种外围设备以串行方式进行通信
    • 通常用四线制,包括MISO(主输入从输出)、MOSI(主输出从输入)、SSL(芯片选择)、SCK(时钟)
    • 可完成全双工的同步串行通信,用于板级芯片之间的短距离通信
  • CAN(Controller Area Network)
    • CAN是控制器局域网,仅有CANH和CANL两根信号线,采用差分传输的方式,可以进行远距离(1200m)多机通信。主要用于要求抗干扰能力强的工业控制领域 ,可组成多主多从系统
  • USB(Universal Serial Bus)
    • USB是一种通用串行总线,主要应用于与外部设备的短距离通信,采用差分方式传输数据,速度快,效率高,是目前应用最广的串行总线接口形式。
  • Ethernet
    • Ethernet是以太网通信接口,在许多新型ARM芯片(如Cortex-M3系列)中均集成了这一接口,使连接以太网变得非常容易,外部仅需要连接一个RJ-45连接器即可。

考点5 常用ARM嵌入式处理芯片

1、NXP的典型ARM芯片(荷兰恩智浦半导体公司)

  • 基于ARM7TDMI-S核的LPC2000系列
  • 基于ARM7TDMI-S核的LH7系列
  • 基于ARM9的LPC2900以及LPC3000系列
  • 基于ARM922T的LH7A系列
  • 基于Cortex-M0的LPC1000系列
  • 基于Cortex-M3的LPC1300/LPC1700/LPC1800系列
    • 以第二代Cortex-M3为内核,主频高达100MHz,带独立的本地指令和数据总线以及用于外设的第三条总线,运行速度高达1.25MIPS/MHz,特别适用于静电设计、照明设备、工业网络、报警系统、白色家电、电机控制等领域
  • 基于Cortex-M4+M0双核的LPC4000系列
    • 基于Cortex-M4内核的DSP完美融合了微控制器M0的基本功能和M4的高性能数字信号处理功能

2、TI的典型ARM芯片(美国德州仪器公司)

  • 主要特色是全部内置10位ADC
  • 基于ARM9的ARM芯片
  • 基于ARM Cortex-M3的低成本低功耗LM3SX00系列
  • 基于ARM Cortex-M3的高性能LM3S1000系列
  • 基于ARM Cortex-M3带CAN控制器的LM3S2000系列
  • 基于ARM Cortex-M3带USB接口的LM3S3000系列
  • 基于ARM Cortex-M3带USB+CAN接口的LM3S5000系列
  • 基于ARM Cortex-M3带Ethernet接口的LM3S6000系列
  • 基于ARM Cortex-M3带Ethernet+CAN接口的LM3S8000系列
  • 基于ARM Cortex-M3带Ethernet+USB+CAN接口的LM3S9000系列
  • 基于ARM Cortex-M3带Cortex-M4的LM4F系列
    • 内置FPU浮点运算部件
  • 基于ARM Cortex-R的TMS570LS2x等
  • 基于ARM Cortex-M4F的LM4F系列
  • 基于高端应用的Cortex-A8的AM35X/AM37X/AM38X
  • 基于C674+ARM Cortex-A8的TMS320C6A8167和TMS320C6A8168
  • 基于ARM Cortex-A的0MAP4系列
  • 基于ARM Cortex-A15的0MPA5系列
    • 主要用于智能手机及移动计算

3、Samsung的典型ARM芯片(韩国三星公司)

  • 最早得到应用的ARM处理器芯片厂商
  • 基于ARM7TDMI内核的S3C44B0
    • 专为手持设备使用
  • 基于ARM920T内核的S3C24xx系列
  • 基于ARM11的S3C6xxx系列
  • 基于ARM Cortex-A8的S5PC100系列
  • 基于ARM Cortex-A9的Exynos4系列
  • 基于ARM Cortex-A15的Exynos5系列

4、Atmel的典型ARM芯片(美国艾特美尔公司)

  • 基于ARM7TDMI内核的SAM7X系列
  • 基于ARM926EJ-S的SAM9X系列
  • 基于ARM Cortex-M3的SAM3X系列
  • 基于ARM Cortex-M4的SAM4X系列

5、ST的典型ARM芯片(法国意法半导体公司)

  • 基于ARM7TDMI内核的STR7系列
  • 基于ARM9E内核的STR9系列
  • 基于ARM Cortex-M0的STM32F0系列
    • 有12位的ADC和DAC,带比较器
  • 基于ARM Cortex-M3的主流ARM芯片STM32F1系列
  • 基于ARM Cortex-M3的低功耗ARM芯片STM32L1系列
  • 基于ARM Cortex-M3的高性能ARM芯片STM32F2系列
  • 基于ARM Cortex-M4的高性能ARM芯片STM32F4系列

6、Freescale的典型ARM芯片(美国飞思卡尔公司)

  • 基于ARM Cortex-M0的Kinetis L系列
  • 基于ARM Cortex-M4的Kinetis K系列
    • 有超过200种不同结构的低功耗、高性能、可兼容的微控制器
  • 基于ARM Cortex-M4的Kinetis X系列
    • 速度最快的微控制器

7、Nuvoton的典型ARM芯片(台湾新唐科技公司)

  • NUC100系列
  • 带USB全速2.0设备的低功耗NUC120/NUC122系列
  • 内嵌CAN控制器局域网2.0B标准的NUC130/140系列
  • 继M051系列之后的低管脚、低价位的Mini51系列
  • 以200uA/MHz常态低功耗运行的Nano100超低功耗系列
    • 应用领域相当广泛,包括触控屏幕、USB连接、直流无刷电机、汽车电子、医疗电子等。此前还有ARM7和ARM9产品

8、Intel的典型ARM芯片(美国英特尔公司)

  • XScale核的PXA250和PXA270

9、其他ARM芯片厂家

  • 美国益登科技基于ARM Cortex-M3处理器的新型Precision32系列产品,包括SIM3UIxx和SIM3CIxx系列
  • 其他生产ARM芯片的国外厂家还有Alilent、Cirrus、Hynix、Linkup、Motorola、NEC、IVetSilion、OKI、Parthus、Qualcomm、Rohm、Triscend等,国内也有购买ARM内核的科研院所和生产厂家

考点6 嵌入式系统芯片的选型

嵌入式系统芯片的选型应该遵循的原则

  1. 性价比原则

    1. 性能:应该选择完全嫩满足要求且略有余量的嵌入式处理芯片,够用就行
    2. 价格:在满足需求的前提下选择价格便宜的
  2. 参数选择原则
    1. ARM内核
    2. 系统时钟频率
    3. 芯片内部存储器的容量
    4. 片内外围电路
      • GPIO外部引脚条数
      • 定时计数器
      • LCD液晶显示控制器
      • 多核处理器
      • ADC
      • 通信接口
    5. 其他因素

考点7 存储器层次结构

  • 对于CPU使用最频繁的少量程序代码和数据用SRAM作为Cache存放
  • 正在运行中的程序的大部分数据和代码存放在主存
  • 尚未启动运行的其余程序或数据则存放在容量大的外部存储器如磁盘(虚拟内存)中待命

存储器三个层次结构(除内核寄存器外)

  • 最上层是处理器内部的通用寄存器,是速度最快的一层
  • 其次就是处理器内部的Cache,其下就是主存储器
    • 使用Cache的优点是只需要增加少许成本,整个系统的性能就能得到显著提高,目前嵌入式系统采用SARM作为Cache
  • 最后一层是容量很大、速度最慢的外部存储器

考点8 存储器分类

嵌入式系统使用的存储器分类

  • 按照其存取特性

    • 随机存取存储器(RAM)
    • 只读存储器(ROM)
  • 按照存储信息的不同
    • 程序存储器
    • 数据存储器
  • 按照所处物理位置
    • 片内存储器(芯片内置的存储器)
    • 片外存储器(外部扩展的存储器)
    • 外部存储设备
  • 嵌入式系统中把片内存储器及片外存储器简称为主存储器或主存;把外部存储设备简称为辅助存储器

嵌入式系统主存种类

  1. 半导体存储器

    1. RAM

      • SRAM-静态随机存取存储器
      • DRAM-动态随机存取存储器
    2. ROM
      • MROM-掩膜型只读存储器
      • PROM-一次可编程只读存储器
      • EPROM-紫外线可擦除可编程只读存储器
      • E2PROM-电可擦除可编程只读存储器
      • Flash ROM-闪速存储器(NOR与NAND两类)
  2. 新型存储器
    • FRAM-铁电随机存取存储器
    • MRAM-磁性随机存取存储器

1、RAM

  • 有两种形式,分别为静态和动态,均为易失性存储器,现在多数嵌入式处理器内嵌的数据存储器都采用SRAM,而外部扩展的存储器多采用DRAM及其改进型
  • DRAM开发的新品种主要如下:
    • DDR SDRAM,

      • 新的内存标准之一,双边沿触发传送数据,把数据传输速率提高了一倍
      • 可预读取2位数据
    • DDR2
      • 把DDR的数据传输速率提高了两倍
      • 可预读取4位数据
    • DDR3
      • 把DDR2的数据传输速率提高了两倍
      • 可预读取8位数据
    • DDR4
      • 把DDR3的数据传输速率提高了两倍
      • 一种使用Single-ended Signaling信号,其传输速率为1.6~3.2GB/s
      • 另一种基于差分信号技术,其传输速率将可以达到6.4GB/s

2、ROM

  • MROM

    • MROM是基于掩膜工艺技术的只读存储器,主要用于不可升级的成熟产品存储程序不变的参数等信息
  • PROM
    • PROM是一次可编程只读存储器,只能一次编程,一旦编程完毕则无法修改
  • EPROM
    • EPROM是紫外线可擦除可编程只读存储器,擦除编程次数十万次以内,编程速度慢擦除时间长
  • E2PROM
    • E2PROM是电可擦除可编程只读存储器,可以在线改写和擦除信息,无需紫外线照射
  • Flash ROM
    • 特点是擦除和编程速度快,得名闪速存储器,简称闪存
  • NOR Flash ROM
    • NOR Flash颠覆了原先由EPROM和E2PROM一统天下的局面
    • NOR Flash ROM是以字节为单位随机存取。这样,应用程序可以直接在Flash ROM中执行,不必再把程序代码预先读入到RAM中
    • 与NAND Flash ROM相比,NOR Flash ROM的接口简单,可以直接连接到处理器的外围总线上(而NAND Flash ROM必须配置专用的NAND Flash ROM控制器或采用通常的I/O接口才能使用)。但是NOR Flash ROM写入和擦除速度较慢,影响了它的性能。
  • NAND Flash ROM
    • NAND Flash结构,单元电路尺寸几乎只是NOR器件的一半
    • NAND Flash ROM以页(行)为单位随机存取
    • 对比NOR Flash ROM,NAND Flash在容量、使用寿命和成本方面有较大优势。但是它的读出速度稍慢,编程较为复杂,因此大多作为数据存储器使用。
    • 嵌入式产品中包括数码相机、MP3随身听记忆卡、体积小巧的U盘等均采用NAND Flash ROM

3、FRAM

  • FRAM的铁电晶体的稳定性极高,它就既具有只读存储器非易失性的特点,又具有随机存储器可快速随机读写的特点,而且速度快、功耗低,
  • 目前不仅被应用到嵌入式微处理器内部以取代SRAM和Flash存储器,而且在其他嵌入式应用领域的应用越来越广泛

4、MRAM

  • MRAM是一种非易失性(或非挥发性)的磁性随机存储器,具有SRAM的高速存取能力以及DRAM的高集成度,而且基本上可以无限次地重复写入

考点9 存储器主要性能指标

1、容量

  • 存储器容量是指每一个存储芯片或模块能够存储的二进制位数
  • 存储器容量以存储1位二进制位为最小单位(b),容量单位有字节(B)、千字节(KB)、兆字节(MB)、吉字节(GB)、太字节(TB)、拍字节(PB)、艾字节(EB)、泽字节(ZB)、尧字节(YB)
  • 对于内存容量来说,这些容量单位之间的相互关系均以210倍表示
  • 对于外存容量来说,这些容量单位之间的相互关系均以103倍表示
  • 内存储器有多大容量取决于存储单元的个数和存储器各单元的位数。
    • 内存容量=单元总数 x 数据位数 / 单元
  • 单元个数与存储器的地址线有密切关系,因此存储芯片的容量完全取决于存储器芯片的地址线条数和数据线的位数。
    • 假设单元个数为L,数据线位(条)数用N表示,地址线条数用M表示,容量用V表示
    • V=L x N=2M x N

2、存取时间

  • 存取时间是从CPU给出有效的存储器地址开始到存储器读出数据(或者是把数据写入存储器)所需要的时间
  • 存储器芯片的工作速度通常用存取时间来衡量。由于现在的存储器都较快,内存的存取时间通常以ns为单位

3、宽度

  • 存储器的带宽指每秒可传输(读出/写入)的最大数据总量,存储器带宽与存储器总线频率有关,也与数据位数(宽度)和每个总线周期的传输次数有关。
  • 并行总线的存储器带宽
    • 带宽=总线频率 x 数据宽度 / 8 x 传输次数 / 总线周期 (B/s)
  • 串行总线的存储器带宽
    • 串行总线按位顺序传输,其带宽的计算公式如下,通常串行总线以10位为一个数据帧(含一字节数据)
    • 带宽=总线频率 x 1 / 10 (B/s)

考点10 片内存储器

1、片内Cache

  • 嵌入式微处理器内部集成了几KB到几百KB,有的达到几MB的Cache,有的嵌入式微处理器内部有片内一级Cache,还有二级Cache
  • 借助内部Cache,系统减少了访问外部存储器的次数提高了系统运行效率,在性能高的嵌入式处理器中都会集成内部Cache

2、片内Flash ROM

  • 大部分嵌入式微控制器内部集成有一定容量的Flash ROM作为程序存储器,从几KB到几MB不等
  • 有了内置Flash,嵌入式系统就可以以最小系统形式(无需外接程序存储器)应用到各个领域,充分体现了嵌入式系统的专用性和嵌入性

3、片内Flash SRAM

  • 嵌入式微处理器内部集成了几KB到几MB不等的SRAM作为数据存储器,用来临时存放系统运行过程中的数据、 变量、中间结果等
  • 由于SRAM是易失性存储器,因此系统复位后要对SRAM进行初始化操作

4、片内E2PROM

  • 相当一部分嵌入式微控制器内部还配置了几KB到几MB不等的E2PROM作为长期保存重要数据的存储器
  • 因为是非易失性存储器,掉电后信息保持不变,因此常用于存放系统的设置和配置信息以及希望长期保存且很少改写的一些数据

5、片内FRAM

  • 目前已有部分嵌入式微控制器内部集成了FRAM,由于它具有RAM和ROM的全部特点,因此既可当作RAM用,又可当做ROM用,是当前嵌入式微控制器内部的主要存储器之一

考点11 片外存储器

1、片外程序存储器

  • NOR Flash ROM

    • 主要有Intel的E28F系列、AMD的AM29系列、SST的SST39系列、SPANSION的S29系列
  • NAND Flash ROM
    • 主要有三星的K9系列、现代的HY27系列、ST的NAND系列、东芝的TC58系列

2、片外数据存储器

  • 嵌入式系统使用的外部数据存储器有SDRAM、DDR系列等。早期的ARM芯片仅支持SDRAM ,新型的ARM芯片如Cortex-A系列还支持DDR系列存储器
  • 现代公司生产的DDR存储器命名规则为HYXZmnjk
    • HY为现代标识
    • X为存储器类型
      • 5和57表示SDRAM,5D表示DDR
    • Z为电压级别
      • U表示2.5V,V表示3.3V,空白表示5V
    • m表示总容量
      • 对于SDRAM,64和65表示64MB,26和28表示128MB,56和52表示256MB
      • 对于DDR,28表示128MB,56表示256MB,12表示512MB
    • n表示数据宽度
      • 16表示16位位宽,32表示32位位宽
    • j表示逻辑BANK数
      • 1表示2个BANK,2表示4个BANK,3表示8个BANK,实际上是选择BANK的输入引脚个数
    • k表示电气接口
      • 0表示LVTLL,1表示SSTL,2表示SSTL_2

考点12 外部辅助设备

  • 常见类型的闪存卡

    • SD卡CF卡、SM卡、XD卡、MMC、记忆棒
  • U盘
    • 全称USB闪存盘,英文名为USB Flash disk。是一种使用USB接口的无需物理驱动的移动存储产品,通过USB接口与系统连接,实现即插即用
  • 微硬盘
    • 最早由IBM公司开发,其最初的容量为340MB和512MB,现在有1GB、16GB、60GB、240GB等等
    • 特点
      • 超大容量
      • 使用寿命长
      • 带有缓存
      • 无需外置电源
      • 高速传输
      • 接口多样,兼容性好
      • 高防振性

考点13 通用I/O接口GPIO

  • 所有嵌入式处理器内部均集成了GPIO接口,GPIO接口提供的输入具有缓冲功能输出具有锁存功能
  • 有的嵌入式处理器芯片通过设置端口的方向来确定是输人功能还是输出功能,也有的嵌入式处理器直接根据读写命令自动控制输入或输出的方向。GPIO一般具有三态,即0态、1态和高阻态
  • 有些GPIO有多种功能以供选择,有两功能的、三功能的、四功能的,可以通过设置相关控制寄存器的位来确定引脚功能。有些ARM芯片,如新唐科技的Cortex-M0芯片每个引脚都可以设置成中断输入
  • 典型的1位GPIO输入/输出接口

考点14 集成电脑互联总线接口I2C

1、I2C的概述

  • 集成电路互连(Inter IC,I2C)总线用于连接嵌入式处理器及其外围器件,它是广泛采用的一种串行半双工传输的总线标准,可以方便地用来将微控制器和外围器件连接起来构成一个系统
  • 主动发起数据传输操作的I2C器件是主控器件,否则它就是从器件
  • I2C总线具有接口线少控制方式简单器件封装紧凑通信速率较高(100kb/s,400kb/s,高速模式可达3.4MB/s)等优点

2、I2C总线的操作时序

  • I2C总线只有两条信号线,一条是数据线SDA,另一条线是时钟线SCL,所有的操作都通过这两条信号线完成。
  • SDA上的数据必须在时钟的高电平周期保持稳定,它的高低电平状态只有在SCL是低电平时才能改变

I2C总线数据传输时序

  • 启动和停止条件

    • 总线上的所有器件都不使用总线时(总线空闲),SCL线和SDA线各自的上拉电阻把电平拉高 ,使它们均处于高电平
  • 数据传送格式
    • 数据传送时高位在前,低位在后,每次传送的字节数目没有限制。传输操作启动后主控器件传输的第一字节是地址
  • 应答ACK信号传送
    • 为了完成一字节的传送,接收方应该发送一个确认信号ACK给发送方。ACK信号出现在SCL的第9个时钟脉冲上,有效应答ACK在SDA上呈现低电平
  • 读/写操作
    • 在发送模式下,数据被发送出去后,I2C接口将处于等待状态(SCL线将保持低电平),直到有新的数据写入I2C数据发送寄存器之后,SCL线才被释放,继续发送数据
    • 在接收模式下,I2C接口接收到数据后,将处于等待状态,直到数据接收寄存器内容被读取后,SCL线才被释放,继续发送数据
  • 总线仲裁
    • I2C总线属于多主总线,即允许总线上有一个或多个主控器件和若干从器件同时进行操作
    • 总线上连接的这些器件有时会同时竞争总线的控制权,这就需要进行仲裁。I2C总线主控权的仲裁有一套规约。
  • 异常中断条件
    • 如果没有一个从器件对主控器件发出的地址进行确认,那么SDA线将保持为高电平
    • 如果主控器件涉入异常中断,在从器件接收到最后一个数据字节后,主器件将通过取消一个ACK信号的产生来通知从器件传送操作结束

3、I2C总线接口的连接

  • ARM芯片内部集成了I2C总线接口,因此可直接将基于I2C总线的主控器件或被控器件挂接到I2C总线上。每个器件的I2C总线信号SCL和SDA与其他具有I2C总线的处理器设备同名端相连,在SCL和SDA线上要接上拉电阻
  • 在ARM芯片中内置了I2C总线控制器,I2C总线在主器件和从器件之间进行数据传输之前,必须根据要求设置相应的I2C的有关功能寄存器,包括I2C总线控制寄存器、I2C总线状态寄存器、I2C总线地址寄存器、I2C总线接收/发送数据移位寄存器

考点15 串行外设接口SPI

1、SPI简介

  • SPI是一种同步串行外设接口,允许嵌入式处理器与各种外围设备以串行方式进行通信、数据交换。
  • 基于SPI接口的外围设备主要包括Flash ROM、RAM、A/D转换器、网络控制器、MCU等
  • SPI系统可直接与各个厂家生产的多种标准外围器件直接相连,一般使用4条线:
    • 串行时钟线SCK、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI、低电平有效的从机选择线SSEL
    • 有的SPI接口芯片带有中断信号线INT,有的SPI接口芯片没有MOSI

2、SPI的操作过程

  • 将数据写到SPI发送缓冲区后,在时钟信号SCK作用下,一位一位按位传输
  • 在主机中数据从移位寄存器中自左向右发出送到从机(MOSI),同时从机中的数据自右向左发到主机(MISO),经过8个时钟周期完成1字节的发送
  • 输入字节保留在移位寄存器中,然后从接收缓冲区中读出1字节的数据。

3、SPI接口的连接

  • 一主一从式系统

    • 接收和发送数据是单向的。主机SCK作为同步时钟输出到从机,主机SSEL接高电平,从机SSEL接低电平
  • 互为主从式系统
    • MISO和MOSI以及SCK都是双向的,视发送或接收而定,SSEL电平不能固定,如果作为主机,则设置SSEL位低电平,迫使对方作为从机
  • 一主多从式系统
    • 大部分应用场合使用比较多的是一主多从式SP结构,SPI的所有信号都是单向的,主机MOSI和SCK都为输出,MISO位输入,主机SSEL接高电平,作为主机使用。由于系统中有多个从机,因此使用主机的I/O引脚去选择要访问的从机,即GPIO的某些引脚连接从机的SSEL端
  • 多主多从式系统
    • 对于多主多从的SPI系统,MISO、MOSI及SCK视何时作为主机使用而定,主要考虑的是SSEL选择信号的接法,即每个主/从机的SSEL被其他主/从机选择,其他主/从机的GPIO引脚都参与主/从机的选择。这是最复杂的情况,实际应用系统中,尤其是嵌人式系统用得不多。

考点16 串行异步通信接口UART

UART概述

  • 串行异步通信接口通用异步收发器(UART),常用于全双工串行异步通信
  • 所有嵌入式处理芯片内部均集成了兼容标准UART功能的组件,有的集成了多个UART
  • UART由发送器、接收器、控制单元、波特率发生器等构成。

UART组成

  • 发送器

    • 负责字符的发送,可采用先进先出(FIFO)模式,也可采用普通模式发送
    • 发送的字符先送到发送缓冲寄存器,然后通过移位寄存器,在控制单元的作用下,通过TXDn引脚一位一位顺序发送出去
  • 接收器
    • 接收器负责外部送来字符的接收,可以是FIFO模式接收 ,也可以是普通模式接收
    • 在FIFO模式下,只有缓冲器满才引发接收中断并置位接收标志
    • 在普通模式下,接收到一个字符就引发接收中断并置标志位
  • 说明
    • 一般接受和发送缓冲器的FIFO字节数N是一样大小的,均可编程选择长度,不同ARM芯片,FIFO缓冲器最大字节数N不同
    • ARM9的S3C2410和Cortex-M3的LPC1766为16B,ARM9的S3C2440为16B
  • 波特率发生器
    • 波特率发生器在外部时钟的作用下,通过编程可产生所需要的波特率,最高波特率为115200b/s
    • 波特率的大小由波特率系数寄存器如UBRDIVn决定

字符格式的约定

  • UART的信息传送按位进行,因此有一定的字符格式的约定
  • 字符总是以起始位为开始,以停止位为结束,并且数据以低位在前、高位在后按次序传输
  • 数据位可为5位、6位、7位和8位由编程决定
  • 数据位之后是校验位,可为奇校验或偶校验,也可以没有校验
  • 起始位以逻辑0为标志,停止位以逻辑1为标志,停止位可为1位、1.5位和2位
  • 字符格式由线路控制寄存器如ULCONn决定
  • 说明
    • 通常情况下接收采用中断方式,发送采用查询方式。这是因为发送由程序直接控制,而接收时对方的信息是随机的。
    • 直接用UART进行通信仅限于板间或芯片间通信,如果超过1m的距离或环境比较恶劣,则需外接逻辑电平转换接口,如RS-232、RS-422、RS-485

考点17 通用串行总线USB

1、USB的简单介绍

  • 通用串行总线(USB)是一种外部总线接口标准,用于规范系统与外部设备的连接和通信,是嵌入式应用领域最常用的总线接口之一
  • USB总线接口支持的设备的即插即用热插拔功能
  • USB总线通信采用主从方式
  • USB OTG的作用是可以摆脱主机,直接在具有OTG的USB总线上完场点对点通信,实现在没有主机的情况下设备之间可以进行数据传送

2、USB的主要特点

  • 使用方便

    • 一个端口可以连接多个不同的设备,支持热拔插
  • 速度快
    • 目前USB2.0的速度为480Mb/s,USB3.0达到5Gb/s即640MB/s。注意单位,USB2.0是Mb/s,USB3.0是MB/s
  • 连接灵活
    • 即可以使用串行连接,也可以使用USB Hub把多个USB设备连接在一起,USB能智能识别USB链上外围设备的接入或拆卸
  • 独立供电
    • USB接口提供内置电源,USB电源能向低压设备提供5V的电源,提供500mA电流(USB3.0能提供900mA)

3、USB硬软件构成

  • USB系统由USB硬件USB软件组成
  • USB硬件中的USB主控制器包括一个Root Hub,它提供一个或多个USB下行端口,每个端口可以连接一USB Hub或一个USB设备,使一个USB端口扩展为多个端口,最多可支持127个外部设备
  • USB软件主要是相关的驱动程序,包括USB设备驱动程序、USB驱动程序以及USB主控制器驱动程序

4、USB的信号编码方式

  • USB采用翻转不归零制(NRZI)编码方式对数据进行编码
  • NRZI的编码中,电平保持时传送逻辑1,电平翻转时传送逻辑0

5、USB总线的接口信号

  • USB总线(1.1和2.0)有4根信号线,采用半双工差分方式,用来传送信号并提供电源
  • 其中,D+和D-为差分信号线,传送信号,它们是一对双绞线;另两根是电源线和地线,提供电源

考点18 高清多媒体接口HDMI

1、HDMI概念

  • 高清晰度多媒体接口(HDMI)是一种数字化音频/视频接口,适合影像传输,可同时传送音频和视频信号而无需在信号传送前进行数/模或者模/数转换,最高数据传输速度为10.2Gb/s
  • HDMI在嵌入式视频监控系统中应用广泛,目前已有多个ARM芯片内置了HDMI控制器接口

2、HDMI介绍

  • HDMI有两种连接器接口形式,一种是19针(Type A),另一种29针(Type B)

    • 29针支持双通道连接,目前还没有厂商使用
  • HDMI有1.0、1.1、1.2、1.3、1.4几个版本,1.0~1.2最高传输率为5Gb/s,1.3版本以后达10.2Gb/s。目前支持1.2版本的设备和接口比较普遍。1.4a加入了用于广播系统中的强制3D画面传输格式标准
  • HDMI的设备具有即插即用的特点,与DVI相比HDMI接口的体积更小

考点19 常用简单输入设备

1、键盘

  • 通常可应用GPIO引脚构建简单键盘,分为线性键盘和矩阵键盘
  • 线性键盘是指一个按键占用一个引脚,利用读该引脚的状态确定按键的状态

    • 当无键按下,因R7接到电源端,因此引脚GPF1为高电平(逻辑1)
    • 当KEY1按下时,由于KEY1一端接R1,另一端接地,经过R1、R7分压,GPF1引脚的电压为0.1KΩ / 10KΩ x 3.3V = 0.033V,为低电平(逻辑0)。因此程序只要读取GPF1引脚的状态就可以知道KEY1是否被按下
    • S3C2410和S3C2440的GPF1~GPF6正好是EINT1~EINT6这个六个外部中断引脚,因此除了通过查询方式读按键之外,还可通过中断读取按键结果
  • 矩阵键盘采用行列矩阵形式构成键盘,利用行扫描法或反转法读取按键的特征值来决定按键的结果

    • 行列矩阵式键盘设计法,即行扫描法
    • 行扫描方法的键盘电路设计如图所示,采用四根I/O引脚GPG4~GPG7作为行扫描输出,四根I/O引脚GPF0~GPF3作为输入检测,同时这四个输入引脚接一四输人与门,与门输出接外部中断2即EXINT2引脚
    • 这样可以采用中断方式,读取键盘值(0~F),在中断服务程序中判断GPF0~GPF3哪个引脚为低电平,然后结合输出扫描的行号即可合成对应的键值

2、触摸屏

  • 目前的触摸屏有两种形式,一种是电阻式触摸屏(俗称软屏),另一种是电容式触摸屏(俗称硬屏)
  • 电阻式触摸屏
    • 结构简单,价格低,用专用硬笔写字的触摸屏属于电阻式
    • 是一种电阻传感器,它将矩形区域中触摸点(x,y)的物理位置转换为代表x坐标和y坐标的电压
  • 电容式触摸屏
    • 结构复杂,价格高,带多点触摸或滑动操作的触摸屏均属于电容式。电容式触摸屏的应用越来越广泛
    • 当触摸屏幕时,由于人体电场,手指与导体层间会形成一个耦合电容,四边电极发出的电流会流向触点
    • 一般电容式触摸屏与ARM处理芯片采用USB或I2C总线方式连接

考点20 常用简单输出设备

1、LED发光二极管

  • LED发光二极管与ARM芯片的连接仅需要一根GPIO引脚,但绝对不能直接把引脚连接到发光二极管上,因为通常ARM芯片GPIO引脚提供的电流是有限的,不能直接驱动发光设备,因此要加驱动电路

2、LED数码管

  • LED数码管如下图所示,有八个段,a、b、c、d、e、f、g、dp。
  • 数码管有共阳和共阴两种接法,共阳即把LED发光管的所有阳极连接在一起。共阴就是把所有LED发光管的阴极连接在一起

S3C2410与一位数码管的连接示意图

  • 假设八段数码管为共阳接法。U1作为正向驱动且具有锁存功能。例如,要显示9则通过数据总线向锁存器U1送出的代码为0x90,选中的地址为nGCS2。共阳接法,低电平亮,共阴接法,高电平亮
  • 图中74HC573在CLK上升沿时把数据打入锁存器,而系统在选中nGCS2时正好产生一个负脉冲,在上升沿时数据巳 经稳定在数据总线上,因此满足时序要求
  • 在S3C2410以及S3C2440中,nGCS2的地址范围为0x10000000~0x18000000,只要用这段地址中的仟何一个送数据均可点亮本LED数码管

3、LCD显示设备

LCD显示设备按其完整程度的分类

  • LCD显示屏

    • LCD显示屏自身不带控制器,没有驱动电路,仅仅是显示器件(屏)价格最低
    • 这类显示模块有字符型,有图形点阵型,还有带汉字库的图形点阵型等
  • LCD显示模块(LCM)
    • 嵌入式系统中使用比较多的是LCD显示屏和LCD显示模块,通过GPIO以并行方式连接LCD显示模块或通过串行方式
  • LCD显示器
    • PC机通常使用的是LCD显示器,除了具备显示屏外还包括驱动器、控制器以及外壳,是最完备的LCD显示设备,其接口也有相应的标准,主要包括VGA、DVI两种形式,现在又开始流行HDMI接口
    • 通用计算机使用的LCD显示器,包括显示屏,驱动电路,接口,电源和外壳,是完整的显示设备

考点21 S3C2410,S3C2440芯片的内部结构

1、S3C2410,S3C2440芯片的内部结构介绍

  • S3C2410采用ARM920T核;而ARM920T又集成了ARM9TDMI,属于中高档32位嵌入式处理器
  • 采用ARM920T体系结构,因此内部具有分离的16KB大小的指令Cache和16KB大小的数据Cache
  • 采用哈佛体系结构,程序存储器与数据存储器分开,分别有各自的存储管理部件MMU
  • 采用五级流水线,使用ARM公司特有的AMBA总线,对于高速组件采用AHB总线,而对于低速外设接口则采用APB总线
  • 芯片内部集成了许多硬件组件,包括连接到系统总线AHB上的系统总线控制器、电源管理器单元、PPL(锁相环)时钟发生器、内部SRAM、外部存储控制器(外部主控器)、LCD控制器、DMA控制器、中断控制器;S3C2410,S3C2440的SDI/MMC组件用于驱动SD存储卡和MMC存储卡
  • S3C2440在S3C2410的基础上增加了视频与音频接口,如增加了连接对AHB总线上的摄像机接口和APB总线上的AC97音频接口

2、S3C2410的存储器控制组件的简单介绍

  • S3C2410存储器控制组件包括存储器控制器、总线控制器、外部主控器、NAND Flash控制器等
  • 存储器控制器地址空间共1GB。(8个BANK,每个BANK大小为128MB)
  • 以ARM芯片为核心的嵌入式系统其I/O余存储器采用统一编制方式
  • BANK0只能是16位和32位总线宽度的访问,其他所有BANK可访问8位、16位、32位

考点22 S3C2410的时钟及电源管理组件

  • S3C2410内部有时钟振荡电路,经过主锁相环电路得到更加固定的锁相后的时钟,在时钟控制器、电源控制器以及USB控制器的控制之下,产生不同需求的时钟信号如MPLL时钟(锁相环时钟)、UPLL时钟(USB时钟)、HCLK时钟(连接到AHB总线上外围高速组件使用的时钟)、PCLK时钟(连接到APB总线上外围组件使用的时钟)、FCLK时钟(内核所需快速时钟)等供不同组件使用
  • MPLL输入时钟可由引脚OM[3:2]选择采用外部时钟EXTCLK还是外接晶体利用内部振荡电路输出的时钟

电源管理工作模式及其转换

电源管理模块分类

  • 正常模式

    • 电源管理模式为内核及ARM芯片内部所有硬件组件提供时钟源,用户可以通过软件控制内置硬件组件的开启和关闭,暂时不用的硬件可以关闭以降低功耗
  • 慢速模式
    • 不使用PLL时钟( MPLL关闭不使用),这样功耗降低,仅使用外部晶体或外部时钟直接提供给其他组件使用,不通过锁相环电路
  • 休眠模式
    • 电源管理模块仅断开ARM内核时钟FCLK,让CPU处于休眠状态,但仍为外围硬件组件提供时钟
  • 掉电模式
    • 电源管理模块将断开内部电源,除非唤醒逻辑有效,否则内核不产生功耗
  • 说明
    • 任何情况下复位操作均自动进入正常工作模式
    • 在掉电模式和休眠模式下,只要有任何一个外部中断ENIT[0:23]或RTC时钟中断发生,均将返回到正常模式

考点23 S3C2410 的中断控制器及中断控制

S3C2410 的中断控制概述

  • 以ARM为内核的处理器其异常共分为7种,每一种异常对应一个异常向量,每个异常向量占4个字节,指出中断服务程序的入口地址
  • 异常向量表从0x00000000~0x0000001F。其中普通中断IRQ快速中断IFQ的向量地址为0x00000018~0x0000001B和0x0000001C~0x0000001F
  • 每一个ARM 芯片,除了内核异常外,还有多种内置硬件组件的中断,这些中断源的中断向量对应于IRQ 或IFQ,可通过设置模式寄存器来确定

S3C2410 的中断控制器相关寄存器功能及地址分配表

  • 源中断挂起寄存器SRCPND和中断挂起寄存器INTPND,它们指示某个中断请求是否处于挂起状态
  • 当多个中断源请求服务时,SRCPND相应的位写入1,通过优先级仲裁当前最高优先权的中断源对应的INTPND位写入1,如果中断没有被屏蔽,CPU将处理该中断
  • S3C2410中断控制器支持所有内置硬件各组件的硬件中断,包括24个外部可屏蔽中断
    • EINT0~EINT32以及ADCRTCSPII2C、UART0/UART1、SDI、USB、DMA0/1/2/3、LCD、WDT、TIMER0/1/2/3、电池错误中断等
    • 除屏蔽寄存器初始值(复位后的值)为全1外,其他寄存器初始值均为0

考点-24 S3C2410的实时时钟RTC

1、实时时钟的概念、功能及组成

  • 实时时钟RTC组件是一种能提供日历时钟等功能的内置硬件
  • S3C2410的RTC具有的主要功能包括BCD数据(秒、分、时、日、月、年)、闰年产生器、告警功能(告警中断或从断电模式唤醒)、独立的电源端口(VDDRTC)、支持毫秒滴答时钟中断作为RTOS核的滴答时钟循环复位功能
  • S3C2410的RTC由滴答时钟发生器、闰年发生器、分频器、控制寄存器、告警发生器、复位寄存器以及年、月、日、星期、时、分、秒寄存器等构成

2、S3C2410的实时时钟RTC


考点25 S3C2410的通用I/O接口GPIO

1、S3C2410的通用I/O接口GPIO的介绍

  • S3C2410的GPIO端口有GPA、GPB、GPC、GPD、GPE、GPF、GPG、GPH多个并行I/O接口

    • GPA0~GPA22功能单一,仅作为地址线的控制线使用
    • GPB0~GPB10可作为输入/输出,其中GPB0~GPB4还可以作为PWM的输出TOUT0~TOUT3
    • GPC和GPD作为LCD液晶屏接口引脚
    • GPE可作为输入/输出,还可以为I2C、I2S、SD卡等串行总线的引脚
    • GPF和GPG可设置为输入/输出端口,也可以设置为外部中断
    • GPH除可作为输入/输出外,主要作为三个UART串行通信相关引脚
  • 具体某端口作为什么样的端口和功能使用,由其对应的控制寄存器相关位决定,GPACON~GPHCON为GPA~GPH的控制寄存器。GPACON、GPBCON、GPCCON、GPDCON的地址分别为0x56000000、0x56000010、0x56000020、0x56000030
  • 每个端口都有控制寄存器、数据寄存器以及上拉寄存器

考点26 S3C2410串行通信接口UART

1、UART线路控制寄存器

  • S3C2410/S3C2440有三个UART接口UART0~UART2,其对应的线路控制寄存器为ULCON0~OLCON2,用于确定传输帧的格式,地址分别为0x50000000、0x50004000和0x50008000,可读写,复位时全为0

2、UART控制寄存器

  • 三个UART对应的控制寄存器UCON0~UCON2地址分别为0x50000004、0x50004004和0x50008004

3、UART发送/接收状态寄存器

  • 三个UART对应的发送/接收状态寄存器为UTRSTAT0~UTRSTAT2,地址分别为0x50000010、0x50004010和0x50008010,只读

4、UART数据及存储器

  • UART数据寄存器分发缓冲寄存器UTXHn和接收缓冲寄存器URXHn,数据发送都是通过发送缓冲器发送的,接收到的数据也存放在缓冲器中
  • 三个通道的UART的发送缓冲器为UTXH0~UTXH2,地址分别为0x50000020、0x50004020和0x50008020
  • 三个通道的UART的接收缓冲器为URXH0~URXH2,地址分别为0x50000024、0x50004024和0x50008024

5、UART波特率除数寄存器

  • UART的波特率由除数寄存器决定,也取决于外部时钟
  • UBRDIVn=INT(UCLK/(波特率x16))-1
    • ULCK还可以是PCLK或UEXTCLK,由相应控制寄存器决定
  • 三个通道的UART的波特率除数寄存器为UBRDIV0~UBRDIV2,地址分别为0x50000028、0x50004028和0x50008028

考点27 S3C2410的I²C总线接口

1、S3C2410内置I²C内部结构

  • S3C2410内部有一个I²C总线接口,具有主发送模式、主接收模式、从发送模式、从接收模式4种模式

S3C2410内置I²C内部结构

  • I²C总线控制逻辑、I²C总线控制寄存器IICCON、状态寄存器IICSTAT、4位预分频器、地址寄存器、比较器、数据移位寄存器HCDSey及数据总线

2、S3C2410内置I²C总线的读写格式

  • I²C总线的从地址是指从器件的编码,不同从地址代表不同器件,不同器件其从地址编码不同。同一类器件从地址编码相同
  • 有两种不同的从地址形式,一种是7位地址,一种是10位地址

3、S3C2410与铁电存储器的连接

  • S3C2410连接基于I²C总线的铁电存储器FM24CL64(8KB)。
  • 对于FM24CL64的操作,在初始化时,当GPE15与GPE14配置为I²C总线的SDA和SCL,然后按照上面的主模式下的发送和接收操作流程就可以进行正常的读写操作

考点28 S3C2410的看门狗定时器

  • 看门狗定时器的作用:强行使系统重新复位
  • 如图,看门狗定时器的计数脉冲周期为:t_watchdog=1/(PCLK/(预分频值+1)/分频系数),由此式可知,看门狗定时器最快的计数频率为PCLK/16,最免得计数频率为PCLK/256/128
  • 如果希望T时间内看门狗能计数到0复位,则计数初值为:WTCON=T/t_watchdog

考点29 基于UART的RS-232,485接口

1、RS-232接口介绍

  • 嵌入式处理器至少有一个UART接口,仅仅通过这个接口不能进行稍远距离的通信
  • 为此,可采用标准的RS-232电平转换接口电路,使UART的电平转换成RS-232电平,通信距离可达15m左右
  • RS-232采用负逻辑传输逻辑0:+3V~+15V,逻辑1:-15V~-3V

2、RS-485接口介绍

  • RS-485接口标准采用差分信号传输方式,因此具有很强的抗共模干扰能力
  • 其逻辑电平为:当A的点位比B高200mV以上时为逻辑1,而当B的点位比A高200mV以上时为逻辑0,传输距离可达1200m
  • RS-485是同名端相连,即A与A相连,B与B相连,由于是差分传输,无需公共地,在RS-485总线上仅需要连接两根线A和B
  • RS-485通常用于主从式多机通信系统,采用轮询方式,由主机逐一向从机寻址

考点30 CAN总线接口

1、CAN总线接口介绍

  • RS-485不能构成多主系统,故推出了多主系统的CAN总线接口
  • CAN总线也采用差分传输,只是控制器内置CRC校验,传输可靠性强,可构成多主多从系统
  • CAN总线的数据帧是由7个不同的域组成
    • 帧起始、仲裁域、控制域、数据域、CRC域、应答域、帧结尾
    • 其中数据域的长度可选为0~8B(每字节包含8位)
  • 一般面向控制应用领域的ARM芯片内部已经嵌入了CAN总线控制器,外部仅需要连接CAN的收发器即可构建完整的CAN网络

2、基于SPI的CAN总线扩展接口

3、基于并行总线的CAN总线扩展接口

考点31 以太网通信接口

1、基于内置以太网控制器的以太网接口

  • 有些ARM芯片如基于ARM Cortex-M3的嵌入式处理芯片已经嵌入了以太网控制器(MAC层),也有些芯片同时集成了物理层(PHY层)的收发器电路,因此外部仅需要连接网络变压器及RJ45插座即可构成以太网实用接口
  • 具有内置以太网控制器的以太网接口如图所示,如果内置了PHY层,则图中可省去PHY层的电路

2、不带内置以太网控制器的以太网接口

  • 对于没有以太网内置接口的处理器如S3C2440可以通过外加典型的以太网控制器DM9000来构建
  • DM9000实现了以太网PHY层和MAC层的功能,包括MAC地址识别、数据帧的组装拆分与收发、CRC编码校验、输出脉冲成型、接受噪声抑制、超时重传、信号极性检测与纠正、链路完整性测试等

考点32 常用无线通信接口

1、GPS模块

  • 由于卫星运行轨道、卫星时钟存在误差,大气对流层、电离层对信号的影响,使得民用GPS的定位精度只有100m
  • 目前,嵌入式系统经常使用专用的GPS模块,GPS与嵌入式系统的连接有多种
    • 有基于UART、SPI接口、USB、I²C还有多种接口并存的GPS模块

2、GPRS模块

  • GPRS是是通用分组无线服务的简称,它是GSM移动电话用户可用的一种移动数据业务
  • GPRS可以说是GPS的延续。GPRS与以往采用的连续传输方式不同,它以封包方式进行数据传输,因此使用者所负担的费用是以其传输数据的数量计算,并非使用其整个频道,理论上较为便宜
  • GPRS是以模块形式接入嵌入式系统的,主要模块接口有基于UART、RS-232/485接口的GPRS模块
    • 通常支持用AT命令集进行呼叫、短信、传真、数据传输等业务

3、WiFi模块

  • 凡使用IEEE 802.11系列协议的无线局域网又称为WiFi
  • WiFi模块是UART串口TTL电平转WiFi通信的一种传输转换产品
  • WiFi模块内置无线网络协议IEEE 802.11协议栈以及TCP/IP协议栈,能够实现用户串口、TTL电平、USB接口或SPI接口数据到无线网络之间的转换
  • 利用WiFi模块很容易实现嵌入式系统的有线数据到无线数据的传输

4、蓝牙模块

  • 蓝牙是一种支持设备短距离通信(一般在10m内)的无线低速(一般为1Mb/s)通信技术
  • 利用蓝牙技术,能够有效地简化移动通信终端设备之间的通信,也能够成功地简化设备与因特网之间的通信,从而使数据传输变得更加迅速高效,为无线通信拓宽道路
  • 蓝牙采用分散式网络结构以及快跳频和短包计数,支持点对点点对多点通信
  • 说明
    • 运用典型的UART、SPI、I²C等通信接口连接的无线模块,即可很方便的实现不同形式的无线通信,不管是蓝牙、WiFi、GPRS还是GPS

计算机三级嵌入式学习笔记(三)相关推荐

  1. 计算机三级嵌入式学习笔记(二)

    第二章-嵌入式处理器 考纲与考点分析 嵌入式处理器 嵌入式处理器的结构.特点与分类(不同类型的典型嵌入式处理器及其特点,嵌入式处理器分类): ARM处理器内核的体系结构(工作状态,工作模式,寄存器组织 ...

  2. 计算机三级嵌入式学习笔记一

    版权声明:本文为博主原创文章,如需转载,请注明出处 https://blog.csdn.net/qq_36554582/article/details/81267844 </div>< ...

  3. 计算机三级嵌入式上传学习资源介绍

    计算机三级嵌入式上传学习资源介绍 一."计算机三级嵌入式学习笔记(onenote版)"(一)~(五) 下载地址: (一).(二).(三).(四).(五) 资源介绍: 这是我之前在备 ...

  4. 基于STM32G431嵌入式学习笔记——七、定时器定时

    一.题目引入 上述为第13届蓝桥杯省赛节选内容,为了研究定时器的机理并独立书写计时函数,上述内容简化为以下要求: ①按下B4按键,LD1点亮5s后熄灭 ②按下B3按键,LD2以0.1秒为间隔切换亮灭状 ...

  5. (持续更新中)Xwave的嵌入式学习笔记~

    Xwave的小小技术栈的成长历程~ 目录: 0.嵌入式知识储备 零.CSDN写作技巧 一.C 二.C++ 三.LINUX基础 四.底层原理 1.编译.链接.装载 2.C和C陷阱 3.C和C指针 4.操 ...

  6. Examination:《计算机系统与网络技术》计算机三级考试重点笔记记录

    Examination:<计算机系统与网络技术>计算机三级考试重点笔记记录 目录 1.十进制转2进制 一.选择题 2.网友总结 二.综合题 三.应用题 1.根据IP地址.子网掩码地址,求出 ...

  7. 吴恩达《机器学习》学习笔记三——多变量线性回归

    吴恩达<机器学习>学习笔记三--多变量线性回归 一. 多元线性回归问题介绍 1.一些定义 2.假设函数 二. 多元梯度下降法 1. 梯度下降法实用技巧:特征缩放 2. 梯度下降法的学习率 ...

  8. 全国计算机三级嵌入式 - 题库 - 真题(含答案) - 未来教育 - 视频讲解 - 资料获取

    全国全国计算机三级嵌入式等级考试 1. 考题大纲 历年不一样. 但是换汤不换药. 2. 考试真题 历年全部考题.真题. 包含全部答案. 3. 未来教育 考点.知识点.历年真题视频讲解. 4. 资料获取 ...

  9. 嵌入式学习笔记——ADC模数转换器

    ADC模数转换器 前言 ADC介绍 ADC概述 ADC的数量 ADC的特性 ADC框图 芯片外部框图 芯片内部框图 转换部分框图 状态输出部分 条件触发框图 寄存器介绍 编程思路 模式选择 规则通道的 ...

最新文章

  1. 每日一皮:死循环的深刻理解...
  2. 添加nginx为系统服务(service nginx start/stop/restart)
  3. VS报错 <error-type> 此声明没有存储类或类型说明符
  4. 又翻出来老电视剧看了看....
  5. vim环境配置 +vimplus配置
  6. jquery获取html页面参数乱码,JS或Jquery获取浏览器URL的参数值 汉字值乱码 并转码...
  7. 备忘录AIX主机下用SHELL脚本编写FTP传某个目录下的文件到LINUX主机
  8. Visitor模式学习
  9. linux 挂在windows共享文件夹
  10. c语言两位数码管动态显示,十天学会单片机和c语言编程数码管动态显示.pptx
  11. 数据分析实战项目:SQL分析淘宝用户行为
  12. SSIM PSNR db
  13. Win7系统的电脑怎么录屏
  14. shell脚本加密教程
  15. Activex 部件不能创建对象 故障解决
  16. Unity3D笔记第十五天——Unity2D技术
  17. 邮件个性签名html,iphone发邮件添加个性签名方法
  18. stm32-mini-LCD液晶显示实验
  19. MICCAI 论文投稿须知翻译
  20. 三元运算符 php_使用PHP三元运算符

热门文章

  1. Android 监控APP是否在后台运行
  2. 新B站视频来了!Spring security + vue前后端分离后台管理系统
  3. 编程语言常见符号合集分享
  4. mysql 开源聊天系统_轻量级的开源企业聊天软件 喧喧聊天(界面很不错)
  5. 函数凹凸性证明中点函数值和函数值中点的关系
  6. 2017 MongoDB中国用户大会部分嘉宾访谈集萃
  7. RFID NFC NfcA NfcB NfcF NfcV Ndef NdefFormatable相关详解
  8. 【SQL Server】模糊查询
  9. Excel中VBA编程学习笔记(十二)--自动筛选
  10. 数学速算法_新初一】七年级上册数学几何图形初步知识点梳理+例题详解!