新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機與單總線A/D轉換器DS2450的接口設計

        單片機與單總線A/D轉換器DS2450的接口設計

        作者: 時間:2009-09-02 來源:網絡 收藏
        是DALLAS公司生產的單四通道逐次逼近式A/D芯片,它的輸入電壓范圍、轉換精度位數和報警門限電壓均可編程;每個通道均可用各自的存儲器來存儲電壓范圍設置、轉換結果和門限電壓等參數。在普通方式下其串行通信速率為16.3kbps,而超速工作模式時的速率可達 142kbps,片內16位循環冗余校驗碼生成器可用于檢測通信的正確性。采用8腳SOIC小體積封裝。它既可用單5V電源供電,也可采用寄生電源方式供電,芯片正常工作時的功耗僅2.5mW,空閑
        時的功耗為25μW。多個或其它功能的具有MicroLAN的單芯片可以并聯,CPU只需一根端口線就能與諸多單芯片通信,而且占用微處理器的端口較少,因此可節省大量的引出腳和邏輯電路。
        1 DS2450的引腳排列和內部結構
        1
        .1 引腳功能
          DS2450采用8腳SOIC封裝,其管腳功能描述如下:
        1腳(VDD):工作電源接入端;
        2腳(N.C):懸空引腳;
        3腳(DATA):串行數據輸入/輸出端;
        4腳(GND):接地端;
        5腳(AIN-A):A路模擬電壓輸入端;
        6腳(AIN-B):B路模擬電壓輸入端;7腳(AIN-C):C路模擬電壓輸入端;
          8腳(AIN-D):D路模擬電壓輸入端。

        1.2 內部結構

          DS2450的內部結構如圖1所示。其中光刻ROM中的64位序列號是出廠前被光刻好的,它可以被看作是該DS2450的地址序列碼。64位光刻 ROM的排列是:開始8位(20H)為產品類型標號,接著的48位是該DS2450自身的序列號,最后8位是前面56位的循環冗余校驗碼(CRC=X8+X5+X4+1);光刻ROM的作用是使每一個單總線器件的地址都各不相同,以便在一根總線上掛接多個單總線芯片。

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

          對于一線端口,在ROM功能建立之前,其它功能是無法實現的??偩€控制器必須首先通過DATA引腳為DS2450提供一個ROM功能控制命令(8位)。它的7個功能控制命令為:
        (1)讀ROM,命令字[33H];
        (2)匹配ROM[55H];
        (3)搜索ROM[F0H];
        (4)跳過ROM[CCH];
        (5)條件搜索ROM[ECH];
        (6)超速跳過ROM[3CH];
        (7)超速匹配ROM[69H]。
          其中超速跳過ROM或超速匹配ROM命令執行后可使串行通信速率高達142kbps。如果多個器件連接在一線上,這些命令可對每個器件的64位ROM 部分進行操作,并挑選出一個特定的器件。然后對選中的DS2450執行下一步的A/D轉換控制命令以及讀寫存儲器命令,所有命令或數據的讀/寫均從最低位開始。

        1.3 存儲器
          DS2450內部有24個地址相連的8位存儲器,可將其分成3頁,每頁8字節。第0頁為A/D轉換結果存儲器,每個通道占2個字節共16位。當芯片上電復位時,該頁清0;第1頁為A/D轉換控制與狀態存儲器;第2頁為各通道輸入高/低限報警值存儲器。
        2 轉換與讀寫控制
        2
        .1 轉換控制
          DS2450的轉換控制首先通過其DATA端串行送出轉換命令字[3CH],然后送出通道選擇字和預置控制字,最后啟動A/D進行轉換。DS2450的通道選擇字和預置控制字的各位含義如表1所列。
          在通道選擇字中,對應位為1表示該通道參與轉換。在同時選擇多個通道時,其轉換順序為A→B→C→D,未選中的通道將被跳過。其A/D轉換的時間可近似為:
          轉換時間=通道數×轉換精度位數×80μs+160μs。
          當所有通道轉換完畢后,系統將發出讀存儲器命令以獲得轉換結果和對應的狀態。
          預置控制字可用于對相應通道的轉換結果存儲器進行預置。當SET、CLR=00時,為不預置,即保持上次轉換值;當SET、CLR=01時,轉換前預置為全0;當SET、CLR=10時,預置為全1;而
        SET、CLR=11為無效組合。

        2.2 存儲器讀寫控制
          讀存儲器命令可用于讀取轉換結果、工作狀態和門限設定值等??偩€管理器首先送出讀存儲器命令字[AAH],然后送出兩字節的16位“起始數據”存儲器地址,并在總線上讀取一個字節的數據后,地址自動加1,緊接著讀取下一個數據;當一頁讀完后,隨后讀取的兩個字節為內部自動產生的16位循環冗余校驗碼,它是由前面送出的命令字、地址和讀取的存儲器數據并根據下列表達式生成的:
        CRC16=X16+X15+X2+1
          寫存儲器命令主要針對第1頁和第2頁存儲器,其目的是寫入各通道的工作方式控制字和對應通道的高、低門限設定值。總線管理器首先送出寫存儲器命令字[55H],然后送出兩字節的16位存儲器起始地址,接著逐個送出要寫入的數據,其地址也是自動加1。若在剛寫完一個數據后執行讀操作,讀出的數據應剛好為前一次寫入的數據,可利用這一特點對寫入和讀出的數據進行比較,以判斷傳輸的正確性。
          如果在軟件校驗時發現讀/寫中的傳輸錯誤,則必須對DS2450芯片進行初始化,并重新進行讀/寫操作。
        2.3 DS2450的工作時序
          DS2450的一線工作協議流程是:初始化→ROM功能命令→存儲器讀寫/轉換控制功能命令→傳輸數據。其工作時序包括初始化時序、寫時序和讀時序,圖2給出了普通工作模式下的工作時序。
        3 DS2450的典型

          圖3是MCS-51系列與DS2450的典型連接電路。其中DS2450的DATA端接AT89C51的P1.0,該電路采用外接電源供電方式,其DS2450的VCC端用 5V電源供電。此例僅對D通道進行A/D轉換,AIN-D接模擬信號輸入;AIN-A和AIN-B外接上拉電阻到電源,其輸出可作為D通道的高、低限報警信號。
        如果系統所用的晶振頻率為12MHz,那么可根據DS2450的初始化時序、寫時序和讀時序來分別編寫三個子程序:其中INIT為初始化子程序,可用于發送復位脈沖并接收存在脈沖;WRITE為寫(命令或數據字節)子程序;READ為讀數據子程序。所有要讀寫的命令或數據字節均被放在A寄存器中。

          


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 利川市| 营山县| 昔阳县| 聂荣县| 尚志市| 开平市| 新邵县| 西青区| 六安市| 文昌市| 申扎县| 遵义县| 徐水县| 庄浪县| 康定县| 洛隆县| 称多县| 信宜市| 珠海市| 齐河县| 淮北市| 吴堡县| 长宁县| 平遥县| 揭阳市| 和平区| 祁连县| 上犹县| 托里县| 诸暨市| 隆德县| 公主岭市| 嘉义市| 虹口区| 阳新县| 会泽县| 台江县| 贡山| 中西区| 丰台区| 崇礼县|