|
本文設計了一種樓宇無線可視對講電路,該電路以單片機為控制器核心,再連接外圍電路,通過無線數字傳輸電路來傳輸視頻信號,可以達到 50~200 m的無線傳輸距離。該設計優點是在單張拍攝的基礎上,獲得圖像的連續顯示,它真正意義上實現了圖像信號的無線數字傳輸。
1 整體設計方案
系統結構主要由3部分組成:上位機系統、下位機系統和通信系統。這三部分共同完成了主控制器與分控制器的信息交換,達到樓宇監控的目的。主控制器和分控制器通過無線數字傳輸模塊SRWF進行數據和命令的傳輸。該通信模型屬于一對多的通信模式
主控制器的主控芯片為AT89C51,通過鍵盤獲得訪問的房間號碼,確認后,單片機會控制打開視頻采集芯片和緩沖芯片進行工作,并在設定的通信波特率的情況下,通過串口通信,由單片機把數據送給數字傳輸電路,數字傳輸電路再通過無線信道把數據發送出去。從控制器的主控芯片也使用AT89C51,通過數字傳輸電路接收主控器的控制信息和數據信息,對接收到的數據進行分類,若是主機發送過來的通信地址信號,從控制器會讀取振鈴音存儲電路里的數據,從而發出振鈴音。接下來開始接收視頻信號,并通過LCD顯示電路顯示出來,用戶可通過按鍵控制電路決定是否與主控器進行進一步通話。
2 硬件電路設計
2.1 主控制器的電路設計
主控制器電路由單片機AT89C51、鍵盤掃描電路、驅動及數碼顯示電路、看門狗電路、無線數傳電路等幾部分組成。主控制器系統的硬件電路原理圖如圖2所示。
其工作流程如下:先通過鍵盤掃描電路掃描用戶的按鍵信息,以便獲得從機的通信地址,并將按鍵信息通過4個LED顯示出來,以便用戶清楚獲知自己要訪問的從機地址。用戶可以通過鍵盤上的增值、減值、重輸,確認修改其輸入值。當用戶按下確認鍵的時候,主機存貯此時的從機地址,并開啟視頻芯片采樣視頻信號,同時把從機地址通過無線數字傳輸芯片SRWF發送出去。收到從機的應答信號和準備就緒信號后,主機在設定的波特率下開始發送數據。每發1幀數據就等待從機的應答信號,同時對每幀數據都發送校驗幀,以確保數據傳輸的準確無誤。
2.1.1 鍵盤掃描電路
鍵盤掃描部分采用4×4鍵盤,通過P1口設置掃描電平,先置P1口的低4位中某一位為零,然后讀取P1口高4位的電平。P1口的低一位置零即給列線置低,若在P1口的高4位監測到某位為零,則通過行列的位置即可知道按鍵的部位,在按鍵過程中存在抖動問題,解決方法有硬件編碼鍵盤和軟件編碼方式,鑒于成本考慮和AT89C51的高性能考慮本設計采用軟件編碼方式實現掃描,鍵盤掃描電路如圖2所示。
2.1.2 LED顯示電路
LED顯示電路采用動態顯示方式顯示,由74LS248 BCD譯碼芯片和74LS138譯碼器組成。采用74LS248的目的是為了節省I/O口資源,以便控制更多的外圍芯片。LED的段選數據由通過 74LS248譯碼過來的段選碼決定,位選數據由74LS138譯碼產生。工作的時候首先把按鍵的值轉換為BCD碼,再送入P0口的第4位,但是對P0口時整體復制會破壞位選口的數據。此時需進行P0口數據的修正,通過或邏輯運算把位選數據也送入P0口的第4位和第5位,再把修正好的數據送給P0口,此時既有段選數據又有位選數據。要使顯示的數據不閃,則需要利用人眼的視覺暫留性,將每個數據顯示之間的時間延時控制在10 ms以內,這樣顯示的數字才不閃。LED顯示電路如圖2所示。
2.1.3 視頻獲取及數傳電路
視頻獲取電路由CAMERA 0V 7620芯片和IDT7205組成,采用該組合方法是因為視頻獲取的數據量都比較大,但單片機的工作頻率比較低。如果直接搭配則二者不能正常接收。因此,增加緩沖芯片IDT7205,這樣通過單片機控制其工作來達到數據量和單片機的匹配,只有單片機允許接收時才使能IDT7205。如果單片機監測到視頻芯片的VSYN上跳后,就會在P0.7口輸出1,從而開始控制IDT7205從視頻芯片獲取數據。SRWF模塊在使用之前要進行無線信道、接口類型、接口速率、接口參數等的設定,在設置完成后便可以進行數據傳輸,當模塊收到單片機發來的第1個數據后自動進行無線網絡連接及數據同步等工作,因此第1個數據將在 5個字節時間延遲后從接收方串口輸出
2.2 分控制器的電路設計
分控制器也采用AT89C51單片機作為微處理器,分控制器系統的外圍接口電路由晶振、LCD圖像顯示電路、按鍵開鎖電路、看門狗電路、通信接口電路、存儲器等組成。
它的工作過程是:初始化其接收波特率,并一直處于信息監測狀態,當收到地址幀時,就與本身的地址相對比,若不同,則丟棄此幀數據繼續檢測。若相同,則讀取 AT24C02芯片存儲的樂曲編碼,通過P2.1口來控制喇叭發出樂曲音,從而告訴用戶,有訪客請求進入樓宇。當用戶按下鍵盤上的接聽鍵時,單片機會把從無線數字傳輸模塊接收過來的數據送P0口進行液晶顯示。房主看到液晶上的圖像時,若認識訪客,則按鍵開鎖;若不認識訪客,則按掛機鍵,結束視頻通話。視頻顯示電路的主要工作芯片為TFT6448B。TFT6448B自帶數據鎖存器,不需要擴展鎖存芯片,在選中TFT6448B后,通過往TFT6448B的相應行、列、控制、數據寄存器中寫入數據,即可實現單片機AT89C51對TFT6448B的控制顯示。
3 軟件設計
主機由AT89C51單片機充當,從機為AT89C51單片機。主機與從機的數據通信波特率定為9 600 B,每個從機都有惟一的地址號,用來區分各從機。單片機的數據通信由串口完成,定時器T1為波特發生器,數據傳送格式為1位起始位,8位數據位,1位停止位,1位可編程位(T-B8)。工作方式:將定時器T1設置為方式2,串口設置為工作方式3。
該系統的通信協議是:所有從機的SM2位置1,處于接收地址幀狀態,主機發送一地址幀,其中第8位是地址,第9位是地址/數據的區分標志,該位置1表示該幀為地址幀。所有從機接收到地址幀后,都將接收的地址與本機的地址比較,對于地址相符的從機,使自己的SM2位置O,并把本機地址發回主機作為應答;對于地址不符的從機,仍保持SM2=1,對主機后發來的數據幀不予理睬。從機發送數據結束后,要發送一幀校驗和,并置第9位為1,作為從機數據傳送結束的標志。主機接收數據時,先判斷數據接收標志RB8。若RB8=1,表示數據傳送結束,并比較此幀校驗和,若正確,則回送正確信號00H,命令該從機復位;若出錯,則發送信號OFFH,命令該從機重發數據。若接收幀RB8=0,則將數據存到緩沖區,并準備接受下一幀信息。主機接收到從機的應答地址后,確認地址是否相符,如果地址不符,則發復位信號;如果地址相符,則清TB8=0,開始發送數據。從機收到復位命令后回到監聽地址狀態,否則開始接受數據和命令。
4 系統仿真
在Proteus的ISIS 7.1sp2軟件環境下畫出電路原理圖,接下來就是將設計的程序在Keil C51μVision2開發集成環境上編譯成機器語言,進入Proteus的ISIS,鼠標左鍵點擊菜單“Debug”,選中“use romote debuger monitor”,便可實現KeilC與Proteus的連接調試。首先在Proteus中雙擊單片機AT89C51,將KeilC下編程生成的.HEX 文件導入到AT89C51中,可在Proteus中單擊全速仿真運行按鈕,進行現象查看,能清楚地觀察到芯片上每一個引腳的電平變化,紅色代表高電平,藍色代表低電平;如果現象不正確,則在KeilC中單步調試程序,并在Proteus觀察現象,哪一步不正確,則對該段的程序進行修改,調試直到仿真完全成功為止。
依次按下掃描鍵盤上的3個按鈕,待3個按鈕全部輸入后,會在數碼管上顯示剛才所按的數據,按照按下的順序顯示數字,該數字表示要訪問的房間號碼,如504表示要訪問504房間的主人。該房間號碼會提供給單片機用來作為多機通信的地址,仿真結果如圖6所示。
在Proteus里用LM4229代替設計中的TFT6448B芯片。仿真的目:用來獲得圖像顯示的編碼方式和液晶的單色位圖顯示功能。LM4229通過 CDWRITE READ三個引腳的電平來確定是讀數據還是讀狀態,或者是寫數據還是寫命令。其數據引腳為8位,可以與單片機進行直接的數據交換,P2口為液晶顯示的控制端
來源:中國一卡通網 |
|