新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > JTAG接口在線燒寫Flash的實現

        JTAG接口在線燒寫Flash的實現

        作者: 時間:2011-09-21 來源:網絡 收藏
        3 燒寫

        本文引用地址:http://www.104case.com/article/150188.htm

           的讀操作與傳統EPROM 讀操作相同。由于芯片使用軟件保護模式進行操作, 用戶編程時, 只要向指定的地址寫入指定的序列, 就可以啟動 芯片內部的寫狀態機, 完成指定的操作。表2 為Flash 的操作命令說明( 對芯片的擦除和編程都是按照字進行的), 表中所有的數據都是十六進制數。

          Flash 的正確操作順序: 先復位, 再擦除, 最后編程。

          按照表2 提供的操作命令時序來對AM29LV800 的擦除和編程,PA 為編程地址,PD 為編程數據。Flash 擴展在CE1 空間, 起始地址是200000, 所以操作時所有地址必須加上200000。例如燒寫工程中擦除部分命令為:

          

          表2 AM29LV800B 的操作命令說明

          

          芯片擦除需要占用6 個總線周期, 而芯片編程需要4 個總線周期, 依照表3 的數據, 在每個總線周期對相應地址寫入命令字就可以了。用戶一般都是對芯片進行寫操作, 寫操作只能使‘1’ 變‘0’ , 而擦除只能使‘0’ 變為‘1’ 。圖3 為擦除和編程命令波形圖, 清楚地顯示了擦除和編程操作過程。

          

          圖3 擦除和編程命令波形圖

          判斷編程或擦除的結束是當把編程或擦除的命令字按照其時序寫入Flash 時, 在寫編程命令時序或擦除命令時序的最后一個WE 上升沿到來之后,AM29LV800會自動運行一個嵌入在Flash 內部的算法來判斷編程或擦除操作是否結束。采用觸發位校驗的方法, 檢測數據切換位DQ6(Toggle Bit) 的狀態, 連續讀數據會使DQ6 的值在‘0’ 和‘1’ 之間來回切換, 當編程或擦除結束時,DQ6 就停止值的切換。因此, 可以通過連續兩次讀DQ6 的值來判斷編程或擦除是否結束, 當兩次讀得的值相同時, 說明編程或擦除結束, 否則沒有。觸發位檢測算法流程圖如圖4 所示。

          

        觸發位檢測算法流程圖

          圖4 觸發位檢測算法流程圖



        關鍵詞: 實現 Flash 在線 接口 JTAG

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 睢宁县| 乌鲁木齐市| 东阳市| 福鼎市| 黎城县| 临邑县| 七台河市| 突泉县| 泰来县| 当涂县| 海伦市| 仪陇县| 伊通| 调兵山市| 齐齐哈尔市| 阿拉善右旗| 横山县| 广西| 景泰县| 文水县| 关岭| 香格里拉县| 积石山| 临潭县| 崇州市| 宁城县| 旬邑县| 宁安市| 墨江| 临邑县| 霍林郭勒市| 延安市| 靖州| 社旗县| 岳普湖县| 大洼县| 鄂尔多斯市| 拉孜县| 普格县| 苗栗市| 南靖县|