基于單片機的共享控制器的設(shè)計與實現(xiàn)?
而這一問題可以通過外設(shè)共享來解決,使用外設(shè)共享控制器,可實現(xiàn)雙主機或者多主機之間顯示器、鍵盤和鼠標的動態(tài)切換,從而實現(xiàn)有限資源的合理利用。
1 設(shè)計原理
1.1 外設(shè)共享控制器的功能介紹
按下外設(shè)共享控制器的主機1按鍵,外設(shè)顯示器和鍵盤、鼠標連接到主機1,同時主機1按鍵指示燈亮;按下主機2按鍵,外設(shè)顯示器和鍵盤、鼠標連接到主機2,同時主機2按鍵指示燈亮。外設(shè)共享控制器具有自動掃描功能,能夠監(jiān)測計算機的運行。主機1先啟動,則外設(shè)顯示器和鍵盤、鼠標連接到主機1,同時主機1按鍵指示燈亮;主機2先啟動,則外設(shè)顯示器和鍵盤、鼠標連接到主機2,同時主機2按鍵指示燈亮。另外,也可通過鍵盤上設(shè)定的熱鍵(連續(xù)按兩次Ctrl鍵)來控制鍵盤、鼠標、顯示器信號的切換。
1.2 PS/2、VGA接口介紹
外設(shè)共享控制器涉及的外設(shè)是鍵盤、鼠標和顯示器,接口類型分別是PS/2口、PS/2口和VGA口。PS/2鍵盤和鼠標履行一種雙向步串行協(xié)議。也就是說,每次數(shù)據(jù)線上發(fā)送一位數(shù)據(jù)并且每在時鐘線上發(fā)一個脈沖就被讀入。鍵盤/鼠標可以發(fā)送數(shù)據(jù)到主機,而主機也可以發(fā)送數(shù)據(jù)到設(shè)備,但主機總是在總線上有優(yōu)先權(quán),它可以在任何時候抑制來自于鍵盤/鼠標的通訊,只要把時鐘拉低即可。從鍵盤/鼠標發(fā)送到主機的數(shù)據(jù)在時鐘的下降沿(CLK由高到低的時候)被讀??;從主機發(fā)送到鍵盤/鼠標的數(shù)據(jù)在上升沿(當(dāng)時鐘從低變到高的時候)被讀取。不管通訊的方向怎樣,鍵盤/鼠標總是產(chǎn)生時鐘信號。一個PS/2設(shè)備的工作頻率推薦值為15kHz左右,這意味著時鐘應(yīng)該是高40μs低40μs。所有的數(shù)據(jù)位安排在一個字節(jié)中,每個字節(jié)為一幀,包含11~12個位。這些位為1個起始位0、8個數(shù)據(jù)位、1個校驗位、1個停止位和1個應(yīng)答位。常用的六芯插座布局及其定義見圖1。
VGA接口是一種COMS/TTL接口,15芯插座布局及其定義見圖2和表1。VGA信號本身不需要初始化,可直接進行切換。
1.3 外設(shè)共享控制器的設(shè)計原理
外設(shè)共享控制器的原理見圖3,設(shè)計采用ATMEL公司的AT89S8252單片機,它擁有8k flash存儲區(qū)、256×8位RAM。AT89S8252自帶EEPRO-M,且其P0、P1、P2、P3均可作為I/O口使用。在本設(shè)計中,鍵盤鼠標等PS/2口的切換主要是通過雙刀雙擲繼電器實現(xiàn),顯示的R、G、B信號主要通過AD8183芯片完成信號切換,H、V信號通過54LS157芯片完成信號切換。為保證顯示信號切換的一致性,通過一個雙刀雙擲繼電器對AD8183和54LS157進行統(tǒng)一控制。本文為兩臺計算機設(shè)計一套鍵盤鼠標共享電路,計算機數(shù)量多時,情形類似。
2 設(shè)計買現(xiàn)
外設(shè)共享控制器需要解決計算機啟動對外設(shè)(PS/2、VGA)初始化,并在計算機啟動完成后,控制信號的動態(tài)切換。共分為硬件設(shè)計和軟件設(shè)計。
評論