tag 标签: 刷新

相关博文
  • 热度 32
    2017-6-22 21:54
    4843 次阅读|
    0 个评论
    有过面试别人的机会,看到简历上写着,有过AMD实习经历,熟悉CPU和内存。于是我问,那你画一下SRAM和DRAM的基本cell出来吧,然后简要说一下工作原理及特点,但是没能说出来。我想这两个基本单元画不出来,不能算熟悉CPU和内存吧,毕竟它们的基本单元就用到了SRAM 和DRAM。 大家都知道,CPU是负责运算和处理的,而存储器则是负责交换数据的。有人是这么比喻的(场景是工程师的工作),说CPU就是工程师本人,内存就像是工作台,需要及时处理的东西需要先拿到工作台上才方便处理。那么硬盘是什么呢?硬盘就像柜子,存放电子器件仪器用的仓库,存东西。 存储器有两个基本的构成单元,SRAM 和 DRAM,充分理解这两个概念以及电路原理,对于学习应用CPU构架以及DDR非常有用。DRAM就是动态(Dynamic)随机存储器,SRAM是静态(Static)随机存储器。这一动一静的本质是什么呢? 先说静态随机存储器,它是利用如D触发器的结构来完成数据的读取与写入的,资料的写入不需要刷新动作,这样不需要刷新动作的就成为静态。 同时,这样使得控制器设计很简单,存取的速度比DRAM快很多。适合于高速存储的应用场景比如CPU的cache缓存。 理解了静态随机存储器之后,动态随机存储器就好理解了。动态就是指利用电容的充放电来实现资料的写入与读取动作,因为电容会慢慢放电,如果放电到阈值以下,数据可能就会丢失了,因此需要每隔一段时间来做刷新的动作,以保持资料的完整性。最常见的就是手机和电脑的内存了。 1 第一层认识—一个D触发器构成最简单 SRAM 首先,可以从最基础数字电路开始。有一个很基本但是深刻且直接的认识:SRAM cell最简单的构成单元就是一个D触发器,如下图所示,D触发器是数字电路系统里面的一个基本单元。 1 bit的SRAM单元的核心电路就是一个D触发器。当有power存在的时候,因为D触发器的特性,数据可以保存,不需要刷新。触发器是具有记忆功能的,具有两个稳定的信息存储状态。D触发器的特性方程是:Q(n+1)=D;也就是记忆前一个状态,可以从RS触发器出发,写一下真值表,推算就很好理解了。波形图如下所示: 1 第二层认识—4个单管构成的SRAM 然后,可以用基本晶体管层面来搭建一个简单的SRAM单元,仅仅由4个NMOS管和两个电阻构成的。 【电路详细分析】 SRAM的整个单元具有对称性。其中除了Q1和Q2的部分,是用来锁存1位数字信号。Q1,Q2是传输管,它们在对存储器进行读/写操作时完成将存储单元与外围电路进行连接或断开的作用。 对单元的存取通过字线WL(Word Line)使能,字线WL为高电平时传输管导通,使存储单元的内容传递到位线BL(Bit Line),单元信息的反信号传递到位线BL#,外围电路通过BL和BL#读取信息。 写操作时,SRAM单元阵列的外围电路将电压传递到BL和BL#上作为输入,字线WL使能后,信息写入存储单元。 1第三层认识--6管单管构成的SRAM 最后,可以从IC的制造层面来看。其实,大部分与第二层差不多,只是M2与M4用PMOS代替。SRAM中的每一bit存储在由四个场效应管(M1, M2, M3, M4)构成两个交叉耦合的反相器中。另外两个场效应管(M5,M6)是存储基本单元到用于读写位线(Bit Line)的控制开关。 一个SRAM基本单元有0和1两个电平稳定状态。SRAM 基本单元由两个CMOS反相器组成。两个反相器的输入、输出交叉连接,即第一个反相器的输出连接第二个反相器的输入,第二个反相器的输出连接第一个反相器的输入。这就能实现两个反相器的输出状态的锁定、保存,即存储了一个位元的状态。分析简图: 【详细的电路分析】 SRAM的基本单元存在三种状态:standby(空闲),read(读)和write(写)。 第一种状态:standby 如果WL没有选为高电平,那么M5和M6两个作为控制用的晶体管处于断路状态,也就是基本单元与位线BL隔离。而M1-M4组成的两个反相器继续保持其状态。 第二种状态:read 首先,假设存储的内容为1,也就是Q处为高电平。读周期初始,两根位线BL, BL#预充值为高电平,因为读写状态时,WL也会为高电平,使得让作为控制开关的两个晶体管M5, M6导通。 然后,让Q的值传递给位线BL只到预充的电位,同时泄放掉BL#预充的电。具体来说,利用M1和M5的通路直接连到低电平使其值为低电平,即BL#为低;另一方面,在BL一侧,M4和M6导通,把BL直接拉高。 第三种状态:write 写周期开始,首先把要写入的状态加载到位线BL,假设要写入0,那么就设置BL为0且BL#为1。然后,WL设置为高电平,如此,位线的状态就被载入SRAM的基本单元了。具体分析过程,可以自己画一下。
  • 热度 28
    2015-10-16 21:42
    1003 次阅读|
    2 个评论
       (三)INIT模块状态机   SDRAM 必须在一个预定义的模式下上电和初始化:       1.  上电后进入 IDLE 状态       2.  在 IDLE 状态下    自动进入 POWER_ON 状态       3.  在 POWER_ON 状态下    延时 200us 给出 Precharge 指令并进入 PRECHARGE 状态。       ?  200us :在发除了 NOP 与 INHIBIT 之外的指令之前必须先延时 200us       ?  Precharge 指令:用来去激活某一特定 BANK 中的 open row (已激活的行),或者所有 BANK 中的 open row 。    4. 在 PRECHARGE 状态下 自动进入 NOP 状态,重复 4-6 两次。    5. 在 NOP 状态下  满足延时要求后,如果发送 REF 指令,跳入 AUTOREFRESH 状态,如果发送 MRS 命令,跳入 MRS 状态       ?  满足延时要求:根据手册,每两个指令之间都有一定的延时,来满足指令的执行。       ?  REF 指令:执行 AUTOREFRESH (自动刷新)操作,将被刷新的 BANK 与行地址将会自动完成该操作。    6. 在 AUTOREFRESH 状态下          自动跳转到 PRECHARGE 状态    7. 在 MRS 状态下          自动跳转回 NOP 状态。延时一定周期发送 INIT 结束标志。 (四)刷新流程图(图片已经调到最小了,还是这个样子)   具体流程如下:    1 . 接收到 init_end==1 ,定时器 timer 开始。    2. 经过 12us 的定时器,产生一个 flag_12us 的标志。    3. 根据 flag_12us 发送刷新请求。    4. 主模块接收到刷新请求,返回一个刷新使能信号,当该信号有效时,发送刷新命令。    5. 刷新结束后,产生一个结束标志,结束刷新操作。        (五)WRITE状态机   1.  在 IDLE 状态下 等待,检测到 w_req_lvds 信号有效,跳转到 W_REQ_STATE 状态。 2.  在 W_REQ_STATE 状态下 检测到 w_en 信号有效,跳转到 ACT_STATE 状态。 3.  在 ACT_STATE 状态下 发送 ACT 命令,并延迟 tRCD=3 cycles , act_end 信号有效,并跳转到 WRITE 状态。 4.  在 WRITE 状态下 检测到 w_row_end==1 或者 burst_end==1 ,跳转到 BREAK 状态。 A.w_row_end==1 ,发送完一行数据结束。 B.burst_end==1 ,写突发时被刷新命令打断操作。 5.  在 BREAK 状态下 使能 break_end 信号,若同时 w_row_end_flag==1 ,跳转到 IDLE 状态;若 burst_end_flag==1, 跳转到 W_REQ_STATE 状态。     (六)READ状态机     1.  在 IDLE 状态下 等待,检测到 read_req 信号 ( 来自 GEN 模块 ) 有效,跳转到 R_REQ_STATE 状态。 2.  在 R_REQ_STATE 状态下 检测到 r_en 信号有效,跳转到 ACT_STATE 状态。 3.  在 ACT_STATE 状态下 发送 ACT 命令,并延迟 tRCD=3 cycles , act_end 信号有效,并跳转到 READ 状态。 4.  在 READ 状态下 检测到 r_row_end==1 或者 r_burst_end==1 ,跳转到 BREAK 状态。 A.r_row_end==1 ,读完完一行数据结束。 B.r_burst_end==1 ,读突发时被刷新命令打断操作。 5.  在 BREAK 状态下 使能 break_end 信号,若同时 r_row_end_flag==1 ,跳转到 IDLE 状态;若 r_burst_end_flag==1, 跳转到 R_REQ_STATE 状态。      三.我走的弯路,希望你们不要走 1.时序要卡好:波形是设计出来的,而不是看仿真堆出来的。         2.有两种情况 a)一行写完 跳转回IDLE状态 。 b)被刷新打断 跳转回w_req_state状态。   写文档时没有写出b)情况的时序,理所当然的认为情况差不多,后面修改代码时更不想画时序,根据仿真波形改,由于信号实在太多,有些信号相互之间又打拍,导致代码修改起来很痛苦。  文档要设计好,不要想当然。 3.中间修改代码时,将某些组合逻辑改为时序逻辑,状态机以及一些变量的时序都要修改,而某些信号的漏改,导致命令没有对应上。  4.在刷新被打断的情况下,lvds_test模块的地址什么时候保持,什么时候加,要控制约束。 5.仿真时,要看接口的波形,而不要看当前模块的波形 。
  • 热度 31
    2011-7-14 20:14
    3561 次阅读|
    0 个评论
    LED显示屏在近十年的蓬勃发展,加上摄像器材技术的大幅提升,各家显示屏厂商无不投入大量精力于高端显示屏的研发,为满足此波创新浪潮中高灰度及高刷新率的需求,愈来愈多厂商将目光转移到PWM驱动芯片,利用PWM驱动芯片内建数字电路的特性,处理大量复杂的影像数据并转换成恒流输出以驱动LED,减轻了控制器的负荷量,并且更轻易地实现高端显示屏中对于灰度及刷新率的严格要求,同时也大幅提升了LED利用率且提高了显示屏的亮度。但是在为数众多的扫描驱动显示屏需求中,为了实现超高画面刷新率,传统PWM驱动芯片也遭遇到相等程度的阻碍,传统PWM驱动芯片利用脉波宽度调变,在一个画面周期中,将恒流输出波形依据灰阶数据大小平均打散以提高画面刷新率的技术,在扫描驱动显示屏上也完全发挥不了预期作用,本文将深入探讨传统PWM驱动芯片在扫描屏中的种种现象。   一 . 适应性脉波密度调变 (APDM) 技术 Ferry-Porter定律指出,人眼在观看脉冲光时,随着脉冲频率的提高,会到达一个临界点,超过这个临界频率,人眼将感觉脉冲光是连续的,即不会有闪烁现象。此临界频率又和背景亮度成正比,即亮度愈高,画面刷新率就必须愈高,人眼才不会感觉到显示屏在闪烁。因此,适应性脉波密度调变(APDM)技术就因应而生。此技术利用侦测灰度数据的大小,在低灰度时,维持足够的画面刷新率,以减少恒流切换造成的亮度损失;在高灰度时,增加平均打散段数以提高画面刷新率,可有效提升质量避免画面闪烁。明阳半导体的MY9262驱动芯片即是采用此技术,运用于静态驱动显示屏时,可有效将16比特灰阶画面的刷新率提升至15,625Hz。 图一. 适应性脉波密度调变技术 二 . 扫描屏使用传统 PWM 驱动芯片的迷思 一 恒流打散技术可提高刷新率? 将恒流输出波形平均打散以提高画面刷新率的APDM技术运用在动态驱动扫描屏上,完全无法发挥预期的高刷新率效果,而且还会因为打散恒流输出波形增加电流切换次数,导致灰度损耗,電磁干擾增加。以1/4扫描驱动及12比特灰阶影像为例,每个扫描行驱动的LED只被点亮4096*GCK时间,只占了一个完整画面周期的1/4时间,其余时间因为保留给其它扫描行数使用,处于完全关闭的状态。因此,就算使用打散恒流波形技术,仍无法提高刷新率。明阳半导体MY9262可选择传统不打散PWM恒流输出,在相同刷新率表现下,大幅降低电流切换造成的灰度损耗且降低電磁干擾。 图二. 1/4扫描驱动且12比特灰阶画面的恒流输出波形 图三.恒流切换造成灰度损耗 二 增加控制卡数目来减少驱动芯片级联颗数,可提高刷新率? 扫描屏使用传统PWM芯片时,灰阶数及灰阶时钟GCK即决定画面周期,级联芯片数目只和资料时钟DCK有关,无法藉由减少驱动芯片级联颗数,提高画面刷新率。级联颗数由下列关系定义: 数据位x恒流输出通道x资料时钟时间(T DCK ) x级连颗数(N)=画面周期 以MY9262为例, 当GCK=DCK=16MHz, 12比特灰阶画面 16bits x 16 x (1/16MHz) x N = 4096 x (1/16MHz) N = 16颗(最大值) = 当级联颗数少于最大值时,旧画面尚未完成,仍无法更新画面。 三 . 扫描行数 、 灰阶时钟频率及灰阶设定相对于画面刷新率的关系   扫描行数 GCK频率(MHz) 灰阶数(Bit) 画面刷新率(Hz) 4 16 16 60 4 16 12 976 8 16 16 30 8 16 12 488   画面刷新率 = GCK频率 / (灰阶总数*扫描行数) 四 . 提高刷新率的建议方案 依据上述说明,画面刷新率只与扫描行数、灰阶时钟GCK及灰阶数有关。因此,可藉由下列三个方法提高画面刷新率: 1 ﹒提高灰阶时钟 GCK : 增加GCK频率,一个完整画面周期即可缩短,在相同时间内,可重复更多次完整画面,刷新率即可增加,但GCK的提升会受限于现有硬体的速度限制。 2 ﹒降低画面灰阶数: 牺牲画面灰阶数,可以缩短完整画面周期,提高画面刷新率。 3 ﹒画面资料分组: 将原本高灰阶影像切换成数祯低灰阶影像,依据扫描行数交错显示,即可提高刷新率,例如:16比特灰阶画面,切割成16段12比特画面,将可刷新率提高16倍,从原本60Hz提高到960Hz。 图四.采用数据分组提高画面刷新率   五 . 结论 : 传统PWM驱动芯片在扫描屏中,可以利用(1)提高灰阶时钟GCK、 (2)降低画面灰阶数、(3)画面数据分组等方法提高画面刷新率,并采用传统不打散PWM恒流输出解决电流切换造成的灰度损耗并降低电磁干扰,制造出高质量的扫描驱动显示屏,明阳半导体MY9262将是最佳的PWM驱动芯片选择。但也因为超高刷新率的需求日益增加,一种新型态的PWM驱动芯片也因应而生, 明阳半导体以专业与创新的精神 , 研发出全球最优异的驱动芯片解决方案 -MY9268 , 可使 8 扫驱动且 16 位灰阶显示屏的画面刷新率大幅提升至 16,000Hz 。
相关资源
  • 所需E币: 0
    时间: 2022-5-2 17:11
    大小: 2.62MB
    上传者: ZHUANG
    基于Ethernet的车载ECU诊断刷新研究
  • 所需E币: 2
    时间: 2022-1-5 23:28
    大小: 1.6MB
    上传者: czd886
    航天用SRAM型FPGA定时刷新控制电路应用研究
  • 所需E币: 2
    时间: 2022-1-5 23:55
    大小: 4.67MB
    上传者: czd886
    基于FPGA定时刷新控制单元的应用技术研究
  • 所需E币: 1
    时间: 2020-12-27 19:17
    大小: 1.6MB
    上传者: czd886
    航天用SRAM型FPGA定时刷新控制电路应用研究
  • 所需E币: 3
    时间: 2020-1-10 09:43
    大小: 95.5KB
    上传者: 238112554_qq
    背景没有刷新1.IdleScreenwallpaperjpg图象如下:[pic]2.当在IdleScreen状态下,按下手机键盘上的数字和“*”、“#”的任意一键时,屏幕弹出如下输入虚拟键盘画面(覆盖在IdleScreenWallPaper上):[pic]3.当用笔点击以上虚拟键盘上的各个虚拟按键时,显示各相应按键的高亮图片,列如用笔点击虚拟键盘上的“2”键时显示的高亮图片如下:[pic]注:此过程正常当笔释放“2”键时,即PenUP时,原虚拟键盘上的数字“2”背景区域成了墙纸的背景色块!图如下:[pic]其它的虚拟键按下也是上述情况!-----------------------输入框里的背景成了墙纸背景![pic]本应是虚拟键盘输入框的透明色背景!?虚拟键盘上的数字“2”区域成了墙纸的背景色块(本应是虚拟键盘的背景):[pic](经放大)……