一、存储器的种类
1.
2.数据掉电后数据是否能正常保存,
二、RAM存储器
1.随机存储器分为动态随机存储(dram)和静态随机存储器(sram)。
2.动态采用电容表示逻辑,电容充满电为1,未充电为0,但是由于电容放电的特性,每隔一段时间要给超过阈值的电容充电,低于阈值的电容放电,才能保证数据的准确性,造价低,集成度高。
3.静态采用锁存器方式,不需要刷新,保存数据的电路更复杂,所以造成集成度低。
4.
三、非易失性存储器
四、i2c物理层理解
1.特点:
(1)他是一个支持设备的总线(多个设备共用的信号线)。
(2)两条总线线路,一条串行时钟,一条串行数据。
(3)每个设备有独立的地址,主机根据地址访问不同的设备。
(4)设备空闲时间输出高阻态。
(5)当多个设备通知访问时,利用仲裁的方式决定占用的顺序
(6)三种传输模式:100kbit/s,400kbit/s,3.4mbit/s
(7)有数量限制受到总线最大电容400pf的限制,一般不用管不会接那么多
2.理解:i2c设备的状态:i2c设备在空闲时输出为高阻态,认为是断开的。主机与某一个设备通讯时,该设备的SDA输出为低电平逻辑为0,输出高阻态时逻辑为1这是通过上拉电阻SDA处于高电平。
3.理解:为什么用高阻态表示1,低电平表示0。如果当设备处于空闲期输出高电平,这时和主机通讯的设备输出逻辑0就会造成设备和设备之间的短路。
五、i2c协议层理解
1.i2c协议定义了通讯的起始和停止信号、数据有效性、响应、仲裁、时钟同步、地址广播等。
2.读和写模式
不管是接收还是发送,先根据读写位应答,之后每传输一个字节,就应答一次(根据是读是写决定主机应答还是从机应答),当接收方出现非应答后,发送停止标志。
3.复合模式
复合模式有两次起始信号,第一次的读或写的数据是设备的寄存器地址或存储器地址(不是传输的数据)第二次的读或写才是真正的数据,复合模式是可以准确往哪个地址的读写,普通读写为顺序读写。
4.通讯的起始和停止信号
scl高的时候,sda由高变低代表通讯开始。scl高的时候,sda由低变高代表通讯结束。起始信号和停止信号是由主机产生的。
5.数据何时有效
sda传输数据,scl同步,。sda在scl一个周期内传输一位数据,传输的单位为字节。Scl高的时候读取sda,高为1,低为0。Scl低的时候sda进行电平转换此时数据无效,未下一次传输做准备。
6.地址和数据方向
i2c总线上每个设备都有自己独立的地址,主机发起通讯后通过sda发送要通讯的设备地址,该地址通常7位也可以使用10位。地址位后跟数据方向位,可能是第8位也可能是第11位,该位为1主读从,该位为0主写从。谁写数据谁控制sda总线。
7.响应
数据和地址的传输都需带响应,响应包括应答和非应答。无论是主机还是从机,接收到地址和数据后,希望对方继续发送就回复应答,不希望对方发送了回复不应答,接收方回复不应答后主机发送停止信号。发送方每传输完一个字节后释放sda的控制权交给接收方,也就是传输数据时每9个时钟的时候接收方会控制sda,这时候sda为高表示非应答,为低表示应答。
六、Stm32的i2c特性和架构
1.框图
2.引脚
3.Scl的周期
scl的时钟和时钟控制寄存器ccr的值有关。
(1)有普通模式和快速模式,对应100k和400k
(2)快速模式下scl的占空比可选,低/高=2和低/高=16/9两种可选。
(3)计算公式
4.数据控制逻辑
(1)当作为发送方时,数据移位寄存器以数据寄存器为源头,把数据一位一位的通过sda发送出去。
(2)作为接收方时,数据移位寄存器把从sda线的数据一位一位的存到数据寄存器。
(3)具有数据校验功能,使能后,校验结果存在pec寄存器中。作为接收方时,收到地址后会与自身地址进行比较,以便相应主机寻址,可以通过i2c地址寄存器修改。
5.整体控制逻辑
(1)工作模式根据我们写入控制寄存器CR1和CR2的值决定。
(2)工作时,读取工作状态寄存器SR1和SR2就能知道I2C的工作状态