09 2012 档案

摘要:PWM信号可通过调整占空比来调节输出电压,可以使用PWM来控制LCD的背光。但CPU的pwm引脚驱动能力太弱,常外接一个背光芯片。rt9293就是这样的一个恒流升压转换器。Iled=Vref/RsetVfb=Duty * 300mV (Duty是EN输入信号的占空比,300mV是内部参考电压)PWM占空比就是用来对内部300mV进行分压的。经过低通滤波器来过滤脉冲信号,最后输出连接到误差放大器(EA),回送FB信号。输入PWM信号频率小于500Hz时,VA也是一个PWM信号,控制输出电压。输入PWM信号频率大于500Hz时,VA相当于一个直流信号。两个频率的典型值是200Hz和20kHz. 误 阅读全文
posted @ 2012-09-29 15:30 sammei 阅读(1170) 评论(0) 推荐(0)
摘要:mx53的几个模式:1. RUN - core+时钟+外设都工作,由软件控制哪些模块的时钟可被停止。2. WAIT - core停止,clock停止,总线时钟和外设按需打开。3. STOP - core停止,外设停止,总线时钟停止,DPLLs关闭。其中2/3都属于WFI(Wait For Interrupt)模式,cpu停止直到唤醒源到来。mx53执行WFI指令的过程:1. 允许CPU进入Deep Sleep(ARM_LPC, Low Power Control 11.3.3)ARM_LPC.DBGDSM = 1 ,在DEBUG模式时允许CPU进入Deep Sleep ModeARM_LPC. 阅读全文
posted @ 2012-09-21 17:12 sammei 阅读(774) 评论(0) 推荐(0)
摘要:1. BOOT_MODE[1:0] 内部寄存器RESET_B上升沿时,BOOT_MODE[1:0]从BOOT_MODE0和BOOT_MODE1两个引脚获取初始值。(BOOT_MODE[1:0]的值可以从SRC_SBMR寄存器的BMOD[1:0]域读到)2. Boot eFUSE(1) BT_FUSE_SEL* BOOT_MODE[1:0]=0b00 BT_FUSE_SEL=0, SBMR的值由GPIO决定。 BT_FUSE_SEL=1, SBMR的值由eFUSE设置(BOOT_CFG1/2/3)。* BOOT_MODE[1:0]=0b10 BT_FUSE_SEL=0, 启动设备(如Flash, 阅读全文
posted @ 2012-09-18 12:26 sammei 阅读(749) 评论(0) 推荐(0)
摘要:同事在调试一个外设时发现:a. 系统正常运行的情况下,使用这个设备会触发中断并调用它的中断处理函数。b. 系统休眠之后,使用这个设备可以唤醒系统,但中断处理函数却没有被调用。能够唤醒系统,说明中断一定是触发了。另发现小板上的键盘是可以的,休眠后按键可以调到keyboard的中断处理函数。跟踪这个问题,发现以下几点:1. Linux在系统休眠时会调用dpm_suspend_noirq()-> suspend_device_irqs()。 当系统休眠时,设备驱动需要禁止接收中断,suspend_device_irqs()屏蔽所有正在 使用的中断(置IRQ_DISABLED标志),timer中 阅读全文
posted @ 2012-09-17 18:32 sammei 阅读(1323) 评论(2) 推荐(0)