通过Tallyman实现bmd多画面内动态源名及Tally显示

Broadcast and Production - - 专题 Feature - 黄敏杰苏州广播电视总台

【摘要】演播室及转播车视音频系统的监看和制作,离不开信号源名和T a l l y灯的显示,不同厂商监看设备对于源名和T a l l y灯的显示支持有不同的协议,目前演播室及转播车上主流管理和控制Tally及源名的设备为tsl公司的tallyman控制系统。本文主要目的在于,通过自主研发、制作相关转换设备,实现Tallyman控制系统对bmd多画面的tally显示及源名跟随。

【关键词】TSL Umd协议,blackmagic Videohub协议,SDI TALLY,3G-SDI Shield for Arduino

一.引言

Blackmagic Design(简称bmd)公司生产的视音频设备具有功能丰富,安装方便及价格便宜的优势,因此在广电内视音频系统的集成和制作中具有广泛的应用。苏州广电8讯道高清转播车升级为10讯道的项目中,使用了一批B M D的矩阵和多画面,作为对于原转播车系统视频监看上的扩充;为了方便节目制作对于画面监看的要求,需要通过转播车现有的Tallyman系统,去控制B M D多画面和矩阵,实现B M D多画面内信号动态源名和T a l l y灯的显示。但是由于B M D多画面的控制和显示只支持自己内部的协议,因此需要设计相关设备的转换,将Tallyman相关控制协议,转换成BMD能够识别的协议。

二.设计原理及需求

1.Tallyman源名及tally显示原理

T a l l y M a n控制系统支持目前大部分广电设备的接入,如视频切换台、矩阵、多画面、串行和并行T a l l y输入输出等。Tallymany控制系统对视频多画面的控制主要使用的是tsl UMD协议,此次项目中对Bmd多画面的tally和源名显示主要解析的是TSL UMD V3.1协议。tallyman服务器内包含有矩阵源名信息和视频信号切点状态,T a l l y M a n y与多画面建立连接并单向发送U M D数据到多画面服务器,U M D数据内包含对多画面内每个窗口的源名、Tally信息记录,当多画面服务器接收并解析umd数据包以后,获取源名和Tally信息,并记录到多画面的输出。(1)Tallyman系统内部配置方法如下

A.添加“UMD Display Interface”设备并命名,选择umd类型为“Multiview(tsl Protocol)”,即umd V3.1协议,一台多画面对应一台“UMD Display Interface”设备。

b.点击“edit Comms Parameters”配置通信端口,通信类型为“Network UDP”,端口号为8900,IP地址对应多画面服务器地址(此次项目中IP地址对应UMD转换设备的地址)。

C.选中新添加的“UMD Display Interface”设备,添加多画面输出配置“Add/delete displays in Layout”,确认在多画面中需要显示的画面数,此次项目为4画面输出,如图2所示,多画面内部地址从0~3自动分配。

d.双击多画面内每个d i s p l a y,进入显示配置界面,配置界面内,选择源名显示为“Follow Matrix Destination”(此次项目中多画面的输入信号均由矩阵提供),之后在“M a t r i x Assignment”配置项,设定矩阵的目的端口,对应为实际矩阵输出到多画面的端口,最后再“Tally Channel”中打开需要对应的Tally通道,一般为pgm和pvw的tally显示。

e.配置完多画面内每个通道对应为跟随矩阵源名后,保存Tallyman配置信息,发送到tallyman主机并重启。

(2)TSL UMD协议分析

T S L U M D协议也称作动态源名显示协议,该协议支持RS422/485、UDP、TCP等多种传输方式,TSL U M D协议每隔200m s发送一个数据包,每个数据包内包含有18字节数据,数据以16进制方式传输,数据包的格式如左图所示。

第1个字节“Header”和“0x80”相减,对应多画面内部显示地址,第2个字节“C o n t r o l”对应T a l l y状态以及显示的亮暗信息,第3~18个字节“Display Data”表示多 画面内显示源名的内容,显示的内容由16进制数据对应的A S C I I码表示。

例如多画面内以16进制接收到18个字符为“81 21 43 41 4D 20 31 20 20 20 20 20 20 20 20 20 20 20”,“81”表示在多画面内显示地址是“1”,“21”表示PGM Tally点亮,pst T a l l y熄灭,后面3~16个字节通过a S C I I码表转换成相应的字符是“CAM 1”。

(3)动态UMD协议工作方式a.当没有t a l l y及源名变化时,每隔200毫秒,会从地址“0x80“递增发送到地址”0x f d“,也就是循环发送126个数据包,每隔25秒所有Tally及源名信息发生一次更新。

b.如果没有对动态源名进行设定,默认多画面内字符串显示内容为“LOCAL1“~”LOCAL126。

c.当p G M信号切换引起T a l l y变换时,多画面会收到一个长数据包,共36字节数据,其中前18个字节说明需要熄灭Tally灯的多画面地址和源名信息,后18个字节说明需要点亮Tally灯的多画面地址和源名信息。

d.当矩阵输出到多画面内的视频源发生变换时,多画面会马上接收到1个数据包,共18字节数据,指定该矩阵到多画面内对应的信号源名发生了改变。

2.Bmd矩阵源名及tally显示原理(1)BMD多画面和矩阵控制协议

B M D矩阵和多画面支持相同的控制协议,协议全称为“Blcakmagic Videohub Enthernet Protocol V2.3”,该协议支持外部TCP控制,端口号为9990,协议目前只适用于BMD内矩阵和多画面的控制(可以把B M D多画面理解为带内部信号分配、并只有一个多画面输出口的矩阵),控制方式包括内部输入和输出信号路由分配、名称修改。如图5所示,为修改输入和输出口0和1标签的命令方式。

目前在Tallyman系统软件V1.85版本以上,能够支持对B M D矩阵控制的接入,但是还不包括对B M D多画面控制,尤其是动态源名和T a l l y灯显示那一块,因此我们还是要通过第三方硬件加以转换,以便满足系统上对动态源名和Tally显示的需求。

a.b M D多画面T a l l y显示协议

B M D多画面只支持S D I T a l l y协议,即通过在单根S D I信号中嵌入T a l l y信息,发送到多画面最后一个输入口,并在多画面配置中打开Tally显示功能。sdi Tally是bmd内部tally显示协议,目前只有A T E M系列切换台的P r o g r a m端口支持s D I Tally输出。

3.系统设计需求综合上述Tallyman和bmd控制协议,我们在系统设计时,首先需要确保B M D矩阵、B M D多画面、T a l l y M a n控制系统、

协议转换设备在同一局域网内,T a l l y M a n能够连接并控制b M D矩阵;其次协议转换设备通过U D P方式读取并解析T a l l y M a n输出的U M D控制协议,将U M D控制协议的T a l l y信息转换成s D I TALLY,输出到BMD多画面最后一路输入,将UMD控制协议的多画面源名信息,转换成V i d e o h u b协议,输出给b M D多画面;最后BMD多画面读取SDI Tally,确认多画面内tally显示地址,同时通过Tcp方式接收videohub控制数据,修改对应多画面内信号显示的源名信息。

系统连接框图图下图6所示。B M D矩阵8路输出分别给两个B M D多画面的输入,其中矩阵送给多画面的最后一路S D I信号经过“BMD Shield for Arduino”,嵌入sdi Tally信号后,再输送给多画面,同时“BMD Shield for Arduino“与系统内其他设备处于一个局域网内,负责解析TSL UMD数据并发送动态源名数据给BMD多画面。其中“BMD Shield for Arduino”就是此次项目中研发的协议转换设备,该协议转换设备由B M D官方提供的相关SDI TALLY嵌入设备“3G-SDI Shield for Arduino”(简称S h i e l d板),配合网络收发模块和单片机组合而成,a r d u i n o U n O单片机开发板通过烧录自制程序循环运行,通过I2C总线与S h i e l d板内部通信,完成对s D I信号内T a l l y信息的嵌入;同时Arduino UNO单片机TTL串口输出给网络模块,将TTL串口数据转换成网口数据,完成与T a l l y M a n和b M D多画面之间的各项通信工作。

三.协议转化的设计与实现

1.转换设备电路图转换设备电路图如图7所示,设备供电方面,转换设备整体采用12V稳压电源供电,电源经过BMD Shield板内部转换成5v电压,再分别供电给Arduino UNO单片机开发板和USR-TCP232网络模块;内部通信方面,Arduino Uno开发板和shield板之间,通过S D A数据线和S C L时钟线连接,采用I2C总线通信协议,将Tally信息嵌入sdi信号,arduino UNO开发板串口接收(RX) 连接网络模块发送端口0(T X0),接收T S L U M D数据包,串口发送(T X)连接网络模块接收端口1(R X1),发送B M D Videohub数据包;信号收发状态监看,可从网络模块的

W o r k端口连接数据线到l E D灯,收发数据时会对应L E D灯的闪烁。

网络模块USR-TCP232能实现双TTL串口转网口,双TTL串口通信互不干扰,TTL0转网口工作在UDP Server模式,网络地址和Tallyman对应,端口号为8900,负责专门接收tallyman发送的TSL UMD数据包;TTL1转网口工作在TCP Client模式,网络地址和Bmd多画面对应,端口号9990,负责专门发送videohub数据包到多画面服务器。如图8为网络模块内部配置。 TTL串口转网口网络模块具体配置原理和方法如下: a.模块和t a l l y M a n控制系统进行通信时,使用t T L0接收数据,在配置页面左侧选择“R S232”,设定S o c k e t A工作方式为UDP Server模式,本地端口设定为8900,远程端口设定为0,Socket B工作方式none,tallyman作为udp Client,只负责向模块发送U M D协议的数据,不负责接收,此时模块内部端口0 (端口号8900)接收到Tallyman数据后,转成串口tx0,发送给Arduino开发板的串口rx接收。

b.模块和b M D多画面进行通信时,使用T T L1发送数据,在配置界面左侧选择“Rs485”,设定socket A工作方式为TCP Client模式,本地端口设定为0,远程端口设定为9990,socket B工作方式NONE,BMD多画面作为TCP Server,只负责接收模块发送过来的V i d e o H u b协议数据,不负责发送,此时a r d u i n o开

发板的串口T X发送到模块的串口R X1,转成网络端口1(端口号9990),发送给BMD多画面。

c.由于arduino Uno开发板的串口不会同时处于发送和接收状态,此种连接方法很好地利用了串口资源,节省了网口数量,方便了内部系统的接入。

2.Arduino Uno开发板实现程序编译及上载(1)程序设计流程

BMD Shield板的开发套件中,包含有sdi Tally的sdk开发包,并支持C语言,具体程序设计流程如下,如图9所示:

a.安装arduino开发I D E工具,使用U S B并连接Arduino Uno开发板,安装PC驱动程序。

b.打开arduino IDE开发工具,加载BMD SDK开发包内“BMDSDICONTROL. h”头文件。

c.通过调用内部程序“Bmd_sditallycontrol_i2c sditallycontrol(0x6e)”,设定I2C总线通讯地址,默认S h i e l D开发板I3C通讯地址是“0X6E”,也可以通过B M D官网下载Shield驱动程序,修改i2c通讯地址。

D.初始化单片机,设定串口通信波特率,打开SDI Tally控制和写入功能。

E.进入单片机循环程序,通过串口读取TSL UMD协议数据包,数据包每隔200毫秒自动往单片机串口发送一次,每个数据包内包含18位或者36位数据。

当接收到18位数据时,从第1位、2位、3~18位中分别提取多画面显示地址码,T a l l y显示状态,多画面内字符名称,将显示地址码和Tally状态,通过sditallycontrol.setcameratally()函数,嵌入到Shield板的sdi输出信号中,将地址码和字符名称,转换成Videohub协议,通过串口转网口,发送给对应bmd多画面。

当接收到36位数据时,说明T a l l y信号发生了变化,分别提取前18位和后18位,处理方式跟处理标准18位数据时一样。(2)程序编译以及上载

Arduino UNO开发板通过USB数据线连接电脑并安装驱动后,可以直接通过Ide工具,将程序编译并烧写到arduino Uno开发板上,由于烧录程序采用的原理是U S B转串口方式,会占用单片机内串口资源,因此烧录开始前,需要断开单片机串口和外部设备的连接,并在烧录程序成功后,断开U S B线,重新将单片机串口和外部设备连接。

3.设备加工及安装

(1)功能模块安装

BMD Shield板、arduino UNO开发板、TTL转网口网络模块,是构成协议转换设备的3大模块,Shield板和arduino Uno开发板在针脚定义及孔位上一致,可通过排针插口直接将Shied板安放在Arduino Uno开发板上面;网络模块需要另外固定安装,为了方便后期固定,先将网络模块固定在洞洞板上,然后通过飞线和开发板进行供电和通信。 (2)设备外壳加工

B M D官方在提供S h i e l d板和开发包时,并未提供相关的设备安装和外壳信息,因此所有的设备安装调试完都是裸露在外,如果要安装到转播车或者考虑户外使用,需要固定安装在保护壳内。Shield板和arduino Uno开发板叠加的厚度为35mm,深度为70m m,加上网络模块后宽度为82m m,因此综合考虑,能够放入82mm*44mm*100mm的铝合金外壳,并固定到标准1u机架内。

铝壳开孔方式通过雕刻机设计刀路路径精确进行,铝壳底部打M3螺丝孔位,用于固定电路板;铝壳侧面开槽,预留出转换设备网口、USB口、12V供电口,SDI IN和SDI OUT口;铝壳内部用5m m铜柱将电路板进行垫高并进行绝缘隔离。雕刻机雕刻后的实际样式及最终效果如图11所示

四.总结

综上,这次转换设备的研发和制作,解决了T a l l y M a n系统对B M D矩阵和多画面互联互通问题,通过T a l l y M a n实现了在B M D多画面内显示动态源名和T a l l y的功能,转换设备在项目安装应用中,配置简单,对系统改动要求少,方便接入和安装,有效满足了我台8讯道转播车系统项目扩展对于多画面制作监看上的需求,节省了设备成本开支。

同时,此次研发制作也是对S D I信号内嵌入控制信息的一次有效探索,B M D公司提供的S h i e l d板,除了提供控制s D I T a l l y功能外,还包含了对摄像机、镜头、音频、云台等各类参数的控制,如果能够有效的将这些控制信息嵌入到单根SDI线,并在末端进行解析分发,能够极大简化视音频系统内控制信号的传输和接入,给广播电视节目的制作带来更多的可操作性和便捷性。B&P

图1 协议选择界面

图3 多画面显示配置

图5 Videohub协议命令方式

图2 多画面数量配置

图6 BMD Tally显示系统框图

图8 网络模块内部配置

图7 协议转换设备电路图

图11 安装效果图

图10 Shield板与开发板安装

图9 程序安装及设计流程说明

Newspapers in Chinese (Simplified)

Newspapers from China

© PressReader. All rights reserved.