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/TMS320F28335:TMS320F28335

Guru**** 2551110 points
Other Parts Discussed in Thread: TMS320F28335

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/628588/ccs-tms320f28335-tms320f28335

器件型号:TMS320F28335

工具/软件:Code Composer Studio

你好!

我想使用外部接口功能 来感测交流和直流电压 值,而不是 ADC…

源代码 是否正确?

谢谢!

 空 InitXintf (空)
  {
   //这显示了如何写入 XINTF 寄存器。  。
   这里使用的//值是复位后的默认状态。
   //不同的硬件需要不同的配置。

   //对于与一起使用的 XINTF 配置示例
   // F28335 eZdsp、请参考 examples/run_fin_XINTF 项目。

   //对 XINTF 时序的任何更改只能由代码进行
   //在 XINTF 之外运行。
 EALLOW;
 SysCtrlRegs.PCLKCR3.bit.XINTFENCLK = 1;
 EDIS;

   //所有区域-------------------------------------------------------
   //基于 XTIMCLK 的所有区域的时序= 1/2 SYSCLKOUT
    EALLOW;
    XintfRegs.XINTCNF2.bit.XTIMCLK     = 1;
   //无写入缓冲
    XintfRegs.XINTCNF2.bit.WRBUFF      = 0;
   // XCLKOUT 被启用
    XintfRegs.XINTCNF2.bit.CLKOFF      = 0;
   // XCLKOUT=XTIMCLK/2
    XintfRegs.XINTCNF2.bit.CLKMODE     = 1;

   //区域0-------------------------------------------------------
   //使用就绪时,活动必须为1或更大
   //导联必须始终为1或更大
   //区域写入时序
    XintfRegs.XTIMING0.bit.XWRLEAD=3     ;
    XintfRegs.XTIMING0.bit.XWRACTIVE =   7;
    XintfRegs.XTIMING0.bit.XWRTRAIL    = 3;
   //区域读取时序
    XintfRegs.XTIMING0.bit.XRDLEAD=3     ;
    XintfRegs.XTIMING0.bit.XRDACTIVE   = 7;
    XintfRegs.XTIMING0.bit.XRDTRAIL    = 3;

   //双倍全区域读/写前置/主动/后置定时
    XintfRegs.XTIMING0.bit.X2TIMING=1    ;

   //区域将对 XREADY 信号进行采样
    XintfRegs.XTIMING0.bit.USEREADY=1    ;
    XintfRegs.XTIMING0.bit.READYMODE   = 1; //采样异步

   //大小必须为:
   // 0、1 = x32或
   // 1、1 = x16保留其他值
    XintfRegs.XTIMING0.bit.XSIZE       = 3;

   //第6区-------------------------------------------------------
   //使用就绪时,活动必须为1或更大
   //导联必须始终为1或更大
   //区域写入时序
    XintfRegs.XTIMING6.bit.XWRLEAD=3     ;
    XintfRegs.XTIMING6.bit.XWRACTIVE   = 7;
    XintfRegs.XTIMING6.bit.XWRTRAIL    = 3;
   //区域读取时序
    XintfRegs.XTIMING6.bit.XRDLEAD=3     ;
    XintfRegs.XTIMING6.bit.XRDACTIVE   = 7;
    XintfRegs.XTIMING6.bit.XRDTRAIL    = 3;

   //双倍全区域读/写前置/主动/后置定时
    XintfRegs.XTIMING6.bit.X2TIMING=1    ;

   //区域将对 XREADY 信号进行采样
    XintfRegs.XTIMING6.bit.USEREADY=1    ;
    XintfRegs.XTIMING6.bit.READYMODE   = 1; //采样异步

   //大小必须为:
   // 0、1 = x32或
   // 1、1 = x16保留其他值
    XintfRegs.XTIMING6.bit.XSIZE       = 3;
   //区域7 ------------------
   //使用就绪时,活动必须为1或更大
   //导联必须始终为1或更大
   //区域写入时序
    XintfRegs.XTIMING7.bit.XWRLEAD=3     ;
    XintfRegs.XTIMING7.bit.XWRACTIVE   = 7;
    XintfRegs.XTIMING7.bit.XWRTRAIL    = 3;
   //区域读取时序
    XintfRegs.XTIMING7.bit.XRDLEAD=3     ;
    XintfRegs.XTIMING7.bit.XRDACTIVE   = 7;
    XintfRegs.XTIMING7.bit.XRDTRAIL    = 3;

   //双倍全区域读/写前置/主动/后置定时
    XintfRegs.XTIMING7.bit.X2TIMING=1    ;

   //区域将对 XREADY 信号进行采样
    XintfRegs.XTIMING7.bit.USEREADY=1    ;
    XintfRegs.XTIMING7.bit.READYMODE   = 1; //采样异步

   //大小必须为:
   // 0、1 = x32或
   // 1、1 = x16保留其他值
    XintfRegs.XTIMING7.bit.XSIZE       = 3;
   //组切换
   //假设区域7运行缓慢,因此添加额外的 BCYC 周期
   //从区域7切换到另一个区域时。
   //这将有助于避免总线争用。
    XintfRegs.XBANK/bit.Bank=           7;
    XintfRegs.XBANK/bit.BCYC           = 7;
    EDIS;
  //强制流水线清空以确保写入
  //返回前发生最后配置的寄存器。

    InitXintf16Gpio();
// InitXintf32Gpio();

    asm (" RPT #7 || NOP");

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好像使用存储器接口与外部器件连接。 您是否关注特定的问题?

    我们通常只查看与 C28x 问题调试相关的代码。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的。 你是对的。 使用连接到 TMS320F28335的 CPLD 的"i"。 我不确定有关 XINTF 的源代码示例是否足以进行检测

    电压和电流参数。 我是否还需要添加其他部分?

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

    XINTF 将允许使用异步存储器接口与 CPLD 进行通信。 我不熟悉感应电流和电压所需的传感器、也不熟悉它们如何与 CPLD 连接。