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);
*/
近期下载者:
相关文件:
收藏者: