新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 1-wire系統中TM卡的單片機等效替換

        1-wire系統中TM卡的單片機等效替換

        作者:常州輕工職業技術學院 高羅卿 時間:2008-09-08 來源:單片機與嵌入式系統應用 收藏

        簡介

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

          TM(Touch Memory)卡是美國Dallas公司的專利產品。它采用單線協議通信,通過瞬間碰觸完成數據讀寫,既具有非接觸式的易操作性,又具有接觸式IC 卡的廉價性,是當前性價比最優秀的之一。它的外形類似于一個鈕扣(button)電池,可鑲嵌于卡片、鑰匙扣等物體上。

          通過一個多功能器將數據線、地址線、控制線和電源線合并為1根線,實現單線通信。當主機加電時,通過500 kΩ和50 Ω阻抗之間的切換來響應主機,用信號被拉低的時長(長或短)來表示數字邏輯(長為1,短為0)。由于阻抗切換的幅度為10 000∶1,因此,觸點的接觸電阻不會影響數字信號的辨識。

        通信協議

          單總線即只有1根數據線, 系統中的數據交換、控制都由這根線完成。設備(主機或從機)通過一個漏極開路或三態端口連至該數據線, 以允許設備在不發送數據時能夠釋放總線, 而讓其他設備使用總線。單總線通常要求外接一個約為4.7 kΩ 的上拉電阻, 這樣, 當總線閑置時, 其狀態為高電平。主機和從機之間的通信可通過3個步驟完成: 初始化 器件;識別 器件;交換數據。由于它們是主從結構,只有主機呼叫從機時, 從機才能應答, 因此主機訪問1wire 器件都必須嚴格遵循單總線命令序列, 即初始化、ROM 命令、功能命令。如果出現序列混亂,1wire 器件將不響應主機(搜索ROM 命令,報警搜索命令除外)。

          SMC1990A1是具有工廠激光刻度的64位ROM ID碼,其中包括48位的序列號、1個8位的CRC編碼和1個8位的產品系列號。數據遵循單總線協議傳輸,用于讀和寫的電源由數據線本身提供,而不需要提供外部電源。

        3  SMC1990A1的等效替換

          單總線技術具有節省I/O口線資源,線路簡單,硬件開支少,成本低,便于總線擴展和維護等優點。在分布式測控系統中有著廣泛的應用。在實際應用過程中,可能會出現TM卡丟失和損壞的情況,如果發生此類情況,往往需要根據一個新TM卡來設置多個采集點的權限。如果采集點設置得很多,將浪費大量的人力。此時,利用來替換已丟失或損壞的TM卡就顯得很有必要。

        3.1  系統硬件組成

          系統采用AT89C51作為控制器,并采用24 MHz晶振。為了能盡量適應標準的單總線通信協議,晶振頻率應盡量高。考慮到單總線通信協議所有的傳輸都是由主機發起的,因此為了盡快地響應主機,采用中斷處理。選擇AT89C51的INT0(即P3.2)作為SMC1990A1等效替換的正極。圖1為TM卡的等效替換示意圖。


        圖1  TM卡的等效替換

        3.2  系統軟件設計

          對于SMC1990A1的等效替換,主要是對其時序的分析。對于SMC1990A1子設備,主要的編程是針對主機而言的,傳輸都是由主機發起的。現在改為模擬SMC1990A1子設備(現稱為“從機”)。


        圖2  初始化時序

          首先,初始化時序,如圖2所示。主機首先發送一個復位脈沖,歷時tRETL(最短為480 μs的低電平信號),然后釋放總線并進入接收狀態。從機在檢測到總線的上升沿后,等待tPDH時間后,從機拉低總線發出存在脈沖,歷時tPDL(低電平, 持續60~240 μs),然后釋放總線。釋放總線通過拉高總線實現。

          對應于從機,初始化時序的中斷服務程序流程如圖3所示。


        圖3  初始化時序的中斷服務程序流程

          下面是主機寫0和寫1時序。在初始化時序后,當主機總線從高電平拉至低電平時,就產生寫時間隙。在開始15 μs之內,應將所需寫的位送到總線上,從機在開始后15 ~60 μs間對總線采樣。若為低電平,寫入的位是0,如圖4所示;若為高電平,寫入的位是1,如圖5所示。連續寫多位間的間隙tREC應大于1 μs。


        圖4  主機寫0時序


        圖5  主機寫1時序

          對應于從機,是等待主機命令。從機等待主機命令的中斷服務程序流程如圖6所示。


        圖6  從機等待主機命令的中斷服務程序流程

          最后是主機讀數據時序,如圖7所示。主機總線在開始時刻從高電平拉至低電平時,總線只需保持低電平1~7 μs。之后在tLOWR時刻釋放總線,一般在tRDV時刻采樣總線(15 μs處),讀時間隙在tLOWR與tRDV之間有效。從機必須在tRDV時刻前拉高或拉低總線,主機在tRDV時刻采樣,并在60~120 μs內釋放總線。



        圖7  主機讀數據時序


        上一頁 1 2 下一頁

        關鍵詞: 單片機 TM卡 1wire IC卡

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宜兰市| 肥乡县| 收藏| 柘城县| 佛教| 措美县| 华安县| 玛沁县| 南城县| 宁河县| 连云港市| 屏东县| 米林县| 杭锦旗| 昌邑市| 宜章县| 个旧市| 玉门市| 高雄县| 工布江达县| 江山市| 上饶县| 郴州市| 林甸县| 庆安县| 定边县| 昌宁县| 凌云县| 建瓯市| 山丹县| 田阳县| 青冈县| 德格县| 舞阳县| 巍山| 武义县| 阳春市| 夏河县| 新建县| 金川县| 玉田县|