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.

[参考译文] MSP432P401R:BPSK调制/解调

Guru**** 2537240 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/579861/msp432p401r-bpsk-modulation-demodulation

部件号:MSP432P401R

我正在尝试了解TI在其网站上提供的二进制相移密钥源代码。 当调试一个微控制器作为调制器,另一个作为解调器时,如BPSK文档中所示,解调器一侧接收到的数据与调制器一侧的调制数据不一致。 是否有任何其他人在使用此链接 http://www.ti.com/lit/zip/slaa681中的源代码时遇到任何问题。 不会帮助调试任何有关调制或解调的问题。 目前,我正在通过打印值和语句来调试两端,以了解代码在执行过程中的位置;但是,当数据不匹配且解调器实际上没有解调时,这就不是很有效。

我在解调器上接收的数据在1.6万中或小于1000,与调制数据不匹配。 调制的数据从非常高的值线性下降到1或0。

调制数据示例:

数据包长度:200  

国防部:1666  

国防部:833人  

国防部:416  

国防部:208  

国防部:104.  

国防部:52人  

国防部:26.  

国防部:13.  

国防部:6.  

国防部:3.  

修改:1.  

修改:0  

修改:0

我的问题是,我如何获得调制数据以匹配接收数据,然后使该数据被解调,因为解调器似乎正在持续接收数据,而不是实际解调。 我使用的源代码与TI提供的源代码相同,但没有太多更改。

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

    Jerrell Gardner 说:
    目前,我正在通过打印值和语句来调试两端,以了解代码在执行过程中的位置;但是,当数据不匹配且解调器实际上没有解调时,这就不是很有效。[/QUOT]

    很可能是因为添加了调试打印件而损坏了调制解调器。 不要添加值打印,使用调试器(在运行/停止模式下)调试未更改的sla281代码。 当您充分了解调制解调器的TX和RX部件的工作方式时,您应该会看到您可以在何处添加一些非实时内容,如Value print和您不能添加的内容。

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

    您是否熟悉sla681源代码,以了解我可以在哪里添加一些实时值打印? 或者,您如何知道如何确定我可以在哪里打印对账单?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以尝试在FEC decode()函数调用后立即打印基于IRQ的UART。 如果您使用轮询UART代码,很可能会中断调制解调器的实时功能,因此不起作用。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [QUOTE USER="Ilmars">您很可能通过添加调试打印件来破坏调制解调器。 请勿添加值打印,使用调试器(在运行/停止模式下)调试未更改的sla281代码。除了 来自Ilmars的建议外, 如果您使用的是MSP432 Launchpad,板载XDS110支持使用SWO跟踪的Cortex-M硬件跟踪分析器,它允许在不修改程序的情况下对程序进行某些跟踪,并允许程序以全速运行-请参阅 统计功能分析配置,   《跟踪分析器用户指南》中的数据变量跟踪配置和中断分析配置

    对于调试打印,您 可以使用ITM (Instrumentation Trace Macrocell)通过SWO端口输出软件消息-请参阅 http://processors.wiki.ti.com/index.php/SWO_Trace#Software_Messages:。 使用XDS110进行SWO跟踪时,CCS以高达12 Mbaud的速度配置用于SWO跟踪的UART, 因此,与其他调试输出(例如CCS CIO控制台,它需要CCS调试器停止然后恢复目标)相比,使用ITM进行调试消息的开销更低。

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

    什么是基于IRQ的UART打印? 这是否意味着UART模块将有一个中断处理程序,并在FEC解码功能后打印出值? 如果是这种情况,如何确保在FEC解码函数之后触发中断句柄?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我尝试使用统计函数分析,数据变量跟踪和中断分析配置;但是,结果并不包括在内。 统计函数分析只是显示了我在main()中的时长,这是不有用的。 中断分析刚刚显示了正在触发的ADC中断,我已经知道它正在工作。 我在解调器上使用了数据变量跟踪来查看recoveryData数组,阈值以及从ADC中断处理程序内的ADC收到的内容。 跟踪没有返回任何有用的内容,主要是以错误的跟踪数据包序列结束,或者根本没有返回任何内容,这对我来说毫无意义。

    我还尝试了ITM软件消息,这对我来说仍然令人困惑。 我从您提供的链接中将所有API函数复制到解调器主文件中,并使用ITM_PUT_16(),将ITM基本地址作为端口,将数据作为FEC解码函数后的解码值。 这导致了跟踪数据包序列错误的相同问题。

    我想说slaa681的源代码工作正常,但我需要证明它在两个MCU上工作,可以发送和接收数据。 您能否指导我完成从硬件跟踪分析器获得可行结果的步骤? 作为一个附带说明:我是一名高级本科生,对如何使用微控制器几乎没有什么了解。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Jerrell Gardner 说:
    跟踪未返回任何有用的内容,主要是以错误的跟踪数据包序列结尾,或者根本没有返回任何内容, 这对我来说毫无意义。[/QUOT]如果在配置跟踪分析器后更改了MSP432 CPU时钟频率,则跟踪分析器可以报告错误的跟踪数据, 由于XDS110调试探头中的SWO接收器和MSP432中的SWO发射器被设置为不同的波特率。

    如果仅在示例代码调用 systemClockInit()以初始化MSP432时钟之后启动硬件跟踪分析器,是否允许显示有效的跟踪数据?

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

    Jerrell Gardner 说:
    什么是基于IRQ的UART打印?[/QUOT]

    基于IRQ的打印在整个字符串传输时间内不会阻止应用程序代码,它会将字符串放入缓冲区,以便可以在“后台”传输。 请注意,在9600bps轮询UART传输(仅10个信道)时,需要1/96秒,BPSK调制解调器将同时停止。 当然,结果取决于调制解调器体系结构及其接收波形缓冲区大小。

    您有范围吗? 我要做的第一件事是从包含许多未知变量的方程式中删除发射器。 -我会检查发射器是否工作正常,传输的信号是否正确,是否正确连接至接收器。 当您知道发射器正常时,您知道整个系统的一半正常,您可以处理剩余的一半问题。

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

    是的,我使用示波器查看发射器信号。 当我逐步调试变送器调制时,当调制位'0'时,信号与载波信号匹配,当调制位'1'时,信号反转。 所以我得出结论,根据这一点,传输是正确的调节的。 现在,我正在尝试调试接收器端,因为没有输出信号,所以要做的事情要复杂得多。  

    如果我将基于IRQ的打印放在ADC中断内,在哪里可以看到打印值? 我是否必须为输出指定另一个引脚并分析示波器上的信号?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果我启动硬件跟踪分析器,我会看到一个弹出窗口,指出无法检测到时钟频率。 使用跟踪分析器的唯一方法似乎是使用新的调试会话,而无需手动设置UART时钟频率。

    我想查看“task”变量的数据跟踪;但在打开调制器和解调器一段时间后,跟踪查看器同时显示11个条目0。 这让我相信任务没有改变。 我最肯定的是,调制输出信号,因此对于迹线查看器不增加时间的原因没有任何意义。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我再次测试了发射器,结果与以前相同。 蓝色信号是载波信号,黄色是BPSK波形。