打印

温度对于GD32F103C8T6芯片的影响

[复制链接]
楼主: miaomiaode
手机看帖
扫描二维码
随时随地手机跟帖
21
逍遥派掌门 发表于 2013-9-30 15:42
STC的物理死,是芯片彻底报废?

PIC的这么强劲,能抗得住-40℃,还活蹦乱跳? ...

确实是这样的。做过几次低温试验。

使用特权

评论回复
22
miaomiaode|  楼主 | 2013-10-15 16:58 | 只看该作者
zkcaptain 发表于 2013-9-29 16:48
楼主用GD和ST这两种片子的代码是一样的吗?能上传不?我帮你看看是什么情况。只要温度相关的代码就行,不要 ...

明天再测个看看具体情况,已将两者的DS18B20对调

使用特权

评论回复
23
miaomiaode|  楼主 | 2013-10-15 16:59 | 只看该作者
zkcaptain 发表于 2013-9-30 10:22
还有,楼主最好加上crc校验,看接收到的数据是否正确,从而验证是不是低温时,时序不对,影响了数据接收。 ...

刚学不怎么会用哎

使用特权

评论回复
24
miaomiaode|  楼主 | 2013-10-15 17:00 | 只看该作者
lirunze 发表于 2013-9-25 14:38
18B20除了用IO口模拟还有其他的方法吗?

这个还真没用过其他方法

使用特权

评论回复
25
youluo235| | 2013-10-16 10:07 | 只看该作者
晶振是温度敏感型的

使用特权

评论回复
26
springvirus| | 2013-10-17 17:09 | 只看该作者
miaomiaode 发表于 2013-10-17 16:57
东北那太冷了,一般芯片都是-40℃,太冷就嗝屁了

没错!

使用特权

评论回复
27
miaomiaode|  楼主 | 2013-10-17 17:10 | 只看该作者
导致出现误码的原因是GD单片机在与DS18B20通信的us级延迟精确性不够,后用示波器抓取波形,并精确us级延迟(采用自减延迟,如i--),测试时高低温(-30℃——60℃)均无问题!国产芯片还是相当那个不错的!!!

使用特权

评论回复
28
Anthony_l| | 2013-10-17 18:35 | 只看该作者
miaomiaode 发表于 2013-10-17 17:10
导致出现误码的原因是GD单片机在与DS18B20通信的us级延迟精确性不够,后用示波器抓取波形,并精确us级延迟 ...

LZ能否分享下延迟补偿?

使用特权

评论回复
29
miaomiaode|  楼主 | 2013-10-18 09:07 | 只看该作者
Anthony_l 发表于 2013-10-17 18:35
LZ能否分享下延迟补偿?

GD的i=14;while(i--);大约就是1us

使用特权

评论回复
30
zkcaptain| | 2013-10-18 09:12 | 只看该作者
miaomiaode 发表于 2013-10-18 09:07
GD的i=14;while(i--);大约就是1us

要想精确的话,最好用systick产生精确延迟

使用特权

评论回复
31
nongxiaoming| | 2013-10-18 09:27 | 只看该作者
这个有工业级和商业级之分的,工业级一般都能到-40度,商业级一般都到不了这个温度的,到个-10度算不错了了

使用特权

评论回复
32
jomosiron| | 2013-10-18 09:58 | 只看该作者
每类芯片都有适用的环境,PIC再恶劣的环境都很稳定,所以在某些行业一直无法被替代;期待GD工程师给个温度测试结果

使用特权

评论回复
33
miaomiaode|  楼主 | 2013-10-18 10:53 | 只看该作者
zkcaptain 发表于 2013-10-18 09:12
要想精确的话,最好用systick产生精确延迟

systick延迟本身就是一个中断程序,程序内要有其他中断,都会比内部的systick延迟的中断优先级高,导致无法精确延迟,倒是可以通过更改库里的内部和外部中断优先级来实现;另外systick延迟也有相当的代码量

使用特权

评论回复
34
acguy| | 2013-10-18 11:31 | 只看该作者
miaomiaode 发表于 2013-10-18 09:07
GD的i=14;while(i--);大约就是1us

才14个自减就1us啊,怎么108m这么弱?

使用特权

评论回复
35
miaomiaode|  楼主 | 2013-10-18 14:03 | 只看该作者
acguy 发表于 2013-10-18 11:31
才14个自减就1us啊,怎么108m这么弱?

这个不是108M的频率,程序沿用STM32的,再说了8M的晶振也倍频不到108M

使用特权

评论回复
36
zkcaptain| | 2013-10-18 16:29 | 只看该作者
miaomiaode 发表于 2013-10-18 14:03
这个不是108M的频率,程序沿用STM32的,再说了8M的晶振也倍频不到108M

8M可以到108M,我也测过可以,参考这个帖子
https://bbs.21ic.com/forum.php?mod=redirect&goto=findpost&ptid=581635&pid=3297196&fromuid=1066787

使用特权

评论回复
37
zkcaptain| | 2013-10-18 16:29 | 只看该作者
本帖最后由 zkcaptain 于 2013-10-18 16:34 编辑
miaomiaode 发表于 2013-10-18 10:53
systick延迟本身就是一个中断程序,程序内要有其他中断,都会比内部的systick延迟的中断优先级高,导致无 ...

比你用执行n条代码当延迟好得多,当然从你目前的应用来看,没必要那么精确,while或for循环延迟足以。

使用特权

评论回复
38
miaomiaode|  楼主 | 2013-10-21 08:45 | 只看该作者
zkcaptain 发表于 2013-10-18 16:29
比你用执行n条代码当延迟好得多,当然从你目前的应用来看,没必要那么精确,while或for循环延迟足以。 ...

要是能使systick的中断优先级提升为最高,在不考虑代码量的情况,systick应用延迟的确更加精准

使用特权

评论回复
39
zkcaptain| | 2013-10-21 14:42 | 只看该作者
本帖最后由 zkcaptain 于 2013-10-21 15:05 编辑

我还有几个问题想问下楼主:
1.楼主是用什么方法得出:GD的i=14;while(i--);大约就是1us,是编译成汇编看的吗?
2.楼主之前用的自减延迟中的i等于多少?
3.系统时钟是多少?72Mhz?还是别的?
还有我觉得DS18B20对时序的要求不会那么严格。。

使用特权

评论回复
40
么么沫沫| | 2013-10-21 15:24 | 只看该作者
STC测温,MARK

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则