姓名:顿皓 学号:19020100178 学院:丁香2号书院
转自:https://blog.csdn.net/xiaohongya/article/details/100733863
【嵌牛导读】嵌入式系统由硬件和软件组成.是能够独立进行运作的器件。其软件内容只包括软件运行环境及其操作系统。硬件内容包括信号处理器、存储器、通信模块等在内的多方面的内容。相比于一般的计算机处理系统而言,嵌入式系统存在较大的差异性, 它不能实现大容量的存储功能,因为没有与之相匹配的大容量介质,大部分采用的存储介质有E-PROM、EEPROM 等, 软件部分以API编程接口作为开发平台的核心。本文将介绍嵌入式系统的硬件组成。
【嵌牛鼻子】嵌入式 硬件
【嵌牛提问】嵌入式系统的硬件组成是怎样的?
【嵌牛正文】
一.嵌入式硬件组成与嵌入式处理芯片
1.ARM处理器芯片内部结构
(1)定时计数组件
1)看门狗定时器WDT:当处理器进入错误状态后的一定时间内可使处理器复位
2)通用定时器:Timer
3)实时时钟RTC:直接提供年月日时分秒,使应用系统具有独立的日期和时间
4)脉冲宽度调制器:PWM
(2)中断控制器:
1)对芯片中相关硬件组件的中断请求进行管理和控制,采用向量中断控制器(VIC)或嵌套向量中断控制器(NVIC)
2)向量中断区分中断的优先级,并且每个中断都有自己的中断处理程序地址,高优先级的中断可以进入低优先级的处理过程中,等高优先级中断处理完成后再继续执行低优先级中断处理
(3)直接存储器访控制器(DMA控制器):
1)实现外设与内存,内存与外设或内存与内存之间直接传输数据,不通过CPU,从而降低功耗
2)其工作时所需的时钟由ARM嵌入式芯片中的电源管理与时钟控制器组件提供
3)对于UART端口、USB接口、CAN接口、以太网接口等来说,他们既可以由ARM内核控制其数据传输,也可以通过DMA控制器控制数据传输
(4)虚拟存储器技术:MMU
(5)模拟组件:模数转换控制器(ADC),ADC的A/D转换精度与ADC的位数有关,数模转换控制器(DAC),比较器
(6)互联通信组件:I/O接口
2.嵌入式最小硬件系统
提供嵌入式处理器运行必备条件的硬件电路与嵌入式处理器共同构成的最小硬件系统
(1)电源电路
1)常用电源模块是交流变直流(AC-DC)、直流到直流(DC-DC)模块以及稳压器,包括普通稳压器和低压差稳压器LDO
2)稳压器用于提供一种不随负载阻抗、输入电压、温度和时间变化的稳定的电源电压,低压差稳压器是使输出电压稳定的设备,能够在电源电压(输入端)与负载电压(输出端)之间保持微小压差
3)78XX系列是一类常用的直流稳压芯片,例如7805可以提供+5V直流电压
4)低压交流电不可以直接用来给嵌入式处理器供电
(2)时钟电路
1)目前所有嵌入式处理器均为时序电路,需要一个时钟信号才能工作
2)大多数处理器内置时钟信号发生器,因此时钟电路只需要外接一个石英晶体振荡器和两只电容就可用工作
3)有些场合需要外部振荡电路(有源晶振等)提供时钟信号,例如减少功耗,实现严格同步等
(3)复位电路
1)一般情况下,为保证系统可靠复位,复位信号有效电平的时间宽度必须为若干个处理器时钟周期
2)嵌入式系统可使用外接典型复位芯片来保证系统可靠复位
3)嵌入式处理器都有一个系统复位引脚为nRESET或RESET,n表示低电平复位,不带n的表示高电平复位
4)ARM复位后PC无条件的指向0x00000000
(4)存储器
(5)调试测试接口:大多数基于ARM处理器核的处理器芯片都有调试接口
(6)嵌入式处理器
3.典型嵌入式硬件系统
由嵌入式最小硬件系统及相关通道或接口组成
(1)前向通道(输入接口):模拟量输入接口(传感器、滤波器、放大器)+数字量输入接口
(2)后向通道(输出接口):模拟量输出接口+数字量输出接口
(3)人机交互通道:键盘、触摸屏、LED、LCD
(4)相互互联通信通道:以太网接口、USB接口
4.AMBA(先进微控制器总线体系结构)
用于连接和管理SoC中功能模块的开放标准和片上互联规范
(1)系统总线AHB:高带宽快速组件,包括ARM内核及测试接口、电源管理、时钟控制器、DMA、中断控制器、LCD控制器、USB主机等
(2)外围总线APB(二级总线):速度不高的外部接口连接,所有通用外设组件、PWM、定时器、RTC、并行接口、串行接口等
(3)系统总线通过桥接器与外围总线连接
(4)AMBA有多个版本,至2011年,AMBA已从1995年的1.0版本发展到了4.0版本,性能逐步提高,ARM7采用AMBA1,而ARM9采用AMBA2
二.嵌入式系统的存储器(以半导体存储器为主)
1.存储器容量:指每一个存储芯片或模块能够存储的二进制位数
1)容量大小取于存储单元的个数和存储器各单元的位数,即地址总线条数和数据总线宽度。容量V = 2^m * n,m是地址线条数,n是数据线位数
2)容量单位有B、KB、MB、GB、TB(太字节)
内存:1KB = 1024B
外存:1KB = 1000B
2.存储器带宽:(总线频率*数据域宽度/8)*速度(传输次数/总线周期)
总线带宽:总线频率/数据帧位数
3.按照存取特性分类
(1)随机存取存储器RAM(可快速随机读写)
1)SRAM静态:易失性存储器(掉电后信息丢失),高速存取能力
2)DRAM动态:易失性存储器,高集成度
3)FRAM铁电:非易失性存储器,不是传统的半导体存储器
4)MRAM磁性:非易失性存储器,不是传统的半导体存储器
5)通过对DRAM的改进,出现以下版本
DDR SDRAM:是新的内存标准之一,它在系统时钟触发沿的上、下沿都能进行数据传输,从而把数据传输速率提高了一倍,可预读取两位
DDR2 SDRAM:双倍数据速率同步DRAM,采用4位(或8位)预读取技术
DDR3 SDRAM:四倍速率数据技术
DDR4 SDRAM:DDR3的改进,其数据传输速率是DDR3的两倍
(2)只读存储器ROM(非易失性)
1)NOR Flash:以字节为单位随机读取,存储系统中的固件,写入擦除速度较慢
NAND Flash:以页为单位随机读取,在容量,成本方面有较大优势,但读出速度较慢,编程较为复杂,因此大多作为片外程序存储器使用(作为辅助存储器使用),地址线和数据线采用分时复用技术,ALE、CE、RE、R/B分别表示地址锁存允许、低电平有效的芯片使能、低电平有效的读使能、准备就绪/忙输出。数码相机存储卡和U盘中的Flash均是NAND Flash。
引申:关于NOR Flash有关芯片的引脚
1)CE#是芯片使能
2)OE#是数据输出使能
3)WE#是写使能
以上三者都是0有效,1无效
4)BYTE#是选择8位模式(0)还是16位模式(1)
2)EPROM:紫外线可擦除可编程
EEPROM:可电擦除可编程的只读存储器,可以在线改写和擦除信息,无需紫外线照射
3)Mask ROM:基于掩膜工艺技术,生产出来信息不可变,用于不可升级的成熟产品存储程序或不变的参数等信息
4.按照存储物理位置分类:片内存储器,片外存储器,外部存储器
(1)嵌入式处理器内部的Cache存储器采用SRAM,CPU使用最频繁的少量的程序代码和数据存放在高速缓冲存储器中
(2)嵌入式主存储器是指系统内存:包括内部SRAM和Flash(通常用作程序存储器)和片外扩展DRAM和Flash,正在运行中程序的数据和代码放在主存储器中
(3)SSD:固态硬盘,读写速度快,功耗低,价格贵,在嵌入式应用中不广泛
(4)外部存储器:尚未启动运行的其余程序或数据存放在容量很大的外部存储器中
1)CF卡、SD卡
2)微硬盘:目前1.8英寸的微硬盘容量已达几百GB;带有数据缓存,有利于提高数据传输率;功耗极小,无需外置电源,链接USB即可;为使微硬盘适用于多种手持装置,其接口可采用多种标准,如CF卡、PCMCIA、USB 2.0、ATA等,内部的存储体主要是NAND Flash
3)高带宽外部存储器接口为外部存储器扩展提供了接口,可以扩展程序存储器和数据存储器,与系统总线部分相连
5.按照存取信息的不同分类:数据存储器和程序存储器
6.其他
(1)MPU:存储器保护单元,它允许ARM处理器的4GB地址空间定义8对域,分别控制8个指令和8个数据内存区域
(2)MMU:存储器管理单元
1)管理虚拟内存器、物理存储器的控制线路
2)负责虚拟地址到物理地址映射,每次地址转换通过查找页表来完成,每次在访问内存时先查TLB,查不到时再到内存中取查整个页表。MMU通过查TLB表得到的是物理地址
3)把系统中不同类型的存储器(如Flash、SRAM、SDRAM、ROM)进行统一管理,通过地址映射,需要运行在连续空间的软件可运行在不连续的物理存储器中,需要较大存储空间的软件可以在较小容量的物理存储器中运行,这就是所谓的虚拟存储器技术
4)提供硬件机制的内存访问授权
(3)如果处理器内Flash程序存储器容量足够,就无需扩展外部存储器
三.I/O接口、I/O设备以及外部通信接口
1.I/O接口
(1)GPIO(通用输入/输出端口):
1)输入缓冲,输出锁存功能
2)具有0态、1态、高阻态
3)有些ARM芯片的GPIO引脚可以设置成具有中断输入功能
4)只有几个按键作为简单键盘的,通常可应用GPIO引脚来设计
(2)I2C(串行半双工传输总线标准):集成电路互连总线
1)多主总线,即允许总线上有一个或多个主控制器和若干从器件同时进行操作,通过总线仲裁的方式确实总线控制权,I2C主控器件传输的第一个字节是地址
2)两条信号线:SDA数据线(低电平优先,遵循“线与”规则)、SCL(时钟线)
当所有器件都不使用总线时,总线的SCL和SDA各自的上拉电阻把电平拉高,使他们均为高电平
3)传送字节数目无限制
(3)SPI(同步串行全双工外设接口):
1)SPI可构成一主一从式、一主多从式和互为主从式;一主一从式的系统,指SPI总线上只有一个主机和一个从设备,接收和发送数据是单向的。
2)四条信号线:SCK(时钟线的1次作用对应一位数据的发送和另一位数据的接收,8个时钟周期完成1字节的发送)、MISO、MOSI、SSEL(低电平有效的从机选择线)
3)在主机数据从移位寄存器从左到右发送到从机,同时从机的数据从右到左发送到主机)
4)SPI通信是,首先要是SPI从设备的SSEL处于被选中状态,表示将要对该从设备进行操作,然后才能按照SPI时序要求进行数据操作
(4)UART(异步串行全双工通信接口):通用异步收发器
1)本身不支持多机通信,能实现的最高数据传输速率一般比SPI能实现的最高数据传输速率低
2)由发送器(先进先出FIFO模式或者普通模式)、接收器(先进先出FIFO模式或者普通模式)、控制单元、波特率发生器组成;一般接收和发送缓冲器的FIFO字节数N是一样大小,长度可编程选择,如4B、8B、16B、64B等
3)使用UART通信是要求通信双方波特率与传输格式一致
4)传输一个字符时有固定的格式约定,以起始位开始,停止位结束,起始位以逻辑0电平为标志,停止位以逻辑1电平为标志,停止位可以为1位、1位半和2位,数据位可以是5,、6、7、8位。
5)直接使用UART进行通信仅限于板间或芯片间通信,在采用RS-232电平转换电路后,可延长通信距离
6)所有嵌入式处理芯片内部均集成了兼容标准UART功能的组件,有的集成了多个UART
(5)USB(通用串行总线)
1)主从方式,支持设备即插即用和热插拔,并提供内置电源
2)USB1.1和USB2.0有四条信号线,采用半双工差分方式,用来传送信号并提供电源,D+、D-为差分信号线,传送信号
3)采用USB OTG可以在无USB主机的情况下,实现嵌入式设备之间的点对点通信
4)USB设备和USB总线接口的连接时采用同名端相连的方式
5)USB有多个版本,如USB1.0、USB1.1、USB2.0、USB3.0,各个版本都采用差分方式传输数据信号
6)USB2.0速度为480Mb/s,USB3.0速度为640MB/S(5Gbps)
(6)HDMI(高清晰度多媒体接口):数字化/音频/视频接口技术,适合影像传输,可同时传送音频和视频信号而无需再信号传送前进行数模或模数转换,最高速度为10.2Gb/s。
2.I/O设备
(1)键盘
1)线性键盘:非编码独立式,一个按键占用一个引脚,利用读引脚确定按键的状态
2)矩阵键盘:采用行列矩阵形式构建键盘,利用行扫描法或中断方式或反转法读取按键特征值
(2)LED:发光二极管
1)LED发光与ARM芯片连接时仅需一根GPIO引脚与其直接相连,但绝对不能直接把引脚链接到发光二极管上,因为通常ARM芯片GPIO引脚提供的电流有限,不能直接驱动发光设备,因此要加驱动电路,通常反向驱动具有锁存功能
2)LED数码管由多个LED组成,由共阳极接法和共阴极接法两种
(3)LCD:液晶显示器
1)LCD显示器接口标准:VGA、DVI、HDMI
2)LCD显示屏自身不带控制器,没有驱动电路
(4)触摸屏
1)电阻式(软屏):一种电阻传感器,采用专用硬笔
2)电容式(硬屏):人与导体层形成一个耦合电容,带多点触摸和滑动操作,一般电容式触摸屏与ARM芯片采用USB或I^2C总线方式连接,应用越来越广泛
(5)传感器
3.外部通信接口
(1)RS-232/RS-485
1)RS-232:负逻辑传输,其接口的信号线采用单端输出模式,逻辑0的电压范围为+3V ~ +15V,逻辑1的电压范围为-15V ~ -3V
2)RS-485:差分信号传输,距离远,抗共模干扰能力强,通信速率更高
(2)CAN:控制器局域网
1)利用CAN可构成多主多从系统,即同一时刻允许多个主从机同时进行数据传输,CAN总线的数据帧由7个不同的域组成:帧起始、仲裁域、控制域、数据域、校验域、应答域、帧结尾;数据域由数据帧的发送数据组成,他可以是0-8B,每字节包含8位
2)针对实时性很强的工业领域退出的适应多主系统的有线通信接口,且传输线最好采用双绞线。
3)CAN协议采用CRC标准
4)对于片内无CAN控制器的嵌入式处理芯片,可通过扩展CAN控制器和CAN收发器的方式使其接入CAN总线
5)采用差分传输
(3)以太网
1)以集线器或交换机为中心构成,以太网交换机是一种高速电子开关,连接在交换机上的所有终端设备都可同时相互通信,因为交换机从发送设备接收了一帧数据后,他会直接按照目的地址发送给接收终端,而不向其他无关终端设备发送
2)以太网通信电路包括:以太网控制电路、以太网驱动电路
3)以太网数据帧内容:前导码、帧起始、目的MAC地址、源MAC地址、长度、数据、帧校验
4)嵌入式系统可以通过以太网连接到互联网中
5)采用通信协议:802.3
6)连接在以太网中的每台计算机必须至少有一个全球唯一的MAC地址
7)以太网物理层信号一般通过网络变压器和网络的RJ-45插座相连而接入网络
8)以太网控制器MD9000可以实现介质访问层(MAC)和以太网物理层(PHY)的功能
(4)常用无线通信接口:GPRS、蓝牙、WIFI
1)蓝牙:是一种支持短距离通信的无线低速通信技术,它采用分散式网络结构以及快跳频和短包技术,支持点对点及点对多点通信,最高传输速率:1Mbps;传输距离:10m之内
2)GPRS:通用分组无线服务,它是GSM移动电话用户可用的一种移动数据业务,通常支持用AT命令集进行呼叫、短信、传真、数据传输等业务;GPS:利用定位卫星,在全球范围内实时进行定位、导航的系统,称为全球卫星定位系统
3)凡使用802.11系列协议的无线局域网都称为WiFi
四.基于ARM内核的典型嵌入式处理芯片
1.S3C2410(基于ARM920T内核,32位)
(1)时钟及电源管理模块
1)具有正常模式、慢速模式、空闲模式、掉电模式共四种模式
2)任何情况下复位操作后均进入正常模式
3)在掉电模式下,电源管理模块将断开内部电源,除非唤醒逻辑有效,内核不产生功耗,任何外部中断或RTC时钟中断发生,也将返回正常模式
4)正常模式下,为内核和所有硬件提供时钟源,即所有设备为开启状态,因此功耗比较大。用户可以通过软件控制内置硬件组件的开启和关闭,暂时不用的硬件可以关闭以降低功耗
5)其MPLL输入时钟既可以选择采用外部时钟,也可选择采用外接晶体经其内部振荡电路后输出的时钟
(2)中断控制器及中断控制
1)支持所有内置硬件各组件的硬件中断,包括24个外部可屏蔽中断EINT0-EINT23、电池错误中断等
2)S3C2410复位后,除屏蔽寄存器初始值为全1外,其他寄存器初始值均为0
3)S3C2410的中断源可以是有子寄存器的中断源,也可以是没有子寄存器的中断源
4)S3C2410中断控制器中包含中断屏蔽寄存器和子源中断屏蔽寄存器
5)S3C2410中断控制器之一的中断模式寄存器用于决定中断源的中断属于普通中断IRQ还是快速中断FIQ
(3)UART接口
1)UART的特殊功能寄存器包括UART线路控制寄存器、UART控制寄存器、UART发送/接收状态寄存器(接收和发送缓冲器的状态被记录在其中,通过读取其状态位即可了解当前接收或发送缓冲器是否满足接收和发送条件)、UART波特率除数寄存器
2)三个UART接口:UART0、UART1、UART2;对应的线路控制寄存器为ULCON0、ULCON1、ULCON2,用于确定传输帧的格式,包括决定通信是是否采用奇偶校验等
3)波特率由除数寄存器(UBRDIVn)决定,也取决于外部时钟,可以是PCLK,还可以是UEXTCLK,由相应控制寄存器决定;UBRDIVn = INT(UCLK / (波特率 * 16))- 1
4)通过对UATR的控制寄存器编程可以确定每个UART的相关中断是否允许
5)通过UART发送/接收状态寄存器可了解UART的发送移位寄存器和发送缓冲器等的状态
(4)S3C2410外部存储器
1)存储器控制组件包括存储器控制器、外部主控器、NAND Flash控制器等,其中存储器控制器提供访问片外存储器芯片所需的控制信号,支持大小端模式,其I/O与存储器采用统一编址方式,而非I/O映射编址(独立编址)方式
2)芯片外部可扩展的存储器容量为1GB,分成了8块,即8个BANK,BANK0只能是16位和32位总线宽度的访问,其他所有BANK均可实现8、16、32位总线宽度的访问,每块128MB,分别友nGCS0-nGCS7选择,整个外部存储空间的首地址 0x00000000
3)S3C2410片内具有分离的指令Cache和数据Cache
(5)对于S3C2410微处理器来说,其启动引导程序还需要完成禁止看门狗定时期间和禁止中断,并设置各工作模式下的堆栈指针
(6)S3C2410有GPA、GPB、GPC、GPD、GPE、GPF、GPG、GPH这8个GPIO端口,每个端口都有相应的控制寄存器、数据寄存器(数据寄存器可以读取输入引脚的数据,也可以写数据到输出引脚)以及上拉寄存器,其中GPA0-GPA22功能单一,仅作为地址线的控制线使用,GPC和GPD作为LCD液晶屏接口引脚
(7)目前已有多个ARM芯片内置了HDMI控制器接口,并不是内部集成了HDMI
(8)S3C2410的RTC组件
1)采用单独的供电引脚
2)采用单独的时钟源
3)通过编程可以对年月日等寄存器值进行设置,但是分频系数有时钟源决定,不可通过编程改变
4)使用之前置位使能位,用完也要关闭