From df2c9499d03269baf9831f2d1e6fc48c0b54a5f2 Mon Sep 17 00:00:00 2001 From: seklyuts Date: Wed, 24 Jul 2024 10:07:23 +0300 Subject: [PATCH] =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=87=D0=B0=D1=8F=20?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F=20=D0=9F=D0=9E=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20REF0=20=D0=B8=20REF1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/Peripherals/pwm_init.c | 7 +++ .../epwm_test_biss_c_cpu1/src/init_perif.c | 1 + .../targetConfigs/TMS320F28388D.ccxml | 49 +++++------------- Projects/epwm_test_biss_c_cpu2/Start_rfm.pmp | Bin 47548 -> 47761 bytes Projects/epwm_test_biss_c_cpu2/epwm_test.c | 2 + .../src/Peripherals/pwm_init.c | 1 + .../src/Peripherals/pwm_interrupts.c | 16 +++--- .../epwm_test_biss_c_cpu2/src/init_perif.c | 6 +-- Projects/epwm_test_biss_c_cpu2/src/rele.c | 14 +++-- Projects/epwm_test_biss_c_cpu2/src/rele.h | 3 +- Projects/epwm_test_biss_c_cpu2/src/vector.c | 2 +- 11 files changed, 48 insertions(+), 53 deletions(-) diff --git a/Projects/epwm_test_biss_c_cpu1/src/Peripherals/pwm_init.c b/Projects/epwm_test_biss_c_cpu1/src/Peripherals/pwm_init.c index 80b27ba..7beae58 100644 --- a/Projects/epwm_test_biss_c_cpu1/src/Peripherals/pwm_init.c +++ b/Projects/epwm_test_biss_c_cpu1/src/Peripherals/pwm_init.c @@ -117,6 +117,13 @@ void PWMGpioInit(void)//��� � ������������ � GpioCtrlRegs.GPACSEL2.bit.GPIO8 = 2;//to cpu2 GpioCtrlRegs.GPACSEL2.bit.GPIO9 = 2; + GpioCtrlRegs.GPAPUD.bit.GPIO6 = 1; // Disable pull-up on GPIO6 (EPWM4A) + GpioCtrlRegs.GPAPUD.bit.GPIO7 = 1; // Disable pull-up on GPIO7 (EPWM4B) + GpioCtrlRegs.GPAMUX1.bit.GPIO6 = 1; // Configure GPIO6 as EPWM4A + GpioCtrlRegs.GPAMUX1.bit.GPIO7 = 1; // Configure GPIO7 as EPWM4B + GpioCtrlRegs.GPACSEL1.bit.GPIO6 = 2;//to cpu2 + GpioCtrlRegs.GPACSEL1.bit.GPIO7 = 2; + GpioCtrlRegs.GPAPUD.bit.GPIO12 = 1; // Disable pull-up on GPIO12 (EPWM7A) GpioCtrlRegs.GPAPUD.bit.GPIO13 = 1; // Disable pull-up on GPIO13 (EPWM7B) GpioCtrlRegs.GPAMUX1.bit.GPIO12 = 1; // Configure GPIO12 as EPWM7A diff --git a/Projects/epwm_test_biss_c_cpu1/src/init_perif.c b/Projects/epwm_test_biss_c_cpu1/src/init_perif.c index 0947e86..9ac0a05 100644 --- a/Projects/epwm_test_biss_c_cpu1/src/init_perif.c +++ b/Projects/epwm_test_biss_c_cpu1/src/init_perif.c @@ -104,6 +104,7 @@ void InitPerif(void) CONNECT_SD2(TO_CPU2); CONNECT_PWM1(TO_CPU2); CONNECT_PWM2(TO_CPU2); + CONNECT_PWM4(TO_CPU2); CONNECT_PWM5(TO_CPU2); CONNECT_PWM7(TO_CPU2); CONNECT_PWM8(TO_CPU2); diff --git a/Projects/epwm_test_biss_c_cpu1/targetConfigs/TMS320F28388D.ccxml b/Projects/epwm_test_biss_c_cpu1/targetConfigs/TMS320F28388D.ccxml index 8deefb4..09ed29e 100644 --- a/Projects/epwm_test_biss_c_cpu1/targetConfigs/TMS320F28388D.ccxml +++ b/Projects/epwm_test_biss_c_cpu1/targetConfigs/TMS320F28388D.ccxml @@ -1,55 +1,30 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + - - - - + - - - - - - - - - - - - diff --git a/Projects/epwm_test_biss_c_cpu2/Start_rfm.pmp b/Projects/epwm_test_biss_c_cpu2/Start_rfm.pmp index 4386c8e713035c4d62d91c9645947a4935b93e35..a1cf863b713caef98872ac187c9aad9a01ebb0cd 100644 GIT binary patch delta 4045 zcmbW4e^69a6vyv*yW)Z*KV)}7WkEJV0R<5$f2X)9Aj&F;sQglKGAL<9aZ25%3H~Yt zk4=UJqJXBN!c+X6rqzs2<3CwV%{1jyO!-GO)6^f$Fm>rF_@NO!*!Oa2;p6LWz>4S6FdSk_?#|$GbBk_dKzns#^Lvcb5Si# z!=*#)Z~=P?yD&QR3%Drhz*8}BNmAj^7`QAcD$EMkId$OOun901&ssY1t%y)f3%6PD zY~eAjHpXd!0@}dmBikX5j}BwFGZ-BX8_eUQUVPuO8wMkr&q?}~(c)!9QAq1rcWS&Pw5`1<$<@1&uUs_nZ-Mh_6wPhilU@f38Dm@5b@Y zHVn=A4QjDxY#O!}1>w-VM*Jpc2;R)K!K(pk8+dSS(L`Y%9$QTYjuE`!u?1IyG(nAw@YVJdXA!z8lK@n-j-i32nW9VUkiV zPH`sw7$1pE?r3bvFUQXo#VDt`vB%PZdkPbwlRLNu>-e6&hC2Sdg`veZSkLJu#-$Cy z2gP3p1gW9KK|wl*RZATKfpIN!C_9X*5z!g4JQj9R#G-!kH>$ulyNas&E?NxHHSaj)m{9Vvb7aHMK{C@ z9+bTxKVxDv{<1X{>-I$A_r1ZGzO5GSVf(g{*soMzjBVuq#9w2ih!I{rlVbWpy@#$h zCQmVJ+~l8mg4093C)dp2HhvbEnc4C38wvI(c3)*Ij4L*xXm%gN8=Mi`2MbzUwX$xl zhb6Gr*vFW--Nilklhgr#zy~M4O1bzI{lKSq(0);p6c< z4rV#DW-ZY^qGqBsL`amY6WSVL(cU=B+|PI~bGJ;_Y8vM$rUA8IyRvhy59aM@^1*j+ zH7gcwVy2>1E9K&%gfA7fDhW7ml z{ilEG;!*KV2zdKO{apfbU__*ptREA-u9KI=>&SPhADRTBokW>LWkg4a4ioJq zDk6G~$VkN~sd>d2RmnV>$VqgRXgAS(qNj<VFgEQ;*6ar-D3Gk>we%}bd|u<&9P*q>)JhaaG=->wC{iacbLq$?5v?Ga zMr34cCTZJQf$N*^@dnvlepm9?|?Bba(RHG0M5l-@5g8XjFKNb=aD%jSL?23$?O!AD zIFZrxFOc>T(G{W(h)xilCF&vSAi7F)#%TZib`Zx{{{9N8 zG1B{=-(w29N$zg>eGI7gwA}NT^v-lgR099_TtxDF|4~c|EYr4S7#3MSf1G=|9NOhZT;N)$ol>qnv;4U<};Kr5MzE@UPx#1}HG*b#&a HF1`FO8Y2K1 delta 4060 zcmbW3e^69a6vyv*yW)Z*U@R*tARq!FEh=WEqKKp`B0r@JF-5ohiKb{&>Mm$ljj4Fl zP)v|;D~kdjS=tXu#~Jev#|E>hnP#XNotl0*(~m#OnY!=2-S1mxoM~`pSU%@_?%s3X zx%Zs=n*LNi`dzWaiMA$7I@NIZil_O?Gg;kNmk>?Ut^Vpv{z}(R($BzwhP_nKK z5C4+J=yc$oSW3~Ud}u6<)hRl{P8pIq_;SP~e%I#Xm!rZ}H8RFV2l$Js*VU(DlPt6V zA^S!hCzrI^I5IhuTU+QW*CpMALjI+UR4WW2n%t*!ae1r{e2W zyKS)~$H&v$ps@*5B&}X5mMeRj`>UP2G$owd$2h1YNJ*yBAS;~jAM2p9U}b-*gUW*i zz9f}}w#_iqm<-xCB~{5&h#*WQvU)_?RmF)WK)R$I{}! zBd7;66D@R5CeT=Y)dZ)~*2zr|`nWYaLd~0a%|@?Cua7^SYNtb5qIui2??K(HVBif>k}!P7`3I<=SZ?tY4)y30BW6J7w$EhP*gx*5hZ-cF=yE zF6Z0$@7cp>d*C7Xa{egt_^nm`bYw`?#yt;5lNaM&nlqAE&Y>S}E}R>$9PZ=^$*mmj z`i)j{cczoKSA_7;f=2$vHH6R2i=kCPYAdbgqKe6yKiXRAUhB4Qu31(4gGC74dP-k$ zdSMD3(ew0I;V7CVwK=?R%j4>q1ucrwqJ>M7C1K;nl1{4fuS~NZ#kzkkO;xJi;o^#H zc9pd&9i7~5>)@vH6gsLuf7L<nQmjuV`N_~s*D2W2L5aVQ^H zWJh+ISyO5svj=5GQ_3stRIk@#q@LWi5-1uX%M0UZZD0(usd21*2FXvsiX`;Rv|Gc?TDY@Hrt<4&^lD2^AjNl`+;MQ5LvNCyr9T6?!sCZRAG>Kc@?dq+! zPb-yo8`dhP3WRL|9Ra;+EFe^0K!v-eme=pd%osp4+}gceb$8uPlEmv+(Py9@(5Ij- z(EFg%0rCj5nX3U&yaoCQ^d9JA&>7I1ptGPhP$%dV$ms8StA7XLC!k)?Nl*vqZP0O0 zH|PV95A-4E1n6DSALcb)dEPKKHD24)A?5CM8{8Y0)o$MC7K%70&ifBmkNWQ^Rhct@ zt-kF=OOX==4%Rs%o@``&YQpI=fsS=aM$$e;h+*;->i^!NhKmeLdKfeWWL_p#Xy(0v z=HwCM;5PeIICMPA.bit.CMPA = PERIOD_MOTOR - PWM_motor.UB; EPwmRegs[PWM_C]->CMPA.bit.CMPA = PERIOD_MOTOR - PWM_motor.UC; - EPwmRegs[3]->CMPA.bit.CMPA = PERIOD_FAN - PWM_Vent; - EPwmRegs[3]->CMPB.bit.CMPB = PERIOD_MOTOR - PWM_Chop; +// EPwmRegs[PWM_FAN]->CMPA.bit.CMPA = PERIOD_FAN - PWM_Vent; +// EPwmRegs[3]->CMPB.bit.CMPB = PERIOD_MOTOR - PWM_Chop; } @@ -143,12 +147,12 @@ __interrupt void epwm2_isr(void) PWM_motor.UB = PERIOD_2; PWM_motor.UC = PERIOD_2; vectorFault(); - EPwmRegs[3]->CMPA.bit.CMPA = PERIOD_MOTOR - PWM_Vent; - EPwmRegs[3]->CMPB.bit.CMPB = PERIOD_MOTOR - PWM_Chop; + EPwmRegs[PWM_FAN]->CMPA.bit.CMPA = PERIOD_MOTOR - PWM_Vent; +// EPwmRegs[3]->CMPB.bit.CMPB = PERIOD_MOTOR - PWM_Chop; Test_ADC_PWM_Synch1++; if(TestStopSync == 2) TestStopSync = 3; - if(rele_isReleOn()) GpioTurnOnRele(); - else GpioTurnOffRele(); +// if(rele_isReleOn()) ReleOut(1);//GpioTurnOnRele(); +// else ReleOut(0);//GpioTurnOffRele(); } else Test_ADC_PWM_Synch2++; // diff --git a/Projects/epwm_test_biss_c_cpu2/src/init_perif.c b/Projects/epwm_test_biss_c_cpu2/src/init_perif.c index 080dd3d..0e61639 100644 --- a/Projects/epwm_test_biss_c_cpu2/src/init_perif.c +++ b/Projects/epwm_test_biss_c_cpu2/src/init_perif.c @@ -78,14 +78,13 @@ void InitPerif(void) FRMUartInit(); - - #ifdef REF0 temperatureInit(); #else eqep_init(); #endif - rele_initRele(); + + // // Enable global Interrupts and higher priority real-time debug events: @@ -97,5 +96,6 @@ void InitPerif(void) faultInit(); + rele_initRele(); } diff --git a/Projects/epwm_test_biss_c_cpu2/src/rele.c b/Projects/epwm_test_biss_c_cpu2/src/rele.c index 39dfec1..e596e16 100644 --- a/Projects/epwm_test_biss_c_cpu2/src/rele.c +++ b/Projects/epwm_test_biss_c_cpu2/src/rele.c @@ -27,7 +27,7 @@ void ReleOut(uint16_t out_bit) } #endif - +#ifdef REF0 void GpioTurnOnRele(void) { GpioDataRegs.GPCDAT.bit.GPIO95 = 1; @@ -37,6 +37,8 @@ void GpioTurnOffRele(void) { GpioDataRegs.GPCDAT.bit.GPIO95 = 0; } +#endif + uint16_t rele_isReleOn(void) { @@ -55,13 +57,15 @@ void rele_initRele(void) ReleOut(0); } - -void rele_run(int16_t UdcFiltered) +void rele_run(void) { - if(Rele.State != Rele.StateChange) {Rele.StateChange = Rele.State; ReleOut(Rele.State);} +} - if(!Rele.State) + +void rele_control(int16_t UdcFiltered) +{ + if((!Rele.State) || (!Rele.StateChange)) { vectorFault(); Rele.ReleCounter = 0; diff --git a/Projects/epwm_test_biss_c_cpu2/src/rele.h b/Projects/epwm_test_biss_c_cpu2/src/rele.h index b0c4099..2fab85f 100644 --- a/Projects/epwm_test_biss_c_cpu2/src/rele.h +++ b/Projects/epwm_test_biss_c_cpu2/src/rele.h @@ -14,7 +14,8 @@ uint16_t rele_isReleOn(void); void rele_initRele(void); -void rele_run(int16_t UdcFiltered); +void rele_run(void); +void rele_control(int16_t UdcFiltered); void ReleOut(uint16_t out_bit); typedef struct diff --git a/Projects/epwm_test_biss_c_cpu2/src/vector.c b/Projects/epwm_test_biss_c_cpu2/src/vector.c index 6702587..1c3f00d 100644 --- a/Projects/epwm_test_biss_c_cpu2/src/vector.c +++ b/Projects/epwm_test_biss_c_cpu2/src/vector.c @@ -116,7 +116,7 @@ void vectorControl(int16_t CurrentA, int16_t CurrentB, int16_t CurrentC, int16_t Step = Step + Nstep; CurrLoop.piId.Ref = 0; - rele_run(UdcFiltered); + rele_control(UdcFiltered); if(Mode) {XintRegs.XINT2CR.bit.ENABLE = 0; temperature_deInit();}