在线时间0 小时
UID97288
注册时间2008-12-9
NXP金币0
该用户从未签到
新手上路

- 积分
- 25
- 最后登录
- 1970-1-1
|
以下是我自己写一小段程序(使用的单片机为MC9SDG128B):
void PLL_Init(void)//锁相环初始化
{
SYNR=2;
REFDV=1;
while(CRGFLG_LOCK==0);//等待时钟频率稳定
CLKSEL=0X80; //PLL使能
}
//锁相环频率=2*晶振频率*(SYNR+1)/(REFDV+1)
//该处就等于4倍晶振频率
//总线频率 Busclock=PLL_CLOCK/2=24MHz
void AD_Init(void)//AD模块初始化
{
ATD0CTL2=0xC0;//AD模块上电, 快速清零, 无等待模式, 禁止外部触发, 中断禁止;
ATD0CTL3=0x80;// 每个序列1次转换, No FIFO, Freeze模式下继续转换
ATD0CTL4=0x81;// 8位精度, 2个时钟,
//ATDClock=[BusClock*0.5]/[PRS+1] ; PRS=1, divider=4
//采样时间为2*ATDclock
//-->>ATDclock=busclock/4=6MHz 转换时间=2+2+8=12ATDclock=2us
ATD0CTL5=0xA0;//右对齐无符号,连续转换,单通道采样,通道0
ATD0DIEN=0x00;//禁止数字输入
}
说明及疑惑:
在这个程序段里,虽然把总线时间设置在了24MHz
从理论上满足了总线25MHz的稳定时钟了
A/D预分频使得A/D时钟源为6MHz
疑惑一:
根据一份资料在对ATDCTL4进行设置应该满足以下条件:
A/D时钟周期介于0.5MHz到2MHz
也就是说将A/D时钟设置为6MHz是不合理的?必须在以上这个范围内??
疑惑二:
根据公式
转换时间=(intial time+programmed sample time+resolutiom period)个ATDCLOCK
上面的程序中
A/D转换时间=2+2+8=12个ATDclock=2us
如果说6MHz的AD时钟是不合理,必须在0.5MHz到2MHz之间
那么也就是说八位精度的A/D转换 采样时间2个A/D时钟周期
MC9SDG128B的最快最快也只能是 12/2MHz=6us
这个转换速度似乎太慢了,在做摄像头扫描时根本不可能满足设计需要啊!!
疑惑三:
到底MC9SDG128B A/D转换最快时间到底能达到多少
希望有高手能把我解决这个疑惑。不胜感激
|
|