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