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:MSP432P401R勘误表修订的状态v

Guru**** 2535150 points
Other Parts Discussed in Thread: MSP430FR5994

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/575491/msp432p401r-msp432p401r-status-of-errata-fixesv

部件号:MSP432P401R
主题中讨论的其他部件: MSP430FR5994

您好,  

MSP432P401R的勘误表修复的状态是什么? 特别是4个与UART相关,1个与RTC相关? 看起来这些都与时钟系统有关,可能会使芯片不安全地进行串行通信。 您能否提供见解以可靠地解决这些问题? 我们有一个使用所有4个UART的项目,我们需要保证良好的串行通信。

Ed Ulicki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Ed,
    感谢您的提问。 这组勘误表实际上与设置标志时与读取标志寄存器时的同步有关。
    根据勘误表,轮询受影响的标志会加剧这种情况,因为它们将被连续读取。
    中断会显著降低勘误的概率。

    为了帮助我们了解这对您的应用程序有何影响,您能否告诉我们有关您的系统的更多信息?

    如何设置4个UART? 您是使用LFXT还是DCO为模块计时?
    UART设置的波特率是多少?
    您的代码库是什么? 您使用的是直接寄存器访问,驱动程序库还是TI RTOS?

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

    您好,Priya:

    感谢您解决我的问题。

    我们目前使用的是TI的MSP420F5359,并且已经使用了几年。 我们目前使用4个串行端口,尽管5359上只有3个,通过整合mux和交换机。

    我们有很多传统代码,并且正在解决一个更改,这将需要系统中的6到7个UART以及SPI。 要处理此数量的串行端口,我们必须对SPI进行位惊叹。

    由于额外的串行端口要求,我们正在使用2个MPU进行评估。 我们还有一个问题,就是要求对 代码进行现场加密下载。 因此,我们选择了至少一个处理器作为MSP430FP5994 (这也最大限度地减少了由于不同处理器系列而发生的变化)。 5994提供了4个UART以及一个工作加密下载。

    必须选择第二个处理器。 我们正在评估MSP432P401R与第二个5994。

    我们的所有代码都是直接注册访问。 我们根据 串行线路波特率混合使用LFXT (32 KHz)和DCO时钟源。  

    我们没有使用RTOS。 我们在计时器中断中遇到了一个长代码序列。 我们的大多数UART都是9600波特,因此我们不会遗漏其中的字符。 我们有一个115kHz的USART,通过CTS控制,

    新项目将具有处理器间通信以及具有未知波特率的附加UART。 我们无法通过CTS控制其中的某些情况。

    TI说,中断可能会减少问题,而不是消除问题。

    我们只使用中断,不使用轮询。 由于在行的另一侧可能存在一个传统系统,这可能是单向的,或者不能由CTS控制,或者无法缓冲或重新传输消息,因此我们遇到了缺少字符的问题。  

    我们有一个选项是使用DMA来传递消息。 勘误问题:无论是否启用中断,始终获取串行线路上传输的每个字符的中断是否排除使用DMA?  

    我应该使用第二个5994或MSP432,或者可能使用2个MSP432?

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

    首先,我想澄清一下勘误表中的几个要点。
    修订版C的最新勘误表文档MSP432P401R有3个有关UART的勘误表。
    文件链接: www.ti.com/.../slaz610h.pdf

    我假设您特别感兴趣的勘误表是USCI44。 因此,我将继续集中讨论这个问题,如果情况不是这样,请告诉我。

    对于使用与CPU同步时钟(相同源)的UART,此问题不存在。 是否有任何方法可以确保仅使用同步时钟? 如果是,这将消除此问题。 我知道系统很少有遗留问题,因此可能无法实现。

    您可以使用DMA移动数据。 但是,勘误表仍然适用,因为它涉及到使用与模块时钟(例如32kHz ACLK)异步的时钟(MCLK/系统时钟)读取UART寄存器的行为。 我可以与我们的团队再次确认这一点,只是为了确定。

    关于第二台设备的选择问题。
    这2个MCU是相互通信,还是仅与您的基本设置通信?
    很难将MSP432与MSP430FR5994进行比较:)这些是不同的平台,架构等,因此它确实取决于您在应用中的灵敏度-低功耗,IO计数,封装,最大CPU速度等,以帮助您做出决策。
    如果勘误表确实是唯一关注的问题,那么使用MSP430FR5994是有意义的。

    您在F5359或FR5994中使用LPM3吗? 低功率是否是一个问题?

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

    感谢您的回复。
    实际上,我对MSP432P401R的几个勘误表表示关注:
    1.TA23 TIME_A模块
    函数轮询计时器中断可能导致中断标志丢失
    说明如果修改了任何计时器中断标志,则轮询任何计时器中断标志都可能导致错过的中断
    阅读时。
    解决方法使用中断服务例程为计时器中断标志提供服务可显著减少
    问题发生的概率
    我们正在使用中断,但频率为60 Hz,并使用它来保留时间。 我们使用中断,但系统可能会在现场运行一个月左右,无法进行调整。 我们大约会损失多少中断? 损失的时间是问题所在
    2. USCI44 eUSCI模块
    功能不同的时钟源可能导致UART通信故障
    问题:使用同步时钟源是否为该问题提供无错误通信?
    3. USCI46 eUSCI模块
    功能UART可能会错误地接收第一个字节
    问题:两个USART正在接收9600波特数据。 如果我们使用比32 KHz更高的频率并接通电源,这是否为该问题提供无错误通信?

    我们的系统中将有两个MCU,它们将相互通信。 要将UART数量增加到6-7,需要使用附加处理器。第二个处理器还可以处理彩色触摸屏图形显示。

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

    Ed,

    1.计时器的时钟源是什么?

    2.问题:使用同步时钟源是否为该问题提供无错误通信?

    是的,确实如此。 使用与MCLK相同的eUSCI时钟源可以解决此问题。

    问题:两个USART接收9600波特数据。 如果我们使用比32 KHz更高的频率并接通电源,这是否为该问题提供无错误通信?

    是的,确实如此。 您计划使用哪种时钟源?

    -Priya

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

    再次感谢您的回复。

    我们正在实施我们的解决方案,因此,如果我们使用MSP43P2401R,而不是在低功耗模式下,我们不会对您可以接受的其他响应进行投票。

    Ed Ulicki