⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pmic_adc.h

📁 i.mx27 soc for wince 6.0
💻 H
字号:
//-----------------------------------------------------------------------------
//
//  Copyright (C) 2005, Motorola Inc. All Rights Reserved
//
//------------------------------------------------------------------------------
//
//  Copyright (C) 2004-2006, Freescale Semiconductor, Inc. All Rights Reserved.
//  THIS SOURCE CODE, AND ITS USE AND DISTRIBUTION, IS SUBJECT TO THE TERMS
//  AND CONDITIONS OF THE APPLICABLE LICENSE AGREEMENT
//
//------------------------------------------------------------------------------
//
//  File:  pmic_adc.h
//
//  This file contains the PMIC ADC (A/D Converter, including Touch Screen) SDK 
//  interface that is used by applications and other drivers to access registers 
//  of the PMIC.
//
//-----------------------------------------------------------------------------

#ifndef __PMIC_ADC_H__
#define __PMIC_ADC_H__

#include "socarm_macros.h"
#include "pmic_basic_types.h"

#ifdef __cplusplus
extern "C" {
#endif

#define ADC_CHARGER_MAX_VOLTAGE    20000    // 20V
#define ADC_CHARGER_MIN_VOLTAGE    0    // 0V

#define ADC_CHARGER_SNS_RESISTOR    100    // 100mOhm

// charger current (voltage difference) is ranging from -500mV to 500mV
// the actual current is Vdiff/Rcs, Rcs = 100mOhm
// charger current would range from -5Amp to 5Amp
#define ADC_CHARGER_MAX_CURRENT    500*1000/ADC_CHARGER_SNS_RESISTOR // 5 Amp, -5Amp depends on charge/discharge
#define ADC_CHARGER_MIN_CURRENT    0    // 0 mAmp

#define ADC_BATT_MAX_VOLTAGE    4650    // 4.65V
#define ADC_BATT_MIN_VOLTAGE    2500    // 2.5V

#define ADC_BATT_SNS_RESISTOR    15    // 15 mOhm

// battery current (battery difference) is ranging from -50mV to 50mV
// the actual current is Vdiff/Rsns, Rsns = 15mOhm
// charger current would range from -3.3Amp to 3.3Amp
#define ADC_BATT_MAX_CURRENT    50*1000/ADC_BATT_SNS_RESISTOR // 3.3 Amp, -3.3Amp depends on charge/discharge
#define ADC_BATT_MIN_CURRENT    0    // 0 mAmp

#define ADC_SAMPLE_MAX_VALUE    1023    // 0X3FF

#define MC13783_ADC_MAX_COMPARATOR_LEVEL    0x3FF


//-----------------------------------------------------------------------------
// External Functions

//-----------------------------------------------------------------------------
// External Variables

//-----------------------------------------------------------------------------
// Types

typedef enum _MC13783_TOUCH_MODE {
    TM_INACTIVE = 0,
    TM_INTERRUPT,
    TM_RESISTIVE,
    TM_POSITION
} MC13783_TOUCH_MODE;
typedef MC13783_TOUCH_MODE PMIC_TOUCH_MODE;

typedef enum _PMIC_ADC_CONVERTOR_MODE
{
	ADC_8CHAN_1X = 0, // RAND = 0, 8 channels, 1 sample
	ADC_1CHAN_8X      // RAND = 1, 1 channel, reads 8 sequential values
} PMIC_ADC_CONVERTOR_MODE;


// Function Prototypes
PMIC_STATUS PmicADCInit(void);
void PmicADCDeinit(void);
PMIC_STATUS PmicADCSetComparatorThresholds(UINT16 whigh, UINT16 wlow);
PMIC_STATUS PmicADCGetSingleChannelOneSample(UINT16 channel, UINT16 * pResult);
PMIC_STATUS PmicADCGetSingleChannelEightSamples(UINT16 channel, UINT16 * pResult);
PMIC_STATUS PmicADCGetMultipleChannelsSamples(UINT16 channels, UINT16 * pResult);
PMIC_STATUS PmicADCGetHandsetCurrent(PMIC_ADC_CONVERTOR_MODE mode, UINT16 *pResult);
PMIC_STATUS PmicADCTouchRead(UINT16* x, UINT16* y);
PMIC_STATUS PmicADCTouchStandby(bool intEna);

#ifdef __cplusplus
}
#endif

#endif // __PMIC_ADC_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -