ZHCUD83 August 2025
initializeSPI(模式,时钟,CPOL,CPHA,从器件选择)
在 SPI 模式下初始化 FTDI
| 名称 | 参数 | 说明 |
|---|---|---|
| 模式 |
Ft4222.SPIMaster.Mode.NONE Ft4222.SPIMaster.Mode.SINGLE Ft4222.SPIMaster.Mode.DUAL Ft4222.SPIMaster.Mode.QUAD |
AFE20408EVM 使用 SINGLE 模式。请勿使用其他模式。 |
| 时钟 |
ft4222.SPIMaster.Clock.NONE ft4222.SPIMaster.Clock.DIV_2 ft4222.SPIMaster.Clock.DIV_4 ft4222.SPIMaster.Clock.DIV_8 ft4222.SPIMaster.Clock.DIV_16 ft4222.SPIMaster.Clock.DIV_32 ft4222.SPIMaster.Clock.DIV_64 ft4222.SPIMaster.Clock.DIV_128 ft4222.SPIMaster.Clock.DIV_256 ft4222.SPIMaster.Clock.DIV_512 |
默认时钟值为 60MHz。AFE20408 最大时钟为 20MHz。 |
| CPOL |
ft4222.SPI.Cpol.IDLE_LOW ft4222.SPI.Cpol.IDLE_HIGH |
AFE20408 使用 IDLE_LOW |
| CPHA |
ft4222.SPI.Cpha.CLK_LEADING ft4222.SPI.Cpha.CLK_TRAILING |
AFE20408 使用 CLK_TRAILING |
| 从器件选择 |
ft4222.SPIMaster.SlaveSelect.SS0 ft4222.SPIMaster.SlaveSelect.SS1 ft4222.SPIMaster.SlaveSelect.SS2 ft4222.SPIMaster.SlaveSelect.SS3 |
AFE20408EVM 使用 SS0 |
spiWrite(寄存器地址,寄存器数据)
向 EVM 发送 SPI 写入命令。
| 寄存器地址 | 8 位寄存器地址 |
| 寄存器数据 | 16 位寄存器数据 |
spiRead(寄存器地址)
向 EVM 发送 SPI 读取命令。返回一个 16 位值。
| 寄存器地址 | 8 位寄存器地址 |
示例:
ftdiObject = FtdiController() # initialize the FTDI
ftdiObject.getFtdiDeviceInfo() # Get FTDI info
# Initialize SPI. Note the only changeable variable is the clock division. Everything else is static for the EVM
ftdiObject.initializeSPI(ft4222.SPIMaster.Mode.SINGLE, ft4222.SPIMaster.Clock.DIV_4, ft4222.SPI.Cpol.IDLE_LOW, ft4222.SPI.Cpha.CLK_TRAILING, ft4222.SPIMaster.SlaveSelect.SS0)
# Write to register address 0x08, with data 0x0001
ftdiObject.spiWrite(0x08, 0x0001)
# Read back from register address 0x08 and print the data.
print(ftdiObject.spiRead(0x08))
ftdiObject.closeHandle() # close the FTDI when done.