charge驱动调试地地总结_第1页
charge驱动调试地地总结_第2页
charge驱动调试地地总结_第3页
charge驱动调试地地总结_第4页
charge驱动调试地地总结_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实用标准文案 charge驱动调试总结 2010-09-30 一、原理 . 1 二、实现 . 3 三、charge驱动调试时遇到的问题 . 6 四、总结 . 7 一、 原理 1,电路原理图 QSC6010的Charge电路原理框图如图(1)所示。重点分析以下几个重要的芯片外部电子元件: (1) 与VCHG连接的旁路电容(1.0uF)和并联电阻(10K) 精彩文档实用标准文案 该电容和电阻在充电电压和地之间组成一个RC并联电路。当VCHG接上charge电压时,电容有很好滤波、增强电路稳定性和电磁兼容性的作用,连接在VCHG和地之间的电阻使得检测是否有charge电压的速度更快。 (2) 流通三

2、极管 (PNP型) 发射极(E):接充电器 基极(B):接CHG_CTL_N 集电极(C):接ISNS_P 该三极管基极(CHG_CTL_N)的电压可控制集电极(ISNS_P)的电压,可以调节charge供电方式;也起到限流的作用。 (3)电流感应电阻 该电阻一般为 0.1 ,精度1%,阻值的选择与限流大小和电阻功耗有关。检测流过电阻的感应电流大小由AA15、AA16电压差决定。当场效应管导通时,检测的电流为给芯片的供电电流和给电池的charge电流之和;当场效应管截止时,检测的电流为供给芯片的电流。 (4)P沟道增强型场效应管 源极(S):接Vdd 栅极(G):接BAT_FET_N 漏极(D

3、):接电池 场效应管的控制端G极接在BAT_FET_N上,当G极电压为高电平时,场效应管截止,不能通过外部charge电路(充电器或USB)给电池充电;当G极电压为 精彩文档实用标准文案 低电平时,场效应管导通,外部电路给电池充电。 图(1),charge电路示意图 精彩文档实用标准文案 2,充电模式 (1)Trickle Charge (滴流充电) ? 电压范围:2.8V 3.2V ? Trickle charge 时,场效应管截止,充电电流从VBAT pin流入电池; ? Trickle charge时,充电电流0 80mA; ? Pm_chg_trickle_config() 设置电流值

4、 (2) Fast Charge (恒流充电) ? 电压范围:3.1V 4.1V ? 三极管和场效应管都导通,charge提供设备供电和电池充电; ? 设置最大电流值(1.8A):pm_chg_wall_charger_transistor_imaxsel(IMAXSEL) (3)Constant voltage charge (恒压充电) ? 电压范围:4.0V 4.3V; ? 三极管和场效应管都导通,charge提供设备供电和电池充电; ? 与Fast charge相似,不同之处采样电压值进行反馈; ? USB charge 专用 (4)Pulse Charge (脉冲充电) ? 电压范围

5、:4.0V 4.3V ? 三极管导通向Vdd供电,场效应管周期性导通形成脉冲电流; ? T_ON: 125ms ? T_OFF: 500ms 精彩文档实用标准文案 ? Wall charge专用 二、实现 3,充电流程 (仅介绍USB charger流程) (1)Charge初始化 在文件mobile.c中 int main() 函数调用 rex_init ( (void *)irq_stack, /* Interrupt stack */ IRQ_Stack_Size, /* Interrupt stack size */ &tmc_tcb, /* Task TCB of the TMC t

6、ask */ (void *)tmc_stack, /* Stack for TMC task */ TMC_STACK_SIZ, /* TMC stack size */ TMC_PRI, /* TMC priority */ tmc_task, /* Entry point for TMC task */ 0L ); /* Parameter to pass the TMC task */ 启动文件tmc.c中tmc_task(), tmc_init()初始化,并调用tmc_libraries_init_after_service_tasks_start(),chg_init()和init

7、_delayed()。 (2)启动状态机 初始化充电状态机进入idle(CHG_IDLE_ST)状态;Enable充电中断。用USB连接 精彩文档实用标准文案 线将手机和计算机连接后,文件chgpm.c中的函数static void chg_usb_i_is_available()调用chg_charger_isr(CHG_CHARGER_IRQ_USB_VALID);将USB连接通知状态机。函数 chg_is_charger_valid(void)和chg_is_batt_id_valid(void)都返回TRUE表示USB charge和电池ID(温度)有效,开始充电。 (1) 状态之间的

8、转换 在文件chargeri.h中声明了enum类型 chg_state_type,其中每个变量分别表示charge的每个状态。当手机未被充电时,charge状态机状态为0(CHG_IDLE_ST)。当接上USB进行充电时,由状态0转化为状态17(CHG_USB_IDLE_ST),该状态为USB charge的入口点。然后,根据函数chg_get_parameter_level()的返回值,判断进入某种充电模式。对于一块耗尽电能的电池,充电模式转化的一般顺序为: 状态CHG_USB_TRICKLE_ST(状态18,Trickle Charge)?状态CHG_USB_FAST_ST(状态20,F

9、ast Charge)?状态CHG_USB_TOPOFF_ST(状态21,电池电量在满电90%以上)?CHG_USB_DONE_ST(状态22,电池充满电)。 三、charge驱动调试时遇到的问题 在接上电池开始充电时,手机屏幕总是显示“电池温度过高,禁止充电”,原因是电池型号与软件设置中的并不符合,电池中间引脚的采样电压值超出了范围。修改文件charge.c中函数BATT_TEMP_type chg_is_battery_too_hot_or_too_cold(),让其返回值为BATT_TEMP_NORMAL,并修改boolean chg_is_batt_id_valid()中batt_id的值,先屏蔽 精彩文档实用标准文案 这个问题。 四、总结 Charge驱动功能的实现流程是不同状态之间的切换,软件设计中数组chg_state_cfg包含了每个状态的处理函数。 Entry function(); 当调chg_fo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论