<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于單片機的共享控制器的設(shè)計與實現(xiàn)?

          基于單片機的共享控制器的設(shè)計與實現(xiàn)?

          作者: 時間:2013-10-31 來源:網(wǎng)絡(luò) 收藏

          2.1 硬件設(shè)計

          U1的P1口接鍵盤K0、鼠標(biāo)M0的時鐘、數(shù)據(jù)線;P0口接計算機的鍵盤鼠標(biāo)信號線,即:PCI的時鐘線kbclk1、mselk1,數(shù)據(jù)線kbda-ta1、msdata1,PC2的時鐘線kbclk2、msclk2,數(shù)據(jù)線kbdata2,msdata2;P2口用來控制計算機間的切換。

          計算機啟動時,P0口的時鐘、數(shù)據(jù)線被拉高和拉低,檢測這些狀態(tài),并根據(jù)PS/2協(xié)議讀出這些發(fā)來的命令。然后把這些命令直接發(fā)送給鍵盤K0。K0應(yīng)答計算機的命令,把這些應(yīng)答數(shù)據(jù)轉(zhuǎn)發(fā)給計算機。對于后臺計算機,單片機直接回應(yīng)這些計算機發(fā)來的命令。鼠標(biāo)和計算機間的聯(lián)系和鍵盤相同。

          習(xí)慣上,指定其中一臺計算機設(shè)為前臺計算機,單片機轉(zhuǎn)發(fā)這臺計算機的命令、數(shù)據(jù)給鍵盤。當(dāng)這臺計算機沒有接入時,單片機自動指定另一臺為前臺計算機。

          單片機的P2口外接一瞬態(tài)開關(guān),當(dāng)開關(guān)按下時,單片機接受一個脈沖,于是就把當(dāng)前的前臺計算機和后臺計算機進行互換。并放置指示燈指示對應(yīng)計算機的狀態(tài)。

          顯示信號分R、G、B信號,H、V信號。前三個信號為模擬信號,用AD8183芯片控制,在這個片子的輸入輸出端要力175Ω的匹配電阻,并且這個片子需要5V電源供電。輸出選擇端在U2的223腳SEL,當(dāng)SEL端接地時,A路輸出,否則B路輸出。H、V信號由54LS157控制,這是四組2選1的數(shù)據(jù)選擇器,它的選擇端在1腳,1腳拉高B路輸出,1腳拉低A路輸出。這兩個片子的選擇端接到一個雙刀雙擲繼電器,對AD8183和154LS15 7進行統(tǒng)一控制。

          2.2 軟件設(shè)計

          計算機啟動時,運行BIOS,檢測主板和各種外部硬件設(shè)備,識別其設(shè)備類型,并對它們進行初始化。當(dāng)檢測鍵盤時,如果掃描不到,且計算機在BIOS中設(shè)置PostBehavior->keyboard Errors->Report,計算機就會停止初始化,顯示出錯信息;否則,認為鍵盤不存在,跳過該設(shè)備,計算機初始化結(jié)束后該設(shè)備不能用。當(dāng)多臺計算機與一個鍵盤相連時,必須給沒有與鍵盤物理連接的計算機建立虛擬的鍵盤。這個虛擬外設(shè)能夠完成與計算機的數(shù)據(jù)交換,幫助計算機順利通過BIOS檢測。同樣,對于鼠標(biāo),也必須建立虛擬鼠標(biāo)使計算機通過BIOS檢測。虛擬鍵盤和虛擬鼠標(biāo)這些虛擬外設(shè),在計算機給出命令時,應(yīng)答命令,使計算機確信該外設(shè)存在。

          BIOS檢測完成后,計算機進入系統(tǒng)初始化過程。在這個過程中,操作系統(tǒng)要對外部設(shè)備的具體參數(shù)進行設(shè)置。鍵盤要設(shè)置機打速率/延遲(typematic rate/delay);鼠標(biāo)要設(shè)置采樣率(sample rate),讀取設(shè)備類型(不同類型的鼠標(biāo)有不同的ID),設(shè)置分辨率(resolution,設(shè)置為每mm多少個計數(shù)點counts/mm),比例(scaling),設(shè)置數(shù)據(jù)報告禁止/允許。同樣,對于計算機必須建立虛擬外設(shè),使系統(tǒng)確認外設(shè)存在,以通過初始化。

          當(dāng)上述過程完成后,系統(tǒng)就順利通過了初始化。顯示器顯示一臺計算機的畫面,該畫面對應(yīng)的計算機稱為前臺計算機,不被顯示畫面的計算機為后臺計算機。按下上的切換按鈕,外設(shè)選擇一后臺計算機,把其置前成為前臺計算機,此時,顯示器顯示該計算機的畫面,鍵盤鼠標(biāo)響應(yīng)該計算機。原先的前臺計算機變?yōu)楹笈_工作。

          啟動過程的程序流程圖見圖4。

          基于單片機的共享控制器的設(shè)計與實現(xiàn)?

          本文用Keil C開發(fā),它提供了豐富的數(shù)據(jù)類型,極大地增強了程序處理能力和靈活性,它能夠自動實現(xiàn)中斷服務(wù)程序的現(xiàn)場保護和恢復(fù),目標(biāo)程序效率高、可移植性好,是一種高級語言,可讀性強,維護使用方便靈活。軟件由主程序和中斷服務(wù)子程序組成。主程序完成系統(tǒng)的初始化和計算機命令的響應(yīng)、鍵盤鼠標(biāo)數(shù)據(jù)的發(fā)送。中斷程序主要包括鍵盤熱鍵切換、外部按鍵切換。軟件功能模塊結(jié)構(gòu)清晰可讀。程序流程圖見圖4和圖5。

          基于單片機的共享控制器的設(shè)計與實現(xiàn)?

          系統(tǒng)上電,外設(shè)上電并開始對AT89S8252初始化。包括對變量、串口、定時器、中斷控制、看門狗進行初始化操作。在這個過程中還需要對外部的計算機的PS/2外設(shè)進行初始化應(yīng)答。并且自動掃描啟動計算機,PS/2、VGA外設(shè)連接啟動計算機,并顯示啟動計算機的畫面。

          當(dāng)完成BIOS檢測和操作系統(tǒng)檢測應(yīng)答后,單片機進入主程序,執(zhí)行正常鍵盤鼠標(biāo)的操作功能。讀取P1.1上鍵盤給主機的數(shù)據(jù)看是否有“切換前/后臺計算機”的熱鍵按下,如果是,將切換;否則,連接當(dāng)前計算機。

          3 設(shè)計小結(jié)

          本論文完成了主機1和主機2的鍵盤、鼠標(biāo)、顯示器幾種外設(shè)的共享,解決了PS/2口、VGA接口共享時遇到的問題。實物經(jīng)過篩選試驗、環(huán)境適應(yīng)性試驗、電磁兼容試驗,性能良好,安全可靠。


          上一頁 1 2 下一頁

          關(guān)鍵詞: Atmel 單片機 共享控制器

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();