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