嵌入式存储器和IO接口
1 存储器的几个相关性能指数
? 容量 = 存储器字长 * 存储器字数 * 存储器体数
? 速度:主要的两个参数是访问时间和存储周期,还有存储带宽。
? 价格
? 主要参数还是速度。
2 存储器设计的目标
? 高速度,大容量,低价格
?
3 设计目标实现依据
? 存储器的工艺实现技术有了突飞猛进的发展,高度,大容量,低价的存储器件以惊人的速度生产出来。
? 所有程度都具有空间和时间的局部性。根据局部性原则就可以利用各种不同的价格,速度,容量的存储器的组成设计出一个多层次的存储系统。
? 90/10原则:一个程度的90%时间是消耗在10%的代码上。
4 存储器层次结构
? 在嵌入式系统中所用到的存储器主要有:触发器Flip-Flops,寄存器Register Files,静态随机存储器SRAM,动态随机访问存储器DRAM,闪速存储器FLASH,磁盘Magnetic Disk。
? 触发器主要用在控制的位操作上。寄存器主要是用来存放当前的数据。
? 触发器的速度最快,价格也最贵。
? 存储器层次结构的特征:数据的包含性和地址映射。
? 数据的包含性是上层的数据,在下一层中都能找到。
? 地址映射是指下层存储器将自己的地址映射到高层的存储器。其中层次之间的数据交换是以块来交换的。
5 CACHE的地址映射方式
? 全相联CACHE:在存储块与块之间以及存储顺序或保存的存储器地址之间没有直接关系。
? 直接映像CACHE
:地址仅需要比较一次,在直接映像CACHE中,由于每个主存储器的快在CACHE中仅存在一个位置,因而把地址的比较次数减少一次。
? 组关联CACHE:组关联时介于全相联和直接映像之间的一种结构,这种类型的Cache使用了几组直接映像的块,对于某一个给定的索引号,可以允许有几个块位置,因而可以增加命中率和系统效率。?
6 DRAM与SRAM主要差别?
? 对DRAM芯片来说,在读取数据之后还需要重新写回数据,因而它的访问延迟和存储周期不同。SRAM的访问时间与存储周期则没有差别。
? 为防止信息丢失,DRAM需要定期刷新每个存储单元,SARAM则不需要。
? DRAM设计强调容量,而对SRAM设计来说,容量和速度同样重要。
? 就可以比较的存储器设计技术而言,DRAM的容量大概为SRAM的16倍,而SRAM的存储周期比DRAM约快16倍。
7 地址转换和存储保护
? 用户编程时使用的地址称为逻辑地址(相对地址)
? 把程序在内存中的实际地址成为物理地址(绝对地址)
? 为了保证程序的正确运行必须把程序的数据的逻辑地址转换为物理地址,这一工作称为地址转换或重定位。?
? 静态重定位:在作业装入时由作业装入程序实现地址转换。
? 动态重定位:在程序执行时实现地址转换。
?
8 闪速存储器FLASH(NOR技术)
? 闪速存储器FLASH是从EEPROM发展而来,比传统的EEPROM速度要快。
?
9 NOR(或非)技术和NAND(与非)技术
? NOR技术出现在闪速存储器,它具有可靠性高和随机读取速度快的特点。在擦除和编程操作较少而直接执行代码的场合,尤其是纯代码存储的应用中广泛使用,如PC的BIOS固件,移动电话,硬盘驱动器的控制存储器等。
? 由于NOR技术Flash Memory的擦除和编程速度较慢,而块尺寸又较大,因此擦除和编程操作所花费的时间很长,在纯数据存储和文件存储的应用中,NOR技术显得力不从心。
? NAND技术是以页为单位进行读和编程操作,具有快编程和快擦除的功能,其块擦除时间是2ms。而NOR技术的块擦除时间达几百ms。NAND技术中,数据,地址采用同一总线。NAND技术的芯片尺寸小,引脚少,是位成本(bit cost)最低的固态存储器。
?
? EEPROM应用在小容量的嵌入式系统特别是控制系统。EEPROM具有很高的灵活性,可以单字节读写,但是存储密度小,单位成本高。许多Flash芯片都是由EEPROM发展而来。
10 SSD:采用FLASH内存的固态硬盘
? 将多个低速闪存颗粒RAID成一个具备超高速数据吞吐量的存储设备。它的耗电不到现有硬盘的5%,一般容量256G,但是价格相对较高。一般情况下,不建议使用这种存储设备。
11 嵌入式I/O接口特点
? 微处理器是嵌入式计算平台的中躯,而接口是嵌入式的窗口和通道,没有它就无法工作。
? 嵌入式接口的特点是:接口和设备电路紧密设计式。
? 大多为嵌入设计的处理器本身带有基本接口比如串,并,中断,AD/DA等。
? 嵌入式接口主要包含:CPU接口总线,存储接口总线,基本嵌入式接口,网络接口,标准接口。
?
12 总线
? 总线的带宽:是指一定时间内总线上可传输的数据量,即我们常说的每秒钟传送多少MB的最大稳态数据传输率。与总线带宽密切相关的两个概念是总线的位宽和总线的工作时钟频率。
? 总线的位宽:是指总线能同时传输的数据位数。即我们常说的32位,64位等总线宽度的概念。总线的位宽越宽则总线每秒数据传输率越大,也即总线带宽越宽。
? 总线的工作时钟频率:总线的工作时钟频率以MHz为单位,工作频率越高则总线工作速度越快,即总线带宽越宽。
13 嵌入式I/O接口设计方法
? 状态机设计时序接口电路
? 采用通用接口芯片
? 采用嵌入式专用接口芯片ASIC
? 采用现场可编程逻辑电路CPLD
14 嵌入式IO常用接口设计包括:CPU接口总线设计,存储接口总线设计,基本嵌入式接口设计,基本网络接口设计,标准协议设计,调试协议接口设计,其他接口协议设计。
15 CPU接口总线设计
? 总线协议。大部分总线协议采用4周期握手协议。
? 总线复用:在嵌入式等处理器中常采用多路地址和数据复用。
? DMA:CPU不参与的直接存储器访问。
? 总线配置:一个嵌入式系统可以含有多个总线。高速总线连告诉设备,低速总线连低速设备,各类总线之间用桥互联。
?
16 基本嵌入式接口
? 预分频器:预分频器是将系统时钟源按需求分频提供给内部的外围电路。如供内部可编程定时器,A/D转换等使用。
? 可编程定时计数器:是常见的外围设备接口,它一般有定时和计数功能,可用于多任务时间片调度,分频,定时中断等。
? PWM脉宽调制器:PWM脉宽调制信号是脉冲宽度可以根据需要调制。一个PWM与一个低通滤波器相结合可以构成一个简单廉价的DAC。PWM常用在电机控制系统中。
? Watch Dog Timer:嵌入式系统常工作在恶劣的环境下,很容易造成死循环,此时,看门狗定时器是一个很有用的外围设备。看门狗实际是一个简单的定时器,在固定时间内若无正常清零,则自动复位处理器。
? AD/DA转换器:在低速的模拟信号采样中可以用计数器来实现。有压频转换技术和双积分技术。
? LED显示:一般用于指示电路,有mA电流就能点亮。
? 显示器:一般采用LED(采用电压脉冲驱动),LCD(采用脉冲驱动)。
? 触摸屏:嵌入式系统一般不用键盘而采用触摸屏实现人机对话。电阻式触摸屏,电容式触摸屏,电感式触摸屏。其中电阻式触摸屏最常用。iPhone具有多点触摸的功能。未来将会出现三维的多点触摸。
14 嵌入式网络接口 ? CAN(Controller Area Network)总线:控制其局域网是国际上应用最广泛的高可靠的现场总线之一。 ? CAN可提供高达1Mbit/s的数据传输速率这使实时控制变得非常容易另外硬件的错误检定特征也增强了CAN的抗电磁干扰能力。CAN层的定义与开放系统互连模型OSI一致。CAN的规范定义了模型的最下面两层数据链路层和物理层。 ? 并行接口:是指8位数据同时通过并行线进行传送,这样数据传送速度大大提高。但并行传送的线路长度受到限制,因为长度增加,干扰就会增加,容易出错。 ? 串行接口:RS-232-C。它是一种低速短距离的一种传输接口。 ? IIC:双线双向串行数据总线系统。 ? USB:近距离的通用串行总线接口。连接时必须要有一端是电脑。 ? IEEE1394接口:是一个高速高性能的实时串行标准。主要在中,高档电脑,服务器计算机中得到普遍应用,在其他设备中通常只应用于音频,视频等多媒体方面。 ? PC104:是一种工业计算机总线标准。它是一种小尺寸结构堆栈式连接。 ? PCMCIA:个人计算机存储卡的一种接口。支持热插拔。 ? PCI:在高性能的嵌入式应用当中,在媒体和网络服务中应用。因为其传输速率高。 ? 15 调试协议接口JTAG(Joint Test Action Group) ? 很多芯片含有JTAG口,通过这个标准,可对具有JTAG口芯片的硬件电路进行边界扫描和故障检测。它是一种非常实时的在线调试。