版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第页Zynq高速串行CMOS接口的设计与实现
现在CMOS(传感器)的分辨率越来越大,对应的,对数据传输(接口)的要求也越来越高。根据熊猫君有限的实现和调试经验,基本上遇到了:
①多通道HiSPi接口:主要是Aptina(现已经被(安森美)收购),常用的有1080P60的AR0331(3.1M),3664×2748P15的MT9J003,3984×2712P80(开窗输出最高可达1200fps)的AR1011等;
②多通道LVDS接口:主要有索尼系列、安森美的(Python)系列、国产如长光辰芯和德国viimag(ic)系列等,至少熊猫君用过的IMX172/IMX122/IMX185/
IMX236、安森美Python全系列和VII9222等都是LVDS输出;
③MI(PI)接口:多用于(手机),一些监控用的CMOS如SonyIMX185、OV14810等也带;
④CCIR656:一般低分辨率的会带CCIR656接口,也有一些厂家的高分摄像头也带,比如OV14810;
⑤并行接口:较早设计的CMOS许多都是直接并口输出,比如Aptina的MT9M031、MT9J003都带有并口输出;
熊猫君在这里想讨论的是前三种接口的实现,它们是业界应用最广泛而且对(FPGA)资源有着共性要求。
无论是HiSPi、LVDS还是MIPI,其核心思想就是要实现将高速串行(信号)恢复成并行数据。这将会用到XilinxFPGAIOB上的一个重要的资源——ISERDES。
实现串行信号的并行化,光有ISERDES还不行,还需要用到IOBANK上的延时模块IDELAYCTRL和IOB上的IODELAYE以及相关的相位训练(算法)。
1Xilinx的IO资源本节对用到的IO资源作简要的介绍。
1.1IDELAYCTRL资源
在电压、温度等因素变化时,可能会影响到系统的时序,此时IDELAYCTRL模块就可以连续补偿(时钟)域内所有个体的delaytaps(IDELAY/ODELAY)。如果使用了IOB上的IDELAY或ODELAY资源,那么就必须使用IDELAYCTRL资源。请注意,整个IOBANK里面只有一个IDELAYCTRL。
IDELAYCTRL很重要的一个输入项就是参考时钟REFCLK,补偿时钟域内所有模块的时序参考,这个时钟必须由BUFG或BUFH驱动。REFCLK必须保证在FIDELAYCTRL_REF+IDELAYCTRL_REF_PRECISION(MHz)ppm才能保证IDELAY/ODELAY的延时分辨率:
((TI)DELAYRESOLUTION=1/(32x2xFREF))
1.2IDELAYE2逻辑
IDELAYE2逻辑是一个31抽头的循环延时补偿模块,对输入的信号进行指定分辨率的延时,FPGA可以直接访问。Tap延时分辨率由IDELAYCTRL的参考时钟提供持续补偿。图(1)是IDELAYE2接口示意图,表(1)是对这些接口的描述,表(2)是对逻辑参数的描述。
图(1)IDELAYE2****接口示意图。
表(1)IDELAYE2****接口描述
表(2)IDELAYE2****逻辑参数描述
以下以VAR_LO(AD)模式为例说明延时的时序动作,如图(2)所示。
图(2)延时时序动作模型
a)ClockEvent0:
在LD有效前,CNTVALUEOUT输出为未知值;
b)ClockEvent1:
在C的上升沿采样到LD有效,此时DATAOUT延时CNTVALUEIN指定的延时Taps,改变tapSetting到Tap2,CNTVALUEOUT更新到新的Tap值;
c)ClockEvent2:
INC和CE有效,此时指定了增量操作,Tap值加1,DATAOUT输出从Tap2更新到Tap3,CNTVALUEOUT更新到新的Tap值;
d)ClockEvent3
LD有效,DATAOUT输出延时更新到Tap10,CNTVALUEOUT更新到新的Tap值。
1.3ISERDESE2逻辑
输入串转并逻辑可以看做是OSERDESE2的逆过程,在(SD)R模式下可支持2-、3-、4-、5-、6-和7-的串并转换,在(DDR)模式下可支持2-、4-、6-、8-的串并转换,级联DDR模式下还可扩展到10-和14-。每一个ISERDESE2包括:
a)专门的串并(转换器);
b)Bitslip子模块用于源同步接口;
c)专用的可支持strobe-based的存储接口。
图(3)是ISERDESE2的结构示意图。表(3)是ISERDESE2接口描述,表(4)示ISERDESE2的参数描述。
图(3)ISERDESE2****结构示意图
表(3)ISERDESE2
表(4)ISERDESE2的参数描述
(1)时钟方案
CLK和CLK_DIV必须是严格对齐的时钟,虽然允许使用BUFIO/BUFR,但任然有可能存在相位问题。图(5)时采用BUFIO/BUFR的方案。
图(5)采用BUFIO/BUFR****的时钟方案
一般的,根据接口类型的差异,时钟必须满足以下的约束:
①netw(or)kinginterface
a)CLK→BUFIO;CLKDIV→BUFR;
b)CLK→MMCM/PLL;CLKDIV→和CLK相同的MMCM/PLL的CLKOUT[0:6]的输出,使用MMCM时CLK和CLKDIV必须使用相同的驱动BUF;
c)CLK→BUFG;CLKDIV→BUFG。
②MEMORYInterfaceType
a)CLK→BUFIO,OCLK→BUFIO,或CLKDIV→BUFR;
b)CLK→MMCM或PLL,OCLK→MMCM,或CLKDIV由同一个MMCM/PLL的CLKOUT[0:6]驱动;
c)CLK→BUFG,CLKDIV→不同的BUFG。
OCLK和CLKDIV的输入相位必须是严格对齐的,CLK和OCLK之间不要求相位关系。FromCLKtoOCLK的时钟域必须进行补偿。
其他接口类型的时钟方案参考文档UG471。
(2)BitSlip子模块
BitSlip用于调整并行(寄存器)输出串行数据的位置。在SDR模式下,每一个BitSlip脉冲让输出pat(te)rn的数据左移1bit;在DDR模式下,第一个BitSlip右移1bit,第二个BitSlip左移3bit,依次进行,移动规律如图(6)所示。BitSlip一定是和CLKDIV同步的一个脉冲。
图(6)BitSlip****训练移位规律
在上面所介绍的资源中,IDELAYE2是动态相位对其训练的神器,ISERDESE2实现串并转换,其Bitslip功能是实现并行化数据对齐的关键。
2LVDS高速接口实现实例因为MIPI接口有其完整的物理层协议,因此不在这里讲具体实现,本文以Sony的IMX122CMOS为例,聊一聊高速LVDS(HiSPi类似,只是电平标准有一点区别)接口在Xilinx7系列FPGA和ZynqSoC上的实现。
2.1需求分析
以SonyIMX122CMOS为例,配置在1080P分辨率可输出30fps。CMOS在初始化完成后输出两通道稳定的LVDS数据,LVDS接收模块在收到配置完成信号后开始工作。因此,这个LVDS接收模块需要实现:
①CMOS工作在Slave模式下,向CMOS发出参考时钟(INCK)、行同步(XHS)、帧同步(XVS)信号;
②接收LVDS数据并将它恢复成为指定的图像数据格式;
③提供测试信息接口。
2.2IMX122CMOS输出特性
本小节简介IMX122CMOS的一些特性。
2.2.1同步时序要求
在Slave模式下需要向CMOS提供周期稳定的XHS和XVS信号,两者的时序要求如图7所示。在产生同步时序时需要注意以下要点:
①XVS和XHS必须是稳定的周期性信号;
②XVS和XHS信号的低电平保持时间为4~100个INCK;
③XHS可以和XVS同时拉低,也可延时一个时钟周期拉低。
图7Slave模式下同步时序
2.2.2输出数据率
在串行SDRLVDS模式下以12bit模式输出,数据率为891Mbps,每个通道的数据率为445.5Mbps。
2.2.3SyncCode格式
在串行输出模式下,CMOS通过输出固定的SyncCode来指示图像的有效帧、行信息,(接收器)需通过查找这些SyncCode来恢复图像。IMX122可提供两种模式的SyncCode,这里配置为SyncCode1,其具体定义如图8所示。
图8IMX122SyncCode定义
2.2.4输出图像组织形式
IMX122在1080P读出模式下,输入参考时钟INCK是37.125MHz。一帧图像输出固定为1125行,每行1100INCK(29.63μs),有效输出为1984×1105。图像输出的时序如图9所示,图10是输出数据编码规则。
图9IMX122LVDS模式输出时序
图10IMX12212-bit2通道输出编码格式
2.3设计思路和模块结构
Slave模式下工作的CMOS在XVS和XHS的同步下按照固定时序稳定输出LVDS图像数据。LVDS串行数据按照一定的方式进行编码,接收模块应先将串行数据解码恢复成为并行数据,再根据数据的排列方式格式化输出。因此,整个模块可以划分为时序同步、LVDS接收解码(串转并)和数据格式化输出三个部分。整个LVDS接收模块的结构如图11所示。
图11LVDS接收模块顶层图
①CMOS输入参考时钟(INCK)为37.125MHz;
②CMOS输出LVDS数据为445.5MHzSDR型;
③时序发生器由74.25MHz发生30fps的XVS、XHS信号;
④LVDS数据接收解码模块将数据恢复为8bit@55.6875MHz并行格式(DATA[7:0]);
⑤格式化输出模块通过搜索同步头的状态确定是否发出bit_slip,并根据CMOS的数据格式和同步信号格式化输出12bit@74.25MHz像素数据(PIX_DATA[11:0]);
⑥IDELAYCTRL以Ref_clk为基准对整个IOBANK进行输入延时控制。
2.3.1时序同步
同步时序由内部74.25MHz计数产生。按照图7所示时序即可。
2.3.2LVDS接收解码
LVDS接收的主要工作是将串行的数据转为并行数据并进行自动相位调节,移位寄存器抽头调整(Bitslip)。XilinxArtix7系列FPGA提供串转并模块ISERDES和IO延时模块IODELAYE2,ISERDES性能可在415Mb/s~1200Mb/s之间,IODELAYE2的延时参考时钟可以是200MHz(1tap≈78ps)或300MHz(1tap≈52ps)。
(1)Artix7FPGA时钟特性
在Artix7系列器件里,MMCM可驱动BUFIO、BUFR、BUFH和BUFG,PLL只能驱动BUFH和BUFG。ZYNQ-7020采用Artix7Speed-1器件,时钟网络的最高性能如下表5所示。
**表****5Artix7Speed-1**器件时钟性能
(2)LVDS接收时钟选择
①LVDS解码串行参考时钟选择
从表1可以知道,采用BUFG最高时钟性能为464MHz。IMX1221080P串行模式下两通道LVDS每通道的输出数据率为445.5Mbps(SDR),接近BUFG的极限值,因此这里作一个变通处理,使用222.75MHz时钟按照DDR****方式对串行数据进行采样。
②IODELAYE2延时参考时钟选择
延时参考时钟选择的原则是在LVDS数据时钟周期内,可调节的Tap数尽量的多。IMX122输出的数据周期为2.245ns,调节一个周期采用200MHz参考时钟需要28taps,采用300MHz参考时钟需要43个Taps,而IODELAYE2的调节Tap数为0~31,故只能**选择****200MHz**的参考时钟。
(3)LVDS数据接收模块时钟
因CMOSIMX122不输出LVDSbit时钟,FPGA使用内部时钟来接收解码LVDS数据。如图12所示,与LVDS相关的时钟由同一个MMCM产生以保证其相位的一致性。其中:
①37.125MHz,为CMOS工作参考时钟;
②55.6875MHz,提供给IODELAYE2.C、ISERDES2.CLKDIV、补偿状态机及解码后的字节数据参考时钟;
③74.25MHz,产生30fps的CMOS同步参考时序和12bit像素参考时钟;
④222.75MHz,以DDR模式接收的DDR位参考时钟;
图12LVDS数据接收模块结构
IMX122输出两路LVDS数据,每个通道的接收逻辑相同,对每一通道而言,数据流路径如下:
a)LVDS差分对通过IBUFDS_DIFF_OUT,得到位数据(记为Master)及与其反相的数据(记为Slave);
b)Master和Slave分别进入各自的IODELAYE2和ISERDES2得到各自的并行数据送到补偿算法状态机进行动态相位调整并反馈各自的延时值到IODELAYE2。根据IMX122的LVDS编码特点,ISERDES2按照1:8作串并转换最为合适;
c)数据格式化输出模块根据查找SyncCode的情况调整bitslip;
d)补偿模块根据数据调整的情况输出解码后的8-bit并行数据。
2.3.3动态相位补偿
动态相位补偿原理如下:
①初始化时,Master数据延时假定设为数据眼图的中间位置,Slave和Master的延时相隔半个数据周期。
②在Master和Slave的数据不全为零或不全为壹时启动动态相位补偿算法。相位补偿的基本原理是:如果Master和Slave采样到的数据相同,则说明采样太靠后,延时减少一个Tap(如图13[a]);如果Master和Slave采样到的数据不同,则说明采样点太靠前,延时增加一个Tap(如图13[b])。
图13采样点延时示意图
③如果延时Tap值为最小或最大位置时,则交换Master和Slave的的参考关系,同时输出数据作相应调整;
2.3.4数据格式化输出
该模块的工作是将收到
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年防火防灾教案
- 乡镇财务全面审计制度
- 互联网安全教育培训制度
- 人事行政绩效考核制度
- 代理财务管理规章制度
- 企业审计监察管理制度
- 企业选人用人规章制度
- 保卫教育培训制度
- 信息绩效考核制度
- 健康教育培训学习制度
- 2026年中国(滨州)航天文化体验中心公开招聘工作人员(13人)笔试备考试题及答案解析
- 2026年无锡城市职业技术学院单招职业技能考试题库带答案详解
- 2025-2026学年人教版三年级数学第二学期教学计划及进度表
- 安徽商贸单招2026校考真题
- 第三章 开展社会工作服务应重点掌握的相关政治理论 社会工作综合能力(初级)
- 印刷操作员操作知识模拟考核试卷含答案
- 2025-2026学年六年级美术下册教学设计
- 2025年山东铁投集团社会公开招聘59人笔试参考题库附带答案详解
- 限额以下小型工程常见安全隐患指导手册(2026版)
- NLRP3炎症小体激活与细胞焦亡的信号关联
- 公路养护工节假日后复工安全考核试卷含答案
评论
0/150
提交评论