HengFeng

--博观而约取,厚积而薄发
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

随笔分类 -  Driver

1

摘要:ZZ:http://www.dz3w.com/articlescn/usb/10699.htmlUSB接口充电知识及常用电源管理芯片介绍 毋庸置疑,USB电源的最大用途是能够为便携产品的电池充电。但是,无论是USB电源还是其它电源,电池充电都不仅仅是从电源取电这样简单。对于Li+电池尤其如此,充电不正确不仅会缩短电池寿命,而且存在安全隐患。设计合理的充电器可以优化安全性并增强用户体验,同时它还降低了退货、维修担保等风险,进而降低成本。 通过USB为电池充电需要权衡电池“维护和保养”,考虑USB功率限制以及便携式消费产品设计中存在的体积和成本问题。本文讨论了如何在这些因素中达到最佳平衡。 并.. 阅读全文

posted @ 2012-05-08 13:50 hengfeng 阅读(2082) 评论(0) 推荐(0)

摘要:下面是一款LCD支持的接口类型:MPU mode1.MIPI-DBI Type B (80 System) interface (16- / 18- / 24-bit bus) ----- DBI_B (Z80 ?)2. MIPI-DBI Type A (68 System) interface (16- / 18- bit bus) --------- DBI_A (M68 ?)3. MIPI-DBI Type C (Serial data transfer interface) interface ------ DBI_CMIPI-DSI (Display Serial Interface 阅读全文

posted @ 2012-01-04 17:42 hengfeng 阅读(500) 评论(0) 推荐(0)

摘要:ZZ:http://bbs.gfan.com/thread-3342750-1-1.htmlLCD的CPU接口和RGB接口(CPU接口也有写成MPU接口的) 目前一般彩色LCD的连接方式有这么几种:MCU模式,RGB模式,SPI模式,VSYNC模式,MDDI模式等。MCU模式:目前最常用的连接模式,一般是80系统(68系统已经不存在了)。数据位传输有8位,9位, 16位和18位。连线分为:CS/,RS(寄存器选择),RD/,WR/,再就是数据线了。优点是:控 制简单方便,无需时钟和同步信号。缺点是:要耗费GRAM,所以难以做到大屏(QVGA以上). RGB模式:大屏采用较多的模式,数... 阅读全文

posted @ 2012-01-04 17:34 hengfeng 阅读(651) 评论(0) 推荐(0)

摘要:ZZ: http://blog.csdn.net/tanxs001/article/details/6120293(1)DBI接口 也就是通常所讲的MCU借口,俗称80 system接口。The lcd interface between host processor and LCM device list as below,The LCM driver will repeated update panel display。MCU借口通过并行接口传输控制命令和数据,并通过往LCM模组自带的GRAM(graphic RAM)更新数据实现屏幕的刷新。 以典型的18位数据跟16位数据做说明(8位寄存 阅读全文

posted @ 2012-01-04 17:18 hengfeng 阅读(930) 评论(0) 推荐(0)

摘要:Some NOR flash have the protection&unprotection mechanism. On power up, all blocks in the device are protected. If we want to access the protected block, the Abortcouldbe happen. To unprotect the a block, we must write the block protection/unprotection command sequence as the following:wptr[0] = 阅读全文

posted @ 2010-12-29 10:16 hengfeng 阅读(4837) 评论(0) 推荐(0)

摘要:基带基带就是蓝牙的物理层,它负责管理物理信道和链路中除了错误纠正、数据处理、调频选择和蓝牙安全之外的所有业务。基带在蓝牙协议栈中位于蓝牙无线电之上,基本上起链路控制和链路管理的作用,比如承载链路连接和功率控制这类链路级路由等。基带还管理异步和同步链路、处理数据包、寻呼、查询接入和查询蓝牙设备等。基带收发器采用时分复用TDD方案(交替发送和接收),因此除了不同的跳频之外(频分),时间都被划分为时隙。在正常的连接模式下,主单元会总是以偶数时隙启动,而从单元则总是从奇数时隙启动(尽管他们可以不考虑时隙的序数而持续传输)。ACL和SCO链路基带可以处理两种类型的链路:SCO(同步连接)和ACL(异步无 阅读全文

posted @ 2010-12-06 16:20 hengfeng 阅读(921) 评论(0) 推荐(0)

摘要:DC --- Driver ConfigrationEC --- Event ControlAG --- Audio GatewaySD --- Service Discovery ProtocolNA --- Network AccessRM --- Radio MangerL2CAP --- Logical Link Control and AdaptionA2DP --- Advanced Audio Distribution Profile 阅读全文

posted @ 2010-11-02 16:50 hengfeng 阅读(206) 评论(0) 推荐(0)

摘要:To configure the FM audio path form Lin_in on QSC11X0 platform , the function "snd_set_aux_line_in" must be called. Also, theAPI “snd_set_device” must becalled to setappropriate sound device first,it only supports the Bluetooth headset, Wired Stereo Headset or Speakerphone when selecting t 阅读全文

posted @ 2010-10-22 17:09 hengfeng 阅读(336) 评论(0) 推荐(0)

摘要:调试一个新的WCDMA平台有一个多月了,目前算是可以正常运行了。一路走来,磕磕碰碰,遇到了各种各样的问题,吃一堑长一智,从中也学到了很多东西。问题一,编译成功,但是通过TRACE32不能下载代码表现: 在TRACE32上执行tools目录下的mjnand脚本,选择操作菜单“1: Send Partition Table”, 出现错误: "---- DID NOT COMPLETE Send Partition Table" "EXITING due to failed command:: Send Partition Table"调试: 由于用TRACE 阅读全文

posted @ 2010-01-13 14:54 hengfeng 阅读(1344) 评论(0) 推荐(0)

摘要:对于nand最大的问题就是会有bad block,由于bad block的不确定性,所以进一步加大了对nand编程访问的难度。所以只有解决了bad block的问题才可能使用nand,将bad block处理的好才会最大的提升nand的access效率。 什么是bad block呢?就是在这一个block里有1个或多个bit的状态不能稳定的编程,所以就没法使用它,但是如果一个block(128KByte)有一个Bit是坏的,那么整个block放弃使用。听起来有点浪费,可能是根据物理原理使整个block的稳定性不能保证吧,或者是其他考虑。不过既然三星要求我们这么做,那么为了系统的稳定,也不... 阅读全文

posted @ 2009-12-12 22:44 hengfeng 阅读(2531) 评论(0) 推荐(0)

摘要:SIM Application Toolkit 来源:simpleteam.com简单地介绍STK方面的开发 SIM卡最初用来储存电话号码、短消息和用户个人资料。卡内处理器在认证和编码时进行计算。它完全从属于手机。GSM标准的演进带来全新的概念——SAT,它使电话在某些时候不再授命而是听命于SIM卡处理器内的应用,从而通过一些命令就可进行与人的双向反应。 SAT或SAT技术使营运商很容易通过SMS或小区广播来更更新用户的SIM卡设置或提供新的服务。SAT应用在服务器端运行于JAVA环境,服务器需遵守一些智能卡规范如Gemplus、Giesecke&Devrient或Orga,有时还要遵 阅读全文

posted @ 2009-11-29 14:49 hengfeng 阅读(1714) 评论(0) 推荐(0)

摘要:公司的一款CDMA中端手机要加上FM,采用RDA5802,本来自动搜台是采用芯片内部的自动搜台功能,但发现搜台的精确度不是很理想,所以修改了搜台的方式,即设置要搜索的频率的范围,然后以一定的步长(如100kHZ),逐点TUNE,然后再读取这个频点的工作状态,判断是否是真台。 uint8 RDA5802_reg_data[4]={0}; uint8 RDA5802_channel_seek[] = {0xc0,0x01}; uint16 CurrentChannel;//frequency这里的值为870~1079,即87MHZ~107.9MHZ,然后套用公式Frequency =Channe. 阅读全文

posted @ 2009-10-10 15:37 hengfeng 阅读(2247) 评论(0) 推荐(0)

摘要:调试camera的时候,有些时候LCD或许还不能正常工作,或则UI尚未完成,而我们却想看到camera拍摄到的图像,这时就可以借助Trace32的强大功能。当然,前提是你可以启动camera。^_^首先,我们要确保sensor已经正常工作了,可以把断点设置在OEMCamera_CameraLayerCB()这个函数,它是一个总体的回调函数,包括收到帧事件,所以如果此函数断点反复的被执行到,那么说明sensor有数据(帧)传上来,如图:在断点被执行到后,打开"Stack ”,查看函数的调用关系,可以看到camera_process_qdsp_msg()里面的一个参数为buf = 0x1 阅读全文

posted @ 2009-08-07 00:21 hengfeng 阅读(2427) 评论(4) 推荐(0)

摘要:这个星期在移植带数据功能的固定台项目,一开始傻傻地以为只要把固定台的UI移到数据卡上就OK了。说干就干,第一步修改固定台项目FLASH相关的一些FEATURE。包括single bus -> dual bus, ASYNC_TYPE -> BURST_TYPE 。第二步,重新定义FLASH,PSRAM,EFS的起始地址和大小。第三步,修改FLASH drvier,以及增加数据功能相关的FEATURE和代码。第四步,编译+链接 ----- (PS:其实有时候找编译产生的BUG也挺有趣的。^_^)最后用TRACE32烧代码,BOOT成功启动,但是在创建文件系统的时候系统就跑飞了,单步跟 阅读全文

posted @ 2009-07-22 17:44 hengfeng 阅读(660) 评论(0) 推荐(0)

摘要:系统启动以后,调用tmc_define_tasks()创建AMSS所需要的各个Task,其中包括ui_task,它起到了一个中间层的作用,即所有AMSS底层服务组件的消息,都将经由ui_task而转到AEE,并最终转到具体的App(Applet)的执行代码里面(HandleEvent())。在UI_init中会调用ui_key_init()注册上层UI对于底层按键(包括一些自定义的事件,比如耳机插拔,充电器插拔,HOOK检测等等)的回调函数。void ui_key_init( void ){(void) kpd_sub_srvc(ui_kpd_sub_cb);if (ui_kpd_handle 阅读全文

posted @ 2009-07-20 23:16 hengfeng 阅读(910) 评论(0) 推荐(0)

摘要:使用 Trace32 对 FLASH 编程Trace32 除了具有对代码设置断点、跟踪调试等常规的功能以外,还能够控制对目标系统的 FLASH 进行编程。本文首先对比了 Trace32 FLASH 编程的两种方式:"Emulator controlled flash programming" 和 "Target controlled flash programming",指出"Target controlled flash programming"方式的优点;然后介绍了与 FLASH 编程相关的 Trace32 脚本命令,以及 Tra 阅读全文

posted @ 2009-07-20 17:23 hengfeng 阅读(1674) 评论(0) 推荐(0)

摘要:平台:QSC60X0参考文档:80-V9137-1, 80-VH828-1, CL93-V6321-1, 80-VA552-11参考代码: msmaud.h, sndcal.c , voccal.c工具: FIR/IIR滤波器调节工具---QFILT本文主要是针对QSC60X0的音频调试,但是高通音频部分的原理都是大同小异的,所以对于其他平台也有借鉴作用。首先我们要熟悉平台的音频通路:一,音频通路说明1.发送通路(TX)---表示本地到远端,即发送给对方的声音通路 声音一开始是从MIC进入,这里有2个MIC,默认MIC1用于手机(handset),MIC2用于耳机(headset)。之后声音进 阅读全文

posted @ 2009-07-19 12:14 hengfeng 阅读(9655) 评论(5) 推荐(0)

摘要:最近在查固定台项目的待机电流,发现进入SLEEP以后基底电流保持在50mA左右,耗电量相当恐怖!由于固定台不同于普通的手机,它要求LCD不能关闭,且要实时更新时间,所以最开始以为是LCD耗电太大,但是把LCD拿掉,基底电流几乎不变(黑白屏真的很省电!)。 通过硬件工程师把外围的器件一个一个去掉,发现罪魁祸首居然是PIN11 (LCD_CS)这个引脚。这个脚在手机项目中是LCD的片选信号,但是固定台项目没有用到,就把它直接接地了。而问题就出在这个信号如果在不用的时候是为高电平的,这样就导致存在内外电压差,将近40mA+的电流就这样白白浪费了.....由于考虑到这个批次的整机已经装好了,不能再返工 阅读全文

posted @ 2009-07-15 16:16 hengfeng 阅读(496) 评论(0) 推荐(0)

摘要:#define D_CHECK_FLIP_COVER_TIMES5// 由于hs_poll_gpio函数是以100ms的周期被调用,这里的5表示5次polling的结果都是高电平,即滑盖open#define D_FLIP_COVER_IS_OPENTRUE#define D_FLIP_COVER_IS_CLOSEDFALSE//这个宏定义很重要,用来指示前面几次polling 的结果是否都相同,比如检测5次,则D_CHECK_FLIP_COVER_MASK= 1<<5 -1 =0x1f=0x11111#define D_CHECK_FLIP_COVER_MASK((1<&l 阅读全文

posted @ 2009-07-13 15:20 hengfeng 阅读(362) 评论(0) 推荐(0)

摘要:硬件:QSC6010+spansion S71WS256PD0HH3SR(配置为256M nor +128M psram)软件:BREW3.1FLASH空间分配: BOOT 0x0000--0xFFFFAMSS0x10000 -- 0xFFFFFF EFS 0x1000000--0x1FDFFFF------------------------------------------BUG的开始------------------------------------------------------------------------------------在项目启动的时候发现系统一运行就马上跑 阅读全文

posted @ 2009-07-12 01:36 hengfeng 阅读(1853) 评论(0) 推荐(0)

1