tag 标签: 时钟

相关帖子
相关博文
  • 热度 1
    2020-11-23 15:34
    671 次阅读|
    0 个评论
    MIPI (Mobile Industry Processor Interface)接口是MIPI联盟发起的为移动应用处理器制定的开放标准,下面有很多工作组,制定各种相关规范,其中最常用的就是CSI(Camera Serial Interface),用于camera到CPU之间的数据传输。 CSI又分为CSI-1,CSI-2和CSI-3,其中最常用的就是CSI-2。 CSI-2的物理层分为C-PHY和D-PHY,D-PHY针对MIPI CSI-2和DSI/DSI-2显示协议做了优化,可提供高性能、低功耗和低EMI,使其与移动设备中的复杂RF子系统兼容。 D-PHY v2.1最高支持4.5 Gbps /通道,并使用10条线(利用4条数据通道和一条时钟通道)支持数据通道扩展,使总数据速率达到18 Gbps。 MIPI C-PHY通过带宽受限的通道提供高吞吐量性能,可将显示器和摄像机连接到应用处理器。C-PHY通过使用在三线通道上实现〜2.28位/符号的三相符号编码,在两线通道上偏离传统的差分信令技术来实现这一点。每个通道都包含一个嵌入式时钟。C-PHY v1.2支持高达3.5 Gsps / lane,相当于8 Gbps / lane,并且可以在三个通道上实现24 Gbps的峰值带宽。 在实际应用中,D-PHY应用较多,下面列出其重要参数: 色深(Color Depth):定义一个像素点所需的bits(bpp bits-per-pixel),或者定义一个color component 所需的bits (bpc bits-per-component)。 像素时钟:每帧像素传输所用频率(the time base in MHz at which individual pixels are transmitter) 带宽:the capacity of required in Mbps of a given system to pass a specific frequency 数据率:the data flow throughtput in bits per second of transport layer bit clock:因为D-PHY信号是Double data rate,其bit clock是数据率/lane的1/2。 像素时钟 = 水平像素数 * 垂直像素数 * 刷新率 (像素数包括消隐数据) 带宽/数据率 = 像素时钟 * 色深 数据率/lane = 数据率/lane number bit clock = 数据率/lane/2 以1902*1080p @ 60hz, raw10,2 lane为例: 像素时钟 = 2200 * 1125 * 60 = 148.5MHz 带宽/数据率 = 148.5 * 10 = 1.485Gbps lane rate = 1.1485/2 = 742.5Mbps bit clock = 742.5/2 = 371.25MHz
  • 热度 2
    2015-6-18 18:28
    452 次阅读|
    0 个评论
    一,概述 用Altera的话来讲,timequest timing analyzer是一个功能强大的,ASIC-style的时序分析工具。采用工业标准--SDC(synopsys design contraints)--的约束、分析和报告方法来验证你的设计是否满足时序设计的要求。在用户的角度,从我使用TimeQuest的经验看,它与IC设计中经常用到的比如prime time,time craft等STA软件是比较类似的。用过prime time或time craft的朋友是非常容易上手的。 在这一系列的文章里,我将会拿一个DAC7512控制器的verilog设计作为例子,详细讲解如何使用TimeQuest进行时序设计和分析。 二,TimeQuest的基本操作流程 做为altera FPGA开发流程中的一个组成部分,TimeQuest执行从验证约束到时序仿真的所有工作。Altera推荐使用下面的流程来完成TimeQuest的操作。 1. 建立项目并加入相关设计文件      不管做什么事情,都需要有一个目标或者说对象。我们用TimeQuest做时序分析,当然也需要一个对象,这个对象实际上就是我们的设计。所以首先是要建立一个Quartus II的项目,并把所有需要的设计文件都加入到项目中去。需要注意的一点是,这里的设计文件,不仅仅包含逻辑设计相关的文件,也包含已经存在的时序约束文件,当然,需要以synopsys Design Constraints(.sdc)的格式存在的。 2. 对项目进行预编译(initial compilation)     项目建立以后,如果从来没有对项目进行过编译的话,就需要对项目进行预编译。这里的预编译是对应于全编译(full compilation)来讲的,我们可以理解为预编译是对项目进行部分的编译,而全编译是对项目进行完整的编译。做预编译的目的是为了生成一个initial design database,然后我们可以根据这个database用Timequest采用交互的模式生成时序约束。实际上,对于小的设计,编译时间并不是很长的话,完全可以不去区分预编译和全编译,需要编译的时候,直接做全编译就可以了,做全编译的话,可以生成一个post-fit的database,完全可以给TimeQuest使用。 3. 向设计中添加时序约束      在用TimeQuest做时序分析之前,必须要指定出对时序的要求,也就是我们通常所说的时序约束。这些约束包括时钟,时序例外(timing exceptions)和输入/输出延时等。     默认情况下,Quartus II 软件会给所有没有被下约束的时钟都设定为1GHz。没有任何的时序例外,也就是说所有的timing path都按1T去check。所有的输入/输出的延迟都按0来计算。这显然不符合绝大多数设计的时序要求,所以有必要根据设计的特性,添加必要的时序约束。     如上所述,时序约束主要包括三类:时钟,时序例外和输入/输出延迟。其中时钟和输入/输出延迟可以认为是在某种程度上增强时序设计的要求。而时序例外可以认为是在某种程度上降低时序设计的要求。比如说,仅仅设定一个时钟的频率为100MHz的话,这个时钟域里所有timing path都需要能工作在100MHz下。这显然是增强了时序设计的要求。可是如果在这个时钟域下面,有部分timing path是不需要做1T的check的,那么就可以通过添加时序例外来避免对这些timing path做1T的check,即降低了时序设计的要求。     在用TimeQuest做时序分析时,如果非常熟悉设计的构架和对时序的要求,又比较熟悉sdc的相关命令,那么可以直接在sdc文件里输入时序约束的命令。而通常情况下,可以利用TimeQuest GUI提供的设定时序约束的向导添加时序约束。不过要注意的是,用向导生成的时序约束,并不会被直接写到sdc文件里,所以如果要保存这些时序约束,必须在TimeQuest用write sdc的命令来保存所生成的时序约束。 4. 执行完整的编译     在设定好时序约束以后,就需要对整个设计进行完整的编译。在编译过程中,软件会优化设计的逻辑、布局布线等来尽可能满足所有的时序约束。     如果没有添加时序约束,那么软件在编译的时候,会按照默认的时序约束对设计进行优化,对于绝大多数的设计,都会报出来时序的问题,但因为默认的时序约束与设计本身的要求在绝大多数情况下,都是不同的,所以这些时序的问题也并不是设计本身的问题,并没有太多的参考价值,而且很多初学者也不会注意到这个问题。这样就把设计中很多潜在的时序问题给隐藏起来了,最终带来的可能就是系统运行的不稳定,甚至是完全不能运行。 5. 验证时序     当完成编译以后,我们就可以用TimeQuest来验证时序了。在时序分析的过程中,TimeQuest会分析设计中所有的timing path,计算每一条timing path的延时,检查每一条timing path是否满足时序约束,最后按照positive slack或negative slack来报告时序分析的结果。其中negative slack就表示对应的timing path不满足时序约束的要求(timing violation)。     如果遇到有不满足时序要求的情况,则可以根据对应的时序报告分析设计,确定如何优化设计使之满足时序约束。时序约束有任何变化的话,都需要重新编译设计。这个反复的过程可以让我们解决设计中的时序问题。 三,DAC7512控制器     DAC7512是一个具有三线串行接口的DAC。我们基于FPGA用Verilog语言实现了一个简单的DAC7512的控制器。下面是控制器的结构图:     DAC7512控制器由三个模块组成,PLL用来生成控制器所要的时钟C0(25MHz)和C1(50MHz),其lock信号用来做为控制器的异步reset。da_data模块生成要送往DAC7512的数据,其中DA_DATA为数据,DA_DATA_EN为数据有效信号,该模块使用C0时钟,整个属于C0时钟域。DAC7512模块用于将DA_DATA转换成符合DAC7512接口标准的串行数据并送给DAC7512,要用到C1(50MHz)和DA_SCLK(C1二分频,25MHz)两个时钟。     DAC7512控制器一共有四个输入输出端口。CLK_IN为PLL的基准时钟,为25MHz。DA_DIN,DA_SCLK和DA_SYNC为三线串口,都为输出端口。     由于C0,C1是由同一个PLL输出的,DA_SCLK是由C1经二分频得到的,三者之间是同步的,处于同一个clock group中。     DAC7512模块的详细设计资料可参照本博客中 “FPGA设计中DAC7512控制的Verilog实现” 的文章。不过要注意一点的是,在串行总线上,DA_DIN是在DA_SCLK的下降沿有效的。把DA_DIN设计为C1时钟域的信号,并控制其值只在DA_SCLK为高电平的时候发生变化。这样可以把DA_DIN与DA_SCLK之间的时序要求转换为DA_DIN在C1时钟域的时序要求,细节我们会在下面介绍。
  • 热度 4
    2015-3-14 20:42
    357 次阅读|
    0 个评论
    模数转换器(ADC)的种类繁多,我们总是很难弄清哪种ADC才最适合既定应用。数据手册往往会使问题变得更加复杂,许多技术指标都以无法预料的方式影响着性能。 选择转换器时,工程师通常只关注分辨率、信噪比(SNR)或者谐波。这些虽然很重要,但其他技术指标同样举足轻重。 分辨率 ,可能是最易被误解的技术指标,它表示输出位数,但不提供性能数据。部分数据手册会列出有效位数(ENOB),它使用实际SNR测量来计算转换器的有效性。一种更加有用的转换器性能指标是噪声频谱密度(NSD),单位为dBm/Hz或HznV。NSD可以通过已知的采样速率、输入范围、SNR和输入阻抗计算得出(dBm/Hz)。已知这些参数,便可选择一款转换器来匹配前端电路的模拟性能,这种选择ADC的方法比仅仅列出分辨率更有效。 许多用户还会考虑杂散和谐波性能,这些都与分辨率无关,但转换器设计人员一般要调整他们的设计,使谐波与分辨率相一致。 电源抑制(PSR) 测量电源纹波如何与ADC输入耦合,显现在其数字输出上。如果PSR有限,相对于输入电平,电源线上的噪声将仅会受到30至50 dB的抑制。 一般而言,电源上的无用信号与转换器的输入范围相关。例如,如果电源上的噪声是20 mV rms ,而转换器输入范围是0.7 Vrms,,则输入上的噪声是–31 dBFS。如果转换器的PSR为 30 dB,则相干噪声会在输出中显现为一条–61 dBFS谱线。在确定电源将需要多少滤波和去耦时,PSR尤其有用,PSR在医疗应用或工业应用等高噪声环境中非常重要。 图1. 共模抑制(CMR) 测量共模信号存在时所引起的差模信号。许多ADC采用差分输入来实现对共模信号的高抗扰度,因为差分输入结构本身能抑制偶数阶失真产物。 与PSR一样,电源纹波、接地层上产生的高功率信号、混频器和RF滤波器的RF泄漏以及能够产生高电场和磁场的应用会引入共模信号,虽然许多转换器未规定CMR,但他们通常具有50至80 dB的CMR。 时钟相关技术指标 ,尽管比较重要,但并不总是作出规定,而且可能难以确定。 图2. 输入时钟与采样噪声的关系 时钟压摆率 是实现额定性能所需的最小压摆率。多数转换器在时钟缓冲器上有足够的增益,以确保采样时刻界定明确,但如果压摆率过低使得采样时刻很不确定,将产生过量噪声。如果规定最小输入压摆率,用户应满足该要求,以确保额定噪声性能。 孔径抖动 是ADC的内部时钟不确定性。ADC的噪声性能受内部和外部时钟抖动限制。 在典型的数据手册中,孔径抖动仅限转换器。外部孔径抖动以均方根方式与内部孔径抖动相加。对于低频应用,抖动可能并不重要,但随着模拟频率的增加,由抖动引起的噪声问题变得越来越明显。如果不使用充足的时钟,性能将比预期要差。 除由于时钟抖动而增加的噪声以外,时钟信号中与时钟不存在谐波关系的谱线也将显现为数字化输出的失真。因此,时钟信号应具有尽可能高的频谱纯度。 孔径延迟是采样信号的应用与实际进行输入信号采样的时刻之间的时间延迟。此时间通常为纳秒或更小,可能为正、为负或甚至为零。除非知道精确的采样时刻非常重要,否则孔径延迟并不重要。 转换时间和转换延迟 是两个密切相关的技术指标。转换时间一般适用于逐次逼近型转换器(SAR),这类转换器使用高时钟速率处理输入信号,输入信号出现在输出上的时间明显晚于转换命令,但早于下一个转换命令。转换命令与转换完成之间的时间称为转换时间。 转换延迟通常适用于流水线式转换器。作为测量用于产生数字输出的流水线(内部数字级)数目的技术指标,转换延迟通常用流水线延迟来规定。通过将此数目乘以应用中使用的采样周期,可计算实际转换时间。 唤醒时间 ,为了降低功耗敏感型应用的功耗,器件通常在相对不用期间关断,这样做确实可以节省大量功耗,但器件重新启动时,内部基准电压源的稳定以及内部时钟的功能恢复都需要一定的时间,此时转换的数据将不满足技术指标。 输出负载 ,同所有数字输出器件一样,ADC,尤其是CMOS输出器件,规定输出驱动能力。出于可靠性的原因,知道输出驱动能力比较重要,但最佳性能一般是在未达到完全驱动能力时。 在高性能应用中,重要的是,将输出负载降至最低,并提供适当的去耦和优化布局,以尽可能降低电源上的压降。为了避免此类问题发生,许多转换器都提供LVDS输出。LVDS具有对称性,因此可以降低开关电流并提高总体性能。如果可以,应该使用LVDS输出以确保最佳性能。 未规定标准 ,一个至关重要的未规定项目是PCB布局。虽然可规定内容的不多,但它会显著影响转换器的性能。例如,如果应用未能采用充足的去耦电容,就会存在过多的电源噪声。由于PSR有限,电源上的噪声会耦合到模拟输入中,并破坏数字输出频谱,如图4所示。 图4a. 电容与性能 图4a. 电容与性能
  • 热度 7
    2014-12-9 11:44
    852 次阅读|
    3 个评论
    本文作者:陈德恒 一博科技高速先生团队成员   转载请注明!     “布线空间太小啦,内层走不下了,我走一些线去表底层吧。”   “不行,这个产品要过EMC检测的。”   “你看板子上已经密密麻麻都是线,好多都做到2W了,这还没绕线呢,实在不行要加到八层板了!”   “呃…好吧,那走一些去表底层吧,但是一定要保证时钟信号和DQS信号走内层,间距一定要做到3W以上,四面要包地,包地线地孔间距不能大于100mil……”   “……”   以上的对话大家应该都碰到过吧?确实在大量的工程实践中,时钟信号是最容易出问题的。特别是在过EMC的时候,只要有问题,第一反应就是时钟。   那除去时钟信号本身在系统中占的重要地位之外,到底是什么让时钟信号如此的金贵呢?   有一种说法是时钟信号的上升沿会比数据信号陡,事实是这样的吗?     让我们来看一下MT41J256M16V80A颗粒的情况,蓝色的是DQS信号,红色是DQ信号。两条曲线完全就是重合的啊,看来时钟信号的上升沿并不比数据信号的陡嘛。   那么问题出在哪儿呢?   我们知道,时钟信号是一个脉冲信号,而数据信号是伪随机码。在较长的时间轴上他们表现出来的形态是这样子的:     “时钟信号的上升下降沿比数据信号的多!所以它的干扰大。”   好吧,可以这样解释。但是“高速先生”是不会只满足于给出一个这样的结论的。   让我们把视角从时域转移到频域。将时钟信号和数据信号做傅里叶变换后:     是的,数据信号的频谱均匀分布在5倍带宽的频带上,而时钟信号的频谱则集中在信号的倍频处。   连续的几米高的浪花可以用来冲浪,而突然的一个十几米的浪,可就是海啸了。   嗨,为了让这金贵的时钟不要酿成海啸,“攻城狮”们只能跟他拼了。     “看得懂的高速设计”是一个自媒体品牌,由一博科技出品。我们用最浅显易懂的方式讲述高速设计的理论与案例。有问题,请微信与我交流,或回复本文。 微信公众号:一博_看得懂的高速设计
  • 热度 3
    2013-7-27 16:52
    749 次阅读|
    2 个评论
    From 1947 to 1992, the U.S. based Heath Company produced electronic kits for everything you can imagine: radios, TVs, computers, robots, ham gear, and electronic test equipment. Yes, you guessed it – they also produced kits for oscilloscopes ! My Grandpa purchased one such scope, the  Heathkit OR-1 , around 1960. He wanted to kick off a new career in electronics repair, and the ‘build-your-own-equipment’ approach to training was in full bloom at the time. Also, since this was before the era of cheap overseas manufacturing, he could buy a Heathkit far cheaper than an assembled scope. Heathkit OR-1 manual – a work of art Unfortunately, Grandpa’s electronics career never really took off. But decades later, he introduced me to his gorgeous oscilloscope, and boy – did that kick MY career off! Much later, the OR-1 came to live with me. The problem is, I have too many oscilloscopes. But I don’t have enough Oscilloclocks. What more fitting way to keep Grandpa’s legacy alive, than to retrofit his Heathkit? Special features Circle Graphics makes for smooth, graceful characters constructed entirely from lissajous figures! Never before has an oscilloscope looked so utterly delightful. The horizontal sweep frequency fine adjustment knob, conveniently located smack in the middle of the front panel, functions as the single control for the Oscilloclock. Eventually I might make an acrylic case, to show off not only the CRT but also Grandpa’s soldering prowess. In preparation for that, I’ve made sure that all the tubes (valves) still light up when you turn the original power switch on. What a beautiful scene!! The 5ADP2 CRT in the OR-1 is decidedly unattractive compared to other tubes I used in the Model 1 and the Prototype. It is also technically inferior, not having post-deflection acceleration. However, it has one redeeming feature – a P2 phosphor ! This phosphor gives just a hint of blue, and it has a simply divine after-trace of just the right length to create soft, flowing figures while still maintaining reasonable sharpness and clarity. The Oscilloclock boards are mounted on attractive acrylic back-planes and are easily accessible from the side and top. Image size and position adjustments can be made with the case on. The case can be easily removed to reprogram the clock: The OR-1 happened to have a trimmer control at the back, so I tucked this control inside the unit, leaving a nice big hole – perfect to mount the socket for the Garmin GPS unit . This baby never loses track of time! Like what you see? If you have a cherished oscilloscope that you wish to preserve in entirety , but also want to put to practical use in your workshop, office, coffee shop, or museum, converting it to an Oscilloclock is a nice idea! However, the conversion process depends heavily on the oscilloscope you have, and your preferred approach. There is no single ‘cookie-cutter’ step list, although the Oscilloclock boards are designed to be relatively flexible. In an upcoming post, I’ll highlight the key steps taken in converting the Heathkit OR-1. Subscribe and stay tuned! (http://oscilloclock.com/)    
相关资源
广告