0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于MX27处理器和CH7024芯片实现机载视频输出接口设计

电子设计 来源:现代电子技术 作者:薛敏彪,吴广伟,王 2020-03-07 08:04 次阅读

引言

无人机视频采集系统中,对于视频信号的要求比较高,采集到的模拟视频信号在ARM9处理器中经过A/D转换,视频压缩编码后通过无线传输到地面基站,通过视频编码芯片数字信号转换为模拟信号,输出到显示设备上。由于目前数字视频具有多种格式,然而,普通的视频编码模块的输入接口比较单一,不能很好地兼容多格式的视频输入信号,故输出的模拟信号抗干扰性和传输距离都不是太好。

针对上述问题,本文提出了一种基于Freescale的MX27处理器,以Linux 2.6.19为内核操作系统的多格式视频输入编码模块设计方案。硬件方面,以CH7024为主芯片进行电路板设计;软件方面,在Linux环境下,根据芯片的特点,编写相应的驱动程序和寄存器配置。通过加载驱动程序,将不同格式的数字视频信号转换为CVBS复合视频信号,相比其他的模拟视频输出信号,CVBS复合视频信号将亮度、色度、同步和色彩脉冲信息整合到一根电缆内,具有传输距离远,抗干扰能力强等优点。

1、 设计方案

1. 1 系统硬件结构

硬件连接如图1所示,将MX27中LCD控制器输出的标准数字视频信号(包括像素数据LD[17:0]、像素时钟LSCLK,行同步信号LP/HSYNC、场同步信号pLM/VSYNC,数据使能信号ACD/OE)接入CH7024的数字输入接口。此外,将MX27中I2C控制器的SPC,SPD线直接与CH7024相应的信号线连接。

基于MX27处理器和CH7024芯片实现机载视频输出接口设计

1.2 视频输出接口设计

由于以前的芯片输入数据只有16位,接口兼容性不好,而选择的CH7024有24位视频数据信号线,可接收不同的数据格式,包括RGB和YC-rCb(如RGB565,RGB666,RGB888,像ITU656的YCrCb),可接收24b/18b/15b/12b/8b等多路复用数字输入。为了能在系统运行出现故障时方便地进行复位,设计中添加了人工复位电路,这也是以前芯片所没有的。应用CH7024芯片设计的编码器,具有很好的兼容性和通用性,所以选择用CH7024主芯片进行设计。

CH7024视频编码芯片的输入接口最多能接收到的视频信号位数为24位,输入格式为RGB888。这样RGB每个通道用8 b来表示,但是对于RGB 666和RGB565等格式的视频信号就涉及到每个通道用几位来表示某个颜色的问题。对于RGB666来说,每个通道用6b来表示;对于RGB565来说,R和B每通道用5 b表示,G通道用6 b表示。对于RGB666和RGB565格式的视频信号,在设计中芯片上的24位数据线分配情况如图2所示。通过对相关寄存器的配置,实现对不同格式视频信号的接收,使其具有较好的兼容性。该方案是以MX27处理器为平台进行设计的,MX27输出的视频信号为18位数据,这样MX27处理器发出的RGB666和RGB565格式的视频,都能通过该方案设计的编码器进行编码。

基于MX27处理器和CH7024芯片实现机载视频输出接口设计

2、 视频编码器软件设计

2.1 I2C总线

I2C总线是一种两线式串行总线,用于连接微控制器及其外围设备。由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和器件引脚的数量,降低了互联成本。I2C总线可支持多主机控制,其中任何能够进行发送和接收的设备都可以成为主控端。

I2C总线的串行总线由数据线SDA和时钟SCL构成,可用于发送和接收数据,并可在CPU与被控IC之间、IC与IC之间进行双向传送。在数据传送过程中共有3种信号,分别是开始信号、结束信号和应答信号。其中,开始信号是在SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据;结束信号是在SCL为低电平时,SDA由低电平向高电平跳变,结束传送数据;应答信号是接收数据的IC在接收到8 b数据后,向发送数据的IC发出特定的低电平脉冲,表示己收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况判断是否继续传输信号。若未收到应答信号,则认为受控单元出现故障,如图3所示。

基于MX27处理器和CH7024芯片实现机载视频输出接口设计

2.2 视频数据的传输

在该设计中,视频数据经过MX27处理器后转换为RGB输送到LCDC中,通过CH7024输入接口接收数据,数据传输的方式如图4所示。当场同步信号(VSYNC)产生低电平时,说明新的一帧数据需要采集,这时采集到的是有效视频信号;当场同步信号再次产生低电平时,一帧数据采集完成,等待进入下一帧数据的采集。在场同步信号之间有n行数据,现以其中一行数据来分析,只要开始采集和采集完一行数据就会产生行同步信号(HSYNC),当行同步信号产生低电平时,说明要采集的一行为有效数据,在等待中断采集;即当OE为下降沿时,开始采集一行数据;当OE变为上升沿时,一行数据采集完毕。图中给出的LINE[1:n]是说一帧图像有n行,每行有m个像素,也就说一帧图像的大小为n×m。

基于MX27处理器和CH7024芯片实现机载视频输出接口设计

2.3 寄存器配置

在完成对CH7024的硬件电路设计后,需要在软件上对相应的寄存器进行配置,在CH7024.C驱动程序中将相应寄存器地址后面的值进行配置,如视频输入格式、输出格式、分辨率大小等。CH7024寄存器的初始化相关程序代码如下:

基于MX27处理器和CH7024芯片实现机载视频输出接口设计

2.4 驱动程序编译加载

由于应用环境是在Linux操作系统下,开发板中用的是Linux 2.6.19内核,在内核中并没有CH7024相关的驱动模块,这就需要把编写好的驱动程序加载到内核中,生成需要的模块形式,重新编译内核,下载到开发板上。

向内核中添加TVOUT CH7024驱动的流程如下:

基于MX27处理器和CH7024芯片实现机载视频输出接口设计

基于MX27处理器和CH7024芯片实现机载视频输出接口设计

至此,修改完毕。此时可以使用make menuconfig。出现内核配置的窗口如图5所示。

基于MX27处理器和CH7024芯片实现机载视频输出接口设计

选择device drivers→graphics support可以看到,出现了TVOUT CH7024 driver support→选项,进入选择“M”,即将驱动程序编译成动态加载模块,然后通过“make modules”命令生成了CH7024.ko文件。将CH7024编码器的输入端连接到PC机,输出端连接到监视器上,上电后,将生成的模块文件由超级终端下载到开发板上,在终端中用insmod CH7024.ko加载驱动。CH7024.ko驱动加载时,会通过I2C读CH7024的寄存器信息,并打印它的ID号“Chip version ID(0x22)=0x22”,如果等式右边的值与左边括号里的值不等,则说明I2C有问题,或者没有加载其驱动,TVOUT则不能正常工作。在I2C正确的情况下,加载相关视频采集驱动程序,通过CCD摄像头采集到的视频就能在监视器上看到。

3、 结果分析

在实验中该方案能够通过摄像头采集视频数据,并能在监视器上实时看到采集的视频图像。由于输入接口设计成了接收不同格式的视频信号,使其能够接收多种格式的视频信号,编码器不用更改硬件,只需要在软件方面做相应的修改就能实现不同格式视频的接收。

4、 结语

通过对视频编码芯片的软硬件设计,使CH7024芯片能够接收多种格式的视频信号,由于CVBS信号传输距离远,抗干扰性强,将不同格式的视频信号转换成CVBS复合视频信号。随着技术的发展,处理器芯片的输出视频数据为24位,该设计的编码器也能应用,节省设计成本,缩短开发周期,具有一定的实用性。

责任编辑:gt


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19275

    浏览量

    229752
  • 芯片
    +关注

    关注

    455

    文章

    50771

    浏览量

    423406
  • Linux
    +关注

    关注

    87

    文章

    11302

    浏览量

    209422
收藏 人收藏

    评论

    相关推荐

    图文详解基于ARM9的MX27嵌入式视频传输开发系统

    i.MX27 是飞思卡尔推出的基于ARM926核心IP的多媒体微处理器,是i.MX21的升级版。作为嵌入式系统的优秀芯片i.MX27已经被广
    发表于 04-22 17:54

    MX27 MDK1开发板介绍

      i.MX27 是飞思卡尔推出的基于ARM926核心IP的多媒体微处理器,是i.MX21的升级版。作为嵌入式系统的优秀芯片i.MX27
    发表于 06-22 13:15

    MX27 MDK1开发板介绍

    推出基于i.mx27的多媒体应用开发平台i.mx27 MDK1被广泛应用于视频传输领域!i.MX27 是飞思卡尔推出的基于ARM926核心IP的多媒体微
    发表于 07-10 14:13

    MX27 MDK1开发板介绍

      i.MX27 是飞思卡尔推出的基于ARM926核心IP的多媒体微处理器,是i.MX21的升级版。作为嵌入式系统的优秀芯片i.MX27
    发表于 08-03 14:43

    [原创]MX27 MDK1产品介绍

      i.MX27 是飞思卡尔推出的基于ARM926核心IP的多媒体微处理器,是i.MX21的升级版。作为嵌入式系统的优秀芯片i.MX27
    发表于 11-12 09:31

    I.MX 6处理器介绍

    I.MX 6处理器介绍目录 [隐藏] 1简介1.1高能效解决方案简介2概述2.1i.MX 6Quad/6DualLite/6Solo2.2i.MX 6QuadPlus2.3i.
    发表于 07-25 17:32

    I.MX 6处理器介绍

    I.MX 6处理器介绍目录 [隐藏] 1简介1.1高能效解决方案简介2概述2.1i.MX 6Quad/6DualLite/6Solo2.2i.MX 6QuadPlus2.3i.
    发表于 11-05 17:47

    SEP3203处理器的FPGA数据通信接口设计

    out_FPGA_rd信号来采集FIFO输出的数据。 4 SEP3203与FPGA的数据通信接口设计数据经FPGA做算法处理后,由SEP3203处理器将结果存储到片外SDRAM中,SD
    发表于 12-05 10:13

    实现PXA255处理器与CF卡的接口设计

    和高性价比等优点,十分适合嵌入式系统的应用。因此,可选择CF卡作为地理信息数据的存储载体。PXA255处理器提供了PCMCIA/CF卡控制,可以方便地实现PXA255处理器与CF卡的
    发表于 04-08 09:36

    SEP3203处理器实现FPGA数据通信接口设计

    FPGA处理数据的时间,所以整个系统实现了流水线操作。1 系统的总体设计系统硬件主要由信号采集模块、FIFO、FPGA和SEP3203处理器组成。信号采集模块主要包括信号接收和A/D
    发表于 04-26 07:00

    一种基于Freescale的MX27处理器的嵌入式机载视频输出接口设计

    基于Freescale的MX27处理器,以Linux 2.6.19为内核操作系统的多格式视频输入编码模块设计方案。硬件方面,以CH7024为主芯片
    发表于 06-12 05:00

    全球首发飞凌搭载i.MX 9352处理器的核心板

    9352处理器常用的功能接口引出,且具备丰富的外设接口资源,兼具强大易用性和泛用性,可以轻松拓展出丰富功能。视频显示与摄像头资源接口丰富​
    发表于 12-28 10:27

    CH7023/CH7024视频输出芯片使用手册

    CH7023/CH7024视频输出芯片使用手册 mp5经常用到!
    发表于 03-08 14:38 114次下载

    MCIMX27EC的mx27内部功能模块

    MCIMX27EC的mx27内部功能模块
    发表于 11-01 08:20 4次下载
    MCIMX<b class='flag-5'>27</b>EC的<b class='flag-5'>mx27</b>内部功能模块

    Freescale I. MX27的TI电源管理解决方案

    本文档详细说明了电压、电流和排序要求。FreescaleI. MX27处理器及其如何使用TPS65053供电。
    发表于 05-21 09:34 8次下载
    Freescale I. <b class='flag-5'>MX27</b>的TI电源管理解决方案