试验目的:解决了TC234的QSPI模块 通信 AD2S1210 示波器读取观测波形正确, 而实际TX234对应的QSPI接收寄存器却不更新的问题、
试验目的:解决了TC234的QSPI模块 通信 AD2S1210 示波器读取观测波形正确,
而实际TX234对应的QSPI接收寄存器却不更新的问题、
解决方法:将QSPI模块3 的MRST引脚除了配置为输入 还需要将对用的PISEL寄存器位阈MRIS设置为4 。
我现在打算把激励频率设置成10kHz
因为没有劳特巴赫 所以用周立功
结果发现按AD2S1210旋变板 QSPI3模块 的SDO波形是正确的,但是对应的SDO接收寄存器并不发生更新
可能是我焊线引出 导致AD2S1210 干扰。
我现在先看一下 TX234开发板我用按键触发单次发送 接收的程序 用劳特巴赫看一下:
读取数据测试:
IPS的底层对EEPROM 的读写 可以读取到
现在写0X44
最起码我可以验证程序是正确的。
为什么实际的rxbuffer 没有读取到有效数据?
为什么rxbuffer 一直返回255
我现在在想 看一下框图 是不是你不允许接收还是什么原因 导致
总之 :现象就是 单片机 的移位寄存器 允许 发送 好像不允许接收一样。
第一点:我排查了 可以正常的接收数据
因为接收FIFO可以跳出循环。
第二点: 我看一下接收端口的引脚是不是配置正确?
我看一下P22.1 的配置是不是正确 ?
P22.1 我已经配置为输入 。
我看一下 其他的额AD2S1210 的配置 是不是有什么问题?
看一下我配置EEPROM 是怎样的?
20200627 的程序 :
(1) 用的引脚是 4个
P10_3 MTSR1
P10_1 MRST
P10_2 SCLK
P11.8 普通IO 口
P10.1
P11.8
我现在不得不怀疑是不是我 单片机的QSPI 3 模块有问题, 如果更换为QSPI1
模块是不是就可以了??
第一点 :我先看一下 是不是MRST 端口识电平 的损坏 ?
把端口配置为输入
外接高 低电平 看一下:
P22.1 配制成输入 MRST
SPI 的配置包括 外设的配置 QSPI0 QPSI 1 QPSI2 QSPI3的配置
主要指示 对应的端口 以及模块的输入频率
以及通道的配置, 通道主要指出 用哪一个SLSO 以及对应通道的极性 SCLK的位
以及ECON 寄存器的配置。
端口输入选择寄存器
所以 现在第一步:
我先把对应的口设置为输入 然后进行观察引脚电平 。
P22.1 口作为输入口的话 可以正确的检测输入电平的 0 1 变化
(1) 是不是QSPI3 模块的 接收寄存器 有问题?
验证方法: 我可以在TC234开发板上下载 这个程序,然后给P22.1 一直为高,或者一直为低 QSPI3 的寄存器是不是发生变化?
其实到这里 就是 第一 :是不是我程序 写的有问题, 但是同样的程序针对EEPROM是可以的。
第二:是不是QSPI3模块的接收寄存器有问题, 是不是换成QSPI2模块问题可以得到解决?
我可以先用TC234的单片机看一下 :
还是用这些引脚 然后 看一下 SO 引脚接常高或者常低 是不是对应的寄存器变化?
P22.0 当做 MTSR3 用
P22.1 当做 MRST用
P22.3 当做 SCLK 用
P22.2 当做 普通IO口 CS使用
我在TC234 单片机上 发现读取上来的 还是 0 没有作用?
难道是程序有问题?
应该是程序的问题。
最后我看手册 发现
于是我做了以下的更改:
往0x92地址写入的数字0X12
最终被读取出来
补充一个试验 :
这个程序用TC234 开发板 没有AD2S1210从机, 我现在将SO引脚置为高或者常低
看一下接收寄存器rxbuffer 。其余的SCLK CS SI 是正常发波 SO置为常高
SO 置为常低
百度网盘对应的而文件名
20220712解决了TC234对AD2S1210的读写问题,并更新到QSPI接收寄存器