英飞凌
直播中

李梅

7年用户 1307经验值
私信 关注

UART调试控制台在带有FX3S的定制PCB上无法正常工作怎么解决?

我正试图为我们带有赛普拉斯 FX3S 的定制 PCB 设置调试控制台。 GPIO 引脚 48 和 49 连接到 UART USB 适配器,然后连接到 PC,通过 COM 端口(使用 ClearTerminal)将输出打印到终端。
在固件方面,我使用了 John Hyde 的著作 [i]SuperSpeed Device Design by Example 中的第 4 章示例 4 固件。 固件应该显示当前运行的线程。
我改变了主意:
ioConfig.lppMode = CY_U3P_IO_MATRIX_LPP_DEFAULT;
HX3 固件
但是,当我尝试这样做时,FX3S 会向终端输出乱码(见附图(image1_ClearTerminal_customPCB.PNG))。

有趣的是,同样的固件却能与超高速探索者套件完美配合。
我将基于 CH340G 芯片的 UART USB 适配器连接到 GPIO 引脚 48/49(DQ30/DQ31)和 GND。 在这种硬件配置下,UART 调试控制台工作正常。

是什么原因导致了这个问题?

回帖(1)

张国厚

2024-7-23 17:21:10
要解决这个问题,我们可以按照以下步骤进行排查和解决:

1. 检查硬件连接:首先确保GPIO 48和49引脚正确连接到UART USB适配器,并且适配器已正确连接到PC。检查所有连接是否牢固,没有松动或损坏的线缆。

2. 检查引脚配置:在固件中,确保已经正确配置了GPIO 48和49引脚作为UART引脚。检查代码中是否使用了正确的引脚编号和配置参数。

3. 检查波特率和串口设置:确保UART USB适配器和PC上的串口设置(如波特率、数据位、停止位和奇偶校验)与固件中的设置相匹配。如果设置不匹配,可能会导致乱码输出。

4. 检查固件代码:检查固件代码中是否有任何错误或不一致之处,可能导致UART输出乱码。例如,检查中断处理、缓冲区管理和错误处理等。

5. 检查电源和地线:确保PCB上的电源和地线连接正确,没有短路或接地问题。这些问题可能会影响UART通信的稳定性。

6. 使用示波器或逻辑分析仪:如果可能的话,使用示波器或逻辑分析仪检查UART信号的质量和完整性。这可以帮助确定问题是否出在硬件上。

7. 尝试其他固件版本:如果问题仍然存在,尝试使用其他版本的固件,看看问题是否得到解决。这可以帮助确定问题是否与特定固件版本有关。


举报

更多回帖

发帖
×
20
完善资料,
赚取积分