打印
[AVR单片机]

PIC就是个渣渣

[复制链接]
3319|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我滴神啊|  楼主 | 2014-4-17 10:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 我滴神啊 于 2014-4-17 10:57 编辑

因为我想做个标题党,所以今天我就是标题党。
本来对AVR和PIC两家的东西并没有高低之见,存在即是道理。公司也在用着两款芯片。AVR做产品,PIC做模块。而AVR用的比PIC早。领导层决定要用PIC的原因是“PIC有AB相接口,而且PIC的抗干扰能力不错。”这本无可厚非,用什么是领导决定的,咱也没实验过抗干扰,也没找过AVR有没有AB相,咱就一小兵,老老实实干就行。当然我主要负责AVR这块,PIC的项目我也参与过一个,做的是一小部分,也算是对PIC趴在窗户上看了看,谈不上入门。慢慢的PIC做的项目也越来越多,最主要的也集中在高速串口通讯这一块儿,而随之他们发出来的感慨就是,PIC就是好啊,进而就是"我越来越觉得AVR不咋滴了”。上次说这话的时候是PIC和AVR的串口通信,逻辑分析仪都检测到了数据但是AVR收到的不对,然后就跟我抱怨AVR咋这么烂,越来越对AVR不满意了。然后我检查程序发现,收到数据后只++ 没有<<。我在心里说“我对你也越来越不满意了”。于是我对AVR和PIC做了比较,一部分来源于网上,一部分自己实验。
关于他们引以为豪的抗干扰,大部分网上说部分的PIC的稳定性要比AVR强,也有人说日本做过实验在强磁脉冲(好像是这个)实验下PIC就是个渣渣,AVR没事。而我自己能做的实验就是用三相电机不断的开关电,放在产品旁边,AVR没问题。至于PIC的抗干扰,没做过,不过他们听某些网友说的,就已经拍板定案了,“PIC抗干扰就是牛”。哎。
关于串口通信,我们主要做的是高速通讯,他们最后做出来的PIC模块能使用115200没问题,得出的结论即是PIC就是好啊。这个没问题包括通信协议等。115200也就是1秒钟1000个帧。当然模块就是只干这一件事。AVR我没试过115200,到38400已经满足我的要求了。最近刚好有个客户要这种高速的,瞅了一眼PDF,直接上115200,妈蛋哥也能1秒钟1000+ 帧数据好么,还是在产品中。然后又瞅了一眼PDF,又改了一下,妈蛋哥能上250K好么。然后又 瞅了一眼PDF,0.5M和1M。想想还是算了,万一不行怎么办。但是这已经证明PIC这一点比AVR强不到哪不。
于是又要吐槽下PIC的编译器,也许是自己太SB已经习惯了IAR这类编译器,第一次用什么M开头的那个编译器,花了一个小时去拉那些框框,最后放弃了,但是看到那个框框老想去点,然后就全屏,好吧还得拉。好吧我上厕所去。
关于PIC的中断,没用PIC做过产品,所以没办法去评估,不过从AVR的角度去看PIC,一个程序我用到了8个中断向量,有两个向量1秒钟要进1000次,网上说PIC有两个中断优先级,好点的有8个。一个中断入口,加上PIC那速度,同等价位的PIC我感觉要完成AVR的任务我感觉够呛,好吧给你两倍价位的PIC,能做到一样么?
人那,不要看到了表面就以为是怎么样,结论下的太早会惹人烦的,给别人定好坏的时候千万得检查好自己有没有错误。就比如我现在要下“PIC就是个渣渣”这个结论的时候,心里在想一个问题,AVR的IO口输出方波最大能到多少?理论上是8M(16M晶振),但实际测到的是5M,看框图看了半天也没想明白,CLKio这个时钟最后也没找到在哪设置。
但是还是要下这个结论,PIC就是个渣渣,没错。

相关帖子

沙发
fp123123| | 2014-4-17 21:56 | 只看该作者
PIC的8位机是4个时钟一个指令,同频率的AVR比它快4倍

使用特权

评论回复
板凳
zhanan| | 2014-4-20 20:37 | 只看该作者
LZ是从10年前穿越来的吧,PIC和AVR都快成昨日黄花了。
当年是先有PIC,后有AVR,不太好相提并论。做产品也不是唯技术先进而论,适用就行,更早的51还没成渣渣呢。

PIC和AVR也都在发展,但现在你的选择范围更广了。

使用特权

评论回复
地板
yubsh| | 2014-4-21 10:01 | 只看该作者
AVR用过,XMEGA用过,工业场合用着没问题。因为量小,芯片价格不是第一因素,没必要换其它。

AVR的编译器,效率高的是IAR,普通应用AS足够。仿真器当然是原厂的,JTAGICE3。比较下来,ATMEL的产品还是经得住折腾的,远比TI的DSP开发环境和仿真器来得高效。

使用特权

评论回复
5
pallee| | 2014-4-21 20:57 | 只看该作者
想学AVR来着,呵呵,看看。

使用特权

评论回复
6
老歌新唱| | 2014-4-25 14:21 | 只看该作者
推ATMEL遇见百分之五六十的客户,都是ATMEL东西是好,但是......。各种但是。价格是很重要吧,流行度也很重要,工程师习惯很重要,恩还有最重要的,关系

使用特权

评论回复
7
xzyyly| | 2014-5-14 16:44 | 只看该作者
我用AVR的 tiny13a做的产品 以前没问题 现在这一批次的TINY13A已经死机了将近10%,50K的脉冲群干扰就死机。考虑不用AVR的了。

使用特权

评论回复
8
BitFu| | 2014-5-15 21:02 | 只看该作者
xzyyly 发表于 2014-5-14 16:44
我用AVR的 tiny13a做的产品 以前没问题 现在这一批次的TINY13A已经死机了将近10%,50K的脉冲群干扰就死机。 ...

50k\的脉冲群,不小的等级啊!

使用特权

评论回复
9
zhenghaili101| | 2014-5-23 18:35 | 只看该作者
呵呵呵,DSP太难学了,刚从51过来,用AVR过渡一下

使用特权

评论回复
10
NE5532| | 2014-5-28 20:59 | 只看该作者
本帖最后由 NE5532 于 2014-5-28 21:01 编辑

说几个观点:

1.PIC16的架构是7、80年代唯一一个比51先进的单片机架构,第一个引入片外RC振荡器的单片机,第一个引入片内RC时钟源的单片机,AVR当时是参考PIC的资源在做,在只有51,没有AVR的年代,只有用PIC。所以用一个20年后的新机型比对20年前的老机型,没有任何意义。

2.PIC的C语言效率不佳,用PIC,请用汇编,并且请勿使用PIC进行复杂的任务处理。

3.按你所说来看,你们领导有拉不出屎怨地硬的嫌疑,而非真正的“设计师”风范。

4.高波特率下,困难的不是串口硬件模块做不做得到,那是芯片厂家的事,设计师要关心的是这么快速度汹涌而来的数据,有没有时间来处理,PIC16单片机20M的主频,还要4分频,确实比较吃力。

5.编辑器可以用第三方的,我们一直用UE,IDE环境不用来编辑源代码。

6.芯片抗干扰拿ESD上去打,是一种欺骗顾客的伎俩,真正打ESD应该是整机而不是板卡,应该是用户接触部分,而不是直接打芯片,不同的位置打进去,不同的条件,谁好谁坏根本就定不了量。

7.PIC贵是因为线宽宽,晶圆面积大了当然费钱,MCP现在也在改线宽,价格一样降得下来,就是抗打击能力也跟着下来了。

8.渣不渣是相对的,看设计取舍怎么来,我们也是PIC的大客户,也在做STM8,但是不宜让20岁的年轻人和80岁的老头比“现代化程度”。

9.AVR端口做不到8M,这个结论也有问题,“做不到”是指直接没有输出?还是输出的波形边沿劣化了?端口是怎么处理的?多大负载电阻?多大负载电容?是C语言写的取反还是汇编写的?

总之,一切要讲条件,判断要加权衡,设计最怕的就是“异想天开”

使用特权

评论回复
11
疯子8972| | 2014-5-31 15:34 | 只看该作者
能处理115200的包就能说“还是PIC好啊”,我真是贴在地上膜拜他
我用AVR可以实现
串口1:最高230400,MODBUS从站,与HMI或者PLC通讯
串口2:最高230400,PPC协议从站,与电脑通讯,检测运行变量
CAN1:最高1M,CANopen主站或者从站,可以管理16个节点
CAN2:最高1M,J1939或者自定义协议
另外IIC、SPI、外部高频中断、8路AD全部工作
还有90%的时间是用户程序时间
因为用户编程根本不考虑效率,就喜欢用FLOAT变量,呵呵,我也没办法
照这个理解,你们领导是不是对AVR表达下敬意:)

使用特权

评论回复
12
温故知新| | 2014-6-8 01:54 | 只看该作者
因为以前的单片机很贵,很久以前我买过AT89C51要39元一片,PIC架构是比较创新的,做当时可能是最便宜的单片机,PIC16就33条指令,易学易用,接口丰富,还集成A/D转换,适用于简单且数据量少的的控制。不过自从有了STC系列51单片机,我就用回51单片机。我觉得AVR,PIC16还是比不上51,现在的51系列品种多,品牌也多,相同的控制要求,51是最便宜的。现在,在ARM核的冲击下,AVR,PIC都不好过了吧,我现在常用51系列,还有就是ARM的M0,M3,M4做设计。ARM---M0真的很好,32位机,8位机的价格。

使用特权

评论回复
13
HABPTZDome| | 2014-7-25 18:07 | 只看该作者
没太明白

使用特权

评论回复
14
apitx| | 2014-8-12 13:45 | 只看该作者

使用特权

评论回复
15
sjw1716094642| | 2014-8-12 19:02 | 只看该作者
xzyyly 发表于 2014-5-14 16:44
我用AVR的 tiny13a做的产品 以前没问题 现在这一批次的TINY13A已经死机了将近10%,50K的脉冲群干扰就死机。 ...

这是AVR中最烂的型号,你能换个高档点的吗,还是你不会?

使用特权

评论回复
16
sjw1716094642| | 2014-8-12 19:04 | 只看该作者
温故知新 发表于 2014-6-8 01:54
因为以前的单片机很贵,很久以前我买过AT89C51要39元一片,PIC架构是比较创新的,做当时可能是最便宜的单片 ...

8位单片机是不会受ARM太大影响的,AVR比不上51,呵呵,就你这种不会AVR的这么说罢了

使用特权

评论回复
17
wangguiyuan1983| | 2014-9-13 22:07 | 只看该作者
10楼让我受教了!谢谢!!!

使用特权

评论回复
18
刘生008| | 2014-10-17 21:37 | 只看该作者
对AVR和PIC两家的东西并没有高低之见,存在即是道理

使用特权

评论回复
19
chen_jhhb| | 2014-10-17 21:59 | 只看该作者
听听不同意见很好,本人比较赞同版主的意见

使用特权

评论回复
20
liusixty| | 2014-10-21 09:42 | 只看该作者
用PIC两三年了,也同时用51,觉得PIC四肢发达头脑简单也不必51强多少,相比较之下感觉PIC用起来太痛苦了。最近学AVR。

使用特权

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

本版积分规则

7

主题

31

帖子

1

粉丝