新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 一種單片機實現(xiàn)的嵌入式視頻切換器

一種單片機實現(xiàn)的嵌入式視頻切換器

作者: 時間:2009-06-17 來源:網(wǎng)絡(luò) 收藏

2 設(shè)計
  根據(jù)會議電視系統(tǒng)的整體要求,主要由主程序和串口中斷服務(wù)子程序組成。編程時著重考慮了以下幾方面:對整個控制器正確地初始化;對上級主控命令正確地分析、判斷、處理;對矩陣的正確更新,對數(shù)據(jù)的及時保存(主程序流程如圖4)。

本文引用地址:http://m.butianyuan.cn/article/173714.htm

2.1 主機控制命令
  主機發(fā)出的控制命令有兩種。第一種是定長的,包含8個字節(jié)(見圖5)。C3H是開始字節(jié),5AH表示結(jié)束;地址1、地址2表示控制器在整個系統(tǒng)中所處的位置;數(shù)據(jù)1、數(shù)據(jù)2包含了對矩陣輸入輸出更新的具體信息;優(yōu)先級代表了本次命令的優(yōu)先級別,00H級別最高;校驗字節(jié)為前6個字節(jié)之和。第二種命令是分組控制命令,長度不定(見圖6),C5H 表示第二種控制命令的開始;地址1、地址2同第一類控制命令;數(shù)據(jù)0是本次分組命令所控制的輸出通道;數(shù)據(jù)1至數(shù)據(jù)n是本次分組中的輸入通道;校驗字節(jié)為前幾個字節(jié)之和對FFH取余;55H 表示本次命令的結(jié)束。

2.2主程序
  控制器在沒收到主機發(fā)送的控制命令時,會一直運行于主程序之中。主程序主要完成對系統(tǒng)的初始化;定時向看門狗電路發(fā)送電壓翻轉(zhuǎn)信號;對主機的控制命令發(fā)送回傳信息。
  在初始化時,先從存儲器中讀取信息,判斷讀出的數(shù)據(jù)是否超出了矩陣的輸入輸出范圍。若數(shù)據(jù)無誤,則按此信息(一般是上次關(guān)機時控制器的狀態(tài))初始化矩陣。若發(fā)現(xiàn)某一數(shù)據(jù)有誤,則按預(yù)先的約定初始化矩陣。控制器在向主機返回命令之前要判斷回響標(biāo)志,若標(biāo)志為“1”,則調(diào)用回響主機的子程序,否則會跳過這一步,繼續(xù)向看門狗電路發(fā)送電壓翻轉(zhuǎn)信號,以示其工作正常。
2.3 串口中斷服務(wù)子程序

一旦控制器檢測到串口有數(shù)據(jù)到來,就會發(fā)出中斷請求信號。在執(zhí)行完當(dāng)前的指令后,會轉(zhuǎn)向服務(wù)子程序(流程如圖7)。在子程序內(nèi)要完成對主控命令的判斷、分析、處理,完成對矩陣的更改及信息的保存等任務(wù)。中斷服務(wù)子程序也是設(shè)計的核心部分與難點之處。在接收完主機發(fā)送的命令之后,要處理的事務(wù)有:
  (1)判斷命令是否正確。這包括判斷命令是否正確;檢查命令是第一類還是第二類。若是第一類命令,要檢查其起始、結(jié)束字節(jié)和校驗字節(jié)是否正確;輸入輸出是否在規(guī)定的范圍之內(nèi)。若是第二類命令,要保存分組信息,開啟記時器。若檢查有一點不對,將放棄該命令,恢復(fù)現(xiàn)場,退出服務(wù)子程序。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉