嵌入式多媒體綜合控制系統(tǒng)的研制
[摘 要] 隨著教育信息技術(shù)的深入發(fā)展,各院校紛紛籌建多媒體網(wǎng)絡(luò)教學(xué)環(huán)境,為此我們研制開發(fā)符合教育需求的嵌入式綜合控制系統(tǒng)。本文首先就多媒體綜合控制系統(tǒng)的原理做了較為詳細(xì)的論述,然后著重闡述了以Motorola單片機(jī)為核心的系統(tǒng)集成的關(guān)鍵技術(shù),諸如紅外遙控碼接收、分析與發(fā)射、存儲器擴(kuò)展、以及視音頻矩陣切換等。
[關(guān)鍵字] 多媒體、Motorola單片機(jī)、紅外遙控、矩陣切換
1 引言
以多媒體和國際互聯(lián)網(wǎng)為代表的信息技術(shù)正在以驚人的速度改變著人類生存方式。同時,對傳統(tǒng)的教育模式也帶來了很大的沖擊。信息技術(shù)使教育傳播媒體已不再僅限于書本中的單一文字,還有融文字、聲音、圖形、動畫、影像為一體的電子教科書、多媒體軟件以及網(wǎng)上傳輸?shù)挠耙暪?jié)目、衛(wèi)星節(jié)目和虛擬現(xiàn)實(shí)的學(xué)習(xí)環(huán)境等等。多媒體綜合教室是將計算機(jī)及網(wǎng)絡(luò)技術(shù)應(yīng)用到教學(xué)領(lǐng)域形成的,將圖像、聲音、文字、動畫等媒體融合起來,為學(xué)生提供豐富生動教學(xué)素材,達(dá)到寓教于樂效果的新型教室。
隨著"后PC時代"的概念提出,嵌入式系統(tǒng)已經(jīng)不再局限于工業(yè)現(xiàn)場總線控制領(lǐng)域,而以其特有的優(yōu)勢被廣泛的應(yīng)用到各個領(lǐng)域。而我們所開發(fā)的系統(tǒng)也正是以單片機(jī)為核心的多媒體綜合控制系統(tǒng)
2 多媒體綜合控制系統(tǒng)的原理與關(guān)鍵技術(shù)
多媒體綜合控制系統(tǒng)要將錄像機(jī)、影碟機(jī)、多媒體計算機(jī)、實(shí)物展示臺、投影機(jī)等先進(jìn)的視聽設(shè)備以及其它環(huán)境設(shè)備有機(jī)地連接起來,由教師根據(jù)教學(xué)需要來有選擇的播放多媒體課件和調(diào)節(jié)環(huán)境。
系統(tǒng)要對多中播放媒體進(jìn)行選擇播放并控制播放設(shè)備。如圖 1所示,MPU(主處理器)部分學(xué)習(xí)、記憶設(shè)備的遙控碼,并回控設(shè)備;對計算機(jī)VGA增強(qiáng)驅(qū)動,分路輸出;對錄像機(jī)、影碟機(jī)等模擬視音頻按鍵盤掃描有選擇的切換;對電動窗簾、屏幕、燈光等的控制。
系統(tǒng)選用了內(nèi)部自帶Flash Memory 的高性能微處理器--Motorola MC68HC08GP32作為中央控制器,由它實(shí)時監(jiān)控系統(tǒng),進(jìn)行容錯處理,實(shí)現(xiàn)紅外信號讀取、判別和存儲以及輸出紅外遙控信號,完成視、音頻矩陣開關(guān)切換控制。
圖 1 多媒體綜合控制系統(tǒng)原理圖
2.1 紅外遙控解調(diào)
紅外遙控發(fā)射與接收是本系統(tǒng)的核心。紅外遙控發(fā)射器是一種脈沖編碼調(diào)制器,它在發(fā)射遙控指令時把二進(jìn)制數(shù)調(diào)制成一系列的脈沖串信號(載波信號)后發(fā)射出去,常用的調(diào)制方法有脈沖寬度調(diào)制(PWM)和脈沖位置調(diào)制(PPM)兩種.紅外遙控信號處理過程如圖2所示,信號經(jīng)遙控發(fā)射器發(fā)送,由遙控受光前置放大器接收,解調(diào)(解碼)、放大后為脈沖輸出,最后送入微處理器進(jìn)行譯碼、存碼,并回控設(shè)備。
圖 2 紅外遙控接受發(fā)射基本原理
紅外遙控信號接收器把接收到的紅外信號先經(jīng)光電二極管解調(diào),把光信號轉(zhuǎn)換成電信號,然后通過繼承電路再對38KHZ調(diào)制進(jìn)行解調(diào),恢復(fù)為帶有一定功能指令碼的紅外信號。并對此信號加以放大、整形和解調(diào)而輸出功能指令碼。紅外遙控信號接收器最常用的集成電路是CX20106A,如圖 3所示。它由前置放大、自動偏壓控制、振幅放大、峰值檢波和整形電路組成。其中,R1為前置放大器負(fù)反饋電阻;改變它大小,可以調(diào)放大器增益;R2為檢波器中心頻率調(diào)節(jié)電阻;R3為輸出端負(fù)載電阻;C2為檢波電容;C3為積分電容;Vp為光敏二極管,也可用光敏三極管。
圖 3 CX20106A原理圖
2.2 紅外遙控編碼
目前,各國電器生產(chǎn)廠家對遙控脈沖編碼及碼流還沒有統(tǒng)一的標(biāo)準(zhǔn)。其中最為常用的是PWM碼(脈沖寬度調(diào)制碼)和PPM碼(脈沖位置調(diào)制碼)。前者以寬脈沖表示1,窄脈沖表示0。后者脈沖寬度一樣,但是碼位的寬度不一樣,碼位寬的代表1,碼位窄的代表0。大多數(shù)都采用圖中所示的方法表示"0"和"1"。其中 tw一定,tp0≠tp1。如圖 4所示。
圖 5 遙控碼碼流結(jié)構(gòu)分析
圖 6 單片機(jī)接收到的碼流
如圖 6所示,若要將這串脈沖如實(shí)的記錄下來,只須將每一個脈沖的寬度tw,以及脈沖之間的距離td記錄下來,故可用一組(tw,td)來表示一個脈沖信息,并稱之為一個信息位,用T來表示,每一個T包括tw,td兩部分,這樣,就可以用一個二維數(shù)組T(tw,td)來表示各個信息位,即可得到這樣一組碼表: T1、T2、T3……,稱之為數(shù)據(jù)碼表。
2.3 視音頻矩陣切換
從圖1可以看出,要實(shí)現(xiàn)對不同的信號輸入源的選擇播放,就需要視/音頻矩陣切換電路來完成對多路輸入信號的選擇播放。MT8816是8*16模擬開關(guān)矩陣。它由7~128線地址譯碼器、128位控制數(shù)據(jù)鎖存器和8*16模擬開關(guān)陣列組成。它的電路原理如圖7所示,圖中用PA0~PA6 作為MT8816的行地址和列地址控制線,PB0~PB3分別作為選通脈沖ST、數(shù)據(jù)輸入DI、片選信號CS的復(fù)位信號RESET。ROWo~ROW15 作為輸入,COLo~COL7作為輸出。即16路輸入,8路輸出。
圖7 視頻矩陣切換原理圖
在實(shí)際控制中,由單片機(jī)先置CS為高電平,寫入行、列地址,然后置ST為高電平,將地址輸入,最后再將ST置為低電平,利用ST的下降沿將數(shù)據(jù)DI寫入鎖存單元,以控制所選交差點(diǎn)開關(guān)的通斷。若DI為高電平,則相應(yīng)開關(guān)導(dǎo)通;若DI為低電平則開關(guān)截止。當(dāng)數(shù)據(jù)DI寫入鎖存器時,僅與相對應(yīng)地址開關(guān)有關(guān),與其它開關(guān)無關(guān),這可實(shí)現(xiàn)輸入到輸出的任意連接。復(fù)位信號輸入RESET若為高電平,不管片選CS處于何電平,均將全部開關(guān)置于截止?fàn)顟B(tài)。
2.4 VGA矩陣切換
VGA標(biāo)準(zhǔn)同以往的CGA、EGA等標(biāo)準(zhǔn)都不一樣,它采用數(shù)模轉(zhuǎn)換技術(shù),輸出模擬視頻信號,因此同TTL數(shù)字信號比,其彩幀顯示能力大大增強(qiáng),原則上可顯示無窮多的顏色,是后來所有顯示技術(shù)的發(fā)展基礎(chǔ)。VGA標(biāo)準(zhǔn)采用15針頭D型插頭。VGA有紅、綠、藍(lán)三種基色和行、場兩個同步信號。它的最高分辨率為 640*480,行頻為31HZ,場頻為60HZ或70HZ。它可以兼容CGA、EGA顯示標(biāo)準(zhǔn)。為了兼容CGA卡的200線的顯示方式,采用了兩次掃描的技術(shù),即對200線中的每一線都顯示為相鄰的兩行,兩行的內(nèi)容一樣。
MAX465是由美國MAXIM公司生產(chǎn)的模擬開關(guān),它提供了二組(3)輸入.一組(3)輸出,也就是說有六路輸入和三路輸出。它具有2倍的電壓增益輸出,并且能在帶寬為90Mhz內(nèi)可以獲得穩(wěn)定的2倍電壓增益。
在本系統(tǒng)中,主要是對VGA的三基色和行、場信號進(jìn)行處理。可以采用兩片MAX465級連控制即可。
2.5 智能處理器
Motorola系列的單片機(jī)是目前世界上銷量最高的8位單片機(jī)之一。由于其價格低廉,系列品種多等諸多優(yōu)點(diǎn),因此在家用電器、儀器儀表、移動通信和簡易的控制系統(tǒng)等方面得到了極其廣泛的應(yīng)用。
MC68HC08GP32繼承HC05編程模式,內(nèi)有512字節(jié)RAM,32,256字節(jié)Flash Memory。片內(nèi)I/O功能較強(qiáng),除有常見的并行I/O外,還有串行I/O、輸入捕捉、PWM(Pulse-Width Modulation)輸出和實(shí)時時鐘RTC等功能。有一個多功能的16位定時器/計數(shù)器,具有輸入捕捉和輸出比較功能,并自帶Watchdog 監(jiān)控功能。
2.5.1外部EEPROM擴(kuò)展
系統(tǒng)在讀碼、析碼之后,需要對數(shù)據(jù)碼進(jìn)行不可遺失性存儲。這就需要外擴(kuò)EEPROM。鑒于對鍵盤實(shí)時掃描已占用了單片機(jī)大量的端口,因此選用24C32A 這一基于I2C的4K*8兩線串行讀/寫EEPROM,它具有較強(qiáng)的總線擴(kuò)展功能,可以擴(kuò)展到8片。如圖7所示,系統(tǒng)使用兩片EEPROM。
同時,由于設(shè)備遙控碼的長度并不一定,而且差異很大。因此,為了不浪費(fèi)存儲空間,對遙控碼的存儲采用動態(tài)分配存儲空間的方式。即系統(tǒng)在每塊存儲器起始位置留出特定的存儲空間用來存放本片內(nèi)各個遙控碼的起始位置信息。
圖7 EEPROM擴(kuò)展
在對存儲器的讀寫控制中,由單片機(jī)提供時鐘信號(SCL),控制總線的讀/寫。如圖8所示,一個讀寫周期一般包括寫控制字節(jié)選擇存儲器、送高8位地址字節(jié)、送低8位地址字節(jié),讀/寫數(shù)據(jù)。對存儲器的讀/寫要以應(yīng)答方式進(jìn)行。
圖8 24C32讀/寫控制
2.5.2輸入捕捉與輸出比較
在本系統(tǒng)中需要將被解調(diào)后的信號記錄下來,該信號解調(diào)后頻率教低,在100HZ以內(nèi),一般都是利用單片機(jī)的計數(shù)器按一定的計數(shù)周期對高、低電平的時間長度進(jìn)行計數(shù),保存了這些數(shù)據(jù)就等于記錄了完整的信號。
MC68HC08GP32微控制器器有一個特殊的功能模塊,即輸入捕捉。該模塊用來監(jiān)測外
部的事件和輸入信號。當(dāng)外部事件發(fā)生或信號發(fā)生變化時,在指定的輸入捕捉引腳上發(fā)生一個指定的沿跳變(可以指定該跳變是上升還是下降沿)。定時器捕捉到特定的沿跳變后,把自由運(yùn)行計數(shù)器當(dāng)前的值鎖存到輸入捕捉寄存器。如果在輸入捕捉控制寄存器中設(shè)定允許輸入捕捉中斷,系統(tǒng)回產(chǎn)生一次輸入捕捉中斷,利用中斷處理軟件可以得到事件發(fā)生的時刻或信號發(fā)生變化的時刻。
圖9 輸入捕捉原理 圖10 輸出比較原理
輸入捕捉模塊的原理如圖9所示。通過記錄輸入信號的連續(xù)的沿跳變,就可以算出輸入信號的周期和脈寬。在本系統(tǒng)中用該模塊來實(shí)現(xiàn)對解調(diào)后的紅外遙控信號的讀取。
在對保存的信號輸出時,還需要將它調(diào)制在38KHZ的載波上。此38KHZ的載波可由硬件產(chǎn)生也可由軟件產(chǎn)生。在本系統(tǒng)中選擇使用軟件方式。
與輸入捕捉模塊相對應(yīng),MC68HC08GP32還有一個輸出比較功能模塊。用它可以得到非常精確的輸出時間間隔。如圖10所示,該模塊用來在規(guī)定的時刻輸出需要的電平。16位自由運(yùn)行計數(shù)器的值每遞增一次,就和輸出比較寄存器的值比較一次。當(dāng)兩個值等的時候,輸出比較模塊置位定時器通道的狀態(tài)和控制寄存器,并且在該通道的引腳上崗輸出預(yù)先規(guī)定的電平。這樣,通過修改輸出比較寄存器的值,就可以輸出不同頻率的波形。我們利用該模塊來精確輸出帶載波的遙控信號。
2.5.3系統(tǒng)軟件設(shè)計
系統(tǒng)軟件主要依照鍵盤掃描到的內(nèi)容,分別完成三方面的工作,其一是紅外遙控信號的讀取與存儲,其二是紅外遙控信號的發(fā)射。其三是對外圍器件的控制,實(shí)現(xiàn)視/音頻矩陣切換與環(huán)境控制。具體流程見圖11。
圖11 系統(tǒng)軟件流程圖
3 結(jié)束語
近20年來,以單片機(jī)為核心的智能控制系統(tǒng)已迅速滲透到各個領(lǐng)域。使用單片機(jī)作為多媒體綜合控制器不僅可以優(yōu)化系統(tǒng),替代大規(guī)模邏輯控制模塊,而且使系統(tǒng)更加穩(wěn)定。性價比大大提高。
對紅外信號進(jìn)行解調(diào)讀碼、以及調(diào)制發(fā)射是系統(tǒng)的核心所在,而編碼分析則是系統(tǒng)的關(guān)鍵,其編碼方式使得開發(fā)者一度困惑,不同廠家、不同設(shè)備采用的遙控編碼方式大相徑庭,而且還會出現(xiàn)不同設(shè)備功能遙控碼相同。這對于系統(tǒng)設(shè)備的集成、融合大為不利,因此提議有建立一個統(tǒng)一的編碼協(xié)議。這不僅有助于廠家產(chǎn)品市場擴(kuò)展,而且便于使用者操作。