Maxim的MAX1385評估板(EV kit)軟件包括Windows?圖形用戶界面(GUI)程序;但是,更新此顯示的時間成本會干擾控制環路。本應用筆記展示了使用控制臺菜單系統而不是GUI的更優化的控制回路程序。
當與MAX1385EVKIT+演示板配合使用時,控制環路可實現±2%的調節精度。該精度受柵極驅動器輸出步長和FET跨導的限制。漏極電流調節步長由MAX1385的柵極電壓增量乘以FET的有效跨導決定。由于MAX1385評估板使用IRFZ44N MOSFET閉環進行演示,因此調節可能與LDMOS FET不同。
所需硬件
美信MAX1385評估板+
Maxim CMAXQUSB+ (包括 USB A-B 電纜)
帶 USB 端口的 Windows 2000/XP PC
10VDC 在 1000mA 電源
用于測量漏極電流的 DMM
用于測量漏極電壓的 DMM
用于測量 PGAOUT 放大電流檢測電壓的 DMM
可選:用于監控 GATE1 電壓和 PGAOUT1 漏極電流的示波器
設置
下載并解壓縮必要的可執行文件和源代碼文件(ZIP,736kB)。
按照圖 1 組裝硬件。
將CMAXQUSB接頭P3插入MAX1385評估板連接器J1。
將MAX1385評估板的漏極1和漏極2引腳連接到電流表(-)。
將電流表 (+) 連接到電源 (+)。
將MAX1385評估板的源極1和源極2引腳連接至電源(-)。
將電壓表(+)連接到MAX1385評估板的DRAIN1引腳。
將電壓表(-)連接至MAX1385評估板的SOURCE1引腳。
將MAX1385評估板的AVDD引腳連接至DVDD引腳(或可選連接外部5V DC電源)。
圖 1.MAX1385評估板硬件配置
程序
將CMAXQUSB的VDD選擇跳線設置為5V位置。
將 CMAXQUSB 連接到 PC 的 USB 端口。如果這是 CMAXQUSB 首次連接到 PC,則會出現即插即用向導。將 GUI 引導至設備驅動程序的安裝位置(以 MAX1385_Appnote_src.zipsrcUSB_driver 為單位)。
啟動 DEMO1385.EXE 程序。屏幕上將出現一個控制臺。在控制臺輸入以下一系列命令:
命令 | 行動 |
C |
連接到 CMAXQUSB 模塊。驗證軟件是否報告: 板已連接。 Got board banner: Maxim CMAXQUSB V01.04.32 > Searching for MAX1385... Found MAX1385 at 0x4e Note: when using MAX1385EVKIT with CMAXQUSB, connect 5V DVDD supply to AVDD. |
T V P | 測試菜單/驗證上電值 |
T S O FCT1 0300 | 測試菜單/伺服模式/輸出寄存器/FineCalThru1寄存器,初始值0x0300 |
T S I FF | 測試菜單/伺服模式/輸入寄存器/先進先出寄存器 |
T S A 2 | 測試菜單/伺服模式/ADC 命令/觸發通道 2(當前 CS1) |
T S T 0020 | 測試菜單/伺服模式/目標值0x0020 |
T S C 1 | 測試菜單/伺服模式/收斂步長正 1 |
T S H 1 | 測試菜單/伺服模式/遲滯一步 |
T S M 60000 | 測試菜單/伺服模式/最大循環持續時間設置為 60 秒 |
T S R | 測試菜單/伺服模式/運行 |
T W FCT1 0300 | 測試菜單/寫入寄存器/FineCalThru1寄存器,值0x0300 |
通過觀察數字萬用表來監控法規。
PGAOUT1上的電壓調節在20.8mV和21.7mV之間,在平均0.45mV附近變化2.21mV (25%)。
源代碼演練
源代碼是用免費的dev-cpp IDE開發的,它使用GNU gcc-3.4.2 C++編譯器。
清單 1 顯示了在調節環路中執行的C++代碼的簡化版本。為清楚起見,已刪除輸出語句和錯誤處理。
清單 1.簡化C++代碼。
菜單系統
完整的源代碼實現了清單 2 中所示的控制臺菜單系統,它連接到 CMAXQUSB 模塊。
清單 2.控制臺菜單系統。
============================================================ CmodComm test program main menu when not connected A) adjust timing parameters L) CmodLog... functions C) connect D) Debug Messages X) exit --------------------------------------------- C Board connected. Got board banner: Maxim CMAXQUSB V01.04.32 > Searching for MAX1385... Found MAX1385 at 0x4e Note: when using MAX1385EVKIT with CMAXQUSB, connect 5V DVDD supply to AVDD. ============================================================ CmodComm test program main menu after successful connect T) Test the device 8) CmodP8Bus... functions A) adjust timing parameters L) CmodLog... functions P) CmodPin... functions S) CmodSpi... functions M) CmodSMBus... functions $) CmodCommStringWrite list of hex codes R) CmodBoardReset D) Disconnect ============================================================ T Test menu T ? Hunt for active devices T R Read register T W Write register T S Servo loop T VP Verify Power-On Register Values T VM reg mask Verify Register Memory Persistence, All Combinations ... T VW reg mask Verify Register Memory Persistence, Walking-One's test ... ============================================================ Write register: T W AD Write ADCCON T W AH Write ALMHCFG T W AS Write ALMSCFG T W FI1 Write FINE1 T W FI2 Write FINE2 T W FC1 Write FINECAL1 T W FC2 Write FINECAL2 T W FCT1 Write FINECALTHRU1 T W FCT2 Write FINECALTHRU2 T W FT1 Write FINETHRU1 T W FT2 Write FINETHRU2 T W HC Write HCFG T W HT1 Write THRUHI1 T W HT2 Write THRUHI2 T W HW1 Write HIWIPE1 T W HW2 Write HIWIPE2 T W IH1 Write IH1 T W IH2 Write IH2 T W IL1 Write IL1 T W IL2 Write IL2 T W LD Write LDAC T W LT1 Write THRULO1 T W LT2 Write THRULO2 T W LW1 Write LOWIPE1 T W LW2 Write LOWIPE2 T W P Write PGACAL T W SC Write SCLR T W SS Write SSHUT T W TH1 Write TH1 T W TH2 Write TH2 T W TL1 Write TL1 T W TL2 Write TL2 T W X /hexRegAddr/ Write any register by its hexadecimal address ============================================================ Read register: T R AH Read ALMHCFG T R AS Read ALMSCFG T R FF Read FIFO T R FI1 Read FINE1 T R FI2 Read FINE2 T R FL Read FLAG T R HC Read HCFG T R HW1 Read HIWIPE1 T R HW2 Read HIWIPE2 T R IH1 Read IH1 T R IH2 Read IH2 T R IL1 Read IL1 T R IL2 Read IL2 T R LW1 Read LOWIPE1 T R LW2 Read LOWIPE2 T R TH1 Read TH1 T R TH2 Read TH2 T R TL1 Read TL1 T R TL2 Read TL2 T R X /hexRegAddr/ Read any register by its hexadecimal address ============================================================ T S Test Servo menu T S O FCT1 0300 output register [wr_FINECALTHRU1, initial value 0x0300] T S I FF input register [rd_FIFO] T S A 2 ADC input channel [ bit 2 = 0x0004 = ADCCON_CURRENT_CS1 ] T S T 0020 target value [0x0020] T S C 1 ConvergeStep [1] T S H 1 hysteresis [1] T S M 60000 max_loop_duration_msec [60000] T S R servo loop run ============================================================sh
-
電源
+關注
關注
184文章
17591瀏覽量
249503 -
驅動器
+關注
關注
52文章
8158瀏覽量
146024 -
示波器
+關注
關注
113文章
6190瀏覽量
184525 -
C++
+關注
關注
22文章
2104瀏覽量
73497 -
編譯器
+關注
關注
1文章
1618瀏覽量
49052
發布評論請先 登錄
相關推薦
評論