??? 摘? 要: 傳統(tǒng)的電視監(jiān)控譯碼器通過繼電器的觸點(diǎn)來控制云臺和鏡頭,設(shè)計了一種基于MSP430F149單片機(jī)的無觸點(diǎn)云臺鏡頭通訊控制電路,具有低功耗、可靠性高等特點(diǎn)。?
??? 關(guān)鍵詞: 閉路監(jiān)控? 云臺鏡頭控制? MSP430微控制器
?
??? 電視監(jiān)控系統(tǒng)是一種典型的分布式計算機(jī)信號采集系統(tǒng)。每個攝像機(jī)由中央控制室控制,為簡化布線,中央控制器與各攝像機(jī)間由RS485總線連接,鏡頭和云臺的控制由前端的解碼器實(shí)現(xiàn)。解碼器將主控系統(tǒng)送來的串行碼控制信號轉(zhuǎn)換成不同功能電壓以驅(qū)動前端設(shè)備。其原理圖如圖1所示。?
?
?
??? 為了降低系統(tǒng)成本,傳統(tǒng)的解碼器一般用簡單邏輯去控制電磁繼電器或固體繼電器而輸出控制電壓。本文設(shè)計的控制電路采用分立元件如MOSFET、TRIAC等,具有體積小、重量輕、低功耗、可靠性高、價格低廉等優(yōu)點(diǎn)。?
1 單片機(jī)接口設(shè)計?
??? 本設(shè)計采用的MSP430F149單片機(jī)屬于德州儀器公司MSP430FLASH系列。MSP430系列是一組超低功耗的微控制器,針對不同應(yīng)用目標(biāo)、以不同模塊組成,微控制器的設(shè)計可使電池長期工作,電源電壓范圍1.8~3.6V。由于具有16位RISC結(jié)構(gòu)、16位寄存器和常數(shù)寄存器,MSP430達(dá)到了最大的代碼效率。數(shù)字控制的振蕩器提供所有低功耗模式從快速蘇醒到活動模式的能力時間少于6μs。MSP430F149帶有兩個16位定時器(帶看門狗功能)、速度很高的8通道12位A/D轉(zhuǎn)換器(帶內(nèi)部參考電壓、采樣保持和自動掃描功能)、一個內(nèi)部比較器和兩個通用同步/異步發(fā)射接收器、48個I/O口的微處理器結(jié)構(gòu)。MSP430F149擦寫次數(shù)高達(dá)10萬次,強(qiáng)力抗干擾,具有工業(yè)級的品質(zhì)。?
??? MSP430F149有60KB的FLASH ROM和2KB的RAM。其中FLASH又分為120段,每段512字節(jié)的主存儲器和兩段信息存儲器,每段128B。FLASH可以整個擦除也可以分段擦除,這給系統(tǒng)的軟硬件設(shè)計都帶來了極大的便利和靈活性。鑒于單片機(jī)存儲器的容量和特點(diǎn),外部不用擴(kuò)展存儲器和I/O口,外圍設(shè)備得到了簡化。?
??? MSP430F149的工作電壓是3.3V,因此其I/O電平也是3.3V邏輯電平,并且與5V TTL電平兼容。但與5V CMOS的標(biāo)準(zhǔn)電平是不一樣的,所以不能直接與5V的CMOS標(biāo)準(zhǔn)器件相接。在這種情況下,可以采用雙電壓(一邊是3V供電,一邊是5V供電)供電的驅(qū)動器,如TI的SN74ALVC164245、SN74LVC4245,或選用74HCT、74ACT系列的CMOS器件。?
??? 本設(shè)計為了降低成本和簡化設(shè)計,由單片機(jī)發(fā)出的控制信號均由MC1413來驅(qū)動放大,輸出直接驅(qū)動光耦和繼電器。MC1413輸入低電平時斷路,輸入高電平時為達(dá)林頓輸出,電流較大,而電平為低,相當(dāng)于反向隔離驅(qū)動放大器。RS485通訊電路則采用74HCT244(+5V供電)驅(qū)動I/O口輸出。?
2 云臺控制電路設(shè)計?
??? 電動云臺有俯仰、旋轉(zhuǎn)兩個單相交流電機(jī),每個電機(jī)有兩個繞組,兩個繞組有一個公共端,兩個非公共端接移相電容。當(dāng)交流電壓從一個繞組接入時,電機(jī)正向旋轉(zhuǎn);當(dāng)交流電壓從另一個繞組接入時,電機(jī)反向旋轉(zhuǎn)。單片機(jī)發(fā)出的云臺左右、上下運(yùn)動的控制信號實(shí)際上是對云臺的交流電機(jī)的正反向控制。?
??? 圖2是用雙向可控硅的云臺控制單路電路圖。圖中的光耦MOC3041是用來隔離可控硅上的交流高壓和直流低壓控制信號的。其輸出用來觸發(fā)雙向可控硅,選用ST Microelectronics公司的T4系列,內(nèi)部集成有緩沖續(xù)流電路,不用在雙向可控硅兩端并聯(lián)RC吸收電路,可以直接觸發(fā),電路設(shè)計比較簡單。?
?
?
3 鏡頭控制電路設(shè)計?
??? 變焦鏡頭有光圈、聚焦、變倍三個直流電機(jī),三個電機(jī)有一個公共接地端,在非公共端加正、負(fù)電壓時電機(jī)正、反向旋轉(zhuǎn)。單片機(jī)發(fā)出的鏡頭控制信號實(shí)際上是對鏡頭的直流電機(jī)的正反電壓控制。?
??? 直流伺服電機(jī)的正反向控制電路一般有H型(橋式)互補(bǔ)對稱式和T型互補(bǔ)對稱式兩種。其中,H型(橋式)互補(bǔ)對稱式電路的集成芯片很多,例如UDN-2952B,MB3863,L298等??紤]到這類芯片一般較貴,而且鏡頭的控制路數(shù)較多,為了降低成本,采用T型互補(bǔ)對稱式驅(qū)動電路。?
??? 圖3為對針對單個電機(jī)的鏡頭控制電路。為了防止上下兩個FET功率管同時導(dǎo)通,采用4555雙四選一構(gòu)成硬件互鎖,值得注意的是4555由3.3V供電。鏡頭的電機(jī)電源與數(shù)字電路之間通過光耦隔離,以避免電機(jī)接通和斷開時所造成的毛刺影響數(shù)字電路的工作。光耦隔離器驅(qū)動兩個FET功率管,后者直接用來驅(qū)動直流電機(jī)。兩個FET管一個是P型溝道,另一個是N型溝道,形成互補(bǔ)結(jié)構(gòu)。為了避免FET管因電壓尖峰而損壞,電路中采用了金屬氧化物壓敏電阻8作為瞬時吸收保護(hù)器。?
?
?
4 通訊解碼電路軟硬件設(shè)計?
4.1 硬件電路?
??? 解碼器與主控系統(tǒng)之間的數(shù)據(jù)傳送經(jīng)過RS485收發(fā)器MAX485,由單片機(jī)的TXD和RXD串行口發(fā)送和接收。解碼器的單片機(jī)有一個規(guī)定的地址碼,CPU不斷查尋RXD口數(shù)據(jù),當(dāng)判別地址數(shù)據(jù)為本解碼器對應(yīng)地址時,讀入操作數(shù)據(jù),再判別是何種控制功能,發(fā)出對應(yīng)的控制信號。?
??? 圖4為RS485通訊接口電路。為了提高數(shù)據(jù)傳輸?shù)目垢蓴_性,MAX485為+5V單獨(dú)供電,采用高速光耦6N137與其他的電源完全隔離,不共地。由于傳輸線較長且現(xiàn)場可能有電磁干擾,所以在傳輸線上并聯(lián)瞬變電壓抑制器TVSC,串聯(lián)熔斷器,傳輸線用有屏蔽層的電纜。?
?
?
4.2 通信協(xié)議與指令結(jié)構(gòu)?
??? 監(jiān)控指令可以簡單地分為:視頻切換、音頻切換、電話會議、報警輸入、報警布撤防、緊急報警輸入、模擬采集、采集設(shè)置、請求讀入采集量、行動輸出、遙控等11種指令類型。這里僅介紹與云臺鏡頭控制有關(guān)的指令。?
??? 指令類型5:(解碼器使用)?
??? 說明:遙控指令,有2個字節(jié)參數(shù)?
??? 前1個字節(jié)表示狀態(tài)字;第99狀態(tài)表示遙控云臺、鏡頭。?
??? 其它狀態(tài)用戶自定義。?
??? 后一個字節(jié),當(dāng)?shù)?9狀態(tài)(前1字節(jié)為99)時,高4位代表云臺動作,低4位代表鏡頭動作。?
??? 具體描述如下:?
??? 云臺動作:?
??? 0不動作??? 1向上運(yùn)動 2向下運(yùn)動 3向左運(yùn)動?
??? 4向右運(yùn)動? 5左上方向 6左下運(yùn)動?7右上方向?
??? 8右下方向? 9自動掃描?
??? 鏡頭狀態(tài):?
??? 0 鏡頭不動?? 3光圈變大??? 6光圈變小?
??? 3 景深不動?? 2 景深遠(yuǎn)???? 5 景深變近?
??? 6 焦距不變?? 1 焦距變遠(yuǎn)?? 4焦距變近?
??? 發(fā)送中指令格式如下:aa, 參數(shù)長度,源,宿,類型,參數(shù)......, 校驗(yàn)和
??? 除參數(shù)一部分可以是0~n 個字節(jié)外,其它都為1個字節(jié)。aa為指令頭。參數(shù)長度為參數(shù)部分的字節(jié)數(shù)(0~99),源為信源的地址編號,宿為信宿的地址編號。類型為1個字節(jié),分高4位與低4位兩部分,高4位表示傳遞雙方方式。?
??? 定義為:高4位為0是下行指令(計算機(jī)發(fā)給解碼器),高4位不為0是上行指令(解碼器發(fā)給計算機(jī)),低4位就是前面介紹的指令類型號。校驗(yàn)和為除幀頭以外的其余各字節(jié)之和與256的余數(shù)。?
??? 例:如主機(jī)發(fā)送控制命令給3# 解碼器,命令格式如下:?
??? 云臺上?? aa? 02? 00? 03? 05? 99? 10? xx?
??? 鏡頭焦距遠(yuǎn)? aa? 02? 00? 03? 05? 99? 01? xx?
??? 其余類推。?
????要解決總線上的沖突,保證指令的正確傳輸,需要一個好的通信協(xié)議。通信協(xié)議分兩個部分:一是發(fā)送前解決沖突問題,二是發(fā)送時要保證發(fā)送的正確性。?
??? (1)當(dāng)一方需要發(fā)送指令時,判斷信道上有沒有人在發(fā)指令。如果有,直到指令發(fā)送完再等待10ms;若仍無發(fā)送者,則進(jìn)行下一步判斷,否則轉(zhuǎn)(1)。?
??? (2)發(fā)一隨機(jī)數(shù)(一般為自己的帳號),再接收這個數(shù),判斷是否正確。正確則表示無沖突發(fā)生,進(jìn)行下一步操作;不正確表示沖突發(fā)生,等待一隨機(jī)時間,轉(zhuǎn)到(1)。?
??? (3)當(dāng)發(fā)送指令時為保證指令的正確性,須遵從以下協(xié)議:?
??? 發(fā)送方:發(fā)送后須等到確認(rèn)指令后才能把此指令從發(fā)送隊列里刪除。如果未收到確認(rèn),則隔一段時間重發(fā)一次(時間間隔設(shè)定為10ms);重發(fā)三次后,仍未收到確認(rèn),則把此指令從隊列里刪除;同時,給出出錯信息,當(dāng)發(fā)送方收到重發(fā)指令后,應(yīng)立即重發(fā)。但重發(fā)次數(shù)不能超過三次,超過三次后,也把指令刪除,同時給出信息。?
??? 接收方:當(dāng)收到正確指令時,應(yīng)馬上發(fā)回確認(rèn)指令;若接收錯誤,應(yīng)馬上發(fā)回重發(fā)指令。?
??? 注意:凡是應(yīng)答指令,不應(yīng)放在發(fā)送隊列中,而是即時產(chǎn)生馬上發(fā)送出去,且不用遵循發(fā)送前的信道爭用協(xié)議,因?yàn)閰f(xié)議本身保證此時馬上發(fā)回不會有任何沖突。?
??? 在設(shè)計無觸點(diǎn)云臺鏡頭通訊控制電路的過程中,充分考慮了電路的簡易實(shí)用性,力求達(dá)到較高的性價比。目前該設(shè)計已經(jīng)應(yīng)用到電視監(jiān)控系統(tǒng)中,取得了較好的實(shí)用效果。?
參考文獻(xiàn)?
1 MSP430X14X Data Sheet Texas Instruments Incorporated.2000;6修訂版?
2 孫涵芳. Intel 16位單片機(jī).北京:北京航空航天大學(xué)出版社,1995;11?
3 中國廣播電視設(shè)備工業(yè)協(xié)會應(yīng)用電視專業(yè)協(xié)會.應(yīng)用電視——設(shè)備原理與工程實(shí)踐.北京:電子工業(yè)出版社,1992;1