新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > Mifare系列射頻卡讀寫器的研制

        Mifare系列射頻卡讀寫器的研制

        作者: 時間:2009-07-13 來源:網絡 收藏

        4.3 串行存儲器
        我們用AT24C256作數據存儲器。AT24C256是串行E2PROM存儲器,支持I2C總線數據傳輸協議,32KB存儲器容量,用兩根線與CPU構成串行接口。SDA是雙向數據線,接CPU的P2.1;SCL是時鐘線,接CPU的P2.0;這兩根線必須接上拉電阻。WP是寫保護線,一般接地,表示允許讀寫操作。A0、A1是地址線,通過這二根地址線CPU最多可尋址4個AT24C256器件,4個芯片都有固定的地址,分別對應A0、A1為00到11,在此二根地址線上可擴充1~3片AT24C256串行E2PROM存儲器。串行E2PROM讀寫格式和操作時序如圖4所示。

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

        圖4 串行E2PROM讀寫格式和操作時序
        寫數據到AT24C256有字節寫和頁面寫兩種方式。在字節寫模式下,主器件(單片機) 發送起始信號和從器件(AT24C256)地址信息,在從器件送回應答信號后,主器件發送兩個8位地址字節給AT24C256,主器件在收到從器件的應答信號后,再發送數據到被尋址的存儲單元。AT24C256再次應答,并在主器件產生停止信號后開始內部數據的擦寫周期,在內部擦寫過程中AT24C256 不再應答主器件的任何請求。頁寫模式下一次最多可以寫入64個字節數據。從AT24C256中讀數據有三種方式,即當前地址讀、隨機讀和連續讀。如隨機讀,允許主器件對E2PROM的任意地址進行讀操作。分兩步進行,首先主器件發起始信號、器件地址和兩字節的存儲器地址執行一個偽寫操作,在 AT24C256應答之后,主器件再發起始信號和器件地址,AT24C256響應并發應答信號,然后輸出8位數據,主器件收到數據后發停止信號結束本次操作。連續讀可用隨機讀開始,在收到AT24C256發來的8位數據后,主器件不發停止信號,而發應答信號, AT24C256收到主器件的應答信號后,又傳下一個地址的數據,一直進行下去,直到主器件發停止信號為止。

        5 程序設計
        5.1 單片機主程序流程圖
        單片機的程序包括:IC卡讀/寫/密碼驗證/擦除操作程序,與RC500通信中斷處理程序,鍵盤中斷處理程序,與PC機通信中斷處理程序,顯示程序及存儲器讀寫程序等。讀卡器的主程序流程圖如圖5所示:

        圖5 讀卡器的主程序流程圖
        5.2 讀/寫卡程序設計
        讀寫卡過程是一個很復雜的程序執行過程,要執行一的操作指令,調用多個C51函數。包括裝載密碼,詢卡,防沖突,選卡,驗證密碼,讀寫卡,停卡。這一的操作必須按固定的順序進行。在沒有卡進入天線有效范圍時,在低5位顯示當前時鐘,當有卡進入到天線的有效范圍,讀卡程序驗證卡及密碼成功后,將卡號和讀卡時間及相關數據作為一條記錄存入E2PROM存儲器中,并在LED顯示器高5位上顯示卡號。
        程序設計采用單片機匯編語言和KeilC51混合編程。看門狗定時器中斷服務程序采用匯編語言編寫,其它程序采用C語言編寫。程序的每一部分按模塊化設計成一個文件,單獨調試通過后,再在KeilC51環境下加入到工程文件中匯編生成HEX文件,用仿真器進行仿真通過后,寫入P89C58BP芯片中脫離仿真器運行。

        6 結束語
        本文設計的能夠讀寫多種 Mifare系列,如Mifare 1 S50、Mifare Light和Mifare Pro等,讀寫距離在10cm范圍內。該操作方便靈活,只要通過計算機串口按規定協議發送命令給它即可完成讀卡、寫卡、取消和更改密碼等操作;也可設置為脫離計算機獨立工作方式,必要時再將所存儲的記錄數據上傳到上位機供其處理。本已經實際應用在長沙某非接觸式IC卡預付費電度表的售電系統中,系統運行良好、可靠性高。實際應用中證明:此讀寫器系統讀寫非接觸式IC卡片迅速、方便、可靠、安全、穩定,深受用戶歡迎。有足夠的優勢取代目前仍使用磁卡和接觸式IC卡讀寫器的應用,具有巨大的市場競爭力和廣闊的發展前景。

        電度表相關文章:電度表原理



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 南开区| 布尔津县| 宁安市| 两当县| 全椒县| 台州市| 永善县| 金华市| 壤塘县| 山西省| 喀喇沁旗| 崇州市| 仁布县| 彭山县| 冕宁县| 冷水江市| 和静县| 永川市| 大荔县| 九寨沟县| 绵竹市| 南雄市| 阿城市| 长汀县| 湘西| 龙州县| 盖州市| 泾阳县| 上饶县| 兴和县| 东乡族自治县| 灵石县| 上犹县| 贺兰县| 海伦市| 五指山市| 疏附县| 邯郸市| 遂溪县| 夹江县| 习水县|