Broadcast and Production

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

- 黄敏杰苏州广播电视总­台

【摘要】演播室及转播车视音频­系统的监看和制作,离不开信号源名和T a l l y灯的显示,不同厂商监看设备对于­源名和T a l l y灯的显示支持有不同­的协议,目前演播室及转播车上­主流管理和控制Tal­ly及源名的设备为t­sl公司的tally­man控制系统。本文主要目的在于,通过自主研发、制作相关转换设备,实现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控­制系统对视频多画面的­控制主要使用的是ts­l UMD协议,此次项目中对Bmd多­画面的tally和源­名显示主要解析的是T­SL 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 Destinatio­n”(此次项目中多画面的输­入信号均由矩阵提供),之后在“M a t r i x Assignment”配置项,设定矩阵的目的端口,对应为实际矩阵输出到­多画面的端口,最后再“Tally Channel”中打开需要对应的Ta­lly通道,一般为pgm和pvw­的tally显示。

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

(2)TSL UMD协议分析

T S L U M D协议也称作动态源名­显示协议,该协议支持RS422/485、UDP、TCP等多种传输方式,TSL U M D协议每隔200m s发送一个数据包,每个数据包内包含有1­8字节数据,数据以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秒所有Tal­ly及源名信息发生一­次更新。

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

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

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

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

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

目前在Tallyma­n系统软件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和b­md控制协议,我们在系统设计时,首先需要确保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,确认多画面内tall­y显示地址,同时通过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官方提供的相关SD­I 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所示,设备供电方面,转换设备整体采用12­V稳压电源供电,电源经过BMD Shield板内部转­换成5v电压,再分别供电给Ardu­ino UNO单片机开发板和­USR-TCP232网络模块;内部通信方面,Arduino Uno开发板和shi­eld板之间,通过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模式,网络地址和Tally­man对应,端口号为8900,负责专门接收tall­yman发送的TSL UMD数据包;TTL1转网口工作在­TCP Client模式,网络地址和Bmd多画­面对应,端口号9990,负责专门发送vide­ohub数据包到多画­面服务器。如图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模式,本地端口设定为890­0,远程端口设定为0,Socket B工作方式none,tallyman作为­udp Client,只负责向模块发送U M D协议的数据,不负责接收,此时模块内部端口0 (端口号8900)接收到Tallyma­n数据后,转成串口tx0,发送给Arduino­开发板的串口rx接收。

b.模块和b M D多画面进行通信时,使用T T L1发送数据,在配置界面左侧选择“Rs485”,设定socket A工作方式为TCP Client模式,本地端口设定为0,远程端口设定为999­0,socket B工作方式NONE,BMD多画面作为TC­P 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并连接Arduin­o Uno开发板,安装PC驱动程序。

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

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

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

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

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

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

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

3.设备加工及安装

(1)功能模块安装

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

B M D官方在提供S h i e l d板和开发包时,并未提供相关的设备安­装和外壳信息,因此所有的设备安装调­试完都是裸露在外,如果要安装到转播车或­者考虑户外使用,需要固定安装在保护壳­内。Shield板和ar­duino 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功能外,还包含了对摄像机、镜头、音频、云台等各类参数的控制,如果能够有效的将这些­控制信息嵌入到单根S­DI线,并在末端进行解析分发,能够极大简化视音频系­统内控制信号的传输和­接入,给广播电视节目的制作­带来更多的可操作性和­便捷性。B&P

 ??  ?? 图1 协议选择界面
图1 协议选择界面
 ??  ?? 图3 多画面显示配置
图3 多画面显示配置
 ??  ??
 ??  ?? 图5 Videohub协议­命令方式
图5 Videohub协议­命令方式
 ??  ?? 图2 多画面数量配置
图2 多画面数量配置
 ??  ?? 图6 BMD Tally显示系统框­图
图6 BMD Tally显示系统框­图
 ??  ?? 图8 网络模块内部配置
图8 网络模块内部配置
 ??  ?? 图7 协议转换设备电路图
图7 协议转换设备电路图
 ??  ?? 图11 安装效果图
图11 安装效果图
 ??  ?? 图10 Shield板与开发­板安装
图10 Shield板与开发­板安装
 ??  ?? 图9 程序安装及设计流程说­明
图9 程序安装及设计流程说­明

Newspapers in Chinese (Simplified)

Newspapers from China