朱丹總
(漳州電視臺(tái) 播出部,福建 漳州 363000)
目前大部分電視臺(tái)都采用硬盤(pán)自動(dòng)播控系統(tǒng)來(lái)進(jìn)行電視節(jié)目的播出,角標(biāo)和字幕切出時(shí)間的準(zhǔn)確性取決于字幕機(jī)和播控站PC機(jī)等設(shè)備時(shí)間的精度,因此大部分電視臺(tái)都會(huì)采用授時(shí)系統(tǒng),通過(guò)對(duì)各相關(guān)設(shè)備進(jìn)行時(shí)間校正,來(lái)確保各信號(hào)的準(zhǔn)時(shí)播出。
漳州電視臺(tái)自動(dòng)授時(shí)系統(tǒng)采用專(zhuān)用的GPS模塊來(lái)接收時(shí)間信息,采用單片機(jī)作為主控芯片來(lái)進(jìn)行時(shí)間源的獲取,并對(duì)各終端設(shè)備進(jìn)行授時(shí)。
如圖1所示,整個(gè)系統(tǒng)主要由GPS接收模塊[1-2]、CPU控制單元、備用時(shí)鐘模塊、時(shí)鐘顯示單元、接口轉(zhuǎn)換單元和PC機(jī)接收處理等部分組成。
本授時(shí)系統(tǒng)采用瑞士u-blox公司提供的LEA-4S接收模塊,該模塊具有很高的靈敏度,可以接收并處理微弱的信號(hào),適用于各種環(huán)境。經(jīng)設(shè)置,該模塊每秒可通過(guò)串口輸出一串$GPRMC信號(hào)給CPU,該信號(hào)含有從GPS衛(wèi)星定位系統(tǒng)上接收下來(lái)的日期和時(shí)間參數(shù)。
主控制器采用ATMEL公司的ATmega16單片機(jī),該單片機(jī)含有一個(gè)串行收發(fā)器USART。進(jìn)入正常工作后,單片機(jī)只從GPS模塊接收數(shù)據(jù),并向各終端設(shè)備單向發(fā)送數(shù)據(jù)。因此可采用單片機(jī)的接收口RxD來(lái)接收GPS模塊送過(guò)來(lái)的$GPRMC信號(hào),發(fā)送口TxD則用于輸出授時(shí)信號(hào)到播控站、字幕機(jī)等設(shè)備,對(duì)其校時(shí)。
為了便于產(chǎn)生9600 Hz波特率的串口通信頻率,AT?mega16單片機(jī)采用11.0592 MHz的晶振(fosc),根據(jù)AT?mega16單片機(jī)波特率BAUD和寄存器UBRR值的計(jì)算公式UBRR=fosc÷BAUD÷16-1,可推導(dǎo)出,只要將UBRR設(shè)置為71,便可將串口通信的波特率設(shè)置為9600 Hz。
在惡劣天氣或受到干擾等情況下,GPS接收模塊有時(shí)接收不到有效的GPS信號(hào),無(wú)法向單片機(jī)提供正確的時(shí)間信息,為此筆者設(shè)計(jì)了一個(gè)備用時(shí)鐘模塊,單片機(jī)未能從GPS模塊接收到有效的時(shí)間信息時(shí),會(huì)自動(dòng)從備用時(shí)鐘模塊獲取時(shí)間信息,確保了時(shí)間源的不間斷獲取。
時(shí)鐘模塊采用專(zhuān)用的時(shí)鐘芯片HT1380,該芯片是帶年月日和時(shí)分秒的串行時(shí)鐘保持芯片,外接32.768 kHz走時(shí)晶振,日計(jì)時(shí)誤差約為0.5 s,在GPS模塊能提供有效的時(shí)間信息時(shí),單片機(jī)每間隔1 h對(duì)HT1380的計(jì)時(shí)信息修正1次,進(jìn)一步確保了備用時(shí)鐘模塊的計(jì)時(shí)精度。
該模塊由4個(gè)LED數(shù)碼管和驅(qū)動(dòng)線(xiàn)路組成,用來(lái)顯示時(shí)間。為了簡(jiǎn)化電路和減少占用單片機(jī)I/O端口,采用動(dòng)態(tài)掃描方式來(lái)驅(qū)動(dòng)數(shù)碼管的顯示,即對(duì)每位數(shù)碼交替驅(qū)動(dòng)顯示,每隔2 ms驅(qū)動(dòng)點(diǎn)亮1位數(shù)碼管。
ATmega單片機(jī)和終端PC機(jī)的通信接口都為RS-232,傳輸距離有限。為了延長(zhǎng)傳輸距離,提高數(shù)據(jù)傳輸?shù)目煽啃裕捎肕AX485芯片先將單片機(jī)串口輸出的RS-232協(xié)議信號(hào)轉(zhuǎn)換為RS-485協(xié)議信號(hào),當(dāng)信號(hào)傳輸?shù)讲タ卣尽⒆帜粰C(jī)等終端時(shí),再經(jīng)RS-485/232轉(zhuǎn)換模塊還原為RS-232協(xié)議信號(hào),然后送入播控站和字幕機(jī)等設(shè)備的RS-232串口,采用RS-485協(xié)議信號(hào)來(lái)進(jìn)行信號(hào)傳輸。
由于本系統(tǒng)采用單向授時(shí)方式,即授時(shí)信號(hào)只是由主控板送至各設(shè)備終端,為了簡(jiǎn)化電路和提高信號(hào)傳輸?shù)目煽啃?,將芯片MAX485設(shè)置成單向傳輸方式,如圖2和圖3所示,將發(fā)送端MAX485芯片的RE和DE控制腳都設(shè)置為高電平,而接收端MAX485芯片的RE和DE控制腳都設(shè)置為低電平,這樣就可確保信號(hào)是由主控板向各受控設(shè)備單向傳送。
為了使用方便,如圖3所示,將字幕機(jī)和播控站所使用的RS-485轉(zhuǎn)RS-232模塊設(shè)計(jì)成無(wú)源方式,整個(gè)電路的供電直接從接收終端的RS-232接口的DTR(第4腳)和RTS(第7腳)獲取,由78L05穩(wěn)壓后,產(chǎn)生5 V直流電源,對(duì)接收模塊電路供電。
PC機(jī)內(nèi)的接收處理軟件將接收到的授時(shí)信號(hào)經(jīng)校驗(yàn)和解碼處理,然后對(duì)PC機(jī)和字幕機(jī)等設(shè)備的系統(tǒng)日期和時(shí)間進(jìn)行校準(zhǔn)。
本系統(tǒng)采用匯編語(yǔ)言來(lái)設(shè)計(jì)ATmega16單片機(jī)程序,如圖4所示,開(kāi)機(jī)后主程序先進(jìn)行初始化設(shè)置,將串口通信參數(shù)設(shè)置為波特率9600 Hz,數(shù)據(jù)位8位,校驗(yàn)位無(wú),停止位1位,并開(kāi)辟了接收緩存空間receiveBuffer和發(fā)送緩存空間sendBuffer,用于暫存接收和待發(fā)送數(shù)據(jù)。進(jìn)入主循環(huán)后,不斷地進(jìn)行按鍵檢測(cè)、發(fā)送授時(shí)信號(hào)和LED時(shí)間顯示處理。
如圖5所示,單片機(jī)以中斷的方式接收并處理GPS模塊發(fā)送過(guò)來(lái)的$GPRMC信號(hào),GPS模塊通過(guò)串口每秒鐘發(fā)送如下的1幀信號(hào)到單片機(jī):
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<CR><LF>
代碼中:<1>代表UTC時(shí)間,hhmmss(時(shí)分秒)格式;<9>代表世界協(xié)調(diào)時(shí)間(Universal Time Coordinated,UTC)日期,dd?mmyy(日月年)格式;hh是用作奇偶校驗(yàn)的數(shù)據(jù),代表了$和*之間所有字符按位異或值。每當(dāng)收到完整的一串?dāng)?shù)據(jù)后,先判斷校驗(yàn)碼是否正確,以防止接收數(shù)據(jù)有誤。接收到正確的數(shù)據(jù)后,先從<1>和<9>提取出 UTC時(shí)間和日期,UTC時(shí)間與格林尼治平均時(shí)(Greenwich Mean Time,GMT)相同。因北京和英國(guó)倫敦相隔8個(gè)時(shí)區(qū),所以需要將解出來(lái)的UTC時(shí)間和日期進(jìn)行時(shí)差轉(zhuǎn)換才能得到北京時(shí)間,然后送出顯示和授時(shí)。漳州電視臺(tái)硬盤(pán)播出系統(tǒng)上采用的是安徽現(xiàn)代電視技術(shù)有限公司的臺(tái)標(biāo)發(fā)生器,為了兼容其接收授時(shí)信號(hào)的格式,每組由單片機(jī)發(fā)送出來(lái)的授時(shí)信號(hào)都包含如下信息:5A,<1>,<2>*hh。其中:5A代表握手信號(hào);<1>代表北京時(shí)間,hhmmss格式;<2>代表日期,ddmmyy格式;hh為校驗(yàn)碼。在臺(tái)標(biāo)發(fā)生器RS-232接口上的轉(zhuǎn)換器采用專(zhuān)用的有源RS-485/232接口轉(zhuǎn)換器。
圖4 ATmega16單片機(jī)程序流程圖
圖5 單片機(jī)中斷流程圖
本系統(tǒng)采用Visual Basic語(yǔ)言[3]來(lái)編寫(xiě)PC機(jī)端的管理軟件。如圖6所示,在軟件的初始化設(shè)置時(shí),將PC機(jī)串口通信的參數(shù)設(shè)置成和單片機(jī)串口一樣的參數(shù),即波特率9600 Hz數(shù)據(jù)位8位,校驗(yàn)位無(wú),停止位1位。串口通信設(shè)置代碼為:
MSComm1.CommPort=1
MSComm1.Settings="9600,N,8,1"
圖6 PC機(jī)端程序流程圖
MSComm1.InputLen=0
MSComm1.InBufferSize=256
MSComm1.OutBufferSize=256
MSComm1.InBufferCount=0
MSComm1.OutBufferCount=0
MSComm1.PortOpen=True
MSComm1.SThreshold=0 MSComm1.RThreshold=1
為了防止誤改系統(tǒng)時(shí)間,接收端軟件收到一組時(shí)間信號(hào)后,先與PC機(jī)原來(lái)的系統(tǒng)時(shí)間進(jìn)行比較。如果不一致,接著再接收一組時(shí)間信號(hào),并對(duì)先后收到的兩組時(shí)間數(shù)據(jù)進(jìn)行分析,確認(rèn)正確后才修改系統(tǒng)時(shí)間。
GPS模塊在使用前需先采用廠家提供的專(zhuān)用設(shè)置軟件進(jìn)行輸出參數(shù)的設(shè)置,LEA-4S的設(shè)置軟件為u-center 3.0,界面如圖7所示。
本授時(shí)系統(tǒng)采用了單片機(jī)ATmega16作為主控芯片,可及時(shí)準(zhǔn)確地獲取GPS信號(hào),經(jīng)過(guò)處理后發(fā)送授時(shí)信號(hào)到各終端設(shè)備。經(jīng)過(guò)實(shí)際運(yùn)行,本系統(tǒng)能同時(shí)對(duì)3臺(tái)主播控站、3臺(tái)備播控站、3個(gè)臺(tái)標(biāo)機(jī)和3臺(tái)字幕機(jī)進(jìn)行授時(shí),運(yùn)行穩(wěn)定,授時(shí)準(zhǔn)確,可確保節(jié)目的安全準(zhǔn)點(diǎn)播出。
圖7 GPS模塊設(shè)置軟件界面(屏幕截圖)
[1]洪大永.GPS全球定位系統(tǒng)技術(shù)及其應(yīng)用[M].福建,廈門(mén):廈門(mén)大學(xué)出版社,1998.
[2]王爾申,胡青,張淑芳.GPS和Galileo接收機(jī)的芯片技術(shù)與系統(tǒng)設(shè)計(jì)[J].電視技術(shù),2007,31(6):17-19.
[3]姚巍.Visual Basic數(shù)據(jù)庫(kù)開(kāi)發(fā)及工程實(shí)例[M].北京:人民郵電出版社,2003.