教育房产时事环球科技商业
投稿投诉
商业财经
热点动态
科技数码
软件应用
国际环球
晨报科学
新闻时事
信息智能
汽车房产
办公手机
教育体育
生活生物

接口转换器(电脑网络转换器接口)

  接口转换器(电脑网络转换器接口)福州大学物理与信息工程学院的研究人员张林铮、叶宇煌、黄荣铭,在2019年第8期《电气技术》杂志上撰文指出(论文标题为"基于STM32视频接口转换器的设计与实现"),目前我们处在一个视频大爆炸时代,各种新兴视频技术如雨后春笋般出现,形成多种视频接口标准共存的局面,因此视频接口的兼容性成为一个突出问题。
  本文提出一种基于STM32,结合高速视频处理芯片对HDMI接口的4K视频流实时转LVDS接口的方案,并选用不同格式的码流进行测试验证。经过测试,该方案能实现音视频数据流的分离输出,同时支持音视频参数变换,达到预期设计要求,为超高清数字电视的推广推波助澜。
  随着视频技术的高速发展,人们对视频质量的要求也越来越高。从最初的黑白或者彩色模拟视频,到现在主流的高清1080p、以及正在推广的超高清4K数字视频,各种新技术不断的出现,形成了多代设备、各种技术标准共存的局面。
  在享受各种视频的同时,不同的设备也给人们的工作和生活带来了很多不便。通常一种设备支持的视频接口有限,如果视频接口不匹配,就会造成诸多问题,严重影响用户体验。因此本文设计的视频接口转换器的解决方案具有重要意义。
  1 转换器及接口简介
  接口转换器顾名思义就是能够实现不同视频接口之间的对接匹配,将一种视频接口标准的视频信号转换成为另外一种视频接口标准信号,转换过程中还可以实现视频分辨率、色彩空间、色深等转换,以满足不同设备对视频信号的要求。本文主要实现HDMI接口转LVDS接口,音频输出选用I2S接口协议,系统控制选用了I2C接口来控制专用芯片。
  HDMI接口是一种支持高质量的高速传输高清视频和多声道数字音频数据的专用数字化接口,带有数字视频版权保护功能(HDCP)。目前通用的HDMI 2.0接口标准相比于上代HDMI1.4标准增强了对4K视频的支持,线缆速率由10.2Gbit/s增加到18Gbit/s,能够支持RGB 4:4:4的4K@60Hz的视频传输。
  LVDS接口是一种低电压的差分信号传输模式,也是一种电平标准,它可以让信号在差分PCB线或者平衡电缆上面以几百Mbit/s的速率传输,具有低电压、低功耗、低噪声、高速传输等特点。
  I2S总线是飞利浦公司定制的音频数据传输的一种总线标准,它采用三线制,由位时钟线(SCK)、声道选择线(WS)、串行数据线(SD)组成。该接口将数据信号和时钟信号分开传输,避免由于时差造成的失真。2 系统硬件框架
  视频接口转换器的实现是通过STM32主控模块来控制视频专用芯片实现输入HDMI信号转换成一路视频信号(LVDS信号)和一路音频信号(I2S信号),同时STM32检测端口输入视频格式信息,并在LCD屏幕上面显示出来,并检测按键输入情况,根据输入指令配置视频专用芯片的输出音视频格式和选择输出的接口,STM32通过I2C接口实现与视频专用芯片通信。
  该系统由交互部分、STM32主控部分、视频处理芯片部分、输入输出部分组成,系统整体框图如图1所示。
  图1 系统整体框图
  系统的主控主要是对视频处理芯片进行一些初始化寄存器配置,检测按键输入和视频输入信号格式,获取相关数据进行判断,根据输入要求进行配置芯片输出。所以选用ST公司的STM32F103系列芯片作为本系统主控。
  该系列芯片是基于Cortex-M3内核的32位嵌入式处理器,而RBT6属于该系列中容量芯片,片内Flash为128kB,片内SRAM为20kB,系统主频可以达到72MHz,具有丰富的外设资源,满足本系统设计需求,并选用I2C2(GPIOB.10、GPIOB.11)接口作为芯片控制通信接口。
  系统的输入输出部分由HDMI_RX接口、LVDS_TX接口、I2S_TX接口组成。
  系统的视频数据转换处理部分采用专门的视频处理芯片来完成,选用的视频处理芯片要求如下:芯片带有HDM2.0标准输入接口、支持Hot-plug、支持HDCP1.4/2.2、支持多种视频格式输入并能对输入视频格式进行检测反馈、最高可支持到4K分辨率的视频输入、能够将一路HDMI信号转换成一路LVDS视频信号和一路I2S音频信号输出。因此,系统选用日本索喜公司生产的某款高性能、低功耗的视频专用处理芯片,该芯片广泛应用于数字电视、数字机顶盒等,相对于其他视频专用处理芯片,价格较低,可以降低系统硬件设计成本。
  系统交互部分由按键部分和LCD显示部分组成,按键部分选用4×4矩阵键盘,通过GPIOA.2- GPIOA.5口和主控模块相连,主控模块分析按键输入的指令,对视频处理芯片做出相应的配置。LCD显示部分选用2.8寸的TFTLCD屏幕作为显示,分辨率为320×240,显示屏驱动模块是ILI9320,16位的80并行接口,支持65k色显示,用FSMC接口连接控制。用来显示当前输入的信号源端口号、输入视频参数、音频参数和输出的视频参数、音频参数等系统状态信息。3 软件的设计与实现
  市面上常用的嵌入式ARM平台开发环境主要有两种,分别是Keil MDK和IAR。而Keil MDK v5是目前针对ARM系列的微控制器,尤其对ARM Cortex-M系列内核微控制器性能最佳的一款集成开发工具。所以本次系统设计选用Keil uVision5为软件开发环境,系统整体软件设计分为初始化和控制两个部分。
  3.1 系统初始化部分软件设计
  系统初始化主要是对STM32和视频专用芯片进行初始化,调用的初始化关键函数见表1。
  表1 系统初始化关键函数
  STM32的初始化:在Keil MDK v5建立的工程中可以直接使用ST公司编写的启动代码文件startup_ STM32f10x_md.s来进行控制芯片初始化,这个文件已经配置好芯片系统堆栈的初始化、中断向量表、配置系统时钟等,用户只需配置自己使用的相关模块。
  此次使用的STM32资源有GPIOA、GPIOB、中断控制、systick定时器、I2C2接口等。首先进行NVIC_PriorityGroupConfig( )函数调用,设置系统中断优先级为分组4,子优先级为0,16个抢占优先级。配置systick计时器的参数,调用SysTick_Init( )函数并设置中断时间间隔为1ms,用于延时函数计时。
  调用RCC_APB1PeriphClockCmd( )和RCC_ APB2PeriphClockCmd( )函数对挂载在APB1和APB2总线上面的外设I2C2和GPIOA、GPIOB口的时钟进行使能。然后调用KEY_Init( )和LCD_Init( )函数初始化按键和LCD显示模块,最后调用Hi_I2C_ Init( )函数,对控制通信接口I2C2进行初始化。
  视频专用芯片初始化:由STM32通过I2C控制接口,对视频专用芯片的寄存器进行读写操作完成芯片的初始化配置。主要有系统时钟、锁相环、开机复位、接口物理参数配置等。之后调用hdmirx_ init( )、lvdstx_init( )、i2stx_init( )三个SDK库函数,分别对芯片的输入和输出端口进行初始化,从而完成整个系统的初始化操作。
  3.2 系统控制部分软件设计
  系统的控制部分代码包括端口状态检测、音视频格式检测、键盘检测、输出控制四个模块。
  1)端口状态检测
  (1)端口状态检测模块。
  在系统初始化完成之后,由于HDMI接口要求即插即用和系统配置需自适应输出,所以系统设计要求实时检测输入端口状态,为后续的数据处理和输出配置提供参数。端口状态检测模块流程图如图2所示。
  图2 端口检测流程图
  (2)端口状态检测方法。
  首先,将当前端口输入状态now_port_status和前一个时间的端口输入状态pre_port_status都置零,并定义一个端口计时变量port_status_tick,该变量随着时钟信号,每1ms自动增加1(由系统systick定时器中断触发),每200ms循环一次端口检测时间判断。
  然后调用库函数getrx_port_status(&port_status)来获取当前端口输入状态,如果当前端口有信号接入则置now_port_ status=1,将now_port_status和上一个时间端口输入状态pre_port_status进行比较;如果不相等,则说明当前端口输入状态发生变化,对LCD显示的系统输入状态进行更新,并通知主控模块做相应的处理。
  最后将now_port_status赋值给pre_port_status,同时更新端口的port_status_tick变量,等待下一次端口状态检测来临。四个输入端口都做同样的端口状态检测处理。
  2)音视频格式检测
  (1)音视频检测模块。
  在实际应用中,用户会随机进行音视频格式切换操作,因此在端口状态检测之后,需要同步进行输入音视频格式状态的检测。音视频格式状态检测中涉及的库函数见表2。
  表2 音视频状态检测相关库函数
  (2)音视频格式检测的方法和端口检测方法类似。
  首先构造两个结构体system_video和system_ audio,system_video用来存放输入视频的端口号、分辨率、采样格式、帧率以及色彩空间信息;system_audio用来存放音频的端口号、采样频率、量化位数、声道数等。定义一个音视频状态时间标志变量av_status_tick,该变量随着系统时钟信号每1ms自动增加1,每200ms音视频格式检测一次。
  然后调用库函数getrx_av_status (&rx_av_ status)函数来获取当前输入的音视频状态rx_av_ status,将rx_av_status. video_format和上个输入的音视频状态变量
  pre_rx_av_status.video_format进行比较,如果不相等,则表示输入的音视频状态发生了改变,这时将音视频状态标志变量rx_av_status_change置1,同时调用getrx_video_ format((hdmirx_video*)&(vform.htx))函数获取当前输入的视频格式信息并更新LCD状态显示;将rx_av_status.audio_format和上个音频标志状态变量pre_rx_av_status.audio_format进行比较。
  如果不相等,则表示输入的音频状态发生了改变,将音频状态标志变量rx_av_status_change置1,调用hdmirx_get_audio_format(((hdmirx_video*)&(vform. htx))函数获取当前输入的音频格式信息并更新LCD状态显示。接下来将rx_av_status赋值给pre_rx_av_status,等待下一次音频检测来临。
  3)键盘检测
  键盘设置16个按键,分为0—9数字键十个、lvds功能键、i2s功能键、取消键、确认键、上下键。STM32的所有GPIO口都支持外部中断功能,键盘检测采用外部中断方式触发。中断处理函数解析键盘输入视频格式指令并赋值给结构体成员vform.sys,解析视频和音频端口选择指令并分别赋值给变量lvds、i2s。
  4)输出控制检测
  输出控制模块根据一些标志变量取值,来调用库函数实现输出功能,使用的库函数列表见表3。当rx_av_change_status=1、lvds=0、i2s=0时,调用库函数lvdstx_set_video_for-mat ((lvdstx_video*)& (vform.sys))设置lvds视频输出格式,调用库函数lvdstx_video_mute(&tx_mute)和i2stx_audio_mute (&tx_mute)开启系统的LVDS接口和I2S接口输出并更新LCD显示状态信息;当rx_av_change_status=1、lvds=1、i2s=1时,即系统关闭LVDS接口和I2S接口输出并更新LCD显示状态信息。
  表3 系统输出控制相关函数
  系统整体流程图如图3所示,开机之后,首先系统对STM32和HV2芯片进行初始化操作,STM32通过I2C接口读写HV2的端口状态寄存器来检测输入端口变化情况,接下来检测输入音视频格式状态,并更新LCD显示的输入格式信息。然后根据状态标志变量和按键输入决定输出端口,并配置输出格式;最后开启输出并更新LCD显示的输出格式信息。4 测试与分析
  首先搭建测试环境,用一个机顶盒播放不同的测试码流进行测试。选用一个4K/60p的测试码流用机顶盒进行播放并通过HDMI接口输出,将其接入转换器的HDMI接口输入端,输入音频采样频率为48kHz,采样位数为20bit。用示波器测试输出端口的波形。实际测得的音频I2S接口输出波形和视频LVDS接口输出波形如图4和图5所示。
  图3 系统整体流程图
  图4 LVDS输出数据波形图
  图5 I2S输出数据波形图
  接下来,按着LVDS数据格式和I2S数据格式标准解析波形图得到输出的数据,与输入的音视频数据格式进行对比,得到输出分辨率4K/ 60P,输出音频采样率为48kHz,采样位数为20bit,对比输入的音视频数据可知转换器系统正常工作,然后换用4K/30p、4K/25p、4K/24p等不同码流进行测试并分析对比。总结
  本次系统设计方案芯片选用意法半导体公司的STM32F103RBT6芯片、索喜公司的某款视频专用处理芯片、按键模块,LCD显示模块、接口模块等,完成视频接口转换器的系统设计。
  经过一系列测试对比,该方案实现HDMI接口转LVDS接口输出以及音视频的分离输出,支持各种常用分辨率输入最高支持至4K分辨率。在进行接口转换的同时该转换器还能够实现不同接口之间的音视频制式参数转换,从而更好的解决接口匹配问题,达到预期设计的目标。
  该转换器可靠性高、使用方便、功能强大,能有效解决数字电视应用中视频接口的兼容性问题,在数字电视方面应用广泛,值得深入研究与推广。
  了解更多

数码知识华为freebudspro怎么切换设备双设备切换如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道华为freebud猪流感发烧多少度(非洲猪瘟高烧多少度)猪流感发烧多少度(非洲猪瘟高烧多少度)在母猪的生产过程中,发烧40度以上不吃料的现象时有发生,虽然诱发因素很多,但疫病引发是主因,具体而言,主要的病种包括猪瘟口蹄疫猪蓝耳猪链球菌病OPPO新机入网轻薄为主打特性仅重169g文章来源科技讯OPPO一款型号为PEAT00的OPPO新机入网从工信部公布的参数来看轻薄是该机的一大看点据悉这款OPPO新机的电池容量为4300mAh机身重量只有169g厚度只有7教大家Windows10系统如何禁用bing工具栏的方法今天小编来给大家针对这个教大家Windows10注册表被修改如何还原的方法的问题来进行一个介绍,毕竟当下也是有诸多的小伙伴对于教大家Windows10注册表被修改如何还原的方法这个教大家Windows10系统下截屏动画失效了如何解决的方法今天小编来给大家针对这个教大家Windows10系统下截屏动画失效了如何解决的方法的问题来进行一个介绍,毕竟当下也是有诸多的小伙伴对于教大家Windows10系统下截屏动画失效了如教大家Windows10桌面右侧消失的Charms栏如何找回的方法今天小编来给大家针对这个教大家Windows10桌面右侧消失的Charms栏如何找回的方法的问题来进行一个介绍,毕竟当下也是有诸多的小伙伴对于教大家Windows10桌面右侧消失的教大家电脑怎样去除任务栏获取windows10图标的方法今天小编来给大家针对这个教大家电脑怎样去除任务栏获取windows10图标的方法的问题来进行一个介绍,毕竟当下也是有诸多的小伙伴对于教大家电脑怎样去除任务栏获取windows10图数码知识华为闹钟的图标不见了华为手机闹钟图标不见怎么找回如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道华为闹钟的图标不见如何将ISO转换为VDI虚拟盒映像如果您是VirtualBox的常规用户可能会很高兴知道如何将ISO映像文件(。iso)转换为VDIVirtualBox映像文件(。vdi)将iso转换为vdi不同于仅从iso引导V硬件介绍(小白识电脑基本硬件)硬件介绍(小白识电脑基本硬件)今天即到哥带领电脑小白认识一下电脑的基本硬件知识。1hr电脑主板主板上的主要部件为芯片组总线输入输出接口和电源接口。其功能在于1。把CPU内存等关键核数码知识华为mate30照相机怎么设置相机功能在哪设置如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道华为mate30照
刘恺威复婚了吗最新消息(突传杨幂和刘恺威现身北京民政局复婚)刘恺威复婚了吗最新消息(突传杨幂和刘恺威现身北京民政局复婚)近日,网上突然传出刘恺威现身北京朝阳区民政局,和杨幂在民政局复婚的消息。消息曝出之后,不少人都信以为真,在网络上议论纷纷新开地王(重仓成都西安,绿城难掩掉队焦虑)新开地王(重仓成都西安,绿城难掩掉队焦虑)文丨西部菌成功迈入GDP万亿俱乐部的西安,最近关注度颇高。而在另一边,西安开年的土地出让市场也异常火爆。据界面新闻,1月28日,西咸新区能成都凶宅(成都风水最不好的楼盘)成都凶宅(成都风水最不好的楼盘)每年的11月1日是万圣节,也就是西方的鬼节。很多商家和游玩场地为了吸引人气,都早早就装扮上了万圣节主题。特别是一些楼盘的售楼部,为了吸引购房者,也打LG化学预计今年第三季度该公司的营业利润为9020亿韩元文章来源科技讯近日LG化学预计今年第三季度该公司的营业利润为9020亿韩元(约合7。85亿美元)与去年同期相比增长158。7分析师认为这主要得益于特斯拉的订单以及新冠病毒大流行对家服务礼仪规范(酒店餐饮服务礼仪规范)服务礼仪规范(酒店餐饮服务礼仪规范)仪容仪表服务姿态工作态度礼貌行为准则待客之道礼貌用语一仪容仪表1头要定期理发洗发,不应有头屑,鬓发离领口一寸以上,留海不宜过长,鼻毛不得露出鼻孔数码知识华为mate40有保时捷版吗保时捷版配置如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道华为mate40有数码知识华为mate40有保时捷版本吗出了保时捷版本吗如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道华为mate40有数码知识华为mate10保时捷版多少钱华为mate10保时捷版在哪买如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道华为mate10保数码知识小米10有没有无线充电无线充电怎么充如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道小米10有没有无线数码知识小米10怎么开启无线充电无线充电怎么充如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道小米10怎么开启无教大家微信公众平台自带的投票系统能刷票的方法教大家微信公众平台自带的投票系统能刷票的方法关于到现在教大家微信公众平台自带的投票系统能刷票的方法这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那