查看: 3456|回复: 9

[求助] KL25 的ADC采样的相关概念

[复制链接]

该用户从未签到

32

主题

138

帖子

0

中级会员

Rank: 3Rank: 3

积分
390
最后登录
2017-12-29
发表于 2017-3-28 10:03:00 | 显示全部楼层 |阅读模式
请问:1、KL25 手册中提到的长采样和短采样的区别是什么?2、有手册提到的“Ping-Pong”采样又是什么意思?
3、有没有使用CodeWarrior编写的CodeWarrior编写的样例程序可以参考?


回复

使用道具 举报

该用户从未签到

32

主题

138

帖子

0

中级会员

Rank: 3Rank: 3

积分
390
最后登录
2017-12-29
 楼主| 发表于 2017-3-28 10:14:10 | 显示全部楼层
补充问题:
4、ADC的自校验功能一定要进行设置吗?不设置会出现很大采样误差吗?
回复

使用道具 举报

该用户从未签到

32

主题

138

帖子

0

中级会员

Rank: 3Rank: 3

积分
390
最后登录
2017-12-29
 楼主| 发表于 2017-3-28 11:25:05 | 显示全部楼层
自己顶。
回复

使用道具 举报

该用户从未签到

32

主题

138

帖子

0

中级会员

Rank: 3Rank: 3

积分
390
最后登录
2017-12-29
 楼主| 发表于 2017-3-28 15:51:04 | 显示全部楼层
自己顶!
回复

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25448
最后登录
2025-9-4
发表于 2017-3-29 09:15:35 | 显示全部楼层
1. 你的第一个问题请仔细查看英文参考手册。
2~3两个问题,请参考例程:
https://www.nxpic.org.cn/module/ ... highlight=Ping-pong
回复

使用道具 举报

该用户从未签到

32

主题

138

帖子

0

中级会员

Rank: 3Rank: 3

积分
390
最后登录
2017-12-29
 楼主| 发表于 2017-3-29 10:34:53 | 显示全部楼层
小恩GG 发表于 2017-3-29 09:15
1. 你的第一个问题请仔细查看英文参考手册。
2~3两个问题,请参考例程:
https://www.nxpic.org.cn/module/foru ...

问题4呢,GG
回复

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25448
最后登录
2025-9-4
发表于 2017-3-29 13:55:06 | 显示全部楼层
胡孟龙 发表于 2017-3-28 10:14
补充问题:
4、ADC的自校验功能一定要进行设置吗?不设置会出现很大采样误差吗?
...

是的
回复

使用道具 举报

该用户从未签到

32

主题

138

帖子

0

中级会员

Rank: 3Rank: 3

积分
390
最后登录
2017-12-29
 楼主| 发表于 2017-3-31 10:43:25 | 显示全部楼层
本帖最后由 胡孟龙 于 2017-3-31 11:21 编辑

楼主自己来总结下自己的理解,有误望指正:
KL25的长采样是指通过延长采样时间来获得更精确的值,在高阻抗输入下也能够精确采样,低阻抗抗情况下,可以转换速度最大化。并且在连续采样状态下,由于长采样拉长了采样周期,在同样的采样时间下,采样的次数变少,从而降低能耗。
长采样对采样周期还可以通过寄存器CFG1[ADLSTS]控制:
00:4个ADCK(默认值)+20个ADCK
01:4个ADCK+12个ADCK
10:4个ADCK+6个ADCK
11:4个ADCk+2个ADCK
至于ADCK是多久?欢迎小伙伴们来补充。好吧,自己补充好了,这个论坛感觉人也是蛮少的~
ADCK是采样内部时钟,由ADC0_CFG1寄存器配置如下:
D1~D0(ADICLK):输入时钟选择位。
00:总线时钟
01:总线时钟二分频
10:交替时钟ALTCLK
11:异步时钟ADACK
D6~D5(ADIV):这个是对上面选择的时钟进行分频的。
00:不分频
01:2分
10:4分
11:8分

那么短采样是什么呢?且听下回讲解。
好了,我又回来啦。短采样见下表吧:


ADC_Period

ADC_Period
回复

使用道具 举报

该用户从未签到

32

主题

138

帖子

0

中级会员

Rank: 3Rank: 3

积分
390
最后登录
2017-12-29
 楼主| 发表于 2017-3-31 13:46:57 | 显示全部楼层
本帖最后由 胡孟龙 于 2017-3-31 14:00 编辑
小恩GG 发表于 2017-3-29 09:15
1. 你的第一个问题请仔细查看英文参考手册。
2~3两个问题,请参考例程:
https://www.nxpic.org.cn/module/foru ...

GG,我看了你发的"PingPang"的例程,但是对例程写的程序读不懂或者说还是不知道如何写自己的程序,例如:
#define UART_S1_RDRF_MASK                        0x20u
#define UART0_S1                                 UART0_S1_REG(UART0_BASE_PTR)
   while(!(UART0_S1 & UART_S1_RDRF_MASK)) // as long as no operater intervention, keep running this:
   {
        while( cycle_flags != ( ADC0A_DONE | ADC0B_DONE ))   
         {
                  printf("Bandgap=%6d Temperature is %6dC \n", result0A,Temperature);                                            
         }

   }
1、UART_S1_RDRF_MASK是做什么用?
2、UART0_S1 又是什么?
3、为何输入任意值就可以暂停数据传输?
PE中的命名法有什么规律吗?求指点。
答:见下图。
还是希望GG给些指点,如何去在PE的框架下编写程序?
Uart0_S1.jpg
回复

使用道具 举报

该用户从未签到

32

主题

138

帖子

0

中级会员

Rank: 3Rank: 3

积分
390
最后登录
2017-12-29
 楼主| 发表于 2017-4-1 11:10:11 | 显示全部楼层
小恩GG 发表于 2017-3-29 09:15
1. 你的第一个问题请仔细查看英文参考手册。
2~3两个问题,请参考例程:
https://www.nxpic.org.cn/module/foru ...

楼主看完了你发的额例程都不知道PingPong到底要干吗?
能通俗易懂的解释下吗?
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-9-6 14:56 , Processed in 0.101114 second(s), 28 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表