ZHCUBF4C August   2023  – April 2025

 

  1.   1
  2.   说明
  3.   开始使用
  4.   特性
  5.   应用
  6.   6
  7. 1评估模块概述
    1. 1.1 简介
    2. 1.2 套件内容
    3. 1.3 规格
    4. 1.4 器件信息
  8. 2硬件
    1. 2.1 组装说明
    2. 2.2 修订版本差异
    3. 2.3 跳线信息
    4. 2.4 接口
    5. 2.5 测试点
    6. 2.6 瞬态测试
  9. 3软件
    1. 3.1 软件使用方法
      1. 3.1.1  “Command Center”视图
      2. 3.1.2  I2T 调谐器
      3. 3.1.3  器件设置
      4. 3.1.4  通道设置
      5. 3.1.5  “Console”视图
      6. 3.1.6  日志视图
      7. 3.1.7  导入/导出
      8. 3.1.8  固件更新
      9. 3.1.9  保留设置
      10. 3.1.10 语言设置
    2. 3.2 软件开发
  10. 4硬件设计文件
    1. 4.1 原理图
    2. 4.2 PCB 布局
    3. 4.3 物料清单 (BOM)
  11. 5其他信息
    1. 5.1 商标
  12. 6修订历史记录

软件开发

Smart Fuse Configurator 附带 C 头文件,该文件是根据每个受支持的高侧开关的寄存器映射生成的。最初,这包括 TPS2HCS10-Q1 器件。头文件可在产品页面上找到,并包含以下功能:

  • 每个寄存器的每个位字段/枚举的 C 结构
  • 每个位字段的掩码定义
  • 每个位字段的偏移定义
  • 每个位字段的枚举

此头文件旨在用于支持嵌入式 C 平台上的软件开发。SW_STATE 寄存器的摘录如下所示。

/* --------- TPS2HCSXX_SW_STATE (0x07) ----------*/

#define TPS2HCSXX_SW_STATE_REG 0x07

typedef union 
{
uint16_t word;
struct
{
/* This bit determines the output state of channel 1 for TPS2HCS08A/N-Q1 
* versions.  */
uint16_t CH1_ON : 1;
/* This bit determines the output state of channel 2 for TPS2HCS08A/N-Q1 
* versions.  */
uint16_t CH2_ON : 1;
/* Reserved */
uint16_t RESERVED_23 : 14;
} bits;
} TPS2HCSXX_SW_STATE;

typedef struct TPS2HCSXX_SW_STATE_OBJ 
{
uint8_t reg;
TPS2HCSXX_SW_STATE value;
} TPS2HCSXX_SW_STATE_OBJ;

#define TPS2HCSXX_SW_STATE_CH1_ON_MASK 0x01
#define TPS2HCSXX_SW_STATE_CH1_ON_OFS 0

typedef enum {
ch1_on_en_0x0_field = 0x0,
ch1_on_en_0x1_field = 0x1,
} tps2hcsxx_ch1_on_field_t;

typedef enum {
ch1_on_en_0x0_mask = 0x0,
ch1_on_en_0x1_mask = 0x1,
} tps2hcsxx_ch1_on_mask_t;

使用按位操作将 CH1 设置为启用的示例如下所示。

int main()
{
    TPS2HCSXX_SW_STATE enableReg;
    
    enableReg.bits.CH1_ON = 1;

    printf("\nChannel Enable: 0x%x\n", enableReg.byte);

    return 0;
}

按字节操作的示例如下所示。

#include "tps2hcs10.h"
#include <stdio.h>

int main()
{
    TPS2HC10S_SW_STATE enableReg;
    
    enableReg.byte = 0x01;

    printf("\nChannel Enable: 0x%x\n", enableReg.byte);

    return 0;
}