<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

一種實現可編程專用鍵盤的方法

文檔序號:6556402閱讀:298來源:國知局
專利名稱:一種實現可編程專用鍵盤的方法
技術領域
本發明涉及一種可編程鍵盤的實現方法,具體地說,是涉及一種通過普通計算機的PS/2標準接口,實現計算機和專用鍵盤之間的數據通訊,以完成鍵盤按鍵信息的可編程和新版本的升級。
背景技術
在商業收款系統中,營業員所用的終端鍵盤并非普通的PC鍵盤,而是滿足收款系統要求的專用鍵盤。這種鍵盤要根據系統軟件的要求來定義每個按鍵的內容,這樣就需要一個可編程的鍵盤來滿足這種需求。主機和鍵盤通過PS/2接口進行數據傳輸時,由于對主機的操作系統(DOS、WINDOWS、LINUX)規定的限制,通過PS/2接口的數據必須是系統允許的數據,非系統允許的數據將被過濾掉,導致數據傳輸的不完整。為了解決此局限,一般可編程鍵盤在通過PS/2接口進行通信時都采用過濾驅動法,即改寫操作系統中的驅動,把驅動中屏蔽數據的地方做調整改動,使任何數據都可以通過標準PS/2接口傳輸。采用這種傳輸方法對系統會造成一些不可預知的Bug,因此,在可靠性和兼容性上都有較大的風險。

發明內容
本發明為了解決現有技術中采用過濾驅動法實現主機與鍵盤之間數據的通信,以完成對鍵盤按鍵信息的編碼,在系統可靠性和兼容性上存在較大風險的問題,提供了一種全新的可編程專用鍵盤的實現方法,采用自定義通信協議的方法,在不對系統有任何改動的情況下,通過編解碼技術實現數據的通信,從而有效增強了系統的可靠性和穩定性。
為解決上述技術問題,本發明采用以下技術方案予以實現一種實現可編程專用鍵盤的方法,其步驟為首先,發送端編碼原始數據使其成為主機系統允許的數據;其次,發送端將編碼后的數據通過主機與鍵盤之間的接口傳輸到接收端;然后,接收端對接收到的數據進行解碼,恢復成原始數據并保存到存儲器中。
所述發送端為主機或鍵盤,接收端為與之相對應的鍵盤或主機;主機與鍵盤之間通過PS/2接口進行數據通信。
作為對上述技術方案的進一步限定,主機與鍵盤之間完成數據傳輸的具體實現方法是1、發送端輸出命令字,并清空計數器,即置count=0;2、發送端向接收端發送第count個數據,并等待接收接收端發出的應答信號;3、在規定的時間內,若發送端接收到來自接收端發出的應答信號,則計數器加1,并判斷數據是否發送完畢,若數據尚未發送完畢,返回2;若發送端在規定的時間內沒有收到接收端發來的應答信號,則重新發送這個數據;如果重發這個數據的次數達到設定值后,仍沒有接收到來自接收端發出的應答信號,則退出通信模式,提示通信超時。所述重發數據次數的設定值由用戶根據實際情況預先自行定義。
作為對上述技術方案的再進一步限定,按鍵的尋址方式采用通過按鍵信息的固定的地址偏移量來查詢按鍵信息在鍵盤存儲器中的存放位置,進而輸出按鍵信息。
與現有技術相比,本發明的優點和積極效果是本發明的可編程專用鍵盤的實現方法采用自定義通信協議,在不對系統有任何改動的情況下,通過編解碼技術實現數據的通信,有效增強了系統的可靠性和穩定性。可編程鍵盤在版本的統一性、系統兼容性和容錯性都比原來的OEM鍵盤有很大的改善,在鍵盤應用方面也可根據用戶習慣方便調整,售后和系統升級等方便自主。


圖1是本發明中主機與鍵盤之間實現數據通信的總體流程圖;圖2-1是從主機向鍵盤下載數據時主機的具體程序流程圖;圖2-2是從主機向鍵盤下載數據時鍵盤的具體程序流程圖;圖3-1是從鍵盤向主機上傳數據時鍵盤的具體程序流程圖;圖3-2是從鍵盤向主機上傳數據時主機的具體程序流程圖。
具體實施例方式
下面結合附圖和具體實施方式
對本發明做進一步詳細的說明。
本發明通過普通計算機的PS/2標準接口,在不更改系統驅動的前提下,通過自定義通信協議來編解碼數據,實現計算機和專用鍵盤之間的數據通訊。用戶可以在上層編輯軟件中編輯自定義的任何鍵盤信息,使其成為主機操作系統所允許的數據,通過普通計算機的PS/2標準接口下載到鍵盤的Flash中,實現鍵盤按鍵信息的可編程和新版本程序的在線升級。同時,鍵盤的當前按鍵信息也可以通過標準的PS/2接口上傳到普通計算機的上層編輯界面中顯示,從而實現了信息的雙向交互。
按鍵的尋址方式有很多種,實現方法各式各樣。本發明采用的是通過按鍵信息的固定的地址偏移量來查詢到按鍵信息在Flash里的存放地址,從而實現按鍵信息的輸出。這種方式尋址簡單、速度快,能及時根據按鍵位置查詢到其信息的存放位置,保證信息輸出的及時性。
為保障數據在通過PS/2接口傳輸時的準確性和容錯性,避免在通信中有漏包、錯包、重復包和主機/設備在通信中非正常掉電等意外情況的發生,通信協議采用應答式交互方式,即主機在發送數據給鍵盤時,如果鍵盤收到此數據,給主機發送一個ACK回應;在一定時間范圍內,主機如果收到鍵盤的ACK回應,就發送下一個數據,否則就重新發送當前數據,然后等待鍵盤的ACK回應;如果主機在發送了P遍(P由用廣自定義)當前數據都沒有收到鍵盤的ACK回應,就退出數據傳輸模式,放棄此次數據的傳輸,提示目前鍵盤硬件連接有問題,或者連接線斷開,或者鍵盤意外掉電。同理,當鍵盤發送數據給主機時,也采用上述方法來確保通信的穩定性。
PS/2接口標準數據幀的格式定義如表1所示

自定義通信協議為1)主機向鍵盤下載鍵盤配置信息的通信格式1個字節的命令字+若干個字節的自定義配置信息;2)主機向鍵盤下載按鍵編碼信息的通信格式1個字節的命令字+2×按鍵個數×2×N個字節的按鍵地址偏移量+2個字節的鍵碼編碼方式+2個字節的鍵碼長度信息+若干個字節的具體鍵碼掃描碼;其中,N表示層數,每一個按鍵對應有多層,每一層的鍵碼信息不同,即同一按鍵在不同層代表不同的功能,不同的用戶有不同層的授權權限;3)主機向鍵盤下載升級新版本程序的通信格式1個字節的命令字+若干個字節的版本二進制碼;
4)鍵盤向主機上傳按鍵信息的通信格式1個字節的命令字+若干個字節的自定義配置信息+2×按鍵個數×2×N個字節的按鍵地址偏移量+2個字節的鍵碼編碼方式+2個字節的鍵碼長度信息+若干個字節的具體鍵碼掃描碼;其中,N表示層數。
圖1為主機與鍵盤之間實現數據通信的總體流程圖,其具體步驟為1-1、發送端輸出命令字,并清空計數器,即置count=0;1-2、發送端向接收端發送第count個數據,并等待接收接收端發出的應答信號;1-3、如果接收到應答信號,則計數器加1,并判斷數據是否發送完畢,若數據尚未發送完畢,返回1-2;若數據發送完畢,跳轉到1-4;如果在一定時間內沒有接收到應答信號,判斷通信是否超時,若沒有超時,返回1-2;若通信超時,跳轉到1-4;1-4、退出通信模式。
圖2是從主機向鍵盤下載數據的具體程序流程圖(無論是按鍵信息的下載還是升級新版本),其具體步驟為2-1、主機按照定義好的通信協議編碼原始數據,清空計數器,即置count=0;2-2、按照表1的格式將第count個單字節數據打包成符合PS/2接口傳輸要求的標準格式,發送到鍵盤;2-3、鍵盤接收到編碼后的數據給主機ACK回復,解碼成原始數據并存儲到Flash中;
2-4、主機在一定時間內等待接收鍵盤發出的ACK回復,如果超過這個時間沒有接收到鍵盤發出的ACK回復,則重復發送當前數據一次;否則,跳轉到2-6;2-5、判斷重發當前數據的次數是否達到設定值P;若達到設定值P,則表示通信超時,跳轉到2-7;否則,跳轉到2-4;2-6、計數器count+1,判斷數據是否發送完畢,若沒有發送完畢,跳轉到2-2;否則,跳轉到2-8;2-7、主機放棄此次數據的傳輸,提示目前鍵盤硬件連接有問題;鍵盤在超出通信時間后仍沒有接收到主機發出的數據,則放棄此次數據的存儲,清空Flash中接收到的數據;2-8、退出通信模式。
圖3是從鍵盤向主機上傳數據的具體程序流程圖,其具體步驟為3-1、鍵盤按照定義好的通信協議編碼原始數據,清空計數器,即置count=0;3-2、按照表1的格式將第count個單字節數據打包成符合PS/2接口傳輸要求的標準格式,發送到主機;3-3、主機接收到編碼后的數據給鍵盤ACK回復,解碼成原始數據并存儲到RAM中;3-4、鍵盤在一定時間內等待接收主機發出的ACK回復,如果超過這個時間沒有接收到主機發出的ACK回復,則重復發送當前數據一次;否則,跳轉到3-6;3-5、判斷重發當前數據的次數是否達到設定值P;若達到設定值P,則表示通信超時,跳轉到3-7;否則,跳轉到3-4;3-6、計數器count+1,判斷數據是否發送完畢,若沒有發送完畢,跳轉到3-2;否則,跳轉到3-8;
3-7、鍵盤放棄此次數據的傳輸;主機在超出通信時間后仍沒有接收到鍵盤發出的數據,則放棄此次數據的存儲,清空RAM中的數據,提示目前鍵盤硬件連接有問題,并跳轉到3-9;3-8、主機按照尋址方式解析數據,在編輯界面中顯示原碼信息;3-9、退出通信模式。
本發明通過采用上述自定義通信協議來編解碼數據,實現計算機和專用鍵盤之間的數據通訊,有效增強了系統的可靠性和穩定性。當然,上述說明并非是對本發明的限制,本發明也并不僅限于上述舉例,本技術領域的普通技術人員在本發明的實質范圍內所做出的變化、改型、添加或替換,也應屬于本發明的保護范圍。
權利要求
1.一種實現可編程專用鍵盤的方法,包括以下步驟1-1、發送端編碼原始數據使其成為主機系統允許的數據;1-2、發送端將編碼后的數據通過主機與鍵盤之間的接口傳輸到接收端;1-3、接收端對接收到的數據進行解碼,恢復成原始數據并保存到存儲器中。
2.根據權利要求1所述的實現可編程專用鍵盤的方法,其特征在于所述發送端為主機或鍵盤,接收端為與之相對應的鍵盤或主機。
3.根據權利要求2所述的實現可編程專用鍵盤的方法,其特征在于主機與鍵盤之間完成數據傳輸的具體實現方法是3-1、發送端輸出命令字,并清空計數器,即置count=0;3-2、發送端向接收端發送第count個數據,并等待接收接收端發出的應答信號;3-3、在規定的時間內,若發送端接收到來自接收端發出的應答信號,則計數器加1,并判斷數據是否發送完畢,若數據尚未發送完畢,返回3-2;若發送端在規定的時間內沒有收到接收端發來的應答信號,則重新發送這個數據;如果重發這個數據的次數達到設定值后,仍沒有接收到來自接收端發出的應答信號,則退出通信模式,提示通信超時。
4.根據權利要求3所述的實現可編程專用鍵盤的方法,其特征在于所述重發數據次數的設定值由用戶預先自行定義。
5.根據權利要求4所述的實現可編程專用鍵盤的方法,其特征在于按鍵的尋址方式采用通過按鍵信息的固定的地址偏移量來查詢按鍵信息在鍵盤存儲器中的存放位置,進而輸出按鍵信息。
6.根據權利要求5所述的實現可編程專用鍵盤的方法,其特征在于主機與鍵盤之間通過PS/2接口進行數據通信;所述PS/2接口數據幀的格式定義為1個起始位、8個數據位、1個奇偶校驗位、1個停止位和1個應答位。
7.根據權利要求6所述的實現可編程專用鍵盤的方法,其特征在于主機向鍵盤下載鍵盤配置信息的通信格式是1個字節的命令字+若干個字節的自定義配置信息。
8.根據權利要求7所述的實現可編程專用鍵盤的方法,其特征在于主機向鍵盤下載按鍵編碼信息的通信格式1個字節的命令字+2×按鍵個數×2×N個字節的按鍵地址偏移量+2個字節的鍵碼編碼方式+2個字節的鍵碼長度信息+若干個字節的具體鍵碼掃描碼;其中,N表示層數。
9.根據權利要求8所述的實現可編程專用鍵盤的方法,其特征在于主機向鍵盤下載升級新版本程序的通信格式1個字節的命令字+若干個字節的版本二進制碼。
10.根據權利要求9所述的實現可編程專用鍵盤的方法,其特征在于鍵盤向主機上傳按鍵信息的通信格式是1個字節的命令字+若干個字節的自定義配置信息+2×按鍵個數×2×N個字節的按鍵地址偏移量+2個字節的鍵碼編碼方式+2個字節的鍵碼長度信息+若干個字節的具體鍵碼掃描碼;其中,N表示層數。
全文摘要
本發明公開了一種實現可編程專用鍵盤的方法,通過普通計算機的PS/2標準接口,在不更改系統驅動的前提下,通過自定義通信協議來編解碼數據,實現計算機和專用鍵盤之間的數據通訊。用戶可以在上層編輯軟件中編輯自定義的任何鍵盤信息,使其成為主機操作系統所允許的數據,通過普通計算機的PS/2標準接口下載到鍵盤的Flash中,實現鍵盤按鍵信息的可編程和新版本程序的在線升級。同時,鍵盤的當前按鍵信息也可以通過標準的PS/2接口上傳到普通計算機的上層編輯界面中顯示,從而實現了信息的雙向交互,提高了系統通信的可靠性和穩定性。
文檔編號G06F3/023GK1885244SQ200610045430
公開日2006年12月27日 申請日期2006年7月10日 優先權日2006年7月10日
發明者王文希, 林清武, 王端芳, 劉永波, 王耀庭, 郭慧玲 申請人:海信集團有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影