鍵盤是數字視頻監控錄像系統中最重要的輸入設備之一,是人機接口的重要組成部分。目前常用的工業控制計算機鍵盤除配置電子鎖開關防止非法鍵盤輸入外,與 PC鍵盤并沒有多大區別。這種鍵盤不僅鍵數多,操作不靈活,而且通常只能作為輸入設備,主機無法通過鍵盤與外設進行通信。本文在分析PC機鍵盤通信方式的基礎上,設計出以89C51單片機為核心的數字視頻監控系統鍵盤及報警控制卡,該卡具有鍵盤通信和輸入輸出報警兩種功能,采用標準PCI卡的結構,但不占用主機硬件資源。其中,報警部分有4 路輸入和4路輸出,可以與標準的報警傳感器相連;鍵盤部分有16個鍵,通信方式與PC機完全兼容。采用這種控制卡,不僅可以節省視頻監控系統中常用的專用報警解碼器,而且能夠實現在不占用主機硬件資源的情況下實現與外設的雙向通信,利用這個特性,可以及時發現系統的異常情況并加以解決,從而大大提高目前普遍采用的基于Windows操作系統的數字視頻監控錄像系統的可靠性。
1 鍵盤與主機的通信方式
主機通過鍵盤接口與鍵盤聯絡,主機與鍵盤的通信,實際上是鍵盤接口與鍵盤的通信。PC機鍵盤接口采用Intel8042芯片作為控制器,接收鍵盤掃描碼以及向鍵盤發送命令。除了電源線和地線之外,鍵盤與主機之間還有2條雙向通信線:時鐘線和數據線。采用串行傳送方式,在時鐘脈沖作用下同步地收發數據,既可以向主機傳送鍵盤響應或鍵盤掃描碼,也可以接收來自主機的鍵盤命令。主機通過設置數據線和時鐘線的狀態,指導鍵盤收發數據:
(1)時鐘線為低電平,禁止鍵盤傳送數據。
(2)時鐘線為高電平,數據線為低電平,通知鍵盤接收命令或參數。
(3)時鐘線和數據線都為高電平,允許鍵盤傳送數據。
1.1 鍵盤向主機發送數據
由于鍵盤輸入是異步的,且具有實時性,所以主機系統以中斷方式支持鍵符的隨機輸入。每當鍵盤接口接收完從鍵盤送來的串行掃描碼時,即向中斷系統發出一個鍵盤中斷,若CPU響應該中斷,則由鍵盤中斷程序讀取此掃描碼,經轉換后成為系統掃描碼,存到鍵盤緩沖區。鍵盤發送數據時,數據線和時鐘線都由鍵盤控制。鍵盤發送一個字節的數據格式如圖1所示。
鍵盤首先檢測時鐘線和數據線的狀態,當兩者皆為高電平時,開始傳送數據。依次傳送起始位、8位數據位(低位在前)、校驗位和停止位。每傳送一位,時鐘線同步地產生一個脈沖。當主機收到該脈沖后,將時鐘線置成低電平并保持一段時間,禁止鍵盤繼續發碼,以便于檢驗該數據的正確性,并產生中斷,進行代碼轉換和執行相應的操作。如果檢驗出錯,就向鍵盤傳送重發命令0FEH,要求重送,鍵盤向主機發送數據采用奇校驗方式。
1.2 鍵盤接收主機命令和參數
主機首先將時鐘線置為低電平,隨后將數據線置為低電平,延時大約200μs后,將時鐘線置為高電平。當鍵盤檢測到這一狀態后,開始接收主機命令,接收數據格式與發送的一樣。鍵盤依次接收1個起始位、8個數據位、1個校驗位、1個停止位。特別值得注意的是,在接收鍵盤命令或參數時,雖然數據是由主機發向鍵盤的,但是時鐘脈沖是由鍵盤產生的。主機在時鐘線上每接收一個脈沖的下降沿,就在數據線上輸出一位數據。如果接收正確,在時鐘線和數據線都成為高電平后,鍵盤將向主機發一個應答信號(0FAH),否則向主機發一個0FEH信號,要求重發。主機收到 0FEH信號后,把剛才輸出過的數據重新發送一次。如果這一過程持續三次后,鍵盤仍然不能正確接收,主機就放棄傳送這個數據,轉去執行下面的程序或顯示錯誤信息。主機命令和參數也采用奇校驗方式。
2 系統硬件電路設計
本系統采用89C51單片機與PC鍵盤接口相連,圖2給出了系統硬件電路原理。其中P3.0和 P3.1分別與主機鍵盤接口的時鐘線CLK和數據線DATA相連,P2口與4×4鍵盤矩陣相連,P0口經過驅動后與輸入輸出報警設備相連接。為保證鍵盤可靠工作,系統配置了看門狗電路 MAX813L,另外,系統還配置了蜂鳴器,每次按鍵均有聲音提示。
3 系統軟件設計
系統軟件主要有兩部分組成。
3.1 鍵盤向主機發送鍵盤掃描碼
與PC標準鍵盤兼容,當檢測到有效鍵閉合時,鍵盤向主機發送接通碼,當檢測到閉合鍵釋放時,發送斷開碼,即在接通碼前加0F0H,系統采用中斷的方式每隔10 ms掃描一次鍵盤,考慮到數字視頻監控系統的實際情況,與標準PC機鍵盤不一樣的是,每次按鍵無論時間長短,只發送一次接通碼,且每次有效按鍵輸入,均有聲音提示。
3.2 鍵盤接收主機控制命令及應答
主機的控制命令包括兩部分,一部分是標準PC機發送給鍵盤的控制命令,主要是用于鍵盤的自檢,另一部分是本系統增設的控制命令,主要是和外設進行雙向通信以實現輸入輸出報警功能。主機開機時都要對鍵盤進行自檢,主機對鍵盤的自檢是通過鍵盤控制命令實現的,主機要求鍵盤每接收一個命令都要用 0FAH作為應答,而且在發送鍵盤復位命令0FFH后,鍵盤要發送0FAH和0AAH作為鍵盤自檢正確的響應。本系統增設的控制命令是在檢測到動態報警信號及系統異常時通知外設以便發出聲光報警信號。這些控制命令是通過對主機鍵盤接口狀態寄存器(口地址064H)和數據寄存器(口地址060H)的讀寫操作實現的。圖3給出了鍵盤處理中斷服務子程序框圖。
4 結語
本系統在不占用主機硬件資源的情況下,利用PC鍵盤接口實現了與外設的雙向通信,所設計的數字視頻監控系統鍵盤及報警控制卡具有鍵數少、操作簡單和可靠性高的優點,已在實際的數字硬盤錄像監控系統中得到了成功的應用,證明該設計方法是切實可行的,可廣泛應用于工業監控系統中。
評論
查看更多