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
审核编辑:郭婷
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电源
    +关注

    关注

    182

    文章

    16554

    浏览量

    244764
  • 驱动器
    +关注

    关注

    51

    文章

    7310

    浏览量

    142972
  • 示波器
    +关注

    关注

    111

    文章

    5661

    浏览量

    181786
  • C++
    C++
    +关注

    关注

    21

    文章

    2066

    浏览量

    72900
  • 编译器
    +关注

    关注

    1

    文章

    1577

    浏览量

    48624
收藏 人收藏

    评论

    相关推荐

    C++小白自学基础教程之c++的三目运算符15

    C++
    电子学习
    发布于 :2023年01月12日 21:11:56

    C/C++的整型常识

    的类型虽然代码移植的时候只需要修改一处即可,但仍然属于源代码级别的修改,所以 C++ 2.0 中将这些类型定义模板,可以做到代码移植时无需修改代码。   
    发表于 10-07 11:12

    关于C++的函数重载机制

    函数重载是C++的新增机制,是同一个作用域中能声明定义多个同名字的函数.(我们知道函数的名字是函数代码块的起始地址,这个首地址能够将函数的控制权转移给这个代码块的区域).定义多个同
    发表于 10-01 17:18

    CC++const的用法比较

    为0)。针对Cconst的上述局限性,C++作出了重大的改进。C++,可以使用const来
    发表于 11-11 10:00

    STM32 上使用 C++ 指南

    C++ 的支持 检查 SConstruct 文件C++ 的支持 打开 C++ 支持:打开 Env 工具, Env 命令行
    发表于 04-21 17:29

    C/C++与汇编语言是如何交互的

     DSP的开发,常用的算法都可以用C/C++代码来高效实现。但是对一些特殊寄存器的读写,例如某些CPU寄存器的读写,因为
    发表于 02-01 07:12

    C++嵌入式应用的机遇与挑战是什么?

    C++嵌入式应用的机遇与挑战是什么?什么是MISRA C++
    发表于 04-28 06:25

    上位机通信协议控制电机上位机C++实现上位机6

    常见的上位机通信协议控制电机上位机C++实现上位机6:网络通讯类CCommnicationC++实现上位机5:实现串口
    发表于 09-16 06:22

    NDK开发C++的代码怎么实现日志输出

    NDK开发C++的代码怎么实现日志输出?实现方法是什么?
    发表于 09-30 07:04

    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 MAX1385/
    发表于 04-07 23:45 583次阅读

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

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

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

    发表于 11-18 23:45 0次下载
    在 C/<b class='flag-5'>C++</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 1001次阅读
    <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 290次阅读
    在C/<b class='flag-5'>C++</b>中<b class='flag-5'>实现</b>基于<b class='flag-5'>MAX1385</b>的<b class='flag-5'>控制</b><b class='flag-5'>环路</b>