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/TMS320F2.8335万:从DAC绘图时出现问题

Guru**** 2587745 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/654152/ccs-tms320f28335-problem-when-plotting-from-dac

部件号:TMS320F2.8335万
主题中讨论的其他部件:C2000WARE

工具/软件:Code Composer Studio

大家好,

IAM试图绘制使用电压传感器生成的控制信号图,控制信号在0和3.3V峰值之间,如所附示波器图片中所示(请参阅 图1)。

我使用非常简单的代码,使用Matlab2017a将模拟信号转换为数字信号,然后将其输出到GPIO4作为数字输出(尽管我知道数字输出将毫无意义)。

在6.2 上,我定义了变量的表达式,以便绘制它。 但当我尝试绘制图表时,我在图2中有一个错误。

 当我尝试绘制DAC的输出时,它只是发出噪音,如图3所示。

我在e2e-website中搜索了一个解决方案,但我不知道问题出在哪里,我不是该领域的专家,但我注意到表达式的值是(0x0.0811万A {errorStatus=0x0万 {@})

这表示存在一些错误。

我的设置详细信息如下:

ezdspf2.8335万

MAttlab2017a

6.2

 

如有任何帮助,我们将不胜感激

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

    我需要您提供更多信息来进行调试。 您是要使用存储在ADC_M对象中的数据来绘制图形还是绘制不同的变量? 您是否能够共享此ADC_M对象定义和初始化的代码?

    如果您尚未了解CCS帮助(帮助->帮助目录),可以了解有关CCS图的更多信息。

    此致,
    伊丽莎白
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Elizabeth:
    感谢您的尽早回复。 是的,iAM计划从DAC中绘制数据。 附加了.c代码。
    此致
    哈姆扎

    %%代码
    /*
    *文件:ERT_MAIN.c.
    *
    *为Simulink模型'ADC'生成的代码。
    *
    *型号版本 :1.58
    * Simulink Coder版本 :8.12 (R2017a) 2017年2月16日
    * C/C++源代码生成时间:2018年1月5日星期五15:55:53
    *
    *目标选择:ERT.tlc.
    *嵌入式硬件选择:德州仪器(TI)>C2000
    *代码生成目标:未指定
    *验证结果:未运行
    */

    #include "adc.h"
    #include "rtwtypes.h"

    易失性int IsrOverrun =0;
    静态boolean _T OverrunFlag =0;
    void RT_OneStep (void)

    }

    内部主(无效)

    volatile boole_T runModel =1;
    浮点模式BaseRate = 0.0001 ;
    浮点系统时钟=150;
    c2000_flash_init();
    init_board();

    #ifdef MW_EXEC_Profiler_on

    config_profilerTimer();

    #endif


    rtmSetErrorStatus (ADC_M,0);
    ADC_initialize();
    configureTimer0 (modelBaseRate,systemClock);
    runModel =
    rtmGetErrorStatus(ADC_M)==(NULL);
    enableTimer0Interrupt();
    enable_interrupts();
    globalInterruptEnable();
    而(runModel){
    runModel =
    rtmGetErrorStatus(ADC_M)==(NULL);
    }

    /*在此处禁用RT_OneStep()*/

    /*终止模式*/
    ADC_TERMINATE();
    globalInterruptDisable();
    返回0;
    }

    /*
    *生成的代码的文件尾部。
    *
    *[EOF]
    */
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,Hamza,

    我仍然不清楚图2。 ADC_M似乎是一个存储错误状态的对象,错误状态是您要在图2中绘制的吗?

    我知道图3是绘制DAC样本,但绘制的是哪个变量,哪个变量决定了该变量的值? 在图形属性中Y轴设置为哪个变量?

    此致,
    伊丽莎白
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的Elizabeth:
    图 3是ADC_M信号的图解。
    我想绘制ADC输入端的信号。 我应该计划什么? 我的eZdsp连接到ADC输入引脚上的模拟信号,这是从Simulink生成的.c文件。 我应该精确地绘制什么?
    很抱歉,如果事情不清楚,感谢您的点赞。
    此致
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,Hamza,

    我建议从感兴趣的适当寄存器中读取寄存器值并将寄存器值存储到数组中,您可以使用该数组的地址作为绘图的起始地址。

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

    两周后我没有收到您的信息,因此我假设您能够解决您的问题。 如果不是这种情况,请拒绝此解决方案并回复此线程。 如果此线程锁定,请创建一个新线程,描述您的问题的当前状态。 感谢您使用TI C2000 E2E论坛。

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

    你好,Elizabeth,

    首先,很抱歉回复太晚了,我很忙。 为了首先了解如何使用CCS绘制图表,我观看并阅读了一些相关材料,并遵循相同的步骤,但仍然不起作用。 我真的不知道我在哪里被误解了。 在同步上,我放置了一个具有50 % 占空比的PWM块,我能够使用示波器查看来自DSP的输出。 但我无法使用CCS来绘制它。  我在这里附上了代码的. c文件。 它非常简单,就像see.e2e.ti.com/.../pwm_5F00_c.html一样

    此致

    哈姆扎  

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

    正如我之前所说的,我认为您应该添加一个变量或缓冲数组,其中包含从寄存器读取的数据,以便您可以在CCS图中绘制这些值。

    如果您想在示波器上绘制ePWM输出,而不是在CCS图中,那么我建议查看下面列出的C2000Ware中的ePWM示例项目。 这些可在CCS中运行,并通过GPIO将输出传输至示波器,如源文件顶部的备注中所指定。

    C:\ti\c2000Ware_1_00_03_00\device_support\F2833x\examples\ePWM_upding_aq</s>2833
    C:\ti\c2000Ware_1_00_03_00\device_support\F2833x\examples\ePWM_UP_AQ</s>2833

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