This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
你(们)好
我正在使用 MSPM0G3107芯片、需要使用 MCAN 来传递不同制造商的多个芯片。 我正在使用 TCAN1057A 芯片、但无法获得任何输出。 我将在引脚 PA12和 PA13上使用直接逻辑分析仪进行测量、但未获得任何输出。 我的目标是使其无需外部晶体即可工作、因此我使用示例"mcan_loopback_lp_mGPM0G3507_nortos_ticlang"、并将输入更改为"SYSPLLCLK1"。
设置:
SYSCTL ->使用时钟树(禁用)
SYSCTL->Clock Configuration->SYSPLL->启用 SYSPLLCLK1 (启用)
SYSCTL->CANCLK->CANCLK 源(SYSPLLCLK1)
我尚未触摸其余设置。 要使其正常工作、我需要配置什么?
注意:如果我保持"使用时钟树"设置为活动状态、MSPM0在设置时钟时会丢失。
CSS:12.8.0.00012
编译器:TI Clang V3.2.2.LTS
MSPM0 SDK:2.2.0.05
SysConfig:1.21.0
尊敬的 Camilo:
当您使用时钟树时、您的设置是什么? 如果使用 Sysosc、可以通过 SYSPLL 进行此设置、并将 PDIV 设为1、QDiv 设为5、CLK1_Div 设为4。 这将为 CANCLK 提供一个40MHz 时钟。 可以在没有时钟树的情况下进行相同的配置、仔细检查 SYSPLL 设置
但是、我必须建议不要为 CAN 使用 SYSOSC。 SYSOSC 的精度为2.5%、低至1.2%(ROSC 上理想的0.1% 100k 电阻器)。 我通常建议使用外部晶体、因为 CAN 总线本身需要高精度(总线上精度为1.58%)。 因此、整个系统上的任何误差都可以传播到大于1.58%的精度。 拥有外部晶体将减少我们对总线总时钟总精度误差的影响。 虽然 从技术上讲、 将 SYSOSC 与 ROSC 电阻器结合使用会给整个系统保持所需的精度带来挑战。
此致、
Luke
尊敬的 Camilo:
您的项目配置文件未与您的帖子一起发送。
当您说在引脚输出上未看到任何内容时、您是在发送还是接收;如果是发送、您可以在传输函数前放置一个断点、以验证该函数是否已被发送?
此致、
Luke
尊敬的 Camilo:
我正在尝试获取一些收发器来在我的终端进行测试、您是否能够在 LaunchPad 上复制这些收发器?
此致、
Luke
尊敬的 Luke:
目前、我只有一个通用编程器和一个 LP-MSPM0L1306 LaunchPad、因此我无法验证示例。
尊敬的 Camilo:
我的一位同事过去曾让 SYSOSC 与 MCAN 一起使用、但它确实会限制您的频率、以符合精确范围。 考虑到 GPIO 本身并没有改变、我更关注设计用例本身、因为您应该能够看到下拉电阻。
您能否将 PA13和 PA12引脚配置为正常 IO 并对其进行切换、在继续进行代码配置之前、我希望在硬件方面确认没有任何连接缺失。
尊敬的 Luke:
感谢您的答复
MCAN 引脚配置显示在配置树中、并分配了引脚 PA13和 PA12。 为了验证硬件、我在引脚上简单地闪烁一下并测量输出、它们正常工作、因此我假设没有硬件错误、我认为配置有问题、但我无法检测到故障的位置。