1.1??主要性能 AD5933是一款高精度的阻抗測量芯片,內部集成了帶有12位,采樣率高達1MSPS的AD轉換器的頻率發生器。這個頻率發生器可以產生特定的頻率來激勵外部電阻,電阻上得到的響應信號被ADC采樣,并通過片上的DSP進行離散的傅立葉變換。傅立葉變換后返回在這個輸出頻率下得到的實部值R和虛部值I。這樣就可以很容易的計算出在每個掃描頻率下的傅立葉變換的模和電阻的相角。其中模=,相角=。 AD5933主要具有以下特性: ? 可編程的頻率發生器,最高頻率可達100KHz ? 作為設備通過口和主機通訊,實現頻率掃面控制 ? 頻率分辨率為27位(<0.1Hz) ? 阻抗測量范圍為100Ω到10MΩ ? 內部帶有溫度傳感器,測量誤差范圍為±2℃ ? 帶有內部時鐘 ? 可以實現相位測量 ? 系統精度為0.5% ? 可供選擇的電源范圍為2.7V到5V ? 正常工作的溫度范圍-40℃到+125℃ ? 16腳SSOP封裝 1.2??AD5933的引腳定義 圖1給出了AD5933的封裝圖,表1給出了AD5933的引腳定義。建議在使用時把所有的電源腳9、10、11都連到一起,統一連接到電源上,同樣所有的地引腳12、13、14也都連接到一起,統一連接到系統地上 圖1??AD5933引腳排列 表1??AD5933引腳定義 1.3??主要應用 AD5933可以廣泛的應用在電化學分析、生物電極阻抗測量、阻抗譜分析、復雜阻抗測量、腐蝕監視和儀器保護、生物醫學和自動控制傳感器、無創檢測、原材料性能分析以及燃料和電池狀態監測等眾多領域。為阻抗的測量提供了很大的方便,單片集成技術大大的減小了儀器的體積,使得儀器使用更加方便。簡單的I2C通訊方式,方便用戶操作,減小了用戶編程的困難。由于它給出的直接是變換后阻抗的實部和虛部數據,大大的簡化了用戶編程過程,節省了開發時間。 2??AD5933工作原理
2.1??AD5933的參數設置 AD5933片上帶有一個27位的DDS來提供輸出特定頻率激勵信號。輸入到DDS狀態寄存器的數據由AD5933片上地址為82h、83h、84h的起始頻率寄存器提供。盡管狀態寄存器提供27位的精度,但其實起始頻率寄存器的高三位是被內部置零的,所以用戶可以控制的只有起始頻率的低24位。AD5933可以實現0.1Hz的頻率分辨率,頻率分辨率是通過片上24位頻率增量寄存器來控制的。頻率增量寄存器的地址為85h、86h、87h。起始頻率和頻率分量寄存器的代碼的計算方法為要求的起始頻率值或者頻率增量值除以四分之一的系統時鐘再乘以2的27次方。系統時鐘可以通過控制寄存器來設置是選擇外部時鐘還是內部時鐘,AD5933的內部時鐘為16MHz。還可以在寄存器88h和89h中設置頻率點個數。例如,如果用戶想測量150個頻率點,則用戶給88h和89h中分別存入00H和96H。當這三個參數都設置好之后,可以通過給控制寄存器寫入起始頻率掃描命令來實現掃描初始化。當完成每個頻率點的掃描后狀態寄存器的第二位將自動置位,可以通過查詢這位來判斷是否測量完成,用戶可以自行控制實現跳到下一個頻率點。測量結果的實部保存在94h和95h中,虛部保存在96h和97h中,這個結果應該在跳到下一個頻率點之前讀出。如果想要多次測量同一個頻率點的值,以使得測量結果更加精確,只需在一次測量完成之后在控制寄存器中寫入重復當前頻率命令字即可。當所有的頻率點都掃描完時,狀態寄存器的第三位將被自動置位。一旦這位被置位后,將不能進一步實現頻率掃描。 頻率掃描的具體過程包括三部分:
(1) 進入標準模式,在寫入開始頻率掃描控制字到控制寄存器之前,首先要寫入 標準模式控制字到控制寄存器,在這個模式中VOUT和VIN引腳被內部接到地,因此在外部電阻或者電阻和地之間沒有直流偏置。 (2) 進入初始化模式。在寫入開始頻率控制字到控制寄存器后將進入初始化模式。 在這個模式下,電阻已經被起始頻率信號激勵,但沒有進行測量。用戶可以通過程序設置在寫入頻率掃描命令到控制寄存器來啟動進入頻率掃描模式之前的時間。 (3) 進入頻率掃描模式。用戶通過寫入頻率掃描控制字。在這個模式中,ADC在 設定時間周期過去之后開始測量。用戶可以通過在每個頻率點測量之前設置寄存器8Ah和8Bh的值來控制輸出頻率信號的周期數。 片上DDS輸出的信號通過一個可編程增益放大器,通過控制增益可以實現四個不同范 圍的峰峰值輸出。這個輸出范圍的控制是在控制寄存器的第9和第10位實現的。 在接收過程中,從電阻上得到的信號首先進入電流電壓轉換放大器,后面緊跟的是一個可編程增益放大器,這個放大器的增益有5和1兩個值,可以通過設置控制寄存器的第8位來選擇。經過可編程增益放大器之后的信號被ADC采樣,采樣得到的數據送DSP進行傅立葉變換。每個頻率采樣1024個點進行傅立葉變換,變換的結果存儲在兩個16位的寄存器中代表變換后的實部和虛部,每個16位的寄存器分別為兩個8位的寄存器組成,這個將在下面的寄存器介紹中專門給出。 AD5933的系統時鐘可以通過兩個途徑給出。用戶可以在外部時鐘引腳MCLK接入一個高精度穩定的時鐘。另外也可以使用AD5933內部16.776MHz的時鐘。具體選擇哪個時鐘可以通過設置控制寄存器的第3位來實現。系統上電默認為選擇內部時鐘。 2.2??內部寄存器定義及設置 AD5933片上有9個寄存器。這些寄存器分別實現不同的參數設置功能,表2中給出了它們的名稱、地址和讀寫特性。 表2??內部寄存器 起重大部分寄存器已經在上面提到過了。首先主要介紹一下控制寄存器。控制寄存器主要實現AD5933各參數的設置以及工作狀態的設定。表3給出了控制寄存器各個位的功能定義。控制寄存器由兩個8位的寄存器組成,地址分別為80h和81h,在使用時,用戶可以只改變其中一個寄存器的值,而另外一個寄存器的值不變。當給控制寄存器寫入復位命令時不會使得已經編程好的和頻率掃描有關的設置復位,和頻率掃描有關的值為起始頻率,頻率增量和頻率點數。在復位命令之后,必須寫入開始頻率命令到控制寄存器來重新開始頻率掃描過程。上電之后控制寄存器的缺省值為A000H。 表3??AD5933內部寄存器位定義 除了控制寄存器外,需要注意的還有狀態寄存器,狀態寄存器的地址是8Fh。狀態寄存器來標志測量的結束。D7到D0各位分別表示AD5933的不同功能狀態,其中D4至D7沒有實際意義,不表示任何測量狀態。(D0表示溫度測量 完成時,這位被置1)。D1表示一個頻率點的阻抗測量,當完成當前頻率點的阻抗測量時,這位被置1,同時表明實部和虛部數據寄存器中已經存入測量結果。在接到開始,跳到下個頻率點,重復當前頻率或復位等命令時該位被自動復位,在上電時這位也被復位。D2表示頻率掃描完成,當所有的頻率點都測量結束時該位被置1,當接受到復位命令或上電時這位被復位。 2.3??AD5933與控制系統的數據傳輸 AD5933與控制系統的通訊是用 實現的,作為 設備使用,遵守 通訊的時序。它有一個七位的設備地址0001101。當控制系統寫入到AD5933時沒有什么特別說明的,當從AD5933讀數據時,首先要寫入B0h到AD5933,然后寫入要讀出數據的寄存器地址,讀出寄存器的值。 2.4??溫度測量實現 AD5933片上的溫度傳感器是一個13位的數字溫度傳感器,第14位是一個標志位。溫度傳感器可以精確測量周圍器件的溫度。溫度傳感器的測量范圍是-40℃到+125℃,當溫度達到+150℃時,當工作在電壓和溫度的最大規格時,結構完整性將受到破壞。測量溫度的精度為±2℃。 溫度測量過程的轉換時鐘由內部產生,只有從串口讀取或寫入數據才需要外部時鐘。一般模式下,內部時鐘自動完成轉換過程。默認情況下溫度傳感器處于掉電狀態,要啟動溫度測量需要在控制寄存器中寫入溫度測量控制字,在測量完成后溫度傳感器自動關閉,直到下次接受到命令再啟動。用戶可以通過讀取狀態寄存器的值來檢查溫度測量是否結束,溫度測量的結果保存在92h和93h中。其中有14位是有用數據,最高兩位沒有意義。DB13是一個標志位。表4中給出了部分測量數據與實際溫度的對應關系。對于具體的溫度測量數據可以通過公式得到,如果測量溫度為正,則等于所得數據的十進制表示值除以32。如果測量溫度值為負,且把DB13的值也計算在內,則等于測得數據的十進制值減去16384后再除以32,若不把DB13的值計算在內,則等于測量數據的十進制值減去8192后再除以32。 3.1??AD5933測量阻抗模值計算
上面已經提到在頻率掃描過程中,各個頻率點上都可以得到實部值R和虛部值I兩個值,通過它們可以計算傅立葉變換之后的模值,模值=。計算之前先把實部和虛部值用十進制表示。但這只是傅立葉變換后的結果,要想得到阻抗的實際值必須乘以一個校準系數,這里稱這個系數為增益系數。 下面給出一個計算增益系數的例子。當輸出電壓范圍為2V,標定電阻為200kΩ,可編程放大器設置為1,電流電壓轉換放大器增益電阻為200 kΩ,激勵頻率為30kHz,在這個頻率點上得到的實部和虛部值分別為F064、227E,轉換為十進制分別為-3996、8830,則傅立葉變換后的模值=,則增益系數為標定電阻的倒數除以計算得到的模值,即(1/200kΩ)/9692.106=515.819E-12。 下面再給出一個已知增益系數、被測電阻的實部和虛部值計算被測電阻阻值的例子。假設被測電阻為510kΩ,激勵頻率為30kHz,測量得到的實部和虛部值分別為-1473和3507,則計算得到的模值為3802.863。電阻值=1/(增益系數×模值)=1/(515.819E-12×3802.863) =509.791kΩ。 對于不同的測量頻率點增益系數是不同的,所以在不同的頻率點上要分別計算增益系數。 在測量過程中可以通過限制電阻的測量范圍來優化測量性能。表4給出6個不同的阻抗范圍作為參考,它們所選擇的輸出電壓范圍均為2V,可編程增益放大器設置為1。 表4??測量阻抗范圍設定 3.2??相角計算及校準 在阻抗測量過程中不僅僅要關注電阻的模值,還要知道相角的大小,相角值=。和模值一樣相角也要進行校準。首先對標定電阻進行測量,得到標定電阻的相角,測量電阻的實際相角等于測量計算得到的值減去標定電阻的相角值。值得注意的是測量時通過得到的相角是在-90o到+90o之間的,所以要根據R和I所決定的象限來把相角變換到所在象限內。如果R<0,I>0則說明在第二象限,所以計算時要把相角加上180o;如果R<0,I<0則是在第三象限,計算時要把相角減去180 o。 本文設計了一個用單片機控制AD5933實現阻抗測量的系統。單片機選擇的ADI公司的ADμC848。單片機和AD5933通過 串口實現通訊,單片機控制對AD5933的工作模式設置,控制測量過程,讀取測量結果,并通過串口傳輸到PC機。 4.1 硬件電路 系統采用電池供電,又MAX603實現把四節1.5V電池串聯后的電壓變到5V。在AD5933 的RFB和VIN之間接入電流電壓轉換電阻,這個電阻的值是可以按照上面提到的設置測量電阻的范圍的方法來設定的。在VIN和VOUT之間接入的是被測電阻,測量之前先大致估計一下測量電阻的范圍,然后來選擇相應電流電壓轉換電阻的大小。在測量被測電阻之前,首先要用已知阻值的電阻進行標定,得到模值和相角的基準。單片機把從AD5933讀到的阻抗測量結果的實部和虛部通過串口傳到上位機,又上位機根據上面提到的公式,計算得到阻抗值。圖2中給出了電路連接的原理圖。 圖2??系統硬件電路圖 4.2 系統軟件設計 圖3中給出了系統測量的軟件流程圖。這是完成單個阻抗測量的過程。測量后得到的 實部和虛部結果都是十六進制表示。用單片機傳輸到上位機后進行后續的處理。每個頻率點上都要首先對標定電阻進行測量和計算,然后再以此為標準計算被測電阻。 圖3??系統軟件流程 5??小結 本文介紹了阻抗測量芯片AD5933,它是一款可以實現精確測量的高集成度的芯片,大大簡化了測量系統的電路和數據處理過程。本文對其性能、參數設置和具體測量實現進行了較為詳細的介紹,并設計實現了單片機系統對其控制。為阻抗測量提供了一個比較方便、使用的解決方案。 參考文獻: [1] 李剛,林凌,粟田禾. 易學易用高性能SoC單片機ADμC848[M]. 西安:西安電子科技大學出版社,2006. [2] 董艷陽. 自動阻抗測量儀工作原理及阻抗測量方法[J]. 現代電子技術, 2002. 5: 24-26. [3] 劉立新,赫建國. 基于DDS芯片AD9854的信號發生器設計. |
? |
評論
查看更多