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.

[参考译文] TMS320F2.8069万:闪存/ OTP访问计时的设置

Guru**** 2539500 points
Other Parts Discussed in Thread: CC2520

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/641937/tms320f28069-setting-for-flash-otp-access-timing

部件号:TMS320F2.8069万
主题: CC2520中讨论的其他部件

您好,

我正在使用微控制器 TMS320F2.8069万。 在数据表Table 5-15 Flash/OTP Access Timing中,它表示最小分页/随机闪存访问时间为36 ns。 但在我的应用程序中,我必须将访问时间设置为高于160 ns。 您能否就哪些因素可能影响/增加闪存的访问时间给我提供一些建议?

谢谢!

丹   

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

    您如何测量闪存访问时间?

    它可能与您在闪存寄存器中配置的等候者数量有关。 您为多少个等候者配置了闪存包装?

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

    默认情况下,分页读取和随机读取都设置为15。

    因此,当设备以90MHz运行时,这将使访问时间达到177.8ns
    因此,当设备以80MHz运行时,这将使访问时间达到200ns

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

    闪存读取保证仅在满足闪存访问时间时工作。 访问时间超过36ns意味着读取速度较慢。

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

    感谢您的回复。 您的意思是不是所有微控制器都能在最小时间36 ns下读取? 哪些因素可能会降低速度? 我想优化微控制器的性能,因此我设置的值小于默认值15。

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

    您好,Sal,

    我没有测量访问时间。 我在寄存器中设置号码以确定访问时间。 如果设置的时间更短,控制器将无法工作。 我将两个等待时间都设置为80 MHz时为13。

    谢谢!

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

    否,在所有F2.8069万设备上,如果您将等待状态配置为满足最低闪存访问时间36ns,则保证闪存读取/访问正常。

    DS中的表仅建议用户根据其SYSCLK频率配置等待时间,以确保满足最短闪存访问时间。

    对于SYSCLK =90Mhz,所需的最小闪存等待状态=3。 我建议使用默认状态,因为您说需要的最短访问时间为160ns。


    此致,

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

    如果在闪存访问>160ns时代码工作正常,请检查SYSCLK频率,因为闪存等待状态与DS中提到的SYSCLK频率相关联。

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

    您好,Manoj,

    我想将访问时间设置得尽可能短。 SYSCLK设置为80 MHz,我按照DS将等待时间设置为2,以获得37.5 (12.5 *3) ns访问时间。 但微控制器不工作。 它使其它组件(如收音机(CC2520))无法正常工作。 只有当我将最小访问时间设置为160 ns以上时,整个系统才能正常工作。

    您是否知道问题的原因?

    谢谢!

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

    我最初的怀疑是SYSCLK FREQ。 您是否尝试将SYSCLK引入XCLKOUT并在示波器上进行检查?

    当您说您的系统无法正常工作时。 到底发生了什么? 您是否只能在独立模式下看到问题(或者)您也可以看到JTAG连接的问题。

    我还建议您尝试以最少的等待量读取闪存内容,并检查闪存的数据完整性。

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

    我有一段时间没有收到您的回复。 您的问题是否已解决? 如果是,请关闭此线程。

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

    您好,Manoj,

    很抱歉回复延迟。 我以前没有注意到这一点。

    我检查了SYSCLK,它是80MHz。 当我设置少量等待时,连接到微控制器的对讲机不工作。 对讲机的某些寄存器中的值设置为错误的数字。

    连接JTAG后,它也不起作用。

    谢谢!

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

    如果我是你,我会检查以下项目:

    此调试过程的第一步是了解闪存读数在80 MHz时是否正常,有2种等待状态。 您是否已检查闪存扇区的所有闪存读数是否正常?

    您的应用程序代码是否在OTP中包含任何代码/数据? 如果是这样,您必须使用4个等待状态,因为OTP比闪存慢。

    您的代码似乎在等待状态较高的情况下工作正常。 高等待状态可确保闪存读取速度较慢,因此执行速度较慢。 您是否有任何通信端口(或)任何其他对时间至关重要的代码? 任何计时(或)通信错误是否会导致应用程序代码执行的更改?

    当应用程序代码失败时,它是否会进行非法指令陷阱提取? 它是否在BootROM中意外发现自己。

    这是定制电路板(或) TI EVM电路板吗? 我想知道该设备是否正确执行了加电加速。

    您是否在每台F2.8069万设备上都看到此问题(或)在隔离的设备上看到此问题?

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

    您好,Manoj,

    非常感谢您的善意建议。  

    1.如何"检查闪存扇区中的所有闪存读数是否正常"? 现在,设备提供的唯一反馈是,某些无线电芯片寄存器中的值是错误的。 是否有其他反映闪存读取的内容在闪存扇区中有问题?

    2.我使用 了4个OTP候补, 但它不起作用。

    3.微控制器具有与无线电芯片的SPI通信。 我认为这是我的一些老问题-是否存在某些问题可能会减慢闪存读取速度。 那么,您的意思是,如果与其他设备进行通信,闪存读取将受到影响吗?

    4.我对这个问题不是很了解。

    5.它是定制板。 我认为我们提供的电压是正确的,通电应该没有任何问题。 什么可能是加电错误?

    6.我在每一个主板上都看到这个问题。

    谢谢!

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

    TI保证在满足建议的操作条件和最低等待状态要求时,闪存读取/指令读取功能将完全正常工作。 我感觉这与您的应用程序代码有关,需要系统地调试。

    1)您必须将闪存等待状态设置为2,并读取闪存中的内容并存储在RAM缓冲区中。 然后,您可以比较闪存内容和RAM缓冲区内容,以确定闪存读取工作正常。 如果您在每台设备上都看到此问题,我不会担心。

    2)因此,您在应用程序中使用OTP。 您使用OTP的确切程度如何?

    3)我并不是说与其他设备的通信会影响闪存读取。 我不太了解您的应用(无线电芯片),因此很难评论正在发生的事情。 但是,通信错误/未对齐是否会导致应用程序代码开始执行代码的不同部分。 您是否尝试过单步执行代码来调试问题。

    4)通常在闪存读数不正确时。 CPU很可能会收到一个非法的指令,该指令将触发非法的ISR例程。

    5)如果电源设备稳定且处于推荐的工作条件下。 那么一切都应该正常。

    此致,
    Manoj