搜索
bottom↓
回复: 34

AVR岂会尴尬!

[复制链接]

出0入0汤圆

发表于 2004-11-10 10:26:27 | 显示全部楼层 |阅读模式
我开始工作用Intel的196和Atmel的51系列,还有TI的DSP2000系列。然后自己接的一个活,设计下来需要E2prom、(调频调占空比的)PWM、I2C、实时时钟、ADC、ISP,要是还用51,得多少外设,而且像Pilips、Cygnal等的扩张51,因为基于51内核的,速度受限制,选了又选,最后还是找到AVR。

   

    其实,拿AVR的劣势和别的芯片的优势比或者拿AVR的优势和别的芯片的劣势比都是不恰当的。



    以前用VC写C++程序时,任何论坛上都常有C++和Delphi(Pascal语言)大战、VC和BCB对决、C++和JAVA火拼,每次打的都是天昏地暗,牵涉甚广,劳神伤力。但结果都是交战的继续交战,编程的继续编程。什么设计用什么语言,各有所长,不可能一概而论,没有哪个语言(或编程环境)能包打天下的。



    同样,没有什么芯片敢说最好,也没有哪个芯片能彻底的把别的芯片比下去。只要是市场接受了的,都有其存在的理由。对设计者来说,每个项目需求不一样,每次都要做设计需求分析,极端点的话,每次都换个芯片都是可能的(当然这是小概率事件)。如果死绑在一个芯片上,无疑对自己的设计思想、知识范畴、设计方法是极大的限制和约束,得不偿失。



    选任何一种芯片,选任何一种系统,你都不要试图去说服别人自己选的是最好的,你只要说服自己,自己选的在自己做的项目上是最好的就行。不一定每种芯片都用,只要知道每种市场常用芯片的特性,一旦设计需求决定需要某些特殊要求,就能很快的决定是否需要换芯片、换何种芯片。你要对芯片的优劣了如指掌,对系统的需求成竹在胸。要做好任何一个设计,必须是你玩芯片,而不是芯片玩你。



    曾经想过最喜欢、最得心应手的8位控制系统:AVR做控制,DSP做算法,CPLD做逻辑及扩展(顺带保密)。只要设计得当,电路可以非常简化,一般只要电源和一些阻容件及显示。



    选了AVR的,不要因为优点而忽略其他芯片,也不要因为缺点而丧失信心。用,就要用好,就要用的尽兴,就要发挥其最大的功效。做不好的项目中,只有不合格的设计者,没有不合格的芯片。
头像被屏蔽

出0入0汤圆

发表于 2004-11-10 10:30:38 | 显示全部楼层
好文。谢谢! 加分100!

出0入0汤圆

发表于 2004-11-12 12:17:16 | 显示全部楼层
同意蜗牛的看法,没有什么东西是十全十美的,也没有哪种芯片能集中所有芯片的优点,我们选择AVR是因为它有符合我们需要的优点。

出0入0汤圆

发表于 2004-11-12 12:56:32 | 显示全部楼层
“做不好的项目中,只有不合格的设计者,没有不合格的芯片。”



顶!!

出0入0汤圆

发表于 2004-11-12 23:12:23 | 显示全部楼层
短期来说是有点道理,但这是因为其它的单片机是在AVR之前设计开发的,或者就是为低端应用开发的,所以他们无法全面地和AVR相比,这也许就是我们今天格外偏爱AVR的原因。如果用发展的眼光看,挑战者必定会出现,而且会比现在的AVR更加优越。不过到了那一天,AVR也不一定会被彻底打败,我非常同意楼主的最后一段话。
头像被屏蔽

出0入0汤圆

发表于 2004-11-12 23:21:25 | 显示全部楼层
在选择AVR前,我花了很长时间,想找一款用java开发的单片机。毕竟,我懂java,C却要重新再学。另外java的优势也很明显:起码本网站就是用java开发的。



很失望:使用Java语言的单片机不多,而且价格昂贵。网上也很难找到人交流。



但 ..... 如果以后出来一款价格能接受的Java单片机,估计我可能会转用它。

出0入0汤圆

发表于 2004-11-12 23:49:42 | 显示全部楼层
呵呵,楼上所说的是指用软件Java开发单片机吧?我想,单片机仅仅是指的一块芯片的硬件部分,它的开发软件可以是汇编或者是其它高级语言,但最终代码是机器码。用Java开发单片机到目前还没听说过,不知这种语言对硬件的控制能力如何?也许以后真的会有单片机支持Java呢。

出0入0汤圆

发表于 2004-11-13 15:23:16 | 显示全部楼层
阿莫建议你用用80c400,这个东东支持
头像被屏蔽

出0入0汤圆

发表于 2004-11-13 16:12:49 | 显示全部楼层
80C400? hncjs 能简单介绍一下吗?



1。价格

2。如何快速入门

3。国内有专门交流的地方吗? (如果没有,哈哈,我再开一个网站)



你说它支持 java? 我搜索一下,在一本叫 《单片机C语Windows环境编程宝典》提到它,好像是用C51语言的啊。

出0入0汤圆

发表于 2004-11-13 16:14:26 | 显示全部楼层
to armok

不管Java的优点有多少,但Java本身的致命缺陷一是慢,二是大,就凭这两点,足以决定它绝对不适合用作MCU开发,更何况Java一贯推崇的硬件平台无关性恰好是所有底层设备控制程序的大忌,莫说Java了,就连标准C++都要被减肥减肥再减肥最后取消所有标准库类才能拿来用在MCU阿



当然,如果你只是说“在MCU上用上Java语法”,那我建议你看看SpiderMonkey,那个是纯GCC搞出来的JS解释器(就是沫子拉用的),如果去除所有标准对象的话,其实m128上还真跑的动——当然得外扩ram,并且速度很不敢恭维……



哦,上文排除ARM或更高等级的控制器
-----此内容被syqiu于2004-11-13,16:17:34编辑过
头像被屏蔽

出0入0汤圆

发表于 2004-11-13 16:19:48 | 显示全部楼层
呵呵,对,光一个JVM就占很大的空间。



“在MCU上用上Java语法”倒是我感兴趣的。正如AVR上使用C,其实编译之后,都是转成汇编。



不知有没有这种开发工具?如果有,倒可以试试。

出0入0汤圆

发表于 2004-11-13 16:44:20 | 显示全部楼层
就是我上面提到的蜘蛛猴阿,linux上最常见的莫兹拉浏览器用的JS引擎,本身用GCC开发的而且源码公开,手工剔除(不好意思至少我没见到有人做过tiny版)所有标准对象(包括字符串对象)后用GCCAVR跑一次,其实是可以把代码控制在100K以内的,当然,取消了标准对象就要手工再加入与当前应用相关的对象,否则就是垃圾了(没了标准库,Java还能干什么?)



功能强大的JavaScript引擎--SpiderMonkey.mht
头像被屏蔽

出0入0汤圆

发表于 2004-11-13 16:49:00 | 显示全部楼层
谢谢。这篇文章我也找到了。不过好像是JavaScript,不是 java.



我们现在开发AVR-c, 标准库也几乎用不上。比如最普通的 sprintf, 简直不敢用。

出0入0汤圆

发表于 2004-11-13 16:55:31 | 显示全部楼层
真正的JAVA?真正的JAVA离开标准库的话,除了浪费CPU周期还能干嘛?



至于JS嘛,如果速度和容量方面再做些优化,倒是完全可以考虑用在那些对智能化要求高但不太要求实时性的设备上用作二次开发语言,还可以稍微弥补AVR之流MCU不能外扩code rom的遗憾
-----此内容被syqiu于2004-11-13,16:58:32编辑过
头像被屏蔽

出0入0汤圆

发表于 2004-11-13 18:41:48 | 显示全部楼层
javascript 与 java 完全没有任何联系。

出0入0汤圆

发表于 2004-11-13 22:36:09 | 显示全部楼层
说了只是语法相近阿……我也是常用Java的怎么会不知道



问题真正的“Java”即使是低端点的ARM来跑也是勉勉强强啊,那些个传说中的用Java的MCU,最后不还是雷声大雨点小?就算是所谓的嵌入式Java,其实也是建立在用C++编写的操作系统+JVM基础上二次开发的东东,而且能跑这个的设备,性能上通常至少是PMMX档次的,已经不能算真正的“嵌入式系统”,而应该叫非标准手掌PC了……

出0入0汤圆

发表于 2004-11-16 01:49:50 | 显示全部楼层
如果没记错的话,JAVA最早就是用来控制机器人的吧,好象老美的火星车就是用JAVA控制的(如果说错了别打我。。)。在不同的领域中应用不同的语言,比如控制天文望远镜,就有用TCL和FORTH的。说远了。。。

用多了你就会发现,C绝对是无与伦比的语言,用C编程序简直就是享受啊。。。

出0入0汤圆

发表于 2004-11-16 06:33:10 | 显示全部楼层
sun公司老总要是知道java被用在火星车上,它一定开心的跳到月亮上去……



“Java产品无故障耐受性,所以不可以应用在军事、航天及关系人身安全的医学设备和工业控制装置”

出0入0汤圆

发表于 2004-11-16 10:20:50 | 显示全部楼层
啊还真叫真啊。。。google了一下:



“Java之父”谈“勇气”号探测器登陆火星



作者:编辑/HITMAN      



  记者从Sun公司得知,有“Java之父”之称的JamesGosling博士目前正坐在NASA的喷气推进实验室内观看美国“勇气”号(Spirit)探测器登陆距离地球一亿二千万里之外的红色星球-火星(Mars)。“Java之父”说,“科学家们开始都是很紧张的。试验、试验、试验,甚至在“勇气”号探测器向火星的飞行过程中,科学家们也是很担心的,因为在飞行中将要考验软件方面的6个难题是否得到了很好的解决。”



  “当科学家们最后确认了“勇气”号探测器成功登陆火星之后,他们都欢呼雀跃起来:这真是一个伟大的创举!”JamesGosling博士说,“我从实时视频监视器上观看这整个登陆过程,真是太神奇、太有趣了!”



  在美国加州帕赛迪纳(Pasadena)国家宇航局的喷气推进实验室内,JamesGosling博士肯定感到他就像在家里一样,因为他周围全是Sun的工作站。



  “现在,第一个火星探测器已经成功登陆,国家宇航局的科学家们开始采用他们在地球上的控制系统,”JamesGosling说,“这显然是迄今为止Java应用中最酷的一举。”



  Java之父JamesGosling博士高度赞扬说,“Java应用使公众可以实时观看、并下载火星图像。它让人们看到火星清晰的三维立体图像,还有一个模拟探测器,”Gosling博士指出,“这一Java应用被称为Maestro。”



  “对NASA的Web网站的访问次数在1月4日直线上升,因为我们这个星球上的计算机用户在“勇气”号探测器成功登陆火星之时都登录这个网站观看火星的风貌,”美国《AssociatedPress》的科学撰稿人AndrewBridges说,“自1月4日成功登陆火星以来的24小时内,NASA网站首页和相关网站创造了1.09亿次的点击记录。”



  工作还在继续:Sun实验室和NASA喷气推进实验室正在合力研发一个基于Java技术的控制系统,它将使未来的宇宙探测器在探测这个红色星球之时能够具有智能化的、独立进行决策的能力。。(记者/初美)

出0入0汤圆

发表于 2004-11-16 13:47:13 | 显示全部楼层
AVR有的别人一样可以有.

问题是有必要在工程上选用一种带扩充功能而扩充功能根本不用的MCU吗?

M8的A/D现在用的人多吗?如果根本没有到A/D那么为什么要多负几块钱?



扩张51并没有什么不好.Cygnal的51速度已经是超越了AVR.

它也是一条指令一个周期.而且复杂指令的优势会更加明显.

精简指令需要多条完成的功能,它一条就可以搞定.

而且指令密度远远高于AVR.

说它不好只能说它的8位寻址结构不够用而已.不能说它速度不够快.

Pilips的选择性多得多,并不象AVR M16只有16KROM,1KRAM.那样,要不就还个型号,管脚完全不同,怎么换??



现在能跑三四十兆的51多的是,而AVR能买到的只8兆,没带L都不知道被谁吃调了.你算一下速度能差多少??



AVR = 51速度 X 12 ???



是这样算吗?如果你真的认为公式是对的.那你就不合格了.这样复杂指令不亏得很?

还要看一下同一个功能AVR需要多少条指令,51需要多少条指令?

其实是差不了多少.而且现在12这个数是越来越小了.



我一直在用AVR,我发现的缺点远比我想象的多得多.我还在用,我只是觉得它的设计结构比价合理方便而已.而且我并不想因为用D版KEIL而惹上法律问题.



光靠附加功能多而获得市场是不可能的.

靠跑得快也是不可能的.一只兔子跑赢乌龟有什么了不起,你省油吗?在路上容易出车祸吗?你的薪水高吗?天上还有鸟,你能比它快吗?



醒醒吧兔子!!!

出0入0汤圆

发表于 2004-11-16 15:13:47 | 显示全部楼层
我觉得实在没有必要争论51和AVR孰是孰非的问题:

1、“存在即合理”如果AVR真想你说的那样,那你应该去建议ATMEL关门算了!

2、每一种芯片都有自己的长处和缺点,没有那一个公司号称自己的芯片适用于所有场合,也没有那一个公司号称自己的芯片绝对比另一家的好。

3、请比较一下Cygnal与AVR的价格差了多少。






-----此内容被Jacky于2004-11-17,08:41:26编辑过

出0入0汤圆

发表于 2004-11-16 18:06:06 | 显示全部楼层
"建议斑竹以后见到此类“讨论51和AVR优劣”的帖子一律Delete "

呵呵,干吗要删掉呢?这里有许多初学者,看看这里的讨论还可以得到一些信息嘛。

AVR是在单片机群雄纷争中杀出来的强手,但51已经存在了20多年,它的生命力在单片机这一片是最强的,还有它的用户群体之大,足以让各生产厂家垂涎,迟早要推出与AVR竞争的51系列的改进品种,再辅以高级语言的支持,这是AVR的一个主要的竞争对象。

出0入0汤圆

发表于 2004-11-17 10:57:15 | 显示全部楼层
争来争去有什么用处,对我来说最关键是好用就OK了!外围电路是否简单,开发是否简单!只要好用,开发方便!成品周期短!我就喜欢!
头像被屏蔽

出0入0汤圆

发表于 2004-11-17 11:07:10 | 显示全部楼层
这个问题的确没有什么好争论的。



反正一句话:这里是AVR论坛。大家都使用AVR。所以,从我们的个人观点看,AVR是比较好的选择。

出0入0汤圆

发表于 2004-11-26 12:30:35 | 显示全部楼层
嘿嘿:TO DEF_ :

他们的速度比为:12*AVR晶振(MAX=16M):1*51晶振(MAX=33M)*51倍频(加速类51)

算51双倍(1MIPS/6MHZ)的话,基本:3:1。也有狠的如CY(不过,POWER=3.3V).

相同晶振,标准51下:

你要做总线操作的时序模拟,那是你说的12:1差不多是假的。

但程序不涉及总线操作,只有算法,数组,子程序...那12:1还小了。

如再加上用C编写,执行速度绝对大大于12:1。

出0入0汤圆

发表于 2004-11-26 15:53:26 | 显示全部楼层
建议删除!

intel与AMD谁强?
-----此内容被GandF于2004-11-26,15:55:49编辑过

出0入0汤圆

发表于 2005-12-10 12:00:59 | 显示全部楼层
一句话:同等价格下,没有其它MCU能与AVR比综合性能,注意,是综合性能.

出0入0汤圆

发表于 2005-12-15 17:14:10 | 显示全部楼层
你们吵吧.我是坚决不用51了!!!!!

出0入0汤圆

发表于 2006-5-20 08:52:09 | 显示全部楼层
你们到51的论坛去看看,都是说51好的;

再到PIC的论坛看看,都是说PIC好的;

........







-----------------------------------

饿的神啊,英文和洋文哪个好?

出0入0汤圆

发表于 2006-5-20 11:27:37 | 显示全部楼层
我用过51,pic,avr感觉好的是51,avr片子。对于低端的话还是PIC。PIC只是小个子,做系统级别的就要51或者AVR的片子了。51主要是功能不多。I/O口驱动能力不大。

主要是功能和价格比来看。当然AVR的片子还是有的地方不是太好。不过是习惯问题。

出0入0汤圆

发表于 2006-5-20 12:21:38 | 显示全部楼层
积分怎么能出现负值?

出0入0汤圆

发表于 2006-6-3 18:02:09 | 显示全部楼层
看到了几个帖子,讨论何种单片机最好。我感觉选择一个合适的单片机有时真的不太容易,要考虑的方面太多了。只能说某个特定场合比较适于采用某个MCU。不大可能某个牌子的MCU适合所有的设计,真要有的话那可就太好了:

1.  单片机的基本参数例如速度,程序存储器容量,I/O引脚数量

2.  单片机的增强功能,例如看门狗,双指针,双串口,RTC(实时时钟),EEPROM,扩展RAM,CAN接口,I2C接口,SPI接口,USB接口。

3.  Flash和OTP(一次性可编程)相比较,最好是Flash。

4.  封装:DIP(双列直插),PLCC(PLCC有对应插座)还是贴片。DIP封装在做实验时可能方便一点。

5.  工作温度范围,工业级还是商业机。如果设计户外产品,必须选用工业级。

6.  功耗,比如设计并口加密狗,信号线取电只能提供几个mA,用PIC就是因为低功耗,后来出了MSP430也不错。

7.  工作电压范围。例如设计电视机遥控器,2节干电池供电,至少应该能在1.8-3.6V电压范围内工作。

8.  供货渠道畅通。能申请样片,小批量购买有现货。

9.  价格低。

10. 有服务商

11. 烧录器价格低,如果是ICP(把单片机放在烧录器上编程)能否利用现有的烧录器,如果是表贴封装,买一个转接座也很贵,至少得一二百元。能否ISP(在系统编程,即把芯片先焊到板子上再通过预留的ISP接口编程),一般ISP编程器比较便宜大约一二百元甚至几十元。

12. 仿真器便宜。对于FLASH型单片机,仿真器不是必备的。但是对于OTP(一次性可编程)型单片机,必须购买或者租用仿真器。

13. 单片机汇编语言是自己熟悉的,并且能支持C语言。编程环境要像keil一样好用,并且还是免费的。

14. 网站速度快,资料丰富。包括芯片手册,应用指南,设计方案,范例程序。最好有中文,像Atmel就不错。

15. 保密性能好,查一下专业解。密。网站上的黑名单,再发个mail咨询一下解密价格。

16. 抗干扰性能好。我曾经把XXC52改为S52后发现抗干扰性能下降,只好改回去。

17. 和其他外设芯片放在一起的综合考虑。

出0入0汤圆

发表于 2006-7-18 09:08:14 | 显示全部楼层
你们听说过一句话“适合自己的才是最好的”吗?

没有听过的的最好。说这句话的人就象我们常说的“吃不到葡萄说葡萄酸”一样。用单片机做开发产品不是自己用的,是给人家用的,当然要考虑产品价格,性能,以及以后升级等众多因素,所以也就要选择一种适合产品和现代的单片机。如果你有想法为你的产品选择单片机,说明你已经具备一个单片机产品开发人员的基本知识了,已经不在是一个用单片机编写跑马灯为乐趣的业余程序员了。

单片机只是电子产品设计中的沧海一粟,做电子产品没有不选择元件的。在不同的产品领域里用不同的单片机是有不同的效果的。真正的电子工程师只是把单片机当着一只集成元件那样使用。

终观资深的工程师开发产品的时候总有一个产品计划书,在要用单片机芯片的时候总是要考虑该用什么样的单片机才可以达到最高的性价比。

所以我奉劝各位大虾不要抵触别的单片机,不要抱着学习了一种单片机就认为自己已经是工程师了,不要做井底之蛙

出0入0汤圆

发表于 2006-7-18 09:30:46 | 显示全部楼层
产品决定单片机而不是单片机决定产品;

你玩工具而不是工具玩你。

出0入20汤圆

发表于 2006-7-18 09:56:55 | 显示全部楼层
呵呵,用了两年的AVR.最近开始在下面的两个项目中使用Freescale 的MC9S12D64.

主要是想看看,那个号称世界上销售量第一的厂商做的单片机到底怎么样.

大家给点意见,以下是D64的基本性能,价格大约在70元,也可以使用GCC开发.

呵呵,顺便说一下,我们的产品对成本不敏感.矿井下的东西,稳定性是第一的!



The MC9S12D64 microcontroller unit (MCU) is a 16-bit device composed of standard on-chip

peripherals including a 16-bit central processing unit (HCS12 CPU), 64K bytes of Flash EEPROM, 4K

bytes of RAM, 1K bytes of EEPROM, two asynchronous serial communications interfaces (SCI), one

serial peripheral interfaces (SPI), an 8-channel IC/OC enhanced capture timer, two 8-channel, 10-bit

analog-to-digital converters (ADC), an 8-channel pulse-width modulator (PWM), a digital Byte Data Link

Controller (BDLC), 29 discrete digital I/O channels (Port A, Port B, Port K and Port E), 20 discrete digital

I/O lines with interrupt and wakeup capability, a CAN 2.0 A, B software compatible modules

(MSCAN12), and an Inter-IC Bus. The MC9S12D64 has full 16-bit data paths throughout. However, the

external bus can operate in an 8-bit narrow mode so single 8-bit wide memory can be interfaced for lower

cost systems. The inclusion of a PLL circuit allows power consumption and performance to be adjusted to

suit operational requirements.
-----此内容被wenming于2006-07-18,09:59:17编辑过
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-10 09:06

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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