0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在C/C++中实现基于MAX1385的控制环路

星星科技指导员 来源:ADI 作者:ADI 2023-02-17 13:53 次阅读

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

5VDC 在 100mA 电源

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电源)。

pYYBAGPvFnCABedxAAAtkBmsbHk630.gif

图 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++代码。

poYBAGPvFnGAYm8GAABaNymLwTQ073.gif

菜单系统

完整的源代码实现了清单 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

    文章

    17835

    浏览量

    251702
  • 驱动器
    +关注

    关注

    53

    文章

    8271

    浏览量

    147026
  • 示波器
    +关注

    关注

    113

    文章

    6281

    浏览量

    185801
  • C++
    C++
    +关注

    关注

    22

    文章

    2114

    浏览量

    73840
  • 编译器
    +关注

    关注

    1

    文章

    1642

    浏览量

    49273
收藏 人收藏

    评论

    相关推荐

    C语言实现面向对象的方式 C++的class的运行原理

    这里主要介绍下在C语言中是如何实现的面向对象。知道了C语言实现面向对象的方式,再联想下,C++
    发表于 10-21 09:00 1160次阅读

    C语言和C++那些不同的地方

    ++11标准。根据不同的标准,它们的功能也会有所不同,但是越新的版本支持的编译器越少,所以本文讨论的时候使用的C语言标准是C89,C++标准是C
    的头像 发表于 12-07 14:29 1037次阅读
    <b class='flag-5'>C</b>语言和<b class='flag-5'>C++</b><b class='flag-5'>中</b>那些不同的地方

    MAX1385, MAX1386 pdf datasheet

    The MAX1385/MAX1386 set and control bias conditions for dual RF LDMOS power devices found
    发表于 03-02 14:47 23次下载

    MAX1385, MAX1386,MAX11008 业内最小

    MAX1385, MAX1386,MAX11008 业内最小的用于蜂窝基站基础设施功率晶体管偏置控制的集成IC
    发表于 04-07 23:45 642次阅读

    Maxim推出双通道RF LDMOS偏压控制MAX1385

    MAX1385/MAX1386可设置和控制蜂巢式基地台的双通道射频(RF)横向扩散金属氧化物半导体(LDMOS)的偏压。每个元件包含一个可编
    发表于 12-30 11:05 622次阅读

    C++内部类的实现及应用

    多重继承一直是C++语言中一个广受争议的语言特征。一般认为,面向对象设计应该谨慎使用多重继承。文章分析了C++多重继承
    发表于 06-28 17:59 50次下载
    <b class='flag-5'>C++</b>内部类的<b class='flag-5'>实现</b>及应用

    C++程序Visual_C++6.0编译系统实现

    C++程序Visual_C++6.0编译系统实现
    发表于 05-04 11:09 1次下载

    EE-112:模拟C++的类实现

    EE-112:模拟C++的类实现
    发表于 05-27 16:13 2次下载
    EE-112:模拟<b class='flag-5'>C++</b><b class='flag-5'>中</b>的类<b class='flag-5'>实现</b>

    C++如何用虚函数实现多态

    01 — C++虚函数探索 C++是一门面向对象语言,C++里运行时多态是由虚函数和纯虚函数实现的,现在我们看下在
    的头像 发表于 09-29 14:18 1730次阅读

    虚拟机的设计与实现:C\C++

    虚拟机的设计与实现:C\C++
    发表于 02-21 15:10 0次下载

    C/C++ 实现基于 MAX1385控制环路

    发表于 11-18 23:45 0次下载
    <b class='flag-5'>在</b> <b class='flag-5'>C</b>/<b class='flag-5'>C++</b> <b class='flag-5'>中</b><b class='flag-5'>实现</b>基于 <b class='flag-5'>MAX1385</b> 的<b class='flag-5'>控制</b><b class='flag-5'>环路</b>

    MAX1385/MAX1386封装引脚图 应用电路图及其特性概述

    、低功耗、高灵敏度等优点,可以满足各种应用的需求。比如可用于汽车音频、家庭影院、扩音器、音箱、耳机等应用。 MAX1385/MAX1386可设置和控制蜂巢式基地台的双通道射频(RF)横向扩散金属氧化物半导体(LDMOS)的偏压。
    的头像 发表于 02-17 15:11 1633次阅读
    <b class='flag-5'>MAX1385</b>/<b class='flag-5'>MAX</b>1386封装引脚图 应用电路图及其特性概述

    C/C++实现基于MAX1385控制环路

    ADI公司'MAX1385评估板(EV kit)软件包括Windows图形用户界面(GUI)程序;但是,更新此显示的时间成本会干扰控制环路。本应用笔记展示了使用控制台菜单系统
    的头像 发表于 06-13 16:22 481次阅读
    <b class='flag-5'>在</b><b class='flag-5'>C</b>/<b class='flag-5'>C++</b><b class='flag-5'>中</b><b class='flag-5'>实现</b>基于<b class='flag-5'>MAX1385</b>的<b class='flag-5'>控制</b><b class='flag-5'>环路</b>

    C++实现类似instanceof的方法

    函数,可实际上C++没有。但是别着急,其实C++中有两种简单的方法可以实现类似Java的instanceof的功能。
    的头像 发表于 07-18 10:16 671次阅读
    <b class='flag-5'>C++</b><b class='flag-5'>中</b><b class='flag-5'>实现</b>类似instanceof的方法

    EE-112:模拟C++的类实现

    电子发烧友网站提供《EE-112:模拟C++的类实现.pdf》资料免费下载
    发表于 01-03 15:15 0次下载
    EE-112:模拟<b class='flag-5'>C++</b><b class='flag-5'>中</b>的类<b class='flag-5'>实现</b>