基于A(yíng)MBA總線(xiàn)的智能卡控制器設計
3 模塊劃分及硬件實(shí)現
智能卡控制器包括復位控制模塊,收發(fā)控制模塊,總線(xiàn)接口模塊,讀緩沖器模塊,寫(xiě)緩沖器模塊,通過(guò)APB接口和AMBA總線(xiàn)相連,對外是CLK,RST,和1根雙向的I/O數據線(xiàn)(如圖2所示)。
實(shí)現各模塊功能需設置如下寄存器(如表1所示)。
3.1 復位控制模塊
復位控制模塊通過(guò)狀態(tài)機的跳變完成對智能卡的復位(如圖3所示)。當智能卡上電后,系統初始處于IDLE狀態(tài),控制器在使能后按照規范向智能卡發(fā)出冷復位信號。首先RST復位信號置低400個(gè)CLK以上對卡復位,然后進(jìn)入等待復位響應狀態(tài)。控制器經(jīng)過(guò)1 860個(gè)CLK后還沒(méi)有收到復位響應則可以選擇進(jìn)入時(shí)鐘停止狀態(tài)。當時(shí)鐘恢復后,等待700個(gè)CLK后重新開(kāi)始檢測復位響應。當I/O數據線(xiàn)上檢測到負跳變,則進(jìn)入起始位接收狀態(tài),一個(gè)ETU后順次進(jìn)入數據接收,校驗位接收狀態(tài)。最后判斷校驗位正確與否,如果校驗正確就保持I/O線(xiàn)為高等待下一個(gè)數據的接收;如果出錯,則拉低I/O線(xiàn)1個(gè)ETU通知智能卡數據出錯,請求重傳,并設置錯誤次數計數器。
如果冷復位之后控制器沒(méi)有收到符合格式的復位響應,控制器就發(fā)出熱復位,熱復位過(guò)程同上。如果熱復位后40 000個(gè)時(shí)鐘周期內,控制器仍未檢測到復位響應,則控制器將結束會(huì )話(huà),并釋放智能卡。
評論