《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于單片機的多計算機外設共享控制器的設計與實現
基于單片機的多計算機外設共享控制器的設計與實現
電子科技
錢幸存 高同國 江蘇自動化研究所
摘要: 摘要:為了解決多計算機外設共存的問題,通過對多計算機外設兼容設計的研究,文章提出一種基于單片機的外設共享控制器的設計的方法。該方法包含基于單片機的外設共享控制器的主要設計思路和實現方法,硬件設計采用單
Abstract:
Key words :

摘要:為了解決多計算機外設共存的問題,通過對多計算機外設兼容設計的研究,文章提出一種基于單片機的外設共享控制器的設計的方法。該方法包含基于單片機的外設共享控制器的主要設計思路和實現方法,硬件設計采用單片機與繼電器,軟件采用Keil C開發。目前該方法已經投入應用,通過應用表明該設計方法方便可靠。
關鍵詞:單片機;外設共享;控制;計算機

0 引言
    隨著電子設備技術不斷發展和產品功能不斷增加,一般情況下,產品功能通常需要多個計算機配合實現。另一方面,在產品設計過程中,為了提高產品的可靠性,計算機備份技術作為提高產品可靠性重要手段之一也越來越多被采用。在這種情況下,為了降低產品的復雜度,合理使用有限的空間,在具體產品設計時,往往只有單套計算機外設配給多套主機使用。此時,需要解決多個主機之間的顯示器、鍵盤和鼠標的動態切換問題。
    而這一問題可以通過外設共享來解決,使用外設共享控制器,可實現雙主機或者多主機之間顯示器、鍵盤和鼠標的動態切換,從而實現有限資源的合理利用。

1 設計原理
1.1 外設共享控制器的功能介紹
    按下外設共享控制器的主機1按鍵,外設顯示器和鍵盤、鼠標連接到主機1,同時主機1按鍵指示燈亮;按下主機2按鍵,外設顯示器和鍵盤、鼠標連接到主機2,同時主機2按鍵指示燈亮。外設共享控制器具有自動掃描功能,能夠監測計算機的運行。主機1先啟動,則外設顯示器和鍵盤、鼠標連接到主機1,同時主機1按鍵指示燈亮;主機2先啟動,則外設顯示器和鍵盤、鼠標連接到主機2,同時主機2按鍵指示燈亮。另外,也可通過鍵盤上設定的熱鍵(連續按兩次Ctrl鍵)來控制鍵盤、鼠標、顯示器信號的切換。
1.2 PS/2、VGA接口介紹
    外設共享控制器涉及的外設是鍵盤、鼠標和顯示器,接口類型分別是PS/2口、PS/2口和VGA口。PS/2鍵盤和鼠標履行一種雙向步串行協議。也就是說,每次數據線上發送一位數據并且每在時鐘線上發一個脈沖就被讀入。鍵盤/鼠標可以發送數據到主機,而主機也可以發送數據到設備,但主機總是在總線上有優先權,它可以在任何時候抑制來自于鍵盤/鼠標的通訊,只要把時鐘拉低即可。從鍵盤/鼠標發送到主機的數據在時鐘的下降沿(CLK由高到低的時候)被讀取;從主機發送到鍵盤/鼠標的數據在上升沿(當時鐘從低變到高的時候)被讀取。不管通訊的方向怎樣,鍵盤/鼠標總是產生時鐘信號。一個PS/2設備的工作頻率推薦值為15kHz左右,這意味著時鐘應該是高40μs低40μs。所有的數據位安排在一個字節中,每個字節為一幀,包含11~12個位。這些位為1個起始位0、8個數據位、1個校驗位、1個停止位和1個應答位。常用的六芯插座布局及其定義見圖1。

b.JPG


    VGA接口是一種COMS/TTL接口,15芯插座布局及其定義見圖2和表1。VGA信號本身不需要初始化,可直接進行切換。

c.JPG

d.JPG


1.3 外設共享控制器的設計原理
    外設共享控制器的原理見圖3,設計采用ATMEL公司的AT89S8252單片機,它擁有8k flash存儲區、256×8位RAM。AT89S8252自帶EEPRO-M,且其P0、P1、P2、P3均可作為I/O口使用。在本設計中,鍵盤鼠標等PS/2口的切換主要是通過雙刀雙擲繼電器實現,顯示的R、G、B信號主要通過AD8183芯片完成信號切換,H、V信號通過54LS157芯片完成信號切換。為保證顯示信號切換的一致性,通過一個雙刀雙擲繼電器對AD8183和54LS157進行統一控制。本文為兩臺計算機設計一套鍵盤鼠標共享電路,計算機數量多時,情形類似。

e.JPG



2 設計買現
    外設共享控制器需要解決計算機啟動對外設(PS/2、VGA)初始化,并在計算機啟動完成后,控制信號的動態切換。共分為硬件設計和軟件設計。
2.1 硬件設計
    單片機U1的P1口接鍵盤K0、鼠標M0的時鐘、數據線;P0口接計算機的鍵盤鼠標信號線,即:PCI的時鐘線kbclk1、mselk1,數據線kbda-ta1、msdata1,PC2的時鐘線kbclk2、msclk2,數據線kbdata2,msdata2;P2口用來控制計算機間的切換。
    計算機啟動時,P0口的時鐘、數據線被拉高和拉低,單片機檢測這些狀態,并根據PS/2協議讀出這些發來的命令。然后把這些命令直接發送給鍵盤K0。K0應答計算機的命令,單片機把這些應答數據轉發給計算機。對于后臺計算機,單片機直接回應這些計算機發來的命令。鼠標和計算機間的聯系和鍵盤相同。
    習慣上,指定其中一臺計算機設為前臺計算機,單片機轉發這臺計算機的命令、數據給鍵盤。當這臺計算機沒有接入時,單片機自動指定另一臺為前臺計算機。
    單片機的P2口外接一瞬態開關,當開關按下時,單片機接受一個脈沖,于是就把當前的前臺計算機和后臺計算機進行互換。并放置指示燈指示對應計算機的狀態。
    顯示信號分R、G、B信號,H、V信號。前三個信號為模擬信號,用AD8183芯片控制,在這個片子的輸入輸出端要力175Ω的匹配電阻,并且這個片子需要5V電源供電。輸出選擇端在U2的223腳SEL,當SEL端接地時,A路輸出,否則B路輸出。H、V信號由54LS157控制,這是四組2選1的數據選擇器,它的選擇端在1腳,1腳拉高B路輸出,1腳拉低A路輸出。這兩個片子的選擇端接到一個雙刀雙擲繼電器,對AD8183和154LS15 7進行統一控制。
2.2 軟件設計
    計算機啟動時,運行BIOS,檢測主板和各種外部硬件設備,識別其設備類型,并對它們進行初始化。當檢測鍵盤時,如果掃描不到,且計算機在BIOS中設置PostBehavior->keyboard Errors->Report,計算機就會停止初始化,顯示出錯信息;否則,認為鍵盤不存在,跳過該設
備,計算機初始化結束后該設備不能用。當多臺計算機與一個鍵盤相連時,必須給沒有與鍵盤物理連接的計算機建立虛擬的鍵盤。這個虛擬外設能夠完成與計算機的數據交換,幫助計算機順利通過BIOS檢測。同樣,對于鼠標,也必須建立虛擬鼠標使計算機通過BIOS檢測。虛擬鍵盤和虛擬鼠標這些虛擬外設,在計算機給出命令時,應答命令,使計算機確信該外設存在。
    BIOS檢測完成后,計算機進入系統初始化過程。在這個過程中,操作系統要對外部設備的具體參數進行設置。鍵盤要設置機打速率/延遲(typematic rate/delay);鼠標要設置采樣率(sample rate),讀取設備類型(不同類型的鼠標有不同的ID),設置分辨率(resolution,設置為每mm多少個計數點counts/mm),比例(scaling),設置數據報告禁止/允許。同樣,對于計算機必須建立虛擬外設,使系統確認外設存在,以通過初始化。
    當上述過程完成后,系統就順利通過了初始化。顯示器顯示一臺計算機的畫面,該畫面對應的計算機稱為前臺計算機,不被顯示畫面的計算機為后臺計算機。按下共享控制器上的切換按鈕,外設選擇一后臺計算機,把其置前成為前臺計算機,此時,顯示器顯示該計算機的畫面,鍵盤鼠標響應該計算機。原先的前臺計算機變為后臺工作。
    啟動過程的程序流程圖見圖4。

f.JPG


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

a.JPG


     系統上電,外設共享控制器上電并開始對AT89S8252初始化。包括對變量、串口、定時器、中斷控制、看門狗進行初始化操作。在這個過程中還需要對外部的計算機的PS/2外設進行初始化應答。并且自動掃描啟動計算機,PS/2、VGA外設連接啟動計算機,并顯示啟動計算機的畫面。
    當完成BIOS檢測和操作系統檢測應答后,單片機進入主程序,執行正常鍵盤鼠標的操作功能。讀取P1.1上鍵盤給主機的數據看是否有“切換前/后臺計算機”的熱鍵按下,如果是,將切換;否則,連接當前計算機。

3 設計小結
    本論文完成了主機1和主機2的鍵盤、鼠標、顯示器幾種外設的共享,解決了PS/2口、VGA接口共享時遇到的問題。實物經過篩選試驗、環境適應性試驗、電磁兼容試驗,性能良好,安全可靠。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲综合大片69999| 亚洲精品一区二区三区婷婷月 | 亚洲精品久久7777| 在线观看日韩欧美| 国产亚洲欧美中文| 国产亚洲aⅴaaaaaa毛片| 国产精品久久久久永久免费观看| 欧美日韩免费在线| 欧美美女bbbb| 欧美激情一区二区三区不卡| 欧美成人精品高清在线播放| 美女视频网站黄色亚洲| 欧美 日韩 国产精品免费观看| 久久天堂精品| 猫咪成人在线观看| 欧美成人精品在线视频| 美女主播精品视频一二三四| 老司机精品视频网站| 玖玖综合伊人| 欧美gay视频| 欧美国产一区二区在线观看| 欧美精品一线| 欧美色大人视频| 国产精品久久久对白| 国产精品色婷婷| 国产亚洲电影| 在线欧美电影| 亚洲老司机av| 一个人看的www久久| 亚洲性视频网址| 性欧美18~19sex高清播放| 欧美诱惑福利视频| 亚洲人成在线观看| 一区二区日韩伦理片| 亚洲一区网站| 久久国产精品一区二区三区四区| 久久免费99精品久久久久久| 欧美大成色www永久网站婷| 欧美日产在线观看| 国产精品一区久久| 精品av久久707| 日韩图片一区| 欧美一区二区福利在线| 亚洲黄页视频免费观看| 在线亚洲高清视频| 久久99在线观看| 欧美成人午夜| 国产精品成人播放| 国产小视频国产精品| 亚洲国产清纯| 亚洲免费一级电影| 亚洲黄色精品| 亚洲欧美日本国产有色| 久久在线免费视频| 欧美视频一区二区在线观看| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲国产91精品在线观看| 99香蕉国产精品偷在线观看| 午夜精品理论片| 亚洲久久视频| 欧美一区网站| 欧美精品激情blacked18| 国产精品一二三四区| 亚洲福利久久| 亚洲一区在线免费观看| 亚洲人成7777| 亚洲一区在线播放| 久热精品视频在线| 国产精品日韩在线一区| 亚洲国产精品日韩| 新狼窝色av性久久久久久| 一本色道久久综合亚洲91| 久久久噜噜噜久久狠狠50岁| 欧美午夜不卡| 亚洲国产精品va在线看黑人动漫 | 99re成人精品视频| 欧美在线视频免费播放| 欧美激情一区二区在线 | 亚洲国产日韩欧美一区二区三区| 亚洲一区免费| 欧美精品日韩www.p站| 国产亚洲激情| 在线亚洲欧美| 亚洲免费高清| 久久综合成人精品亚洲另类欧美| 国产精品99一区| 亚洲国产清纯| 亚洲第一中文字幕| 性亚洲最疯狂xxxx高清| 欧美伦理a级免费电影| 伊人久久婷婷色综合98网| 亚洲欧美日韩国产综合精品二区 | 亚洲小说区图片区| 欧美成人免费播放| 国产亚洲va综合人人澡精品| 亚洲少妇在线| 一本久久综合亚洲鲁鲁五月天| 麻豆成人在线播放| 国产亚洲一区在线播放| 亚洲一区精品在线| 亚洲亚洲精品在线观看 | 男人的天堂亚洲在线| 国产一区在线免费观看| 亚洲一级在线| 亚洲免费中文| 国产精品播放| 中文欧美在线视频| 亚洲深爱激情| 欧美日韩亚洲高清一区二区| 最新日韩在线视频| 亚洲日本欧美| 欧美成人日本| 91久久精品美女高潮| 亚洲精品欧美一区二区三区| 久久亚洲春色中文字幕| 国产一区二区精品久久| 亚洲欧美综合国产精品一区| 欧美影院视频| 国产欧美一区二区精品秋霞影院| 亚洲一区在线看| 性欧美暴力猛交另类hd| 国产精品视频一区二区三区| 亚洲综合电影一区二区三区| 欧美一区1区三区3区公司| 国产精品嫩草久久久久| 亚洲免费综合| 久久精品人人爽| 红桃av永久久久| 亚洲欧洲日韩女同| 欧美精品二区| 夜夜嗨一区二区三区| 亚洲你懂的在线视频| 国产精品亚洲аv天堂网| 亚洲欧美成人在线| 久久精品99国产精品酒店日本| 国产主播一区二区三区| 亚洲电影av| 欧美另类69精品久久久久9999| 日韩午夜免费| 午夜精品久久久久久久白皮肤| 国产欧美日韩一区二区三区在线观看| 午夜视频久久久久久| 久久久爽爽爽美女图片| 亚洲第一页在线| 在线综合视频| 国产精品亚洲产品| 久久高清免费观看| 欧美国产日韩一区二区在线观看| 亚洲精品视频在线播放| 亚洲一区免费看| 国产日韩综合| 亚洲激情网站| 欧美视频在线播放| 欧美一区二区三区久久精品| 麻豆成人综合网| 99精品久久免费看蜜臀剧情介绍| 亚洲欧美日韩综合国产aⅴ| 国产亚洲亚洲| 亚洲美女网站| 国产精品视频精品视频| 欧美自拍偷拍午夜视频| 欧美激情片在线观看| 亚洲无吗在线| 久久免费偷拍视频| 亚洲精品韩国| 欧美影视一区| 亚洲精品社区| 久久精品成人一区二区三区| 亚洲国产人成综合网站| 西西人体一区二区| 尤物精品在线| 亚洲欧美日韩精品久久久久| 狠狠色综合网| 亚洲在线网站| 精品不卡在线| 亚洲欧美日韩综合aⅴ视频| 在线观看视频日韩| 亚洲免费在线| 亚洲国产精品女人久久久| 亚洲欧美日韩第一区| 亚洲第一区在线| 欧美在线影院| 日韩小视频在线观看| 久久欧美中文字幕| 一区二区三区福利| 欧美14一18处毛片| 午夜精品一区二区三区在线| 欧美国产在线观看| 欧美中文字幕在线观看| 国产精品成人一区二区| 91久久国产综合久久91精品网站| 国产精品亚洲一区二区三区在线| 亚洲三级电影在线观看| 国产亚洲精品高潮| 亚洲午夜精品网| 亚洲激情在线激情| 久久久久久网站| 亚洲一区二区视频在线| 欧美日本亚洲韩国国产| 久久精品久久99精品久久|