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.

[参考译文] TMS320F28027F:指令周期延迟

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/879608/tms320f28027f-instruction-cycle-delay

器件型号:TMS320F28027F

大家好、

  当我通过 RAM 链接文件将程序转储到 RAM 存储器中时、完成指令需要140ns。 但是、当我通过通用闪存文件在闪存存储器中上传程序时、需要1.5微秒才能完成指令。  

请给出一些想法、以便在我 将程序上传到闪存存储器中时减少指令周期延迟。

我使用的是60MHz 时钟、可以在120MHz 时钟下工作。

请回复。

谢谢、

Aslam

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

    以下是我的代码片段:

    if (((GpioDataRegs.GPADD.bit.GPIO12 =0)&&(GpioDataRegs.GPADD.bit.GPIO29 =0))

    GpioDataRegs.GPACLEAR.bit.GPIO6=1;
    GpioDataRegs.GPASET.bit.GPIO7=1;

    否则、如果((GpioDataRegs.GPADD.bit.GPIO12 = 1)&(GpioDataRegs.GPADD.bit.GPIO29 = 0)))

    GpioDataRegs.GPASET.bit.GPIO6 = 1;
    GpioDataRegs.GPASET.bit.GPIO7=1;

    否则、如果((GpioDataRegs.GPADAT.bit.GPIO12 = 1)&(GpioDataRegs.GPADD.bit.GPIO29 = 1)))

    GpioDataRegs.GPASET.bit.GPIO6 = 1;
    GpioDataRegs.GPACLEAR.bit.GPIO7=1;

    否则、如果((GpioDataRegs.GPADD.bit.GPIO12 = 0)&(GpioDataRegs.GPADD.bit.GPIO29 = 1)))

    GpioDataRegs.GPASET.bit.GPIO6 = 1;
    GpioDataRegs.GPASET.bit.GPIO7=1;

    我实际上尝试  的是通过 GPIO12和 GPIO29读取两个 PWM 输出、根据它们的状态、我正在更改 GPIO6和 GPIO7的状态。

    但从 GPIO6和 GPIO7获取的输出会延迟4微秒。 因此、对于更高的 PWM 频率(100kHz)、我仅从 GPIO6和 GPIO7获得高电平状态。

    但是、当我在 RAM 存储器中上传程序时、同一个程序仍在工作(延迟500-900ns、可以忽略不计)。

    当我在闪存存储器中上传程序时、它会失败。

    请给我一个解决方案。

    谢谢、

    Aslam

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

    您好、Aslam、

    请参阅下面链接的常见问题解答。 您可能需要检查闪存等待状态设置或配置从 RAM 运行的时间关键型代码。

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/759912

    [引用用户="Mohamed Aslam1"]我使用的是60MHz 时钟,因此可以在120MHz 时钟下工作。

    F28027器件具有60MHz 的最大时钟频率。

    最棒的

    Kevin