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