ZHCAE13A May   2024  – July 2024 TPS2HCS10-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1软件生态系统
  5. 2平台驱动程序
    1. 2.1 驱动程序概念
    2. 2.2 支持平台
    3. 2.3 移植到其他平台
    4. 2.4 API 指南
      1. 2.4.1  tHCSResponseCode 联合体参考
      2. 2.4.2  float_t HCS_convertCurrent (uint16_t rawValue, uint16_t ksnsVal, uint16_t snsRes)
      3. 2.4.3  float_t HCS_convertTemperature (uint16_t rawValue)
      4. 2.4.4  float_t HCS_convertVoltage (uint16_t rawValue)
      5. 2.4.5  tHCSResponseCode HCS_getChannelFaultStatus (uint8_t chanNum, uint16_t * fltStatus)
      6. 2.4.6  tHCSResponseCode HCS_getDeviceFaultSatus (uint16_t * fltStatus)
      7. 2.4.7  tHCSResponseCode HCS_gotoLPM (lpm_exit_curr_ch1_t ch1ExitCurrent, lpm_exit_curr_ch2_t ch2ExitCurrent)
      8. 2.4.8  tHCSResponseCode HCS_gotoSleep (void )
      9. 2.4.9  tHCSResponseCode HCS_initializeDevice (TPS2HCS10Q1_CONFIG * config)
      10. 2.4.10 tHCSResponseCode HCS_readRegister (uint8_t addr, uint16_t * readValue)
      11. 2.4.11 tHCSResponseCode HCS_setSwitchState (uint8_t swState)
      12. 2.4.12 tHCSResponseCode HCS_updateConfig (TPS2HCS10Q1_CONFIG * config)
      13. 2.4.13 tHCSResponseCode HCS_wakeupDevice (void )
      14. 2.4.14 tHCSResponseCode HCS_writeRegister (uint8_t addr, uint16_t payload)
  6. 3配置或评估工具
  7. 4代码示例
    1. 4.1 空示例
    2. 4.2 I2T 跳变示例
    3. 4.3 低功耗模式示例
    4. 4.4 电流检测示例
  8. 5总结
  9. 6参考资料
  10. 7修订历史记录

移植到其他平台

虽然提供了各种示例架构实现方案,但 HCS 平台驱动程序经过专门设计,可以轻松移植到支持 SPI 和 C 编程语言的任何微处理器或架构。在驱动程序的头文件 (hcs_control_driver.h) 中,以下两个函数通过外部引用声明:

/* --------------------------- Porting Functions ---------------------------- */
/*
 * These functions need to be implemented by each individual device port. The functions
 * handle the low-level hardware specific implementation with the respective
 * architecture's specific hardware peripherals (SPI and GPIO)
 */
bool HCS_port_spiSendData(uint8_t *data, uint8_t len, uint8_t* respData);
void HCS_port_assertSPI(void);
void HCS_port_deassertSPI(void);

移植意味着简单直接,表 2-2 展示了每个函数的说明和移植指导。

表 2-2 架构移植函数
功能 说明 返回值
HCS_port_spiSendData 执行全双工 SPI 事务。data 表示待发送的数据,respData 是接收到的数据。len 是事务的长度。在整个 SPI 事务完成之前,该函数需要处于阻塞状态(通过睡眠或轮询)。 事务结果的 stdbool 表示。如果事务已完成而未出现问题,则为 true,否则为 false
HCS_port_assertSPI 将 SPI 总线的片选 (CS) 线路设置为低电平。这用于单链和菊花链事务处理,也可供上面的 HCS_port_spiSendData 函数使用。
HCS_port_deassertSPI 将 SPI 总线的片选 (CS) 线路设置为高电平。这用于单链和菊花链事务处理,也可供上面的 HCS_port_spiSendData 函数使用。