1:几个概念:SPI, DPI, QPI, OPI, SDR, DDR
SPI, DPI, QPI, OPI 统称为串行外设接口spi,区别在于数据线的数目;
SPI 即传统的4线制spi,4线分别为cs clk di do,标准spi为全双工,di只用于数据输入,do只用于数据输出;其余的spi均为半双工
DPI 即双数据线的spi,信号线包括cs clk d0 d1,d0 d1 分时复用输入和输出,clk的一个边沿可以发送/接收 2bit 数据, 同理:
QPI 即4数据线的spi,信号线包括cs clk d0~d3,d0~d3 分时复用输入和输出,clk的一个边沿可以发送/接收 4bit 数据;
OPI 即8数据线的spi,信号线包括cs clk d0~d7,d0~d7 分时复用输入和输出,clk的一个边沿可以发送/接收 8bit 数据;
SDR 称为单边沿采样
DDR 称为双边沿采样
在SDR协议中,数据锁存/输入 在CK信号的上升沿上;在DDR协议中,数据锁存/输入 在CK信号的两个边缘上
在SDR协议中,数据输出 在CK时钟信号的下降沿;在DDR协议中,数据输出在CK时钟信号的上升沿上可用
2:若数据输出端在clk的下降沿输出数据,那么数据接收/采样端就必须在clk的上升沿进行,反之亦然;数据的输出对应时序图中数据线上的X,数据的输入/采样对应时序图中数据线上的=
3:访问mcu内RAM中的存储地址时变量名前须有*;而访问mcu外其他存储体中的地址时变量名前不需要*;char *a = 0x20000000 和 int b = 0x30000000 会分别访问mcu内RAM和mcu外e2prom的0x20000000和0x30000000地址处
4:if( a = b( ) ){ } 等同于 a = b( ); if ( a ) { }