编辑: 摇摆白勺白芍 2018-07-19

2 位元组合起来的情况(可参 考SPI 通信时序). SPI 通信时序 当SPI 使能(SIMEN=1)后,分别对主机模式或从机模式进行工作说明,MCU 为主机模式时, 资料写入到暂存器 SIMD 的同时,传输/接收开始进行.资料传输完成时,TRF 位将自动被 置位,但只能通过软体清除;

MCU 为从机模式时,收到主机发来的信号之后,会传输 SIMD 中的资料,而且在 SDI 引脚上的资料也会被移位到 SIMD 暂存器中. 主机应在输出时钟信号之前先输出一个SCS ?????信号以使能从机,从机的资料传输功能也应在与 SCK 信号相关的适当时候准备就绪,这由 CKPOLB 和CKEG 位元决定.所附下列时序图明 t在 CKPOLB 和CKEG 位元各种设置情况下,从机资料与 SCK 信号的关系. 注:在MCU 处於空闲模式(IDLE1),SPI 功能仍将继续执行. SCK (CKPOLB=1, CKEG=0) SCK (CKPOLB=0, CKEG=0) SCK (CKPOLB=1, CKEG=1) SCK (CKPOLB=0, CKEG=1) SCS SDO (CKEG=0) SDO (CKEG=1) SDI Data Capture Write to SIMD SIMEN, CSEN=1 SIMEN=1, CSEN=0 (External Pull-high) D7/D0 D6/D1 D5/D2 D4/D3 D3/D4 D2/D5 D1/D6 D0/D7 D7/D0 D6/D1 D5/D2 D4/D3 D3/D4 D2/D5 D1/D6 D0/D7 图3. SPI 主机模式时序(资料存取格式) HT8 MCU SPI 应用须知 AN0488T V1.00

4 /

11 July 13,

2018 SCK (CKPOLB=1) SCK (CKPOLB=0) SCS SDO SDI Data Capture Write to SIMD (SDO does not change until first SCK edge) D7/D0 D6/D1 D5/D2 D4/D3 D3/D4 D2/D5 D1/D6 D0/D7 图4. SPI 从机模式时序 - CKEG=0(有效时钟边缘) SCK (CKPOLB=1) SCK (CKPOLB=0) SCS SDO SDI Data Capture D7/D0 D6/D1 D5/D2 D4/D3 D3/D4 D2/D5 D1/D6 D0/D7 Write to SIMD (SDO changes as soon as writing occurs;

SDO is floating if SCS=1) Note: For SPI slave mode, if SIMEN=1 and CSEN=0, SPI is always enabled and ignores the SCS level. 图5. SPI 从机模式时序 - CKEG=1(有效时钟边缘) SPI 传输控制流程图 Clear WCOL Write Data into SIMD WCOL=1? Transmission completed? (TRF=1?) Read Data from SIMD Clear TRF END Transfer finished? A SPI Transfer Master or Slave ? SIMEN=1 Configure CKPOLB, CKEG, CSEN and MLS A SIM[2:0]=000, 001, 010,

011 or

100 SIM[2:0]=101 Master Slave Y Y N N N Y 图6. SPI 传输控制流程图 HT8 MCU SPI 应用须知 AN0488T V1.00

5 /

11 July 13,

2018 SPI 传输控制步骤说明 主机模式 ? 步骤 1:设定 SIM[2:0]决定主机模式和传输速率. ? 步骤

2 : 设定 CSEN 并利用 MLS 来选择资料从高位还是低位元开始 , 主/从机须设置一致. ? 步骤 3:设定 SIMEN 以打开 SPI 功能. ? 步骤 4:将欲传出资料写入 SIMD 暂存器,检查 WCOL:WCOL=1 → 发生冲突错误,并 跳至步骤 4.WCOL=0 → 跳至步骤 5. ? 步骤 5:SPI H/W 自行将资料存入 TXRX 缓冲后并开始传输资料. ? 步骤 6:检查 TRF. ? 步骤 7:从SIMD 暂存器读取资料. ? 步骤 8:清除 TRF. ? 步骤 9:传输完成,如需再传输则返回步骤 4. 从机模式 ? 步骤 1:设定 SIM[2:0]决定从机模式. ? 步骤

2 : 设定 CSEN 并利用 MLS 来选择资料从高位还是低位元开始 , 主/从机须设置一致. ? 步骤 3:设置 SIMEN 以打开 SPI 功能. ? 步骤 4:将欲写入资料写入 SIMD 暂存器,检查 WCOL:WCOL=1 → 发生冲突错误,并 跳至步骤 4.WCOL=0 → 跳至步骤 5. ? 步骤 5:SPI H/W 自行将资料存入 TXRX 缓冲后并开始传输资料. ? 步骤 6:检查 TRF. ? 步骤 7:从SIMD 暂存器读取资料. ? 步骤 8:清除 TRF. ? 步骤 9:传输完成,如需再传输则返回步骤 4. 使用注意事项 1. fSYS、fSUB 及CTM0 可决定 SPI 输出及输入移位暂存器的传输速率,藉由 SIM[2:0]位元来选 择适合速率进行传输.主机控制的时钟频率要考虑从机接收的最快速率,例如:读SPI 介面的 Flash 时,要根 Flash 的最快速率来设置主机的时钟. SIM2~SIM0:SIM 操作模式控制位元. 000:SPI 主机模式;

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题