基于FPGA与DDR3缓存的PAL制式图像源产生模块设计与实现

2018-12-10 05:55杨文豪倪文龙钱宏文
实验室研究与探索 2018年11期
关键词:制式时钟编码

杨文豪, 倪文龙, 付 强, 孙 舟, 郭 奇, 钱宏文

(中国电子科技集团公司第58研究所, 江苏 无锡 214035)

0 引 言

产品环境试验是为保障和提高军品环境适应性的重要环节,产品需要经过诸如高低温、振动、冲击、老练、压力等一系列标准化测试,才能够保证使用过程中的可靠稳定[1-2]。为了简化研制试验过程中的测试方法,提高测试效率,针对某图像控制器研制了专用的测试模块,该模块能够并行输出4路电视广播制式(Phasc Alteration Line, PAL)图像,并实现多台设备的同时测试。

1 方案设计

某图像控制器能够将4路PAL制式摄像头采集的图像数据实时拼接,实现广角成像。辅助其完成各种环境测试的图像源发生模块通过RS-232接口与上位机通信响应各种控制命令,控制核心采用SPARTAN-6 XC6SLX150型可编程门控阵列(Field-Programmable Gate Array, FPGA)器件,用于暂存图像源的存储器选用16 Meg×16×8 Banks型DDR3-SDRAM缓存芯片MT41J128M16,PAL制式转换接口芯片选用低功耗、全集成、10位标清/高清视频编码器ADV7393。通过SD卡预先存储图像源数据,系统工作时,将图像源在DDR3-SDRAM中的4个地址空间分区缓存,经过ITU-RBT.656编码输出到ADV7393的数字输入端口,最终以PAL制式输出到待测产品的复合同步视频广播信号(CVBS)接口,测试模块同时具有实时监控产品的摄像头供电电压等功能。图像源发生模块的功能框图如图1所示。

图1 图像源发生模块的功能框图

2 PAL制式图像源产生

2.1 PAL制式图像配置

PAL是一种720×576分辨率,25帧/s,隔行扫描的电视广播制式[3]。ITU-RBT.656数据接口标准的数据格式为8位的YUV422 格式的复合视频码流,内部包含场同步信号和行同步信号。采用ADV7393实现标清格式下8位ITU-RBT.656编码输入,PAL制式数据输出。ADV7393的标清PAL输出模式通过IIC总线配置实现,配置内容如表1所示。

表1 ADV7393寄存器配置

2.2 ITU-RBT.656格式编码

在ITU-RBT.656标准中,图像数据包含场(Field)、行(Line)、起始(SAV)、结束(EAV)等标识,一副图像称为一个场,场包含625行,分为垂直消隐顶场(First Vertical Blanking)、有效数据行(Active Video)和垂直消隐底场(Second Vertical Blanking)3部分。PAL制式为隔行扫描方式,有效数据区分为奇偶两个部分:奇场存放有288行奇数行效数据,偶场存放288行偶数行效数据,其余行即垂直消隐信号[4]。一行有1 728个像素,由EAV、SAV、水平消隐(Horizontal Vertical Blanking)和有效数据(Active Video)4个部分组成,其中有效数据包含720列Y,720列Cb和Cr,按照Y-Cr-Cb-Y的形式编码,消隐数据由80H/10H来填充。EAV和SAV的4个字节的格式规定(以16进制表示)为FF 00 00 XY,其中,前三个字节为固定为FF 00 00,而第4个字节(XY)是根据场、消隐信息而定,内容如表2所示。

表2 XY含义

将YCrCb格式数据在FPGA中按照ITU-RBT.656格式编码,流程如图2所示。

图2 ITU-RBT.656编码流程图

编码开始后,图像按照ITU-RBT.656标准进行填充显示[5],其中:H_TOTAL_SIZE、 V_TOTAL_SIZE 分别为总幅高(1728)和总幅长(625);Pixsel为水平像素点;Line为行数。当前显示顶场或底场时,每行像素按照SAV、有效数据、EAV和辅助消隐数据顺序填充,当前显示为消隐场时,有效数据填充消隐数据80H/10H[6]。

3 4路PAL图像输出设计

3.1 并行输出设计

依托于MIG核,本设计由用户接口实现DDR3-SDRAM缓存图像的分区存储与并行输出控制[7]。系统上电完成后,FPGA完成配置以及ADV7393、SD卡、DDR3等模块的初始化,即进入图像源缓存输出流程。4个图像源分区缓存在DDR3-SDRAM后,采用突发的方式依次读取每个图像缓存区域中同一偏移地址数据,每完成一次突发操作,区域地址跳转到下一区域,当4路图像源地址读取完毕后,偏移地址自增一个突发长度,进行下一轮的读取[8-9]。与此同时,BT.656编码模块通过读取FIFO中缓存的数据完成编码并将数据通过ADV7393的数字接口输出,即实现了4路PAL制式同步输出。DDR3控制流程如图3所示[10]。

图3 DDR3缓存输出控制流程

ADV7393的控制时钟为27 MHz,要实现4路图像的同步输出,则DDR3对图像源的读取速率不得低于四路图像源的总数率,即4×27 MHz×8 bit=108 MB/s。

FPGA需要为DDR3缓存提供双边沿时钟sysclk,设置DDR3 的时钟频率为312.5 MHz,FPGA系统输入时钟为50 MHz,通过PLL_ADV产生25倍频再8分频得到312.5 MHz的上边沿CLKOUT0和下边沿CLKOUT1。对于物理接口为16位的DDR3缓存器,由于采用了128位用户接口,用户自定义时钟user_clk定义为:

user_clk>= (16/128)×sysclk/2=0.125sysclk

据此,将分频倍数设置为8,即用户时钟设置为625/8=78.125 MHz。为避免FPGA逻辑的复杂时序和综合时的问题,用户读写接口也设置为同源时钟。

DDR3的用户接口可设置突发长度为1~64个,为实现四路数据零等待持续输出,在78.125 MHz的用户时钟下设置突发长度为3,考虑DDR3控制命令、突发读取潜伏期等因素,状态机占用30个时钟完成一次3×128 Bit=48 Byte的突发数据传输,可得:48 Byte×78.125 MHz/30=125 MB/s>108 MB/s,即写入速率大于图像源的读取速率。采用等时轮转的方式依次读取4个图像的地址信息,将DDR3存储空间的图像地址按照基地址加偏移地址的方式访问:

pic_addr<=pic_base_addr_x+pic_offset_addr

数据地址轮转一周期后使偏移地址自增48(3个突发长度),图像源数据读取的同时将数据分别输出到4组FIFO。图像并行输出逻辑框图如图4所示[11-12]。

图4 图像并行输出逻辑框图

3.2 隔行扫描处理

由于标准PAL制式是隔行扫描的,需要按照先奇场后偶场的顺序编码输出,因此需要对寄存在DDR3存储器中的图像源进行先奇后偶隔行抽取读入缓存,才能实现正确显示[13-14]。BT656标准下有效数据为1 440×576 Byte,发送一行数据需要1 440/48=30次传输,当每发送完一行数据即完成30次读取时需要地址增加1 440完成隔行跳转,当一副图像的所有奇数行读取完毕,地址转跳到偶数行起始地址开始隔行读取,当一副图像读取完成,地址跳转到下一幅图像的起始地址[15]。

4 测试与验证

通过chipscope抓取的DDR3-SDRAM切换操作时序图如图5所示,4路FIFO的写使能与DDR用户接口的读使能c3_p0_rd_en同步,c3_p0_cmd_en置位设置好突发长度、地址等信息后,c3_p0_rd_en置高,DDR地址按4个图像源存放顺序依次跳转,每周期后地址增加一个突发读取长度。将CVBS接口与PAL显示器连接,第1路图像如图6所示。依次连接4路得出各路图像可以独立输出。

图5 DDR3-SDRAM切换操作时序图

图6 单路PAL显示

5 结 语

本设计以SPARTAN-6 XC6SLX150为控制核心,结合ITU-RBT.656编码与DDR3-SDRAM并行输出的方式实现4路PAL制式图像的同步显示。目前该模块已经成功应用于某图像控制器的环境试验验证环节,在此基础上进行系统测试,简化测试环境,提高了测试效率,通过对图像输出的CVBS接口扩展,可以产生多组4路PAL制式图像输出,进而实现对多台产品的并行测试。

猜你喜欢
制式时钟编码
别样的“时钟”
基于SAR-SIFT和快速稀疏编码的合成孔径雷达图像配准
古代的时钟
《全元诗》未编码疑难字考辨十五则
子带编码在图像压缩编码中的应用
Genome and healthcare
我国铁路下一代移动通信系统制式及演进探讨
有趣的时钟
时钟会开“花”
制式多样化梦想渐近