數據採集
內部採樣模式的數據轉換時序
對於模擬到數字量的轉換,時序要求非常嚴格,由於MAX197的數位訊號輸出引腳是復用的,要正確讀出轉換結果,時序要求尤其重要。在一次採樣開始前,可以通過單片機的8位數據線把這些控制字寫入MAX197來初始化相應的參數。然後按照一定的時序進行採樣和轉換。圖1即為內部採樣模式的數據轉換時序圖。
圖中HBEN為12位數據高4位或低8位有效控制位,當此位為高時,高4位數據有效,為低時低8位數據有效。可以通過控制這個引腳來讀取12位的轉換結果。
MAX197與單片機硬體接口設計
MAX197是一種通用A/D晶片,可以和多種微機接口,在此選用AT89C52單片機作為主處理器。通過AT89C52的P0.0~P0.7與MAX197的D0~D7相連,既用於輸入MAX197的初始化控制字,也用於讀取轉換結果數據。 用AT89C52單片機的P2.7作片選信號,則MAX197的高位地址為7FH。選擇MAX197為軟體設定低功耗工作方式,所以置SHDN腳為高電平。本文採用外部基準電壓,所以REFDJ接高電平,而REF則接外部輸入參考電壓。AT89C52單片機的P1.1腳用做判讀高、低位數據的選擇線,直接與HBEN腳相連。MAX197的INT腳可與AT89C52的INT0相連,以便實現中斷,讀取轉換結果。
在電路中,AGND和DGND應相互獨立,各種電源與模擬地之間都用0.1mF電容來消除電源的紋波。MAX197的硬體電路設計如圖2所示。
軟體設計
MAX197與其它A/D晶片不同之處在於它的很多硬體功能都是利用內部控制字來實現的,如通道選擇、模擬信號量程、極性等。MAX197的輸出數據採用無符號二進制模式(單極性輸入方式)或二進制補碼形式(雙極性輸入方式)。當CS和RD都有效時,HBEN為低電平,低8位數據被讀出,HBEN為高電平,復用的高4位被讀出,另外4位保持低電平(在單極性方式下),或另外4位為符號位(在雙極性方式下)。
由以上可知,正確進行採集轉換並讀取數據的前提是必須正確設定控制字以及MAX197的各種控制信號。本設計中,進行數據採集轉換前都對MAX197進行初始化,以便確定其採集轉換的通道、量程和極性等。
程式的編寫可以採用查詢和中斷兩種方式,其中查詢方式是在查詢相應的標誌成立時,執行讀取;而中斷則通過把MAX197的INT引腳連線到單片機的外部中斷引腳來實現。本設計的軟體是利用MCS-51彙編指令進行編寫的,利用中斷進行數據的轉換和讀取等操作。綜上,一個典型A/D轉換的控制與讀取程式流程如圖3所示。
結語
此設計表明,以MAX197為核心的數據採集A/D轉換電路具有外圍電路簡單、與處理器並口兼容性好、時序控制簡單易懂的特點,其變換時間短(6ms),可靠性和性價比高,並且編程簡單,比較適合實時性要求較高的大數據量數據採集與高速A/D轉換使用。