Buck-Boost四开关同步整流-

所属分类:单片机开发
开发工具:C/C++
文件大小:8425KB
下载次数:25
上传日期:2019-05-07 16:16:14
上 传 者xiefushi
说明:  二开关的同步整流程序,使用的是STM32f103
(Two-switch synchronous whole process, using STM32f103)

文件列表:
Buck-Boost四开关同步整流-\desktop.ini (46, 2015-07-24)
Buck-Boost四开关同步整流-\Doc (0, 2018-05-08)
Buck-Boost四开关同步整流-\Doc\Others.c (7240, 2016-07-10)
Buck-Boost四开关同步整流-\keilkill.bat (399, 2011-05-09)
Buck-Boost四开关同步整流-\Libraries (0, 2018-05-08)
Buck-Boost四开关同步整流-\Libraries\CMSIS (0, 2018-05-08)
Buck-Boost四开关同步整流-\Libraries\CMSIS\core_cm3.c (17273, 2010-06-07)
Buck-Boost四开关同步整流-\Libraries\CMSIS\core_cm3.h (85714, 2013-11-21)
Buck-Boost四开关同步整流-\Libraries\CMSIS\startup (0, 2018-05-08)
Buck-Boost四开关同步整流-\Libraries\CMSIS\startup\startup_stm32f10x_cl.s (15766, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\CMSIS\startup\startup_stm32f10x_hd.s (15503, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\CMSIS\startup\startup_stm32f10x_hd_vl.s (15692, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\CMSIS\startup\startup_stm32f10x_ld.s (12376, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\CMSIS\startup\startup_stm32f10x_ld_vl.s (13656, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\CMSIS\startup\startup_stm32f10x_md.s (12765, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\CMSIS\startup\startup_stm32f10x_md_vl.s (14073, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\CMSIS\startup\startup_stm32f10x_xl.s (15955, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\CMSIS\stm32f10x.h (633941, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\CMSIS\system_stm32f10x.c (36557, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\CMSIS\system_stm32f10x.h (2085, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\FWlib (0, 2018-05-08)
Buck-Boost四开关同步整流-\Libraries\FWlib\inc (0, 2018-05-08)
Buck-Boost四开关同步整流-\Libraries\FWlib\inc\misc.h (8982, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\FWlib\inc\stm32f10x_adc.h (21690, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\FWlib\inc\stm32f10x_bkp.h (7555, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\FWlib\inc\stm32f10x_can.h (27559, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\FWlib\inc\stm32f10x_cec.h (6573, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\FWlib\inc\stm32f10x_crc.h (2162, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\FWlib\inc\stm32f10x_dac.h (15233, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\FWlib\inc\stm32f10x_dbgmcu.h (3818, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\FWlib\inc\stm32f10x_dma.h (20754, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\FWlib\inc\stm32f10x_exti.h (6824, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\FWlib\inc\stm32f10x_flash.h (25445, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\FWlib\inc\stm32f10x_fsmc.h (27016, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\FWlib\inc\stm32f10x_gpio.h (20175, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\FWlib\inc\stm32f10x_i2c.h (30029, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\FWlib\inc\stm32f10x_iwdg.h (3828, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\FWlib\inc\stm32f10x_pwr.h (4383, 2011-03-10)
Buck-Boost四开关同步整流-\Libraries\FWlib\inc\stm32f10x_rcc.h (30452, 2011-03-10)
... ...

/* 注意事项 */ /* 一、命名的注意事项: 1 尽量不用系统用过的变量和关键字:Error,N; 2 不用1 2 3.。。。。来标序号; 命名规则: The name of the function:Median_Filtering ... Global variables:nowInputVoltage ... Local variables:sine_angle ... Macro definition:#define KEY_PORT GPIOE ... */ /*死区时间的设置 */ /* void TIMER_Config(void) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; TIM_BDTRInitTypeDef TIM_BDTRInitStructure; TIM_TimeBaseStructure.TIM_Prescaler = 0; TIM_TimeBaseStructure.TIM_CounterMode =TIM_CounterMode_CenterAligned1; TIM_TimeBaseStructure.TIM_Period = 720 - 1; TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); TIM_TimeBaseInit(TIM8, &TIM_TimeBaseStructure); TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; //Set as the BiPolarity Output TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High; TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable; TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set; TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Reset; TIM_OCInitStructure.TIM_Pulse = 200; TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Enable); TIM_OC1PreloadConfig(TIM8, TIM_OCPreload_Enable); TIM_OC1Init(TIM1, &TIM_OCInitStructure);//Set the Channel 1 of TIMER1 TIM_OC1Init(TIM8, &TIM_OCInitStructure);//Set the Channel 1 of TIMER8 //TIM_SelectOutputTrigger(TIM8, TIM_TRGOSource_OC2Ref); //Set the Dead time */ /* 32.To set the deadtime(TD),is to determ the regesiter DTG[7:0] 33.DTG[7:0]:(Dead-time generator setup) 34.DTG[7:5]=0xx => DT=DTG[7:0]*Tdtg, Tdtg = Tdts; 35.DTG[7:5]=10x => DT=(***+DTG[5:0])*Tdtg, Tdtg = 2*Tdts; 36.DTG[7:5]=110 => DT=(32+DTG[4:0])*Tdtg, Tdtg = 8*Tdts; 37.DTG[7:5]=111 => DT=(32+DTG[4:0])*Tdtg, Tdtg = 16*Tdts; 38. 39.Tdts is determined by CKD[1:0], which is from Timer control regesity TIMx_CR1[9:0] 40.representing the meaning of the Timer clock Devider 41. 42.CKD[1:0] = 00 Tdts = TCK_INT 43.CKD[1:0] = 01 Tdts = 2 * TCK_INT 44.CKD[1:0] = 10 Tdts = 4 * TCK_INT 45.CKD[1:0] = 11 Reserved 46.Where TCK_INT is the Timer Clock. 47. 48.Here, the Tdts = TCK_INT = 1/72 uS. 49.So, the DT maybe as long as follows: 50.0nS ~ 1763nS The step is 1/72 uS 51.1777nS ~ 3527nS The step is 2*1/72 uS 52.3555nS ~ 7000nS The step is 8*1/72 uS 53.7111nS ~ 14000nS The step is 16*1/72 uS 54. 55.Here, We make the DT equals to 600 nS, which is in the limitation of No.1. 56.So, DTG[7:0] = 0.6/(1/72) = 43 = 0x2B. 57. TIM_BDTRInitStructure.TIM_Break = TIM_Break_Disable; // Disable the Break function TIM_BDTRInitStructure.TIM_BreakPolarity = TIM_BreakPolarity_Low; TIM_BDTRInitStructure.TIM_OSSRState = TIM_OSSRState_Enable; //Enable Running State TIM_BDTRInitStructure.TIM_OSSIState = TIM_OSSIState_Enable; //Enable Idle State TIM_BDTRInitStructure.TIM_LOCKLevel = TIM_LOCKLevel_OFF; //Set the lock level TIM_BDTRInitStructure.TIM_DeadTime = 49; TIM_BDTRInitStructure.TIM_AutomaticOutput = TIM_AutomaticOutput_Enable; //Enable the Auto Outputting. TIM_BDTRConfig(TIM1, &TIM_BDTRInitStructure); TIM_BDTRConfig(TIM8, &TIM_BDTRInitStructure); TIM_Cmd(TIM1, ENABLE); TIM_Cmd(TIM8, ENABLE); TIM_CtrlPWMOutputs(TIM1, ENABLE); TIM_CtrlPWMOutputs(TIM8, ENABLE); */

近期下载者

相关文件


收藏者