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.

[参考译文] TMS320F28069:将汇编语言转换为 C 语言代码

Guru**** 2550550 points
Other Parts Discussed in Thread: C2000WARE-DIGITALPOWER-SDK, TIDM-02000

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1116017/tms320f28069-convert-assembly-to-c-code

器件型号:TMS320F28069
主题中讨论的其他器件:C2000WARE-DIGITALPOWER-SDKTIDM-02000

大家好

我能否知道如何将以下汇编代码转换为 SPRABU2文档中的 C 可读代码。 。
这种汇编实现方式很难理解。 根本不可读。
请帮帮我。  

;------------------------------------------------------------------------------
;Macro Name: mSlope_Com
;Description: The slope compensation of the PCMC
;Parameter:
; n: The comparator number
; _Ref: The reference current Q24
; _Com_Ratio: The slope compensation ratio
;------------------------------------------------------------------------------

mSlope_Com .macro n,_Ref,_Com_Ratio
;=========================
; Set up address pointers
SPRABU2
MOVL XAR0,#_Ref ; Net pointer for InA (XAR0)
MOVL XAR1,#_Comp:n:Regs.RAMPMAXREF_SHDW ; pointer to Comparator Ramp Max Ref (XAR1)
MOVL XAR2,#_Comp:n:Regs.DACVAL ; pointer to Comparator Ramp Dac Val (XAR2)
MOVL XAR3,#_Comp:n:Regs.RAMPDECVAL_SHDW; Output for DACn
MOVL XT,*XAR0
MOVW DP,#_Com_Ratio
QMPYL ACC,XT,@_Com_Ratio ;ACC = upper16(Q24*Q24) = Q16
MOVL *XAR3,ACC ;_Comp:n:Regs.RAMPDECVAL_SHDW = ACC
MOVL ACC,*XAR0 ; Q24
SFR ACC,#8 ; Q16 because Maximum RAMPMAXREF = 0xFFFF
MOV *XAR1,AL ; Output value to RAMPMAXREF
LSR AL, #6 ; Q10 to be written to DACVAL
MOV *XAR2,AL ; Output value to DACVAL
.endm


谢谢你

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

    您好!

    我认为斜率补偿算法在文档前面进行了解释。 我们没有任何工具可以从汇编文件生成 C 文件。 您可以参阅本文档中的 C28汇编指令:

    https://www.ti.com/lit/pdf/spru430

    同时、如果作者拥有或可以将一些流程图或伪代码组合在一起、我将尝试联系作者。

    谢谢、此致、

    桑托什

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

    你(们)好
    谢谢你。 是的、有一个解释、但它没有帮助。 看不出它们为什么在这个示例中放置一个汇编代码。 据我了解、这是一种斜坡。 无需进行硬计算即可降低 ISR 的速度。  

    请告诉作者为这个斜坡补偿提供一个伪代码。  

    谢谢你

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

    Damith、

    遗憾的是、作者不再为 TI 工作。 我正在努力寻找能够在这方面提供帮助的主题专家。 我将在星期一之前回来。

    谢谢、此致、

    桑托什

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

    Damith、

    我建议查看 C2000Ware-DigitalPower-SDK 中提供的 TIDM-02000解决方案

    https://dev.ti.com/tirex/explore/node?node=ACY1jAI0.9Kz5rbdOYTxDw__5C6SEVO__LATEST 

    这是一种峰值电流模式控制的 PSFB 直流/直流电源转换器参考设计、它具有基于4类 PWM 和内部斜率补偿的全新 PCMC 波形生成功能、并可轻松实现 PCMC。  

    这是一个基于 C 语言的应用程序、可用作良好的参考点。

    此致、

    Ozino