不仅仅是管理电压,而是掌握它!我们的同步降压转换器以精确的方式应对电压挑战,实现最佳电源性能。
A
A
硬件概览
它是如何工作的?
Step Down 9 Click 基于 Analog Devices 的 MAX20406,这是一款汽车用全集成同步静音开关降压转换器。它是一款低 EMI 发射降压转换器,集成了高侧和低侧开关,并可以通过 99% 占空比运行以进行低压降操作。Step Down 9 Click 使用 TPL0501 数字电位器以电阻分压器配置进行外部输出电压调整。TPL0501 是 Texas Instruments 的单通道数字电位器,具有 SPI 接口。它具有 256 位置分辨率和 100KΩ 的端到端电阻。如前所述,Step Down 9 Click 使用 TPL0501 及其 3 线 SPI 串行接口与主机 MCE 通信,支持高达 25MHz 的时钟频
率。电压质量可以通过观察 mikroBUS™ 插槽的 PG 引脚上的 PGOOD 信号来监测。EN 引脚是电路激活的输入,在高电平逻辑状态下激活。此 Click board™ 还配备了一个 5 针插头,可以使用 MAX20406 的附加功能。转换器可以在强制 PWM 模式下使用双相操作,用于高电流应用。如果在强制 PWM 模式下,SYO 引脚将与控制器时钟相位相差 180 度。如果在跳跃模式下,则 SYO 引脚上将不存在时钟。要设置跳跃模式,将 SYI 引脚连接到 GND;否则,如果将 SYI 连接到 BIAS,则将选择强制 PWM 模式。VEA 是双相操作所需的内部电
压回路误差放大器输出。MAX20406 可以配置为控制器或目标。当 SYO 连接到 BIAS 并且转换器启用时,将有一个程序来检测它是控制器还是目标。在控制器配置中,您可以使用 VEA 引脚连接到目标的 VEA 以确保两相之间的电流平衡共享。更多信息请参阅 MAX20406 的数据表。此 Click board™ 可以通过 VCC SEL 跳线选择使用 3.3V 或 5V 逻辑电压水平。这样,3.3V 和 5V 的 MCU 都可以正确使用通信线路。此外,这款 Click board™ 配备了包含易于使用的功能和示例代码的库,可用于进一步开发。
功能概述
开发板
Flip&Click PIC32MZ 是一款紧凑型开发板,设计为一套完整的解决方案,它将 Click 板™的灵活性带给您喜爱的微控制器,使其成为实现您想法的完美入门套件。它配备了一款板载 32 位 PIC32MZ 微控制器,Microchip 的 PIC32MZ2048EFH100,四个 mikroBUS™ 插槽用于 Click 板™连接,两个 USB 连接器,LED 指示灯,按钮,调试器/程序员连接器,以及两个与 Arduino-UNO 引脚兼容的头部。得益于创
新的制造技术,它允许您快速构建具有独特功能和特性的小工具。Flip&Click PIC32MZ 开发套件的每个部分都包含了使同一板块运行最高效的必要组件。此外,还可以选择 Flip&Click PIC32MZ 的编程方式,使用 chipKIT 引导程序(Arduino 风格的开发环境)或我们的 USB HID 引导程序,使用 mikroC、mikroBasic 和 mikroPascal for PIC32。该套件包括一个通过 USB 类型-C(USB-C)连接器的干净且调
节过的电源供应模块。所有 mikroBUS™ 本身支持的 通信方法都在这块板上,包括已经建立良好的 mikroBUS™ 插槽、用户可配置的按钮和 LED 指示灯。Flip&Click PIC32MZ 开发套件允许您在几分钟内创建新的应用程序。它由 Mikroe 软件工具原生支持,得益于大量不同的 Click 板™(超过一千块板),其数量每天都在增长,它涵盖了原型制作的许多方面。
微控制器概述
MCU卡片 / MCU

建筑
PIC32
MCU 内存 (KB)
2048
硅供应商
Microchip
引脚数
100
RAM (字节)
524288
使用的MCU引脚
mikroBUS™映射器
“仔细看看!”
Click board™ 原理图

一步一步来
项目组装
软件支持
库描述
该库包含 Step Down 9 Click 驱动程序的 API。
关键功能:
stepdown9_set_en_pin- Step Down 9 设置 EN 引脚状态功能。stepdown9_set_wiper_pos- Step Down 9 设置滑动端位置功能。stepdown9_set_output- Step Down 9 设置输出电压功能。
开源
代码示例
完整的应用程序代码和一个现成的项目可以通过NECTO Studio包管理器直接安装到NECTO Studio。 应用程序代码也可以在MIKROE的GitHub账户中找到。
/*!
* @file main.c
* @brief Step Down 9 Click example
*
* # Description
* This library contains API for the Step Down 9 Click driver.
* This driver provides the functions to set the output voltage treshold.
*
* The demo application is composed of two sections :
*
* ## Application Init
* Initialization of I2C module and log UART.
* After driver initialization, default settings sets output voltage to 1.6 V.
*
* ## Application Task
* This example demonstrates the use of the Step Down 9 Click board™ by changing
* output voltage every 5 seconds starting from 1.6 V up to 10 V.
*
* @author Stefan Ilic
*
*/
#include "board.h"
#include "log.h"
#include "stepdown9.h"
static stepdown9_t stepdown9;
static log_t logger;
/**
* @brief Output level printing function.
* @details This function is used to log value of the selected voltage to UART terminal.
* @param[in] sel_level : Selected voltage level.
* @return Nothing.
* @note None.
*/
static void print_selected_output_level ( uint8_t sel_level );
void application_init ( void )
{
log_cfg_t log_cfg; /**< Logger config object. */
stepdown9_cfg_t stepdown9_cfg; /**< Click config object. */
/**
* Logger initialization.
* Default baud rate: 115200
* Default log level: LOG_LEVEL_DEBUG
* @note If USB_UART_RX and USB_UART_TX
* are defined as HAL_PIN_NC, you will
* need to define them manually for log to work.
* See @b LOG_MAP_USB_UART macro definition for detailed explanation.
*/
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
// Click initialization.
stepdown9_cfg_setup( &stepdown9_cfg );
STEPDOWN9_MAP_MIKROBUS( stepdown9_cfg, MIKROBUS_1 );
if ( SPI_MASTER_ERROR == stepdown9_init( &stepdown9, &stepdown9_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
if ( STEPDOWN9_ERROR == stepdown9_default_cfg ( &stepdown9 ) )
{
log_error( &logger, " Default configuration." );
for ( ; ; );
}
log_info( &logger, " Application Task " );
}
void application_task ( void )
{
for ( uint8_t n_cnt = STEPDOWN9_VOUT_1V6; n_cnt <= STEPDOWN9_VOUT_10V; n_cnt++ )
{
stepdown9_set_output( &stepdown9, n_cnt );
log_printf( &logger, " Selected output is:" );
print_selected_output_level ( n_cnt );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
}
}
int main ( void )
{
/* Do not remove this line or clock might not be set correctly. */
#ifdef PREINIT_SUPPORTED
preinit();
#endif
application_init( );
for ( ; ; )
{
application_task( );
}
return 0;
}
static void print_selected_output_level ( uint8_t sel_level )
{
switch ( sel_level )
{
case ( STEPDOWN9_VOUT_1V6 ):
{
log_printf( &logger, " 1.6V\r\n" );
break;
}
case ( STEPDOWN9_VOUT_2V ):
{
log_printf( &logger, " 2V\r\n" );
break;
}
case ( STEPDOWN9_VOUT_2V5 ):
{
log_printf( &logger, " 2.5V\r\n" );
break;
}
case ( STEPDOWN9_VOUT_3V ):
{
log_printf( &logger, " 3V\r\n" );
break;
}
case ( STEPDOWN9_VOUT_3V3 ):
{
log_printf( &logger, " 3.3V\r\n" );
break;
}
case ( STEPDOWN9_VOUT_3V5 ):
{
log_printf( &logger, " 3.5V\r\n" );
break;
}
case ( STEPDOWN9_VOUT_4V ):
{
log_printf( &logger, " 4V\r\n" );
break;
}
case ( STEPDOWN9_VOUT_4V5 ):
{
log_printf( &logger, " 4.5V\r\n" );
break;
}
case ( STEPDOWN9_VOUT_5V ):
{
log_printf( &logger, " 5V\r\n" );
break;
}
case ( STEPDOWN9_VOUT_5V5 ):
{
log_printf( &logger, " 5.5V\r\n" );
break;
}
case ( STEPDOWN9_VOUT_6V ):
{
log_printf( &logger, " 6V\r\n" );
break;
}
case ( STEPDOWN9_VOUT_6V5 ):
{
log_printf( &logger, " 6.5V\r\n" );
break;
}
case ( STEPDOWN9_VOUT_7V ):
{
log_printf( &logger, " 7V\r\n" );
break;
}
case ( STEPDOWN9_VOUT_7V5 ):
{
log_printf( &logger, " 7.5V\r\n" );
break;
}
case ( STEPDOWN9_VOUT_8V ):
{
log_printf( &logger, " 8V\r\n" );
break;
}
case ( STEPDOWN9_VOUT_8V5 ):
{
log_printf( &logger, " 8.5V\r\n" );
break;
}
case ( STEPDOWN9_VOUT_9V ):
{
log_printf( &logger, " 9V\r\n" );
break;
}
case ( STEPDOWN9_VOUT_9V5 ):
{
log_printf( &logger, " 9.5V\r\n" );
break;
}
case ( STEPDOWN9_VOUT_10V ):
{
log_printf( &logger, " 10V\r\n" );
break;
}
default:
{
log_printf( &logger, " ERROR\r\n" );
}
}
}
// ------------------------------------------------------------------------ END
































