存储器可分为易失性存储器和非易失性存储器易失性存储器是RAM,RAM包括DRAM(SDRAM,DDR SDRAM,DDRII SDRAM,DDRIII SDRAM)和SRAM,非易失性存储器,包括ROM(MASK ROM,PROM【OPTROM,EPROM,EEPROM】,FLASH【NOR FLASH,NAND FLASH】,光盘、软盘、机械硬盘)
(1) SRAM-静态随机存储器
数据存储在锁定器中
(2) DRAM-动态随机存储器
用电容表示数据
随机访问是指当存储器中的信息被读取或写入时,所需的时间与信息的位置无关
特性 | DRAM | SRAM |
存取速度 | 较慢 | 较快 |
集成度 | 较高 | 较低 |
生产成本 | 较低 | 较高 |
是否需要刷新 | 是 | 否 |
MASK ROM:出厂时固化内部数据内容,不得修改
OPT ROM:用户可以写一次内部数据内容,然后不能修改
EP ROM:可重复擦写,但需要用专用紫外线照射设备擦除
EEP ROM:可重复擦写,电擦除,使用方便
Nor Flash——内部存储块或非方式连接
Nand Flash——内部存储块按非方式连接
特性 | NOR FLASH | NAND FLASH |
同容量存储器的成本 | 较贵 | 较便宜 |
集成度 | 较低 | 较高 |
介质类型 | 随机存储 | 连续存储 |
地址线和数据线 | 独立分开 | 共用 |
擦除单元 | 用扇区/块擦除 | 用扇区/块擦除 |
读写单元 | 可以基于字节读写 | 读写必须以块为单位 |
读取速度 | 较高 | 较低 |
写 入速度 | 较低 | 较高 |
坏块 | 较少 | 较多 |
是否支持XIP | 支持 | 不支持 |
I2C通信协议是由的Phiilps由于公司开发,硬件实现简单,可扩展性强,不需要USART,CAN等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间通讯
(1)是一个支持多设备总线,总线是指多个设备的公共信号线I2C在通信总线中。可连接多个通信总线。IC通信设备支持多个通信主机和多个通信从机
(2)一个I2C总线只有两条总线,一条是双向串行数据线(SDA),串行时钟线(SCL),用来表示数据的数据线和时钟线
(3)每个连接到总线的设备都有一个独立的地址,主机可以使用该地址访问不同的设备
(4)当总线通过上拉电阻接收电源时,I2C当设备有空时,它会输出高阻态。当所有设备都有空时,它们都会输出高阻态。
(5)当多个主机同时使用总线时,为了防止数据冲突,将使用仲裁来决定哪些设备占用总线
I2C一般来说,泄漏结构可以实现线路和逻辑。只要总线上有一个设备输出低电平,总线的电平就会变成低电平。即使其他设备输出高电平,整个总线也始终保持低电平。当多个主机传输数据时,例如A,B假设A传输高电平,主机需要在这条总线上传输数据,B由于线和逻辑,传输低电平,SDA总线为低电平,此时设备将传输的数据与总线状态进行比较,因为A是高电平,与总线状态不一致,A对总线失去使用权,B是低电平,与总线状态一致,B取得使用权。
(5)有三种传输方式,标准模式传输速率为100kbit/s,快速模式为400kbit/s,在高速模式下可达3.4Mbit/s,但目前大多I2C设备不支持高速模式
(6)连接到相同总线的IC总线最大电容400pF限制
I2C协议定义了通信的开始和通知信号、数据有效性、响应、仲裁、时钟同步和地址广播
S是传输开始信号,然后是从机地址,即传输目标,然后是读写信号位,指定信号的发送目的R/W为0,这意味着主机想在从机上执行写作操作。当从机接收数据时,它会向主机发送响应信号(响应)ACK),如果主机没有等待响应信号,则表示已收到信号,主机将开始发送数据。这意味着设备不在总线上。此时,主机和从机占用总线进行数据交互。协议结束时P,停止位。
S它是传输开始信号(主机发送),然后是从机地址,即读取目标,然后是读写信号位,指定信号发送目的R/W1.这意味着主机想望在从机上执行读取操作。当从机接收主机的信号(读取)时,响应信号(响应)将发送给主机ACK),表示已收到信号并将DATA数据传输完成后,由从机传输到主机,主机向从机发送响应标志,表示已收到数据,从机继续向主机传输数据,直到主机不响应(NACK),停止数据传输,协议末尾是P,停止位。
(1)当SCL高电平时,SDA从高电平到低电平切换表示通信的开始
(2)当SCL低电平时,SDA从低电平到高电平切换意味着通信停止
(3)启停信号一般由主机产生
I2C使用SDA使用信号线传输数据SCL信号线数据同步,SDA数据线在SCL每个时钟周期传输一个数据
SCL高电平时SDA表示数据有效,即此时SDA为高电平表示数据1,为低电平表示数据0SCL低电平时,SDA数据无效,通常在这个时候SDA电平切换为下一次数据表示做好准备
I2C总线上的每个设备都有自己独立的地址。主机发起通信时,通过SDA信号线发送设备地址(SLAE_ADDRESS)来查找从机,设备地址可以是7位或者10位
紧跟设备地址的是数据位R/W用来表示数据传输的方向,数据方向位为1表示主机由从机读取数据,为0表示主机向从机写数据
I2C的数据个地址传输都带相应,相应包括“应答(ACK)” 和非应答(NACK)
传输时主机产生时钟,在第九个时钟时,数据发送端会释放SDA的控制权,由数据接收端控制SDA,若SDA为高电平,表示非应答信号,低电平表示应答信号