林 坚
(浙江卫视技术中心,浙江 杭州 310005)
P-Bus的全称是Peripheral Bus,即外围设备总线,它是GVG公司早期针对视频切换台控制多个外围设备而开发的一种简单的外设控制通信协议。通过一主对多从的控制方式,同时控制多个视频切换台的外围设备。该控制方式现已成为业界的一种标准沿用至今,在一些大型视频切换台中都具备了该控制接口。现在使用的PBus为改进后的P-BusII。
P-BusII借用了串行通信与GPI相结合的控制方式,主控制器与被控设备之间通过RS-485或RS-422串口进行连接,采用一主对多从的控制方式。所有的设备都并接到同一条控制母线上。主控设备只发送简单的控制指令,控制外围设备中已经事先准备好的事件或状态,类似于受控设备上的一个GPI触发控制。同时调用多个外围设备同步运行。为此,各被控设备之间端口的通信参数(比特率、奇偶校验、停止位等)设置必须保持一致。
P-BusII协议最多可同时支持24个外部设备的控制。每个受控设备都有一个受控ID号(设备地址码)。这些外设可以是 VTR,EVS,DVE,DDR 及 360 System Digicart等各种支持P-Bus协议的音视频外围设备。图1为P-BusII的系统控制图。
P-BusII的工作原理简单,它主要是通过控制器发出的指令来调用和存储外围设备自身寄存器存储的工作状态,或者触发受控设备上的一个事件进行工作。它的指令简洁,全部指令由23个ASCII码字符组成,其中7 个为特征字符,16 个(0~9,A~F)为代表数据字符。 指令的信息结构见图2。
每条指令的特征符都使用唯一的ASCII码字符作为关键字,用来代表各控制指令。P-BusII控制指令的关键字见表1。
表1 P-BusII控制指令的关键字
指令信息中的外围设备ID号是一个受控设备的地址码。它是由6个代表数字字符的ASCII码组成的一组24位二进制码,每一位对应外围24个受控设备的设备号,如图3所示。当对应的设备ID号为“0”时,表示该指令对应的外围设备无效,反之,“1”表示有效。从图中可以看出,当视频切换台发送一个指令后,所有的外围设备都同时接收到同一指令,与该指令地址码对应有效的外围设备执行该指令的操作,是一个并发的工作过程。
在指令信息中,寄存器号或触发器号是指当受控设备接收到控制指令后需要去完成的目标。其中寄存器号针对Learn和Recall指令;触发器号针对Trigger指令。当视频切换台发送“记录”和“调用”指令时,它同时发送一个寄存器号,令受控设备使用该寄存器号将自己的工作状态记录到自己的设备寄存器中,或从受控设备的该寄存器号中调用设备的工作状态。寄存器号是由3个代表数字的十六进制ASCII码字符表示,可使用的寄存器号为0~4095。但在GVG视频切换台中,可使用的P-BusII寄存器号为0~99(对应十六进制为0x63)。
切换台除了发送“记录”和“调用”外设寄存器指令外,还可以发送“触发”指令,就像GPI触发控制一样。触发器号使用1个代表数字的十六进制ASCII码字符表示,对应受控设备上16个触发控制号所定义的功能。
P-BusII的触发控制应用非常灵活。它可以定义每个触发号的功能,也可以使用P-Bus接口箱来间接控制外围设备,接口箱会将P-Bus的触发控制信息转换成标准的串口通信协议去控制外设。在使用P-Bus触发控制时,GVG和Sony公司对触发号的功能定义存在一些差别,在使用这两家公司的产品去控制外设时,它们的触发器“0”和“1”的功能定义相反。表2为Kahuna视频切换台对应控制VTR的触发号功能定义。在每个指令发送结束后,都有一个回车符代码作为指令的终止。
表2 Kahuna视频切换台对应控制VTR的触发号功能定义
P-BusII的控制指令非常简单,总共只有6个指令,其中 Learn(记录)、Recall(调用)和Trigger(触发)为常用指令,Query(查询)、Read(读)和 Write(写)为可选指令。
Learn(记录)指令:当主控制设备发送该指令后,对应于控制指令地址单元有效的外围设备,将它们当前的工作状态按指令中指定的寄存器单元号存储到该外围设备对应的寄存器存储单元内。Learn指令结构如图4所示。
Recall(调用)指令:当主控制设备发送该指令后,对应于控制指令地址单元有效的外围设备,将按指令中指定的寄存器单元号,在外围设备自身对应的寄存器单元号上调用它们的工作状态。Recall指令结构如图5所示。
Trigger(触发)指令:当主控制设备发送该指令后,对应于控制指令地址单元有效的外围设备,发送一个控制触发号。使得受控设备启动或者运行该触发号定义的一个事件。Trigger指令结构如图6所示。
Query(查询)指令:选择连接到主控制器上的某个受控设备进行查询访问。确定该设备是否连接到控制总线上。受控设备在接收到查询指令后,需要在4个电视场时间内返回设备的信息。返回设备信息的字符长度不超过16个字符。如果未及时返回,则判断该设备不在控制总线上。例如,当它访问外部的360 System Digicart/E(硬盘录音机)时,该设备将返回“Digicart”。
查询/查询响应指令结构如图7所示。
Read(读)指令:选择连接到主控制器上的某个受控设备,请求读取该设备的寄存器内容。受控设备使用Write(写)响应指令进行响应。具体见写响应指令。Read指令结构如图8所示。
Write(写)指令:选择连接到主控制器上的某个受控设备,将数据传送到该受控设备的寄存器上。要发送的数据不大于16个字符。写/写响应指令结构如图9所示。
写响应指令和写指令结构相同,当受控设备接收到主控设备的Read指令后,受控设备给主控设备发送写响应指令。它的地址为受控设备地址,寄存器为请求被Read的那个寄存器号。它们必须在4个电视场时间内完成发送,否则主控制设备将判断受控设备无响应。
为了确保写响应指令的传送,要求受控设备先开启RS-485的数据发送功能,在发送完写响应指令后,必须立刻关闭。
现在的视频切换台主要使用3个常用指令来对外围设备进行控制。它们都是单向控制指令,只能够由主控的视频切换台发送控制数据,所有受控设备同时接收控制指令。由于控制系统共享同一条公共控制母线,所以在系统控制中各受控设备的串行发送端口必须禁用。
3个可选指令主要是由主控设备去访问外围设备,并返回受控设备的特征信息或数据响应。它是一个双向控制指令,只能够对单个设备进行访问,如查询指令,主控设备发送该指令后,会要求某个受控设备返回一个设备标识名。这3个指令在实际的P-BusII应用中很少使用。
P-BusII是串行通信,它的控制精度只能按电视的场来计算。例如,它的最大单条指令长度为11个字符。当串口通信采用9600 bit/s的比特率时,在50 Hz的视频工作模式下,每场只能传送192 bit,按串行通信每个字符需要11 bit计算 (1起始位+8数据位+1校验位+1停止位)。每场只能传送17个字符,相当于一条指令的信息。当使用38.4 kbit/s比特率时,可传送69个字符,约6条指令。所以在系统的控制中要充分考虑系统指令传输、控制触发和调用的响应时间。
在了解了P-BusII的主要控制指令后,再来看一下视频切换台对P-BusII的一些设置。以史诺伟思的Kahuna视频切换台为例,图10为Kahuna的P-Bus设置界面。从该界面上可以看到,在Device Selection中选择要控制的24个外围设备的ID号。当使用Learn或Recall指令时,可以选择0~4095的寄存器号。当用Trigger指令进行控制时,可直接在Trigger Type中选择外设的类型。在具体的应用中,可以将这些控制指令通过切换台“宏”指令的方式,在效果时间线上进行调用。
再来看GVG公司的视频切换台,在Kalypso视频切换台中,首先在工程菜单中对P-Bus的端口、外围设备及触发器名称进行设置(见图11a)。然后在P-Bus和GPI输出界面中设置它的操作控制(见图11b)。在控制菜单的左边P-Bus Device中列出了外围受控的设备及状态,中间是触发指令的16个触发器号。它的Learn和Recall指令可以基于键帧的调用,也可以基于寄存器的调用。当基于寄存器调用时,不需要选择P-Bus的寄存器号。在Learn和Recall指令中寄存器号与切换台E-MEM的存储器号一致。在基于键帧时,可选择P-Bus寄存器,并将P-Bus指令添加到键帧上。
目前P-Bus在国内的应用还非常少,直接支持PBusII协议的外围视音频设备比较少,在具体的应用中还需要通过P-Bus控制接口箱进行转换控制,如LANCE的TDC-100控制器和DNF的PBIB(Peripheral Bus Interface Box)系列控制设备等。但它确实是一种简单、灵活的外围设备控制方式,随着技术的不断进步,制作和播出对系统控制的要求不断提高,复杂的视音频系统的综合控制会越来越受到重视。
[1]Grassvalley Company.Switcher products protocols manual[EB/OL].[2009-11-15].http://www.grassvalley.com/.
[2]Grassvalley Company.KALYPSO reference manual[EB/OL].[2009-11-15].http://www.grassvalley.com/apps/doc_show?&set=switchers&c=^Kalypso$|Kalypso%20Classic%20SD%20Video%20Production%20Center&super=broadcast.
[3]Snell Company.Kahuna user manual[EB/OL].[2009-11-15].http://www.snellgroup.com/community/kahuna-club/.