部件号: MSPM0G1507
I²C 正在定义一个在 I ² C 和 SPI 上运行的外设(从器件)通信协议、因此相同的寄存器访问实现可用于两个接口。 ~目前对 SPI 使用以下协议、并且当 MCU 在 80MHz 下运行时、我们能够实现 I ² C 4MHz:
SPI 情况:
字节 1: cmd — 命令(读取或写入)
字节 2: Addr — 寄存器地址
字节 3: STALL - STALL 字节
字节 4+: 可根据事务进行变量计数
-单字节: 单个寄存器访问
-多个字节: 每个下一个字节的地址自动递增的块访问
我们有以下问题:
1) 它似乎 DL_SPI_isBusy () 函数有时会返回有关 SPI 机器状态的错误状态,特别是当它恰好在 FIFO 为空的接收传输边界附近被调用时。 您是否有任何示例/指南/文档、我们应该使用这些示例/指南/文档来更好地理解此功能的局限性?
2) 写入时、MCU 将返回任意数据(即空 FIFO 先前的内容)。 同样、在读取 MCU 时、将返回 CMD、ADDR 和 STALL 字节的任意数据。 是否可以清除 FIFO 或返回已知值? 如果不是、这还可以、只是不是很理想。
3) 您是否有关于 SPI 外设实现的任何性能数据? 我们想了解 4MHz 是否为上限、或者是否有提高性能的方法?