📄 lh7a400_dcdc_driver.h
字号:
/**********************************************************************
* $Workfile: LH7A400_dcdc_driver.h $
* $Revision: 1.1 $
* $Author: FergisJ $
* $Date: Aug 02 2002 09:13:24 $
*
* Project: LH7A400 EVB
*
* Description:
* Pulse Width Modulation (PWM) driver Header File for the LH7A400.
* (Direct Current to Direct Current Converter Interface)
*
* The following functions are provided:
* pwm0_init(), pwm1_init(),
* pwm0_disable(), pwm1_disable(),
* pwm0_set_dutycycle(), pwm1_set_dutycycle(),
* pwm0_set_clock_prescaler(), pwm1_set_clock_prescaler(),
* pwm0_increase_dutycycle(), pwm1_increase_dutycycle()
* pwm0_decrease_dutycycle(), pwm1_decrease_dutycycle()
* pwm0_increase_clock_prescaler(), pwm1_increase_clock_prescaler()
* pwm0_decrease_clock_prescaler(), pwm1_decrease_clock_prescaler()
* pwm0_get_duty_cycle_value(), pwm1_get_duty_cycle_value()
* pwm0_get_clock_prescaler_value(), pwm1_get_clock_prescaler_value()
*
* Call pwm(x)_init() to initially set both dutycycle and prescaler
* for all of the POWER_TYPE register fields.
*
* References:
* (1) LH7A400 User's Guide
*
* Revision History:
* $Log: //smaicnt2/pvcs/VM/CHIPS/archives/LH7A400/DCDC/Drivers/LH7A400_dcdc_driver.h-arc $
*
* Rev 1.1 Aug 02 2002 09:13:24 FergisJ
* Updated per C-Standard ... Modified some constant names for better understanding.
*
* Rev 1.0 Jul 30 2002 08:41:16 FergisJ
* Initial revision.
*
*
*********************************************************************
* SHARP MICROELECTRONICS OF THE AMERICAS MAKES NO REPRESENTATION
* OR WARRANTIES WITH RESPECT TO THE PERFORMANCE OF THIS SOFTWARE,
* AND SPECIFICALLY DISCLAIMS ANY RESPONSIBILITY FOR ANY DAMAGES,
* SPECIAL OR CONSEQUENTIAL, CONNECTED WITH THE USE OF THIS SOFTWARE.
*
* SHARP MICROELECTRONICS OF THE AMERICAS PROVIDES THIS SOFTWARE SOLELY
* FOR THE PURPOSE OF SOFTWARE DEVELOPMENT INCORPORATING THE USE OF A
* SHARP MICROCONTROLLER OR SYSTEM-ON-CHIP PRODUCT. USE OF THIS SOURCE
* FILE IMPLIES ACCEPTANCE OF THESE CONDITIONS.
*
* COPYRIGHT (C) 2002 SHARP MICROELECTRONICS OF THE AMERICAS, INC.
* CAMAS, WA
*********************************************************************/
#ifndef LH7A400_PWM_DRIVER_H
#define LH7A400_PWM_DRIVER_H
/***********************************************************************
* Public user header files (#include)
**********************************************************************/
#include "LH7A400_dcdc.h"
#include "LH7A400_map.h"
/***********************************************************************
* Constant definitions (#define)
**********************************************************************/
// Fixed Output Duty-Cycles
#define PWM_OFF 0
#define MIN_DUTYCYCLE 1
#define ONE_EIGTH 2
#define ONE_FOURTH 4
#define THREE_EIGTHS 6
#define NOM_DUTYCYCLE 7
#define ONE_HALF 8
#define FIVE_EIGTHS 10
#define SIX_EIGTHS 12
#define SEVEN_EIGTHS 14
#define MAX_DUTYCYCLE 15
// Fixed Output Frequency choices
#define NINE_TWENTY_ONE_KHZ 0
#define FOUR_SIXTY_KHZ 1
#define TWO_THIRTY_KHZ 2
#define ONE_FIFTEEN_KHZ 3
#define FIFTY_SEVEN_POINT_SIX_KHZ 4
#define TWENTY_EIGHT_POINT_EIGHT_KHZ 5
#define FOURTEEN_POINT_FOUR_KHZ 6
#define SEVEN_POINT_TWO_KHZ 7
// LH7A400 power connection types .. access to specific fields
#define ALL_POWER_TYPES 0 // access to all register fields
#define EXTERN_POWER 1 // LOW register field access
#define BATTERY_POWER 2 // HIGH register field access
#define NUMBER_OF_POWER_TYPES 2 // for bounds checking
// MIN & MAX Field Values
#define MIN_DUTYCYCLE_VALUE 0
#define MIN_PRESCALE_VALUE 0
#define MAX_DUTYCYCLE_VALUE 15
#define MAX_PRESCALE_VALUE 7
/***********************************************************************
* Function prototypes of functions requiring global scope
* not included elsewhere.
**********************************************************************/
/*
* EXPORTED FUNTIONS
*/
INT_8 LH7A400_pwm0_init
(
UNS_8 dutycycle_ext, // duty-cycle for external-power field
UNS_8 prescale_ext, // clock-prescaler for external-power field
UNS_8 dutycycle_bat, // duty-cycle for battery-power field
UNS_8 prescale_bat // clock-prescaler for battery-power field
);
INT_8 LH7A400_pwm1_init
(
UNS_8 dutycycle_ext, // duty-cycle for external-power field
UNS_8 prescale_ext, // clock-prescaler for external-power field
UNS_8 dutycycle_bat, // duty-cycle for battery-power field
UNS_8 prescale_bat // clock-prescaler for battery-power field
);
INT_8 LH7A400_pwm0_set_dutycycle
(
UNS_8 dutycycle, // 0 or 1-15: OFF or n/16 duty-cycle
UNS_8 power // EXTERN_POWER/BATTERY_POWER/ALL_POWER_TYPES
);
INT_8 LH7A400_pwm1_set_dutycycle
(
UNS_8 dutycycle, // 0 or 1-15: OFF or n/16 duty-cycle
UNS_8 power // EXTERN_POWER/BATTERY_POWER/ALL_POWER_TYPES
);
INT_8 LH7A400_pwm0_set_clock_prescaler
(
UNS_8 prescale, // 0-7: clock / (16 * (2^n)) {clock-prescaler}
UNS_8 power // EXTERN_POWER/BATTERY_POWER/ALL_POWER_TYPES
);
INT_8 LH7A400_pwm1_set_clock_prescaler
(
UNS_8 prescale, // 0-7: clock / (16 * (2^n)) {clock-prescaler}
UNS_8 power // EXTERN_POWER/BATTERY_POWER/ALL_POWER_TYPES
);
INT_8 LH7A400_pwm0_get_duty_cycle_value
(
UNS_8 power // EXTERN_POWER/BATTERY_POWER
);
INT_8 LH7A400_pwm1_get_duty_cycle_value
(
UNS_8 power // EXTERN_POWER/BATTERY_POWER
);
INT_8 LH7A400_pwm0_get_clock_prescaler_value
(
UNS_8 power // EXTERN_POWER/BATTERY_POWER
);
INT_8 LH7A400_pwm1_get_clock_prescaler_value
(
UNS_8 power // EXTERN_POWER/BATTERY_POWER
);
INT_8 LH7A400_pwm0_increase_duty_cycle
(
UNS_8 power // EXTERN_POWER/BATTERY_POWER/ALL_POWER_TYPES
);
INT_8 LH7A400_pwm0_decrease_duty_cycle
(
UNS_8 power // EXTERN_POWER/BATTERY_POWER/ALL_POWER_TYPES
);
INT_8 LH7A400_pwm1_increase_duty_cycle
(
UNS_8 power // EXTERN_POWER/BATTERY_POWER/ALL_POWER_TYPES
);
INT_8 LH7A400_pwm1_decrease_duty_cycle
(
UNS_8 power // EXTERN_POWER/BATTERY_POWER/ALL_POWER_TYPES
);
INT_8 LH7A400_pwm0_increase_clock_prescaler
(
UNS_8 power // EXTERN_POWER/BATTERY_POWER/ALL_POWER_TYPES
);
INT_8 LH7A400_pwm0_decrease_clock_prescaler
(
UNS_8 power // EXTERN_POWER/BATTERY_POWER/ALL_POWER_TYPES
);
INT_8 LH7A400_pwm1_increase_clock_prescaler
(
UNS_8 power // EXTERN_POWER/BATTERY_POWER/ALL_POWER_TYPES
);
INT_8 LH7A400_pwm1_decrease_clock_prescaler
(
UNS_8 power // EXTERN_POWER/BATTERY_POWER/ALL_POWER_TYPES
);
void LH7A400_pwm0_disable(void);
void LH7A400_pwm1_disable(void);
#endif // LH7A400_PWM_DRIVER_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -