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.

[参考译文] LAUNCHXL-F2.8379万D:如果从属设备在CCS调试中,则发出Syncro SPI

Guru**** 2558160 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/632705/launchxl-f28379d-issue-syncro-spi-if-slave-is-in-ccs-debug

部件号:LAUNCHXL-F2.8379万D

您好,

在我的应用中,每个PWM周期(4 kHz)的从属设备获得4个电压(4通道ADC),并通过4个通信SPI (无FIFO,4线,HS禁用)将其发送至主设备。

主控制器读取4个电压并计算2个占空比,然后通过2个通信SPI将其发送至从属控制器。
主控制器处于CCS调试状态。

现在的问题是:如果闪存运行的从属设备工作正常,如果CCS调试运行的从属设备在最初几秒钟的通信工作正常,那么几秒钟后它不再同步,如果电压通信正确,则双周期通信不正确,反之亦然。


有人能帮我理解原因吗?

P.s:主中继器和从中继器为 LAUNCXL-F2.8379万D

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Biagio,

    只是为了确认我正确理解问题-如果您在未连接仿真器的情况下从闪存启动该部件,代码将按预期工作。 但是,如果连接了仿真器并且正在从CCS运行,则数据将变为无效。 是这样吗?

    您是否有交易的波形?

    此致,
    克里斯
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的,如果我从闪存引导从属设备(主设备始终从CCS运行),代码将按预期工作。如果我连接从属设备并从CCS运行,则通信SPI错误。

    我没有通信波形,但我可以从主设备上读取从属设备发送的测量值。

    例如,如果我应用于系统与发电机之间的张力是V[0]=100 V,V[1]=250V,V[2]=400 V,V[3]=600 V,并且我从主控制器发送给从控制器的电压是0.3 ,0.8 ,
    如果我从闪存启动从属设备,通过调试连接到从属PWM的主示波器和示波器,一切都正常,但如果从CCS启动从属设备,我会出现以下随机情况:
    1)发送至主控制器的测量值错误,为V[0]=0;V[1]=100 V,V[2]=250V,V[3]=400 V,负载正确
    2)测量正常,但发送的占空比错误,并且d[0]=0,d[1]=PWM,我也从连接至从属0.3 的示波器中看到这一点。

    我必须理解错误通信的原因,因为DSP控制500 kVA的H桥结构,如果微控制器在运行过程中出现故障,对所有事物和每个人都是非常危险的。

    此致,
    Biagio酒店
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Biagio,

    我想到了几个问题:

    使用仿真器运行时,如何同步设备? 例如,您的主设备是否可以在您的从属设备准备就绪之前发送数据? 请记住,连接仿真器时,设备的引导方式可能不同。

    CCS的流程是什么样子? 先启动主服务器,然后启动从服务器?

    您如何验证这是SPI数据的问题,而不是PWM频率问题或这些线路上的问题?

    此致。
    克里斯
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当主中继器发送数据时,我确定从中继器已准备就绪,我同时启动(从CCS播放)主中继器和从中继器,但第一次主中继器在启动算法和SPI通信之前等待10秒。 此外,从属设备只执行4次采集和6次SPI通信(无其它),但主设备执行以下操作: 8次采集,小型算法,4次SPI与从属设备(模块B)的通信以及与另一个从属设备(模块A)的其他4次通信,小型算法,2次通信SPI (模块B)以及与另一个从属设备,小型算法的其他2次通信(模块A)。

    此问题不是由频率PWM引起的。 PWM频率为4 kHz =>每250微秒重复一次该例行程序,
    6通信SPI = 42微秒
    算法= 120微秒
    8采集< 15微秒
    t=177微秒


    我唯一想到的是SPI -主控制器的一个模块,用于与另一个从控制器通信(此从控制器始终通过闪存启动并使用其SPI - A模块) 干扰与此从属设备一起使用的主设备的SPI - B模块。

    主SPI A <=>SLAVE1 SPI - A (无通信问题)
    主SPI B <=>SLAVE2 SPI - A (是通信问题)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,
    我解决了问题。 该问题与电磁兼容性有关。 当我移动微控制器以将其连接到PC时,微控制器在新位置更靠近H桥(在低系统电压下,SPI通信仍然工作正常)。

    我将用屏蔽电缆替换用于SPI通信的电缆,以确保在标准微控制器位置,高压下不存在电磁兼容性问题。

    此致,
    Biagio酒店