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.

[参考译文] CCS/TMS320F28035:TMS320F28035:需要添加外部存储器

Guru**** 2589280 points
Other Parts Discussed in Thread: TMS320F28035, CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/785144/ccs-tms320f28035-tms320f28035-need-to-add-external-memory

器件型号:TMS320F28035
主题中讨论的其他器件:TMDSHVMTRPFCKITcontrolSUITE

工具/软件:Code Composer Studio

您好!

我有两个控制卡、F28035和 F28335。 我目前正在使用 TMS320F28035控制卡和 TMDSHVMTRPFCKIT 进行感应电机控制。 由于实验设置、有必要收集长期数据(超过1小时)。

存储数据的方法是将程序写入.c 文件中、并确定要存储的参数以及样本数量和采样时间、以设置参数。 当我在反汇编窗口中运行完整的体试验时、我将使用此窗口的"Save memory"。 "访问.dat 文件的数据。 过去、我曾尝试更改内存分配以增加接收到的数据数量、但仍然无法解决问题。

如何增加 TMDSHVMTRPFCKIT 中的外部存储器?

谢谢你

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

    您尝试分配多少内存? 您当前使用的方法是绝对可行的、但如果您的程序很大、您会发现数据存储空间受到限制。

    您是否考虑添加 SD 卡来存储数据? 您可以在 SD 卡上使用 FATFS 文件系统、并存储要在以后读取的数据。
    或者、您可以通过调试探针使用通道 B UART (SCI)将原始数据流从后台循环直接转储到 PC 或其他串行监视器。

    遗憾的是、对于您选择的套件和器件、没有"现成"的方法来扩展存储器。 我认为最简单的方法是将实时数据转储到串行监视器。 如果您可以进行单向数据流、您实际上可以在没有 JTAG 的情况下实时扩展使用范围并控制电机值、这有助于您进行实验。

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

    您好!

    感谢您的回复!

    解答1:

    我使用 F28035的存储器映射来进行存储器分配、并更改了 DataRAM 和程序两部分存储器空间。

    原始内部设置为:

    程序:origin = 0x008000,length = 0x001800。

    DataRAM:origin = 0x009800,length = 0x000800

    以下是调整后调整的.cmd 文件。 但是、在调整后、无法满足我所需的数据数量、我所需的数据大小约为36、000或更多(采样时间1秒后访问):

    存储器

    第0页:

    /*请注意,下面的内存分配不会根据需要创建段

     F2803x 上的 CLA。

    *

    开始 :origin = 0x000000,length = 0x000002

    BOOT_RSVD :origin = 0x000002,length = 0x00004E       

    RAMM0 :origin = 0x000050、length = 0x0003B0

    程序 :origin = 0x008000,length = 0x001050

    IQTABLES   :origin = 0x3FE000,length = 0x000B50  //引导 ROM 中的 IQMath 表*/

    IQTABLES2   :origin = 0x3FEB50,length = 0x00008C  //引导 ROM 中的 IQMath 表*

    IQTABLES3   :origin = 0x3FEBDC,length = 0x0000AA /*引导 ROM 中的 IQMath 表*/

    复位      :origin = 0x3FFFC0,length = 0x000002

    BootROM    :origin = 0x3FF27C,length = 0x000D44        

    第1页:

    RAMM1 :origin = 0x000480,length = 0x000380

    DataRAM :origin = 0x009050,length = 0x000FB0  /*更改内存范围*/

    CLA_CPU_MSGRAM:origin = 0x001480,length = 0x000080

    CPU_CLA_MSGRAM:origin = 0x001500,length = 0x000080

    部分

     codestart    :> begin,   page = 0

     ramfuncs     :>RAMM0,   page = 0  

     .text       :>程序,  页= 0

     .cinit      :>RAMM0,   page = 0

     .pinit      :>RAMM0,   page = 0

     切换      :>RAMM0,   page = 0

     复位      :>重置,   页= 0,类型= DSECT

     堆栈      :> RAMM1,   PAGE = 1

     ebss       :> DataRAM,  page = 1.

     .econst      :> DataRAM,  page = 1.    

     等斯梅姆     :> RAMM1,   PAGE = 1

     IQMath      :>程序,  页= 0

     IQmathTables  :>IQTABLES,PAGE = 0,TYPE = NOLOAD

     Cla1ToCpuMsgRAM :>CLA_CPU_MSGRAM,page = 1.

     CpuToCla1MsgRAM :>CPU_CLA_MSGRAM,PAGE = 1.

    答2:

    就我而言、我在使用的 TMDSHVMTRPFCKIT 开发板上看不到任何支持 SD 卡的器件。

    但现在我想使用 RS232-TLL 转换模块将信号传输到计算机、但我仍然不知道如何将 SPI 信号转换为所需的数据。

    我的方法是否与您建议的方法相同?

    此致、

    David

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

    David、

    是的、看起来您肯定需要找到一种在片外存储数据的方法。

    对于任何与此套件不兼容的现成 SD 卡硬件、您都是正确的。 看起来有一个具有 SPI-A 信号的接头- H2。 您可能会连接一些东西。  

    对于 RS232、您是说 TTL 和 SCI 吗? 我要再次提到的是、XDS100调试探针上有第二个通道、专门用于串行转 USB 转换器。 这意味着、借助 JTAG 的已内置 USB 连接、您可以访问 SCI (UART)。 您不需要其他硬件。 您只需要一些串行终端(如 Putty 或 HyperTerm、RealTerm)即可访问数据流。 此外、借助 Python 等工具、您可以在机器上快速创建串行监视器和数据记录器。 这也使您能够实时查看。  我推荐这种方法、因为连接与电机控制器的高电压隔离、并为您提供实时查看功能。

    -Mark

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

    Mark、

    您是不是说我需要在 CCS 工程中编写一个程序、使 UART 输出成为我想要传输到计算机中的串行监视器的信号?

    如果它与您的相同、是否有任何情况可帮助我实施它?

    那么、我能否在 TMDSHVMTRPFCKIT 的 controlSUITE 中执行 V/f 控制并同时使用 MATLAB Simulink 嵌入式编码器进行数据收集?

    感谢您的回复!

    David

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

    David、  

    这是一种方法。 controlSUITE 包含一些初始化和使用该通道的 SCI 示例。 您需要对其进行操作才能使用您的应用。我知道之前在 E2E 上发布过的其他人也做了同样的事情。 请搜索类似主题、您可以从中获得见解和技巧。  如果您有具体问题、我可以提供指导。

    如果您使用的是 Embedded Coder、您还应在其网站上查找类似示例。 它们有一个 SCI 支持包: https://www.mathworks.com/help/supportpkg/texasinstrumentsc2000/ref/c28xscitransmit.html 。 也许还提供了数据记录器工具。

    此致、
    标记