單片機實現數字化B超鍵盤設計
摘要:針對目前使用的RS232接口數字化B超鍵盤存在PC主機啟動時不能設置BIOS,提出一種PS2鍵盤的設計方法。基于W78E052D單片機,采用8通道串行A/D轉換器設計了8個TGC電位器信息采集電路,電位器位置信息以鍵盤掃描碼序列形式發送,正交編碼器信號通過XC9536XL轉換為單片機可接收的中斷信號,軟件接收到中斷信息后等效處理成按鍵。結果表明,在滿足開機可設置BIOS同時,又可實現超聲特有功能,不需要專門設計驅動程序,接口簡單,成本低。
關鍵詞:RS232;單片機;PS2;鍵盤
早期B超產品設計大多采用單片機和可編程器件(CPLD)來控制整個系統,鍵盤直接由主控單片機掃描處理,或專門用單片機處理鍵掃并經RS232接口與主控單片機通訊。隨著B超數字化技術的誕生,需要大量控制數據存儲并可下傳給超聲模塊,主控單片機逐漸被計算機取代。在B超數字化過程中,RS232接口的鍵盤存在需要設計驅動程序,且存在PC啟動時無法進入BIOS設置的問題,而且串口有逐漸被取消的趨勢。如果直接采用PS2或USB標準鍵盤,則需要另行設計超聲特有的功能模塊、該模塊與主機的接口及其驅動程序,而且PC鍵盤的外觀會影響B超整體造型設計。
本文提出了一種用單片微機實現PS2超聲鍵盤的設計方法,鍵盤包括字母數字按鍵和超聲功能模塊,設計兼顧BIOS設置,直接可使用操作系統(Windows)提供的驅動程序。
1 接口協議
PS2接口協議是現在大多數鍵盤、鼠標與PC機通訊的標準協議。鍵盤與鼠標在傳輸協議上,只是傳輸數據內容不一樣。
充分理解該接口協議,可以幫助設計者自主開發專用的多功能鍵盤。
PS2接口協議是一種雙向同步串行協議,換句話說,PS2設備可以發送數據到主機,而主機也可以發送數據到設備,但主機總是在總線上有優先權,它可以在任何時候抑制來自于設備的通訊——即把時鐘拉低。
從設備發送到主機的數據在時鐘信號的下降沿被讀取,從主機發送到設備的數據在上升沿被讀取。不管通訊的方向怎樣,設備總是產生時鐘信號,如果主機要發送數據它必須首先告訴設備開始產生時鐘信號。最大時鐘頻率是33 kHz,而且大多數設備工作在10~20 kHz。
PS2連接器、發送或接收數據的細節、命令集在《PS/2技術參考》一文中有詳細描述。
2 掃描碼
鍵盤處理器獲得有鍵按下、釋放或按住的信息,信息最終以掃描碼的形式發給計算機。
標準計算機上的每個按鍵都有唯一的通碼和斷碼,所有這些通斷碼組成了掃描碼集。掃描碼集一共有3套,分別對應3種鍵盤,現代鍵盤默認的是第二套掃描碼集。
1)掃描碼分通碼和斷碼。根據掃描碼的不同,可將按鍵分為3種;
2)通碼為1字節,斷碼為0xF0+通碼形式;
3)通碼為2字節,0xE0+0xXX形式,斷碼為0xE0+0xF0+0xXX形式;
特殊按鍵,有兩個,Pause和Print screen。
掃描碼個數是固定的,無法隨意增加,自行設計PS2鍵盤就是要靈活運用第二套掃描碼集。B超鍵盤用到了數字字符鍵,這一部分跟計算機鍵盤基本相同。除數字字符鍵外的標準鍵盤按鍵和預留按鍵的掃描碼就當作功能操作調節時的信息代碼。
3 鍵盤方案及硬件設計
3.1 鍵盤方案設計
數字化B超鍵盤由字母數字(Alphanumeric)鍵、功能鍵、功能調節編碼器、總增益調節編碼器、八段TGC(時間增益補償,Time Gain Compensation)調節電位器等幾部分組成,如圖1所示。
按鍵總數為88個,且需今后擴充,故采用行列結構,字母數字鍵的掃描碼參照標準鍵盤設計,功能鍵則直接使用字母數字鍵除外的掃描碼,這樣B超鍵盤相當于在標準鍵盤的基礎上增加編碼器處理和TGC電位器數據采集兩個模塊。
編碼器輸出具有A相、B相的方波正交信號,而且二者相序取決于編碼器的正反轉方向,文獻中對原理及處理方法有詳細描述。不同的是,只用鑒相器,兩個編碼器正轉時產生的脈沖信號分別輸出至,反轉時分別輸出至
。
8個TGC電位器以前采用8通道并行ADC或單通道ADC+8選1模擬開關完成模擬量到數字量的轉換,占用單片機I/O口較多,電路接口復雜,現采用串行8通道ADC,控制簡單,跟MAX111相比不需要轉換時間,而且集成度更高。
評論