sdk-hwV1.3/lichee/xr806/appos/project/example/adc
梁志勇 09427e37ea chore(other):sdk 裁减 2024-05-07 18:09:20 +08:00
..
gcc chore(other):sdk 裁减 2024-05-07 18:09:20 +08:00
main.c chore(other):sdk 裁减 2024-05-07 18:09:20 +08:00
prj_config.h chore(other):sdk 裁减 2024-05-07 18:09:20 +08:00
readme.md chore(other):sdk 裁减 2024-05-07 18:09:20 +08:00

readme.md

ADC示例工程

ADC示例工程展示了电源电压测量的使用方法。

本工程中提供以下模块接口使用的示例:

  1. ADC模块的VBAT通道测量电源电压

适用平台

本工程适用以下芯片类型:

  1. XR806系列芯片

本工程适用以下评估板类型:

  1. 底板XR806_EVB
  2. 模组XR806_MD01

本工程在基于"XR806_MD01"的“XR806_EVB”板上测试通过。 若需要在其他适用芯片和评估板上运行本工程请根据快速指南《XRadio_Quick_Start_Guide-CN》的提示进行相关配置修改。

XRadio Wireless MCU芯片和评估板的更多信息可在以下地址获取 https://docs.xradiotech.com

工程配置

defconfig

  • N/A

Makefile

  • N/A

board_config.h

  • N/A

board_config.c

  • 根据实际电路配置对应ADC通道PIN脚(通道8不需要配置)

    static const GPIO_PinMuxParam g_pinmux_adc[] = {
    	{ GPIO_PORT_A, GPIO_PIN_10,  { GPIOA_P10_F2_ADC_CH0,  GPIO_DRIVING_LEVEL_1, GPIO_PULL_NONE } },
    	{ GPIO_PORT_A, GPIO_PIN_11,  { GPIOA_P11_F2_ADC_CH1,  GPIO_DRIVING_LEVEL_1, GPIO_PULL_NONE } },
    ...,
    };
    

prj_config.h

  • N/A

模块依赖

N/A

工程说明

本工程对ADC模块的通道测量电源电压的使用进行介绍。

宏ADC_CHL表示测试的ADC通道工程默认采用的ADC通道是VBAT该通道最高可测7.5V的电压也可选择其他普通通道即ADC的0~6通道普通通道最高可测2.5V电压)。

宏ADC_BURST_MODE表示ADC的工作模式选择工程默认为0即工作模式选择continuous conversion 。配置为1时工作模式采用burst conversion 。如果选择的是ADC通道是VBATADC_BURST_MODE必须配置为0。

关于ADC值与电压的转换关系如下

voltage = adc_value * 2500 * ratio / 4096, 单位为mv
ratio取值如下
	1当检测的ADC通道是chl0~chl6
  	3当检测的ADC通道是chl8

上述的两个宏均定义在工程的main.c文件中。

操作说明:

  1. 编译工程,烧录镜像,启动。
  2. 系统启动后给ADC通道管脚供电压可以测量出所供电压的大小。
  3. 在串口软件上可以看到测量的电压值信息。

XRadio SDK的编译、烧写等操作方式的说明可在以下地址获取 https://github.com/XradioTech/xradiotech-wiki

代码结构

.
├── gcc
│   ├── defconfig               # 本工程的配置规则,用于覆盖默认配置
│   └── Makefile                # 本工程的编译选项,可覆盖默认配置
├── image
│   └── xr806
│       └── image.cfg           # 本工程的镜像分区配置
├── main.c                      # 本工程的入口进行ADC的电压测量示例说明
├── prj_config.h                # 本工程的配置规则
└── readme.md                   # 本工程的说明文档

#本程用到XRadio SDK的其他配置文件
.
└── project
    └── common
        └── board
            └── xr806_dig_ver          #在project/Kconfig默认指定使用xr806_dig_ver的板级配置
                ├── board_config.h     #本工程的板级配置,
                └── board_config.c     #本工程的板级pin mux的配置。

代码流程

  1. main()入口: 执行ADC测量电压的操作示例。

更详细的开发指南请参考《XRADIO_ADC_Developer_Guide-CN.doc》


常见问题

  • 电压值计算误差范围:-50~50mv

参考文档

文档资源

  1. 《XRADIO_ADC_Developer_Guide-CN.doc》