请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号: TMS320F280039C
您好:
我尝试使用 CMPSS 进行过流保护。 要初始化 CMPSS 的数字滤波器、我是否应该切换位“FILIINIT_" 1“ 1 -> 0?

我在 280039 TRM 中找不到此信息。 这是否是初始化 CMPSS 数字滤波器设置的正确方法? 如果是、请您向我解释一下原因。
谢谢你。
此致、
Rhee
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.
器件型号: TMS320F280039C
您好:
我尝试使用 CMPSS 进行过流保护。 要初始化 CMPSS 的数字滤波器、我是否应该切换位“FILIINIT_" 1“ 1 -> 0?

您好、Peter:
我可以理解、将 FILINIT 位设置为 1 后、FILINIT 位将自动复位为 0。
我想知道在写入 1 后、在其他寄存器初始化之前是否立即复位为 0。
下面是我现在使用的代码。 我是否使用了正确的结构?
EALLOW;
Cmpss1Regs.COMPCTL.bit.COMPDACE = 1; // Comparator/DAC enable
Cmpss1Regs.COMPCTL.bit.COMPHINV = 0; // 0: Output of High comparator is not inverted
Cmpss1Regs.COMPCTL.bit.COMPLINV = 1; // 1: Output of Low comparator is inverted
Cmpss1Regs.COMPDACCTL.bit.SWLOADSEL = 0; // 0: DACxVALA is updated from DACxVALS on SYSCLK
Cmpss1Regs.COMPCTL.bit.COMPHSOURCE = 0; // NEG(-) 입력: 내부 DAC 사용
Cmpss1Regs.COMPCTL.bit.COMPLSOURCE = 0; // NEG(-) 입력: 내부 DAC 사용
Cmpss1Regs.COMPDACCTL.bit.SELREF = 0; // 0: VDDA is the voltage reference for the DAC
Cmpss1Regs.DACHVALS.bit.DACVAL = 4020; // +121.6A High Side NEG(-) 입력 전압(약 3.22V, +121.6A)
Cmpss1Regs.DACLVALS.bit.DACVAL = 946; // -121.6A Low Side NEG(-) 입력 전압(약 0.43V, -121.6A)
/* 필터 사용 시 변경 */
Cmpss1Regs.CTRIPHFILCTL.bit.SAMPWIN = 16; // FIFO 레지스터에 16 + 1 개의 샘플을 받음
Cmpss1Regs.CTRIPHFILCTL.bit.THRESH = 11; // 16 + 1 개의 데이터 중에 0이나 1 이 11개 이상 되는 값을 출력
Cmpss1Regs.CTRIPHFILCLKCTL = 9; // High filter sample clock prescale.
Cmpss1Regs.CTRIPHFILCTL.bit.FILINIT = 1; // 0 No effect, 1 필터 시작
Cmpss1Regs.CTRIPHFILCTL.bit.FILINIT = 0; // SW: 반드시 토글해줘야함
Cmpss1Regs.CTRIPLFILCTL.bit.SAMPWIN = 16; // FIFO 레지스터에 16 + 1 개의 샘플을 받음
Cmpss1Regs.CTRIPLFILCTL.bit.THRESH = 11; // 16 + 1 개의 데이터 중에 0이나 1 이 11개 이상 되는 값을 출력
Cmpss1Regs.CTRIPLFILCLKCTL = 9; // LOW filter sample clock prescale.
Cmpss1Regs.CTRIPLFILCTL.bit.FILINIT = 1; // 0 No effect, 1 필터 시작
Cmpss1Regs.CTRIPLFILCTL.bit.FILINIT = 0; // SW: 반드시 토글해줘야함
Cmpss1Regs.COMPCTL.bit.CTRIPHSEL = 2; // 디지털 필터의 출력 (COMPSTS[COMPHSTS]) 의 값을 CTRIPH 로 연결(A6)
Cmpss1Regs.COMPCTL.bit.CTRIPLSEL = 2; // 디지털 필터의 출력 (COMPSTS[COMPLSTS]) 의 값을 CTRIPL 로 연결(A6)
Cmpss1Regs.COMPSTSCLR.bit.HLATCHCLR = 1; // Digital filter latch clear
Cmpss1Regs.COMPSTSCLR.bit.LLATCHCLR = 1;
AnalogSubsysRegs.CMPHPMXSEL.bit.CMP1HPMXSEL = 2;
AnalogSubsysRegs.CMPLPMXSEL.bit.CMP1LPMXSEL = 2;