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.

[参考译文] MSP430F5529:SPI不能以更高速度工作(超过4 MHz)

Guru**** 2582405 points
Other Parts Discussed in Thread: MSP430F5529

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/614792/msp430f5529-spi-not-working-at-higher-speeds-over-4-mhz

部件号:MSP430F5529

我尝试在主模式下使用SPI输出字节的波形。 在32 KHz下使用REFOCLK时,此功能按预期工作。 但是,在4 MHz或DCOCLK (20 MHz)使用XT2时,波形看起来完全错误,如所附图片所示。 为什么会发生这种情况? 是我需要它们的某些特殊设置还是MSP430F5529在这些速度下不能运行SPI?

第一个图像:输出频率为4MHz以上,第二个图像:输出频率为32KHz

显然,4+ MHz没有输出正确的波形,而32 KHz是。

int main (void)
{

WDTCTL = WDTPW | WDTHOLD; //停止看门狗计时器

SetVcoreUp(0x01); //直接从数据表中获取功率
SetVcoreUp(0x02);
SetVcoreUp(0x03);
__bis_sr_register (SCG0); //禁用FLL
P5SEL ||(BIT2 + BIT3); //设置晶体端口
UCSCTL6 &=~XT2OFF; //启用XT2
UCSCTL3 |= SELREF_2; //设置FLL
UCSCTL4 |=拉美经济体系2; //也设置ACLK
UCSCTL6 |= XT2DRIVE_0; //选择XT2所需的电源
做
{
UCSCTL7 &=~(XT2OFFG + XT1LFOFFG + DCOFFG); //清除故障标志
SFRIFG1 &=~OFIFG; //清除通用振荡器故障标志
}
同时(SFRIFG1和OFIFG); //如果故障,OFIFG&SFRIFG1将不为零(TRUE)

UCSCTL4 |=TELS__XT2CLK;

P1DIR ||(BIT0 + BIT2);
P2DIR || BIIT2; //将WFP 2.2 设置为外出方向以监控时钟
P2SEL || BIIT2; //选择WFP 2.2 作为SMCLK输出

__BIC_SR_REGISTER (SCG0); //启用FLL

UCB0CTL1 = UCSWRST; //将UCSI置于重置状态以进行配置
UCB0CTL0 ||(UCSYNC + UCMST + UCMSB + UCCKPH); //启用设置:SPI模式(UART的插入)+主+ MOST SIG字节
P3SEL || BIT0; //端口选择
P3DIR |= BIT0;
UCB0CTL1 || UCSSEL1; //禁用UCSI重置状态并选择SMCLK源
UCB0CTL1 &=~UCSWRST; //启用UCSI

同时(1)
{
同时(!(UCB0IFG和UCTXIFG)); //延迟到UCB0TXBUF为空

UCB0TXBUF = 0xEE; //传输1110.111万
__DELAY周期(1万);
}
返回0;}

P.s.,我知道SPI是同步的,但我需要这些高速,因为我实际上只是用它作为波形,而不是与SPI从属通信

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您使用的范围是什么? 它是否有足够的带宽来查看脉冲? 您的上是否有带宽限制?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    www.amazon.com/.../ref=sr_1_1 我有这个。 我不知道我是否有任何时间限制带宽,或者示波器是否具有正确的规格。 我以前从未真正使用过示波器。 请看一下并告诉我吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    每个部门的时间是多少? 20 MHz就在边缘,以捕获这些脉冲。 终止也可能是一个因素。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我用了50纳秒。 太多了? 太少了?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1/50e-9为20 MHz,因此如果输入是20 MHz的正弦波,您可以解决它。 由于脉冲具有非常高的谐波内容,因此您可以过滤掉所有能给您带来锐边的信号。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    让我们以另一种方式来接近它,你可以看到的最快的上升时间是0.35 或关于17.5 NS,如果上述迹线是每部分50 NS,这是正确的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    很抱歉回复太晚了:我不得不在下午离开去参加俱乐部会议。 这似乎是事实,我试了5次,我看到了一个非常明显的正方形波形。 谢谢!