打印

晶振上没有印数值,如何得知准确频率值?

[复制链接]
5227|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cov0xt|  楼主 | 2015-12-13 16:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
dirtwillfly| | 2015-12-13 16:35 | 只看该作者
加到mcu对应引脚上,用频率计测量
另外,有一些误差是正常的,受负载电容和晶振精度等情况的影响

使用特权

评论回复
板凳
cov0xt|  楼主 | 2015-12-13 16:50 | 只看该作者
dirtwillfly 发表于 2015-12-13 16:35
加到mcu对应引脚上,用频率计测量
另外,有一些误差是正常的,受负载电容和晶振精度等情况的影响 ...

频率计测量……

好高端哦,都没见过呢……

我就是想不用开发板上的DS1302,只用延时,弄个走秒的数码管……

void Delay1000ms()                //@12.000MHz
{
        unsigned char i, j, k;

        _nop_();
        _nop_();
        i = 46;
        j = 153;
        k = 245;
        do
        {
                do
                {
                        while (--k);
                } while (--j);
        } while (--i);
}

这是官方软件生成的延时函数,可实际上,走的比1秒快,郁闷……

使用特权

评论回复
地板
dirtwillfly| | 2015-12-13 16:59 | 只看该作者
cov0xt 发表于 2015-12-13 16:50
频率计测量……

好高端哦,都没见过呢……

你可以把k、j的值调小一些,直到觉得准了为止

使用特权

评论回复
5
cov0xt|  楼主 | 2015-12-13 17:10 | 只看该作者
dirtwillfly 发表于 2015-12-13 16:59
你可以把k、j的值调小一些,直到觉得准了为止

在Keil里面仿真,1秒走的贼快;

烧到开发板里,1秒走的贼慢:Q

ps。我已经在Keil里面设置了12MHz

使用特权

评论回复
6
dirtwillfly| | 2015-12-13 20:18 | 只看该作者
cov0xt 发表于 2015-12-13 17:10
在Keil里面仿真,1秒走的贼快;

烧到开发板里,1秒走的贼慢

慢慢来,你也可以写个程序用按键来校准

使用特权

评论回复
7
cool_coder| | 2015-12-13 20:22 | 只看该作者
11.915772 MHz
11.926740 MHz

晶振的频率精度和稳定性都没有这么差,要准得多,也稳得多。多半是测的不准。

使用特权

评论回复
8
cooldog123pp| | 2015-12-13 20:29 | 只看该作者
晶振有10ppm和20ppm的代表误差 可以算一下么ppm是百万分之一 你的应该是12MHZ的 算上误差

使用特权

评论回复
9
highend| | 2015-12-13 23:06 | 只看该作者
最准确的数值======只有一个办法,频率计。

因为,即使印了数值,仍然有可能因为温度、晶振电容、电压噪声等因素有微小的漂移。

使用特权

评论回复
10
beebeecici| | 2015-12-14 00:16 | 只看该作者
换一个有数字的不行吗?几毛钱的事想这么多

使用特权

评论回复
11
songchenping| | 2015-12-14 07:50 | 只看该作者
cooldog123pp 发表于 2015-12-13 20:29
晶振有10ppm和20ppm的代表误差 可以算一下么ppm是百万分之一 你的应该是12MHZ的 算上误差 ...

10ppm已经算比较精度高的了。平常用的都是50PPM或者100ppm的了。

使用特权

评论回复
12
songchenping| | 2015-12-14 07:50 | 只看该作者
感觉12M的几率大一些。

使用特权

评论回复
13
songchenping| | 2015-12-14 07:51 | 只看该作者
你要是自己搞的东西,不要太在意是11.92还是12M,如果是产品建议就不要用了。买新的。

使用特权

评论回复
14
mcu5i51| | 2015-12-14 08:33 | 只看该作者
下载工具用的是测量串口发出的特定字节的时间或周期,一般精度都不太好,想知道真正的频率只能用别的工具测试;
做秒表最好用中断定时器等,延时没有精度,可能每次的流程都不同,如果考虑全部的指令周期,不是一般人能做到的,至少C不行

使用特权

评论回复
15
dirtwillfly| | 2015-12-14 08:48 | 只看该作者
songchenping 发表于 2015-12-14 07:50
10ppm已经算比较精度高的了。平常用的都是50PPM或者100ppm的了。

是的。

使用特权

评论回复
16
huangqi412| | 2015-12-14 09:36 | 只看该作者
看到一群博士在谈论水滴掉下来会不会杀人,好高深好热闹的样子,农民的我我弱弱的小声说了句:你们都没淋过雨么。  好担心会不会被退群啊。

1 开发板有说明是多少晶振 该是多少是多少,能跑过例程就好。
2 4/8/12/25晶振不要太常见---除非封装特殊,普通单片机开发板都是49S,叽叽歪歪功夫早就能换100遍了。

使用特权

评论回复
17
huarana| | 2015-12-14 10:23 | 只看该作者
huangqi412 发表于 2015-12-14 09:36
看到一群博士在谈论水滴掉下来会不会杀人,好高深好热闹的样子,农民的我我弱弱的小声说了句:你们都没淋过 ...

楼主的问题显然是 一个没印字的晶振如何得知其频率。

你这是遇到困难就绕开的节奏啊。

我来告诉楼主

用示波器或者频率计可以直接测

又或者用逻辑分析仪也可以间接测。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
cov0xt + 1 赞一个!
18
jjjyufan| | 2015-12-14 10:46 | 只看该作者
1 看规格书 找参考设计  查到晶振频率
2 示波器 看
3 软件看
4 直接换个验证自己的判断

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
cov0xt + 1 赞一个!
19
l0p0c| | 2015-12-14 12:53 | 只看该作者
这个有难度啊

使用特权

评论回复
20
chunyang| | 2015-12-14 16:21 | 只看该作者
根据楼主给出的信息,可以判定为12MHz的晶体/晶振(注意,晶体和晶振是两种器件,很多工程师都会混用),每次得出的数值不一样很正常,一是器件的制造误差和温漂,二是测量误差。如果不是非常讲究的应用,不必在意精确测量,那需要专门的高精度频率计或晶体/晶振测试仪,价格不低。更重要的是,楼主所及显然是基于MCU平台,根本无所谓什么晶体/晶振的精度。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
cov0xt + 1 赞一个!
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

34

主题

200

帖子

3

粉丝