作者:Mike Byrne and Ken Kavanagh
在使用模數(shù)轉(zhuǎn)換器設(shè)計系統(tǒng)時,一項關(guān)鍵任務(wù)是實際選擇要使用的轉(zhuǎn)換器。功耗、價格和尺寸等限制因素以及系統(tǒng)對分辨率和性能參數(shù)的要求將縮小選擇范圍。但是,設(shè)計人員可能仍然會留下許多轉(zhuǎn)換器,乍一看,這些轉(zhuǎn)換器將在應(yīng)用中執(zhí)行。一種選擇是簡單地根據(jù)數(shù)據(jù)手冊信息選擇轉(zhuǎn)換器;但謹(jǐn)慎的工程師實際上希望了解零件在應(yīng)用要求的條件下的性能。然而,問題在于如何盡可能少地花在評估上,因為其中大部分時間將用于評估將被排除在考慮之外的轉(zhuǎn)換器。
評估轉(zhuǎn)換器并非易事。需要硬件設(shè)計工作和仔細的PCB布局,以使該器件達到其指定的模擬性能。即使使用標(biāo)準(zhǔn)評估板解決了硬件問題,也需要軟件例程來控制器件并回讀數(shù)據(jù)。在當(dāng)今多樣化的市場中,各種可用的轉(zhuǎn)換器,尤其是來自不同制造商的轉(zhuǎn)換器,都采用專有引腳排列,通常需要不同的軟件例程進行控制和訪問。
鑒于這種背景,歡迎任何使設(shè)計人員能夠更輕松地評估轉(zhuǎn)換器的工具。這些工具可加快選擇轉(zhuǎn)換器的過程,為設(shè)計人員節(jié)省開發(fā)系統(tǒng)以評估器件所需的時間和精力。除了更快、更輕松地選擇轉(zhuǎn)換器外,還應(yīng)通過快速簡便的方法來測試應(yīng)用中的部件,從而進一步加快設(shè)計過程。為了 有用, 測試 系統(tǒng) 應(yīng) 有效 自 包含, 在 設(shè)計 者 隨時 可用 的 平臺 上 運行, 并 實現(xiàn) 兩 個 不同 的 功能: 提供 一種 快速 的 方法 來 演示 轉(zhuǎn)換 器 的 性能, 以及 為 在 用戶 應(yīng)用 中 評估 轉(zhuǎn)換 器 提供 開發(fā) 平臺。
這些是中高速通用模數(shù)轉(zhuǎn)換器評估系統(tǒng)的設(shè)計目標(biāo),使用標(biāo)準(zhǔn)PC作為評估設(shè)備的平臺。PC有兩個用于外部通信的端口,一個串行RS-232端口和一個并行打印機端口。由于這兩個端口都無法以每秒超過10,000個采樣的吞吐速率運行ADC所需的速度運行,因此,如果要以指定的吞吐速率運行ADC,則無法在PC和ADC之間直接連接。
因此,為了便于控制ADC并以指定速度運行ADC,需要在PC外部提供額外的處理能力。還需要一個內(nèi)存緩沖區(qū)來存儲以較高吞吐率收集的數(shù)據(jù),然后再以與其移植速度兼容的較低速率將其上傳到PC。一種方法是構(gòu)建具有處理能力和存儲器的評估板。但這有一個缺點,即每個評估板上都需要一個處理器;評估板作為開發(fā)板的靈活性降低。
ADI位于利默里克的通用轉(zhuǎn)換器應(yīng)用事業(yè)部采用的方法是簡化評估板,并將存儲器、處理能力和PC通信移至單獨的控制器板。該控制器板標(biāo)有EVAL-CONTROL BOARD,提供PC的RS-232端口與目標(biāo)設(shè)備的評估板之間的鏈路。它提供了一種控制轉(zhuǎn)換器(子)板并以最大吞吐速率操作轉(zhuǎn)換器的方法,同時在PC上演示結(jié)果。Eval-Control 板能夠與一套子評估板一起使用,每個子評估板都針對特定轉(zhuǎn)換器或系列的特定需求。用戶購買一個 Eval-Control 板,可以通過標(biāo)準(zhǔn) 96 引腳連接器將子評估板連接到該控制器板。系統(tǒng)配置如圖 1 所示。
圖1.臺架測試設(shè)置。
所有與 Eval-Control 板兼容的子評估板的名稱都以字母 CB 結(jié)尾。迄今為止,有10個子ADC評估板可用于控制器板;其性能范圍為12位、600 ksps AD7892至16位200 ksps AD976A。
為了滿足設(shè)置獨立的要求,可以使用具有 12A 電流容量的標(biāo)準(zhǔn) 1V 交流變壓器為系統(tǒng)供電。然后,Eval-Control Board從中產(chǎn)生自身和子板所需的所有功率(圖2)。該板的功能基于ADI公司ADSP-2111數(shù)字信號處理器(DSP)。ADSP-2111具有兩個高速串行鏈路,一個2K x 24內(nèi)部程序存儲器RAM和一個1K x 16內(nèi)部數(shù)據(jù)存儲器RAM。處理器控制采樣速率和評估板的數(shù)據(jù)采集。對于串行接口,它能夠以 8 MHz 的比特率獲取數(shù)據(jù);對于并行接口,它的字速率為 3.2 MHz。
圖2.評估控制板框圖
Eval-Control Board和PC之間的通信由8051微控制器控制。8051上的UART端口連接到PC的COM-1串行端口,信息通過標(biāo)準(zhǔn)RS-232電纜傳輸。8051連接到ADSP-2111的主機接口端口(HIP)。相應(yīng)子評估板的軟件通過2111下載到ADSP-8051。同樣,當(dāng)ADSP-2111采集并處理數(shù)據(jù)樣本后,它們會通過8051傳輸回PC進行分析。Eval-Control Board的8K x 16位RAM允許存儲多達4000個樣本,然后再將其傳輸?shù)絇C進行處理。它還包括一個14位單芯片DAC和ADC (AD7869)。因此,它可以獲取模擬數(shù)據(jù),并在用戶愿意的情況下生成模擬輸出信號。
評估軟件在DOS 4.0或更高版本下運行,允許用戶控制包含被測器件的子板的操作。樣品以高達轉(zhuǎn)換器最大吞吐速率的速率收集,然后上傳到PC進行顯示和分析。前端PC軟件具有許多屏幕顯示;這些示例如圖 3 所示。
一個。正弦波及其數(shù)字化頻譜。
b.直方圖分析
圖 3.數(shù)據(jù)呈現(xiàn)示例。
該軟件與一系列功能鍵,熱鍵和屏幕按鈕一起運行。有了它,用戶可以選擇采樣率、要采集的樣本數(shù)量、模擬輸入范圍、工作模式和片上寄存器的控制。該軟件還可以對捕獲的數(shù)據(jù)執(zhí)行窗口功能,執(zhí)行快速傅立葉變換(FFT),計算信噪比并顯示結(jié)果。它還可以顯示直流輸入的代碼分布,并計算分布的平均值和標(biāo)準(zhǔn)偏差。該軟件允許將捕獲的數(shù)據(jù)存儲到文件中,從中可以導(dǎo)出以供其他軟件包處理。數(shù)據(jù)可以從文件中獲?。ǘ皇菑脑u估板捕獲)并離線處理。
因此,Eval-Control Board滿足了其要求,即使用上述功能的全套軟件例程來演示標(biāo)稱性能。一旦設(shè)計人員進入評估階段,就可以調(diào)整這些例程,以在特定應(yīng)用條件下評估器件。在這里,Eval-Control Board可以作為一個真正的開發(fā)平臺運行。為了為此目的調(diào)整和開發(fā)軟件,首先需要了解Eval-Control Board的軟件是如何工作的。
軟件
該軟件分為兩個主要部分。第一個是用 C 代碼編寫的,在 PC 上運行;第二個是在評估控制板上運行的DSP代碼,基于ADSP-21xx代碼。我們以具有并行數(shù)據(jù)總線的12位ADC為例。在檢查 21xx 代碼之前,應(yīng)該了解當(dāng)用戶從 PC 軟件中選擇命令時會發(fā)生什么。
每個子評估板都需要自己的軟件例程;它們存儲在PC上,并在使用該特定評估板時下載到Eval-Control板。主板特定的軟件文件稱為主機接口端口(HIP)文件。當(dāng)用戶選擇要加載的程序時,該程序的HIP文件將通過PC的串行端口加載到Eval控制板上。加載程序后,DSP 程序會使其等到獲得命令后再執(zhí)行任何進一步的操作。當(dāng)用戶從PC選擇操作時,四字節(jié)代碼通過串行端口發(fā)送到DSP。代碼的格式預(yù)格式化和后格式化分別帶有“S”和“E”字符。這些允許軟件解釋需要執(zhí)行的功能(例如,取樣,寫入寄存器等)。當(dāng)命令發(fā)送到評估控制板時,微控制器剝離“S”和“E”字節(jié),并將4個字節(jié)加載到數(shù)據(jù)存儲器(DM)地址0x3FE1,0x3FE2,0x3FE3和0x3FE4,如圖所示。
HIP 寄存器地址
微控制器還將 0x03 值寫入 ad?3ess 0x3FE0,以指示已收到數(shù)據(jù)。這些地址稱為 HIP 寄存器。地址 0x3FE6 處還有一個 HIP 狀態(tài)寄存器。檢查此寄存器以查看是否有任何新數(shù)據(jù)被 DSP 或 PC 寫入 HIP 寄存器。如果將命令行選項 -e+ 添加到 PC 上運行的程序名稱中,則可以看到發(fā)送到 DSP 的四字節(jié)代碼。例如,如果使用的程序是AD7892.EXE,則命令行是AD7892.EXE-e+。
為應(yīng)用程序編寫代碼的第一步是編寫DSP的所有初始設(shè)置例程,中斷向量地址,串行端口配置和可能需要的任何標(biāo)志的初始化。(這部分代碼取決于特定的應(yīng)用程序,本文不會顯示。設(shè)置DSP后,程序應(yīng)等待用戶向其發(fā)送命令。這是使用如下所示的Wait_Confirm子例程和 ALU 輸入寄存器 AX0 和 AY1 完成的。AR 是 ALU 輸出寄存器。
wait_confirm:
AX0=DM(0x3fe6); {load HIP status register into AX0}
AY1=0x0001; {load AY1 to check HIP against register 1}
AR=AX0 AND AY1; {Has anything been written?}
IF EQ JUMP wait_confirm; {If not then repeat the loop}
RTS; {return when the commands are received}
此例程僅監(jiān)視 HSR6、HIP 狀態(tài)寄存器 (0x3FE6),直到寄存器的 LSB 為 1 時才返回,表示某些內(nèi)容已寫入 HDR1 寄存器。此圖標(biāo)識了四個數(shù)據(jù)字節(jié)的內(nèi)容:
熱等靜壓寄存器功能
接收到數(shù)據(jù)后,可以加載定時器寄存器。操作數(shù)據(jù)以將 2 個字節(jié)重建為一個 16 位字(通過將高字節(jié)向左移動 8 位并合并),并將其存儲在數(shù)據(jù)存儲器中,如下所示:
AX0=DM(0X3fe2); SI=AX0; SE=8; SR=LSHIFT SI(LO);
AX0=DM(0X3fe3); AY1=0X00ff; AR=AX0 AND AY1;
AX0=AR; AY1=SR0; AR=AX0 OR AY1;
AY0=AR;AR=AY0-1;
DM(Tcount_Reg)=AR; DM(Tperiod_Reg)=AR;
最后,需要設(shè)置并行端口(在本例中為邊緣連接器)的地址,以及要放置數(shù)據(jù)的內(nèi)存位置的起始地址。這是使用ADSP-2111的數(shù)據(jù)地址發(fā)生器(DAG)對完成的。DAG 由三個寄存器組成,標(biāo)識為 I(內(nèi)存塊的基/索引地址)、M(到下一個位置的增量步驟)和 L(內(nèi)存塊的長度;L 塊是返回涉及循環(huán)緩沖區(qū)的循環(huán)開始所必需的;在此示例中,它將設(shè)置為零)。代碼如下所示。
I0=0;M0=1;L0=0; {數(shù)據(jù)的內(nèi)存位置地址}
I1=0x2000;M1=0;L1=0; {并行端口地址 }
現(xiàn)在可以設(shè)置一個循環(huán),每次發(fā)生中斷時都會讀取數(shù)據(jù)樣本。由于讀取樣本只占用整個操作(即讀取和上傳數(shù)據(jù))的一小部分時間,因此可以用數(shù)據(jù)填充內(nèi)存,并且只選擇要上傳的一部分。
AY1=1; AR=8191; {set sample increment and number of samples req’d}
MSTAT=0x20; IMASK=0x01; {start the timer and unmask the interrupt}
luup: IDLE; {wait for the interrupt to occur}
luup1: AR=AR - AY1; {decrease the count}
IF NE JUMP luup; {repeat until finished}
在此示例中,代碼被簡化為僅使用計時器中斷。這可以通過等待計時器從預(yù)設(shè)時間開始過期從而導(dǎo)致中斷來完成。然后可以從數(shù)據(jù)總線讀取數(shù)據(jù),并在短暫延遲后(如果需要)開始下一次轉(zhuǎn)換。下面的代碼顯示了計時器中斷向量地址出現(xiàn)在向量表中時的外觀。還顯示了中斷服務(wù)例程。
timer_int: jump ISR;RTI;RTI;RTI; {interrupt vector}
ISR: AX0=DM(I1,M1); {read data}
DM(I0,M0)=AX0; {Write to memory}
RESET FL0; SET FL0; {Convst}
RTI;
使用此技術(shù)時,必須忽略要返回的第一個數(shù)據(jù)值,因為它將在轉(zhuǎn)換開始之前被讀入;因此它是無效的。讀入所有數(shù)據(jù)后,就可以將數(shù)據(jù)上傳到PC。關(guān)閉中斷并重置控制數(shù)據(jù)存儲器的 DAG 后,可以使用以下代碼檢查以確定需要上傳多少個樣本:
IMASK=0x00;MSTAT=0x10; |
{屏蔽所有中斷并停止計時器} |
I0=1;M0=1;L0=0; |
{重置DAG以啟動數(shù)據(jù)存儲器} |
AR=DM(0x3fe1);MY0=256;MR=AR*MY0(UU); |
{讀取所需樣本數(shù)} |
AY0=MR0; |
{商店計數(shù)} |
來自12位ADC的數(shù)據(jù)應(yīng)進行符號擴展,以適應(yīng)16位寬的數(shù)據(jù)寄存器。這可以通過檢查數(shù)據(jù)來完成,如果 MSB 為 1,或者檢查具有 0xF000 的數(shù)據(jù),將最高的 4 位設(shè)置為 1,如下所示。
MORE_TO_ECHO: AX0=DM(I0,M0); |
{讀取數(shù)據(jù)值} |
AY1=0x800;AR=AX0 和 AY1;如果情商跳過; |
{檢查 MSB } |
AY1=0xF000;AR=AX0 或 AY1;AX0=AR; |
{如果是 1,則將上位設(shè)置為 1} |
數(shù)據(jù)現(xiàn)在已正確格式化,可以通過主機接口端口傳輸?shù)絇C。這是通過在循環(huán)中調(diào)用 OUT_HIP 例程來完成的:
OVER: |
CALL OUT_HIP; |
{upload the data value } |
AR=AY0—1; |
{decrease the count } |
|
AY0=AR; |
{and copy it back to the register} |
|
IF GE JUMP MORE_TO_ECHO; |
{if we’re not finished then repeat} |
|
GG: |
AX0=0x00FF; |
{all the data has been |
so indicate this to the PC} |
||
DM(0X3fe3)=AX0;AX0=0; |
||
DM(0x3fe0)=AX0; |
||
JUMP cloop; |
{return to start and wait for next command} |
|
OUT_HIP |
SI=AX0; |
{input the data to the barrel shifter} |
SE=—8; |
{set the number of bits to shift by} |
|
SR=LSHIFT SI(LO); |
{and shift the data} |
|
DM(0X3FE4)=SR0; |
{ HI byte } |
|
DM(0X3FE5)=SI; |
{ LO byte } |
|
AX0=1; DM(0X3FE3)=AX0; |
{ indicate that data is available } |
|
CALL WAIT_UPLOAD; |
{and upload it to the PC} |
|
RTS; |
{return when finished } |
|
WAIT_UPLOAD: |
AX0=DM(0x3FE6); |
{check contents of HIPregister 6} |
AY1=0x0001; |
||
AR=AX0 AND AY1; |
||
IF EQ JUMP WAIT_UPLOAD; |
{repeat until ready} |
|
AX0=DM(0x3FE0); |
||
AY1=0x0003; |
||
AR=AX0 - AY1; |
||
IF NE JUMP WAIT_UPLOAD; |
||
RTS; |
一旦將所需數(shù)量的樣本發(fā)送到PC,程序應(yīng)返回到主循環(huán)的開始并等待進一步的說明。
最后幾個例程是標(biāo)準(zhǔn)集;在修改 Eval-Control Board 的 DSP 代碼以滿足特定應(yīng)用條件時,它們很少需要更改。上面顯示的所有例程都已用于HIP文件中,這些文件控制通過Eval控制板連接到PC的各種評估(子)板。此處顯示它們是為了指示如何修改現(xiàn)有程序以獲得附加功能。
審核編輯:郭婷
-
轉(zhuǎn)換器
+關(guān)注
關(guān)注
27文章
9282瀏覽量
154313 -
控制器
+關(guān)注
關(guān)注
114文章
17503瀏覽量
188514 -
adc
+關(guān)注
關(guān)注
100文章
6812瀏覽量
552114
發(fā)布評論請先 登錄
具有PSR控制器的通用交流/直流降壓轉(zhuǎn)換器參考設(shè)計
雙向降壓升壓轉(zhuǎn)換器評估板EVAL-PS-E1BF12-SIC
評估AD7091R-8 12位ADC監(jiān)視和控制系統(tǒng)的評估板
用于評估AD7091R-2 12位ADC監(jiān)視和控制系統(tǒng)的評估板
基于VIPer Plus的評估板VIPer0P 15V 0.15A降壓轉(zhuǎn)換器
EVAL-AD7403-8FMCZ,旨在讓用戶輕松評估AD7403-8隔離式模數(shù)轉(zhuǎn)換器(ADC)的所有功能
具有Easy Automotive模塊的HV至LV DCDC轉(zhuǎn)換器評估套件的評估板
可有效驅(qū)動連續(xù)導(dǎo)通模式升壓預(yù)轉(zhuǎn)換器
數(shù)控非隔離式DC/DC降壓轉(zhuǎn)換器參考設(shè)計
選擇雙向轉(zhuǎn)換器的控制方案
母線轉(zhuǎn)換器評估板用戶指南
帶溫度傳感器的24位電容數(shù)字轉(zhuǎn)換器AD7747評估板

評論