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.
尊敬的团队:
有关 CBC 函数、我有两个问题:
1、我们已经编辑 了一个 CBC 程序参考 F28035的示例程序、它在 LAUNCHXL-F280049C 上运行良好。 但它无法在 自己设计的电路板上工作。
如果我们禁用 CBC 功能、它可以在我自己的板上正常工作。 可能的原因是什么?
2、当我使用 LAUNCHXL-F280049C 运行程序时、为什么 即使 EPwm1Regs.TZCBCFLG.DCAEVT2 =1且 DCBEVT2=1、它也能有 PWM 输出?
但是、我自己设计的电路板仍然没有输出。
此外、您是否有 任何有关 F280049的 cmpss、X-bar、TZDC、CBC 的示例程序?
以下是我的计划:
// ILA-->A5->CMP2HP AnalogSubsysRegs.CMPHPMXSEL.bit.CMP2HPMXSEL = 3; // ILB-->A10->CMP7HP AnalogSubynRegs.CMPMSXSEL.bit.CMP7HPMXSEL = 3;// ILBIN_TRIP Cmpss2Regs.COMPCTL.bit.COMPHSOURCE = Cmpss3Regs.COMPCTL.bit.COMPHSOURCE Cmpss2Regs.COMPCTL.bit.CTRIPHSEL Cmpss3Regs.COMPCTL.bit.CTRIPHSEL;Cmpss7Regs.COMPCTL.bit.COMPHSOURCE = CMPSIGN3N = Cmpss7Regs.COMPCTL.bit.CTRIPHSEL;CMPMSGRN =;CMPMSGRN = CMPMRN =;CMPTXN = CMPMRN =;CMPMRN = CMPMRN =;CMPMRN = CMPMRN = CMPMRN =;CMPMRN = CMPMRN =;CMPMRN = CMPMRN = CMPMRN =;CMPMRN = CMPMRN = CMPMRN =;CMPMRN = CMPMRN = CMPMRN = CMPMRN = CMPMRN Cmpss2Regs.COMPDACCTL.bit.DACSOURCE = 0;// DACVALS Cmpss2Regs.COMPDACCTL.bit.SELREF = reference_VDDA; cmps2Regs.DACHVALS.bit.DACVAL = 3050;// Ia:0->1 trip Cmpss7Regs.COMPDACCTL.bit.DACSOURCE = 0;// DACVALS Cmpss7Regs.COMPDACCTL.bit.SELREF = reference_VDDA; cmps7Regs.DACHVALS.bit.HVACLs.Cmpss3Regs.COMPDACCTL.bit.DACSOURCE = 0 ;// DACV115-CMUPRS=0 = 0;trip_CMP=0 = 1 = Cmpss3Regs.COMPDACCTL.bit.SELREF ->TRIP4 EPwmXbarRegs.TRIP4MUX0TO15CFG.bit.MUX2 = 1; EPwmXbarRegs.TRIP4MUXENABLE.bit.MUX2 = 1; // I115->CMPSS3.CTRIPH--> TRIP7 EPwCMAXCL.BIT.DRESL.1MIPH=1; /TRIPDCMP4MTRMIPRTRMTRMTRMIPREG2.TRMTRMTRMTRMACL.TRMIPR2MTRMTRMTRMADCL=1 ; = 1 // DCAH =高电平,DCAL =无关//对于 BUCK ILA:0->1 OK EPwm1Regs.DCACTL.bit.EVT2SRCSEL = DC_EVT2;// DCAEVT2 = DCAEVT2 (未过滤) EPwm1Regs.DCACTL.EVT2SRCSEL = DC_EVT2SRCSEL = DCAEVT1BUCK = DCAEVT/ DCBEDRT = DCAEVT1RTE.DC_DCBEDRT =低电平;// DCAECCT1RTE.DC_DCT2.T1RTEL = DCMT = DCBEDRT = DC_DCTL = DCMON.T1RTE.DC_DRT = DCBEPT/ DCTL = DCMONEDCTL ->0 rok EPwm1Regs.DCBCTL.bit.EVT2SRCSEL = DC_EVT2; EPwm1Regs.DCBCTL.bit.EVT2FRCSYNCSEL = DC_EVT_SYNC; EPwm1Regs.TZSEL.bit.DCART2 = 1;/EPwCMP1RCMTR1.TCLR = EPT2.T1RCMP0 = EPT2.TCLR = EEPWCMP0;EPWCT2 = EPT2.TCLM1RCMT.T1RCMP= EPT2.T1RCMT.TCMP= EPT2.T1RCMP= EPT2.T1RIPDCMT.TCMP= EPT2.T1RCMP= EPT2.T1RCMP= EPT2.TCLR = EPT2.T0;EPWCT2 = EPT2.TCMP= EPT2.T1TRES.T1TRES.T1TREST.T1TREST.T1RCMP= EPT2.T1RCMP= EPT2.T0 ->TRIP7 EPwmXbarRegs.TRIP7MUX0TO15CFG.bit.MUX4 = 1; EPwmXbarRegs.TRIP7MUXENABLE.BIT.MUX4 = 1; // TRIP5--> DCAH EPwm2Regs.bit.DCCTRIPH=5/ DCMP=DCOTRIPREP.TRENCH=5 ;/ DCMP=DCMPT2.TRIPH=DCMP= DCMP= DCMPT2.TRIPH/ DCMP= DCMPT2.TRIPH/ DCMP= DCMP= DCMP= DCMP7 // DCAH =高电平,DCAL =不用考虑降压 ILB:0->1 ok EPwm2Regs.DCACTL.bit.EVT2SRCEL = DC_EVT2;// DCAEVT2 = DCAEVT2 (未过滤) EPwm2Regs.DCACTL.bit.EVT2SRCEL = DC_EVT2SRCH = DCAEVT2 = DCAEVT/ DCBYST2 (未过滤) = DCAEVTDCAMBDRT = DCAST_DCAEDRT = DCAEDRVESD1/ DCBEDRT = DCBON.T1/ DCBEDRT = DCBEDRT = DCBEDRT = DCBEDRVH = DCMON.T1/ DCBEDRT = DCBEDRT = DCMDRT = 0 ok EPwm2Regs.DCBCTL.bit.EVT2SRCSEL = DC_EVT2; EPwm2Regs.DCBCTL.bit.EVT2FRCSYNCSEL = DC_EVT_ASYNCH; EPwm2Regs.TCAL.bit.EPT2.TCB0_RCT2 = DCTRS.EPT2.TCLR = DCTRZEP2RST_EPT2.TCLR;EP_TRTCLR = EPT2.TCLT.TCMTCLR = 0;EPT2.TCLR = EPT2.TCLR = EPT2.TCLR = EPT2.TCLR = EPT2.TCM.TCLR = 0;EP_TCLR = EPT2.TCLR = EP_TCLR = EP_TCMT.TCLR = EP_TCLT.TCM.TCLR = 0;EP_TCLR = EP_TCLT.TCM.TCMT.TCMT.TCMT.TCMT.TCMT.
此致
查看 F28379D 的示例。 ePWM 模块非常相似。 有 CBC 示例。
http://dev.ti.com/tirex/explore/node?node=AJqO-DYwVOofrmrPQV4gyA__gYkahfz__LATEST