安全認證系統(tǒng)中嵌入USB接口技術(shù)
列舉過程由控制傳輸來實現(xiàn)??刂苽鬏斢腥N類型:
控制讀 SETUP-IN-IN-IN……OUT
控制寫 SETUP-OUT-OUT-OUT……IN
無數(shù)據(jù)相 SETUP-IN
通信開始時,PC首先發(fā)SETUP包,SETUP包是8個字節(jié)的命令包。當(dāng)USB接收完8個字節(jié)的命令,即向MCU發(fā)出中斷請求,MCU讀取這8個字節(jié),對其進行分析。當(dāng)USB設(shè)備給PC發(fā)數(shù)據(jù)時,執(zhí)行控制讀操作;當(dāng)PC要給USB設(shè)備輸出數(shù)據(jù)時,執(zhí)行控制寫操作。輸入或輸出數(shù)據(jù)時,數(shù)據(jù)包的最大傳送字節(jié)為8字節(jié)。
執(zhí)行控制寫操作時,當(dāng)USB將接收到的數(shù)據(jù)包寫到了FIFO時,OUT_PKT_RDY標志位置1。MCU查詢標志位,讀取數(shù)據(jù)。當(dāng)MCU讀空FIFO數(shù)據(jù),即將OUT_PKT_RDY標志位清0;當(dāng)MCU讀完了最后一個數(shù)據(jù)包時,將DATA_END標志位置1, 告知USB控制寫操作完成。
執(zhí)行控制讀操作時,當(dāng)MCU寫了一個數(shù)據(jù)包到FIFO時,將IN_PKT_RDY標志位置1,USB成功發(fā)送完這個數(shù)據(jù)包時將IN_PKT_RDY標志位清0,MCU查詢此標志位,裝入下一個數(shù)據(jù)包。當(dāng)MCU裝完最后一個數(shù)據(jù)包,即將DATA_END標志位置1,告知USB控制讀操作完成。
無數(shù)據(jù)相接收到SETUP包即告控制傳輸結(jié)束,MCU讀完SETUP數(shù)據(jù)即將OUT_PKT_RDY標志位清0,并將DATA_END標志位置1。其列舉過程的軟件實現(xiàn)流程如圖4所示。
該方案已在PC上通過驗證。具有USB接口的安全認證系統(tǒng),通信速度快、便于攜帶、使用方便,插入PC的USB接口即可。
評論