[發明專利]一種通訊模式的識別方法有效
| 申請號: | 201310585970.8 | 申請日: | 2013-11-20 |
| 公開(公告)號: | CN103631747A | 公開(公告)日: | 2014-03-12 |
| 發明(設計)人: | 陸舟;于華章 | 申請(專利權)人: | 飛天誠信科技股份有限公司 |
| 主分類號: | G06F13/38 | 分類號: | G06F13/38;G06F13/42 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100085 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 通訊 模式 識別 方法 | ||
技術領域
本發明涉及通訊領域,尤其涉及一種通訊模式的識別方法。
背景技術
隨著USB接口的廣泛使用,各個廠商生產了品種繁多的USB設備,使USB接口成為現在電子產品的必備接口之一。由于USB接口的物理機械特性設計很成功,所以許多廠商將其鏈路層用于非USB協議的通訊傳輸,也就是用USB接口傳輸非USB協議的數據流。由于串口通訊設計簡單,使用方便,將USB鏈路層用于傳輸串口數據的產品也層出不窮。但是,如何使一個設備既能利用USB接口通訊又能利用串口通訊,如何知道當前的通訊模式是USB模式還是串口模式呢?是現有技術亟待解決的問題。
發明內容
本發明的目的是為了克服現有技術的不足,提供一種通訊模式的識別方法。
本發明提供的技術方案如下:
一種通訊模式的識別方法,包括:
步驟S1:設備上電,進行初始化,打開中斷和定時器,所述定時器開始計時;
當所述定時器計時到達預設值時,進入時鐘中斷處理,時鐘中斷處理包括:關閉所述定時器,將超時標識置位,打開所述定時器,退出時鐘中斷;
當檢測到其他中斷信號時,執行步驟B1-步驟B8;
步驟B1:判斷中斷類型,如為USB中斷則執行步驟B2,如為串口中斷則執行步驟B6;
步驟B2:關閉USB中斷;
步驟B3:判斷是否已設置通訊模式,是則執行步驟B5,否則執行步驟B4;
步驟B4:設置通訊模式為USB接口通訊,執行步驟B5;
步驟B5:打開USB中斷,進行USB枚舉,給主機返回設備支持的USB接口通訊協議,枚舉完成后退出USB中斷;
步驟B6:關閉串口中斷;
步驟B7:判斷是否已設置通訊模式,是則打開串口中斷,退出串口中斷,否則執行步驟B8;
步驟B8:根據接收到的第一個數據包設置通訊模式為串口通訊,打開串口中斷,退出串口中斷;
步驟S2:檢測通訊模式的類型,如為USB接口通訊,則關閉所述定時器,執行步驟S3,如為串口通訊,則關閉所述定時器,執行步驟S6,如未設置通訊模式則執行步驟S4;
步驟S3:等待主機下發指令,當接收到指令時根據設備支持的USB接口通訊協議進行相應操作,操作完成后返回步驟S3;
步驟S4:判斷所示超時標識是否置位,是則執行步驟S5,否則返回步驟S2;
步驟S5:設置通訊模式為串口通訊,關閉所述定時器,將超時標識復位,執行步驟S6;
步驟S6:等待主機下發指令,當接收到指令時根據串口協議進行相應操作,操作完成后返回步驟S6。
進一步地,上述方法還包括:所述設備預先定義設備支持的USB接口通訊協議為CCID協議或HID協議或SCSI協議;
所述步驟B5中的給主機返回設備支持的USB接口通訊協議,包括:所述設備將IO通訊標識的值發送給主機。
進一步地,所述IO通訊標識的值為第一預設值,所述步驟S3包括:
步驟S3-11:等待主機下發指令,當通過USB接口接收到指令時將其存儲到第一緩存區中,根據CCID協議解析所述第一緩存區中的指令;
步驟S3-12:判斷解析結果中的第一字節數據,如為第一預設字符則執行步驟S3-13,如為第二預設字符則執行步驟S3-14;如為其他則執行步驟S3-15;
步驟S3-13:對解析結果進行相應操作,并將操作結果存儲到第二緩存區,將操作結果返回給主機,返回步驟S3-11;
步驟S3-14:將解析結果中的APDU數據發送給命令層進行處理,接收到處理結果時將其存儲到第二緩存區,將處理結果返回給主機,返回步驟S3-11;
步驟S3-15:組織消息錯誤響應并將其存儲到第二緩存區,將所述消息錯誤響應返回給主機,返回步驟S3-11。
進一步地,所述IO通訊標識的值為第二預設值,所述步驟S3包括:
步驟S3-21:等待主機下發指令,當通過USB接口接收到八個字節大小的Set?up數據包時,判斷狀態機的狀態,如為發送狀態則執行步驟S3-23,如為接收狀態則執行步驟S3-22;
步驟S3-22:根據HID協議解析Set?up數據包,并檢測解析結果的前兩個字節數據,如為第一字符串則執行步驟S3-25,如為其他則返回步驟S3-21;
步驟S3-23:根據HID協議解析Set?up數據包,并檢測解析結果的前兩個字節數據,如為第一字符串則執行步驟S3-25,如為第二字符串則執行步驟S3-24,如為其他則返回步驟S3-21;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于飛天誠信科技股份有限公司,未經飛天誠信科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310585970.8/2.html,轉載請聲明來源鉆瓜專利網。





