一.解释一下SPI的四种模式
0 | 1 | |
---|---|---|
时钟极性CPOL | 空闲状态为低电平 | 空闲状态为高电平 |
时钟相位CPHA | 在第一个跳变沿采样 | 在第二个跳变沿采样 |
模式 | CPOL | CPHA | 描述 |
---|---|---|---|
模式0 | 0 | 0 | sclk上升沿采样,sclk下降沿发送 |
模式1 | 0 | 1 | sclk上升沿发送,sclk下降沿采样 |
模式2 | 1 | 0 | sclk上升沿发送,sclk下降沿采样 |
模式3 | 1 | 1 | sclk上升沿采样,sclk下降沿发送 |
我们常用的是模式0和模式3
-
模式0:
CPOL = 0:空闲时为低电平,第一个跳变沿是上升沿,第二个跳变沿是下降沿。
CPHA = 0:在第一个跳变沿(上升沿)采样
-
模式1:
CPOL = 0:空闲时为低电平,第一个跳变沿是上升沿,第二个跳变沿是下降沿。
CPHA = 1:在第二个跳变沿(下降沿)采样
-
模式2:
CPOL = 1:空闲时为高电平,第一个跳变沿是下降沿,第二个跳变沿为上升沿。
CPHA = 0:在第一个跳变沿(下降沿)采样
-
模式3:
CPOL = 1:空闲时为高电平,第一个跳变沿是下降沿,第二个跳变沿为上升沿。
CPHA = 1:在第二个跳变沿(上升沿)采样
二.什么是高阻态
- 可以理解为开路。电阻非常大,极限状态可以视为悬空
三.时序设计的实质
- 满足每一个触发器的建立时间和保持时间
四.UART、IIC、SPI的区别
UART | IIC | SPI | |
---|---|---|---|
物理信号线 | RX/TX | SCL/SDA | SCLK/MOSI/MISO/CS_N |
主从关系 | 不存在主从关系 | 一主多从/多主多从,通过器件地址选择从机 | 一主多从,通过拉低不同的片选信号选择从机 |
通信方式 | 异步通信 | 同步通信 | 同步通信 |
通信方向 | 全双工 | 半双工 | 全双工 |
通信速率 | 波特率(9600、115200等) | 标准模式100Kbit/s、快速模式400Kbit/s、高速模式3.4Mbit/s | 正常读20MHz、快速读50MHz |
可靠性 | 奇偶校验 | 应答位 | 无数据校验 |
五.EEPROM(24LC04B)和FLASH(M25P16)的存储结构
- EEPROM(24LC04B):2个block,每个block有256个字节
- FLASH(M25P16):32个扇区(Sector),每个扇区有256页(Page),每页有256字节(Byte)
六.localparam、parameter、define的区别
define | parameter | localparam | |
---|---|---|---|
作用范围 | 整个文件,定义语句后可以跨模块 | 本模块内有效 | 本模块内有效 |
修改 | 新定义后修改 | 模块例化时可以通过参数传递进行修改 | 不可修改 |
本模块内有效 | |||
修改 | 新定义后修改 | 模块例化时可以通过参数传递进行修改 | 不可修改 |
使用场景 | 全局性常数 | 本模块可变常数 | 本模块不变常数 |