一、测试环境
SemiDrive 支持系统 G9 系列目录中,PTG5.1.2 版本只适用于 G9H,其中 MCAL_v1.3.0 例程较为全面。最近进行了adc 模块的例程测试,操作过程 hands on 如下:
注:此版本使用 eMMC Only 的启动方式(拨码:0001),不使用 OSPI Flash。
硬件:SemiDrive G9H ref A02 图(1)
软件:PTG5.1.2 + MCAL_v1.3.0
搭建以及 G9H Ref A02 操作方法参考:《SD_G9_Quick_Start_Rev2.4.pdf》
图(1)
二、配置&Demo
- 引脚描述:
参考《G9-H 处理器数据手册》和《SD012_G9H_REF 硬件使用手册》相关章节(表一和图一),可以找到 ADC 的 4 个通道所在的引脚,后续可以单端输入模拟量供 ADC 模块转换。
表一 ADC 相关引脚的描述
图一 硬件原理图及引脚
- EB 配置
该模块在 EB 配置方面,相较于 E3 系列取消了部分 group 分配规则和限制,使用起来更加容易。
下面依次进行说明:
AdcUnit
如下图所示,AdcUnit 决定使用哪个 ADC(当前仅支持配置 ADC_0);
该 ADC 的分频系数为多少;ADC 工作时钟 = ADC 的 root clock(400M) ÷ 分频系数(AdcPrescale + 1),
分频系数会影响采样率,分频系数越大,实际 ADC 工作时钟频率越小,采样率越低,反之亦然。
图二 AdcUnit
Group
进入 Group 配置界面,下面就所选项进行说明:
图三 Group
AdcGroupAccseeMode
选择 ADC_ACCESS_MODE_SINGLE 时,后续的 AdcStreamingNumSamples 只能设置为 1,表示
该 Group 每次至多进行单轮采样。
选择 ADC_ACCESS_MODE_STREAMING 时,后续的 AdcStreamingNumSamples 可以设置 1~255,表示该 Group 每次可以进行 1~255 轮采样。
AdcGroupConversionmode
使用 SW 触发的 Group 以上两种模式都可选择,需注意,若 SW 触发的 Group 如果选择 ADC_CONV_MODE_ONESHOT 模式,需配合使用 ADC_ACCESS_MODE_SINGLE。
AdcGroupId
该参数决定了此 Group 在当前 ADC Unit 下的索引号,在单个 ADC Unit 下的 GroupId 应该具有唯一性。
AdcGroupTriggSrc
分别代表该 Group 是软件触发(SW)还是硬件触发(HW)方式,硬件触发暂不支持。
AdcStreamingBufferMode 有两个状态(循环 or 一次):
这个选项仅在 AdcGroupAccessMode 为 ADC_ACCESS_MODE_STREAMING 时,才会有意义。
AdcStreamingNumSamples
该配置决定了 Group 采样完成时,实际进行了多少轮的采样,例如设置为3,实际每一次到达 ADC_STREAM_COMPLETED 状态时(采样完成),该 Group 所有通道实际进行了 3轮次采样。Group 中所有通道的 3 轮采样值会保存在 Adc_SetupResultBuffer(x, buffer)接口的 buffer 中。
注:该参数只有在 ADC_ACCESS_MODE_STREAMING 下才可以设置大于 1,如果设置为 ADC_ACCESS_MODE_SINGLE 模式下,仅可以填写 1。
AdcChannel
图四 AdcChannel
AdcPhysicalChannelId
此配置主要用于生成关于 Channel 的唯一 ID 号,所有 Unit 下的此配置项应该具有唯一性。(当前硬件资源只支持配置 Ch0/1/2/3,其中 Ch0 为差分输入,其余为单端输入)
AdcLogicalChannelId
此配置项没有实际作用,但是配置时需要注意,在单个 Unit 下,此 Id 不应该重复。
AdcChannelResolution
此选项决定 ADC 分辨率,可选 12 位、10 位、8 位。
AdcSampleFrequency
此项决定 ADC 通道采样频率,驱动初始化时会根据通道数及对应采样频率进行判断是否超过 ADC 采样频率限制。
- 代码和Log
示例代码流程如下:初始化完成后,绑定使能 adc 中断(回调函数),调用以组为单位进行转换的函数接口,每组转换完成,读出组的缓冲数组进行打印。
图五 Demo代码
使用 ch0~3,其中 ch1 接地,ch3 连接电路中有分压电阻,使之略低于 ch0 和 ch2。
Log 打印的各个通道的转化值均能符合预期。
图六 打印 log
三、参考文献
- 《SemiDrive_9Series_MCAL User Guide》
- 《G9 Series Processor Technical Reference Manual》
如有更多需求,欢迎联系大联大世平集团 ATU 部门:atu.sh@wpi-group.com 作者:Alan
更多资讯,请扫码关注我们!