關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于AMBA總線的智能卡控制器設計

        基于AMBA總線的智能卡控制器設計

        作者: 時間:2009-12-22 來源:網絡 收藏

          3.2 數據收發控制模塊

          數據收發模塊按照系統對控制寄存器,各時間寄存器和輸出字節控制寄存器的設置來工作。與復位模塊一樣,數據收發模塊也是由狀態機跳變來完成。系統在復位響應完成后進人IDLE狀態,根據協議選擇字節傳輸方式(如圖4所示)或是塊傳輸方式(如圖5所示)。


          在字節傳輸方式下,當系統設置了輸出字節控制寄存器后就處于發送狀態。首先進入Prepare狀態,將發送FIFO中的數據放入移位寄存器,并計算出數據的奇偶校驗位,為數據傳輸做好準備。1個ETU之后進入Start狀態,拉低I/O數據線1個ETU來發送數據起始位。接著進入數據發送狀態,將移位寄存器中的數據按1 b/ETU的速率串行發出。然后發送1 b奇偶校驗位。數據發送完畢后按照系統設置的保護時間將I/O線拉高若干個ETU。最后檢測是否已經發出了指定的字節數(Trig_num)。如果數據發送完畢,則跳入IDLE狀態等待新的發送設置或轉入數據接收;否則進入Prepare狀態開始下一個字節的發送。

          當系統處于數據接收狀態時,首先進入等待起始位狀態,在此狀態設置超時計數器判斷卡是否有響應。當I/O線拉低后就進入接收起始位狀態,在該狀態的0.5ETU時刻判斷I/O數據線是否仍然拉低。如果I/O線跳高則說明是由于I/O線抖動造成的起始位誤判,狀態跳回等待起始狀態;如果I/O線仍然為低,則起始位接收成功,并在0.5個ETU后進入數據接收狀態。8 b數據按照1 b/ETU的速率接收,完成后轉入接收校驗位狀態。硬件根據接收的8 b數據計算出校驗位并與收到校驗位比較,如果不同則I/O線拉低告知數據錯誤請求重發,相同則進入IDLE狀態等待接收下一個數據或是進入發送狀態。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 台前县| 宣威市| 青田县| 开化县| 安国市| 惠水县| 常熟市| 邹平县| 绵阳市| 肥乡县| 大悟县| 冷水江市| 精河县| 苏州市| 沂南县| 靖安县| 定南县| 平舆县| 绥阳县| 武胜县| 巨野县| 普兰店市| 神池县| 沙田区| 资兴市| 鄂伦春自治旗| 法库县| 六安市| 岗巴县| 阳信县| 大兴区| 长汀县| 西藏| 余江县| 资阳市| 怀来县| 张家港市| 那坡县| 和平区| 穆棱市| 丰顺县|