劉丹
摘 要: 在演出節(jié)目中,音頻、視頻、燈光之間的同步至關(guān)重要。本文介紹了基于微控制器的時間碼分配器的設(shè)計方案來解決同步問題,將單路時間碼發(fā)生器轉(zhuǎn)變?yōu)槎嗦窌r間碼。該設(shè)計以微處理器PIC單片機(jī)作為核心,主要由單片機(jī)微處理器、時間碼接收發(fā)送模塊、數(shù)碼管驅(qū)動電路以及按鍵掃描電路組成。硬件電路設(shè)計簡單,軟件設(shè)計模塊化,降低成本,減小體積,目前該設(shè)備在調(diào)試階段運(yùn)行穩(wěn)定。
關(guān)鍵詞: PIC單片機(jī);時間碼;多路分配器;演出同步
一、引言
在演出節(jié)目編排過程中,一個比較突出的問題是各個專業(yè)(指音頻、視頻、燈光等)之間的協(xié)調(diào)與同步很難控制。一個大型的演出,在每個專業(yè)相對獨(dú)立的情況下,需要一個比較龐大的隊(duì)伍才能保障演出的順利編排與演出。而在編排的過程中,大部分時間都花在了專業(yè)之間的協(xié)調(diào)上面,而且比起真正專注在節(jié)目的時間可能要多得多。
從技術(shù)的角度來說,這幾個單元的藕合性非常低,他們可以獨(dú)自工作而不相互影響,唯一比較突出的聯(lián)系是“時間”,即在什么時候播出什么東西。從用戶使用的角度來說,“時間”的關(guān)系卻是他們最關(guān)心的東西。如果能將這幾個單元的狀態(tài)集中在一起進(jìn)行查看與管理,用戶將省去許多不必要的麻煩。如協(xié)調(diào)各個單元之間的同步問題,在節(jié)目編輯時各個專業(yè)的相互參考與對比修正等等。
采用時間碼分配設(shè)備,將解決各個專業(yè)(指音頻、視頻、燈光)之間的協(xié)調(diào)與同步很難控制的問題;減少在演出中編排與演出的人員及時間。
二、概述
2.1 PIC單片機(jī)
PIC單片機(jī)是CMOS單片機(jī),精簡指令使其執(zhí)行效率大為提高,具有獨(dú)特的RISC結(jié)構(gòu),數(shù)據(jù)總線和指令總線分離的哈佛總線(Harvard)結(jié)構(gòu),運(yùn)行速度快; PIC單片機(jī)的I/O口是雙向的,其輸出電路為CMOS互補(bǔ)推挽輸出電路,I/O口低電平吸入電流達(dá)25mA,高電平輸出電流可達(dá)20mA;具有在線調(diào)試及編程(ISP)功能;還具有低工作電壓、低功耗等特點(diǎn)。以PIC單片機(jī)為基礎(chǔ)生產(chǎn)出的產(chǎn)品功耗比較低,質(zhì)量水平比較高,成本比較少,保密性好。同時其內(nèi)部資源豐富,廣泛應(yīng)用于工業(yè)控制領(lǐng)域。
2.2 時間碼
時間碼大致可分為三種:SMPTE/EBU時間碼、MIDI時間碼(MTC)和IEC時間碼。其中SMPTE碼是NTSC制中采用的時間碼,而EBU碼是PAL制中采用的時間碼。這兩種時間碼系統(tǒng)中,二者都應(yīng)用在復(fù)雜的視頻制作過程中。在聲頻中SMPTE則更普遍些。MTC是廣泛運(yùn)用在MIDI設(shè)備之間的時間碼。IEC時間碼則是用于R-DAT之中的,較少用到。而現(xiàn)在用的是設(shè)備間的時間碼,也就是MIDI時間碼;下面簡單介紹MIDI時間碼。MIDI時間碼有兩個特定的功能,其一就是將通用的SMPTE時間碼轉(zhuǎn)換成MIDI協(xié)議中規(guī)定的數(shù)據(jù)格式后分配給MIDI系統(tǒng)網(wǎng)絡(luò)中的MIDI設(shè)備;其二是提供傳送所謂“設(shè)定”信息的方法,使控制微機(jī)能夠在確定的時間發(fā)生時刻將各個接收設(shè)備同步起來。MTC作為一個實(shí)時參考標(biāo)準(zhǔn)而存在。它并不發(fā)送開始、結(jié)束等命令,并且不會改變樂曲的速度。它提供分、秒來計算的絕對時間參考,而不是小節(jié)、拍的參考。大量的多端口MIDI接口設(shè)備都具備SMPTE/EBU時間碼端口,它常用來進(jìn)行讀寫LTC的工作,但它通常要轉(zhuǎn)變成MTC,以便被相應(yīng)的計算機(jī)軟件所接受。音頻工作站軟件都是采用MTC作為同步基準(zhǔn),尤其是當(dāng)工作站采取數(shù)字音頻與MIDI相結(jié)合的工作方式時更是如此。
2.3 多路分配器
多路分配器是將單路輸入的MIDI時間碼數(shù)據(jù)分配到8路輸出的電路。此處分配器與市面上分配器不同,市面上的分配器是指能夠?qū)?個輸入數(shù)據(jù),根據(jù)需要傳送到m個輸出端的任何一個輸出端的電路,而此處的分配器是指能夠?qū)?個輸入數(shù)據(jù),傳送到m個輸出端同時輸出數(shù)據(jù)的電路。本設(shè)備設(shè)置了8路輸出,可以同時連接8臺具有MIDI時間碼接口的設(shè)備,讓8臺設(shè)備同時接收MIDI時間碼數(shù)據(jù),這樣8臺設(shè)備就可以進(jìn)行同步工作了。
三、基于微處理器的設(shè)計
3.1 硬件電路設(shè)計
硬件設(shè)計需要以實(shí)際需求作為基本,對成本進(jìn)行科學(xué)的控制,減少開發(fā)的難度;本次研究使用16位PIC單片機(jī),自由靈活的定義功能可以適應(yīng)不同的控制要求。而不必增加額外的IC芯片。這樣電路結(jié)構(gòu)很簡單,開發(fā)周期將大為縮短。
時間碼分配器設(shè)備用外部電源提供穩(wěn)定的直流5V電壓,以微處理器PIC單片機(jī)為核心,主要由主控制模塊、時間碼接收發(fā)送模塊、數(shù)碼管驅(qū)動電路以及按鍵掃描電路組成。
3.1.1 主控制模塊
主控制模塊主要是用PIC單片機(jī)作為本設(shè)備的處理器,對MIDI協(xié)議的編解碼以及其他功能模塊進(jìn)行控制處理。對時間碼芯片進(jìn)行通信、控制處理;數(shù)碼管的顯示控制;按鍵掃描的處理。
3.1.2 時間碼接收發(fā)送模塊
時間碼接收發(fā)送模塊由時間碼芯片、74HCT244及單片機(jī)組成。單片機(jī)實(shí)現(xiàn)對時間碼芯片的通信,通過配置接口對其內(nèi)部寄存器實(shí)現(xiàn)控制,從而用來處理MIDI時間碼的輸入輸出信號,可以產(chǎn)生4種幀速率的時間碼:24,25,29.9,30;通過SN74HCT244DW將時間碼芯片的單路輸出信號轉(zhuǎn)換成8路輸出信號,從而達(dá)到8路同步輸出的目的。
3.1.3 數(shù)碼管驅(qū)動電路
數(shù)碼管驅(qū)動電路由74LS47、74HC595D及單片機(jī)的3個I/O口組成。74HC595D為移位寄存器,74LS47為數(shù)碼管驅(qū)動顯示芯片,單片機(jī)通過三個I/O口便可把要顯示的數(shù)據(jù)傳輸?shù)?4HC595D并輸出到QA—QH引腳,通過控制QA—QH引腳來控制74LS47的輸出,從而實(shí)現(xiàn)對數(shù)碼管的顯示控制。此處對六個74HC595D進(jìn)行級聯(lián)應(yīng)用來控制8個74LS47的輸出,從而實(shí)現(xiàn)8位數(shù)碼管的動態(tài)控制。
3.1.4 按鍵掃描電路
按鍵用于對時間碼分配器進(jìn)行各種功能性設(shè)置,例如:源選擇、幀率選擇、時間設(shè)置、時間加、時間減、播放/暫停、停止的功能。按鍵掃描電路由三行三列組成,需要用到單片機(jī)的六個I/O口。對行列按鍵進(jìn)行掃描來判斷哪個按鍵被操作,從而判斷用戶的設(shè)置。
四 結(jié)論
在采用PIC單片機(jī)進(jìn)行設(shè)計過程中,注意到PIC單片機(jī)自身的特點(diǎn),可盡量少走彎路,從而縮短開發(fā)周期。同樣在軟件設(shè)計上采用合適的方法,可以使整個程序運(yùn)行穩(wěn)定,而且程序空間的使用也將有所減少,避免了調(diào)試中的Bug。而本設(shè)備設(shè)計時采用了PIC單片機(jī)的自身的特點(diǎn),使設(shè)計電路大大簡化,從而減低了成本,減小了體積,提高了運(yùn)行的穩(wěn)定性和可靠性。在使用中有效的解決了各設(shè)備間協(xié)調(diào)與同步難的問題;也減少了在演出中編排與演出的人員及時間。■
參考文獻(xiàn)
[1] 張明峰.PIC單片機(jī)入門與實(shí)踐[M].北京:北京航空航天出版社,2004.