本帖最后由 hotpower 于 2012-9-13 22:43 编辑
M0有人说差的要死,我不信,偏偏用M0来玩,M0相当给力!AVR准备停用之.........
-------------------------------------------------------------------------------------------
这个不是胡乱说的,实际工程项目新唐M0516 PK AVR M88,结果AVR输的很惨,M0非常给力!这几天忙于画PCB,等有空时总结一下。首先要指出的是:哥不是新唐的托,新唐也没给过啥好处,M0516的最小系统板子还是我花200大洋买来的。后来大叔有送我2块新唐的122和140的板子,谢谢大叔。写出的话仅代表个人观点,你可以不信,也可以扔砖头,但不要搞人身攻击。
用M0516和AVR分别产生高频SPWM,驱动H桥,经电感阻容滤波,输出220V正弦波带负载,使输出频率稳定,电压稳压。工程主要用到PWM和AD采样串口通讯等。
实物图片:
AVR:
M0516
M88 PK M0516
AVR的输出波形
AVR的空载波形有点畸变,带负载后波形变好。
M0516输出波形:
M0516的空载波形相当完美,没有畸变。在M0516的代码里故意加了一个串口输出,相当于延时,结果依然给力!波形几乎没有变化。
工程PK:
PK内容:
1.运算速度对比
M0516属32位机,可工作在50MHz,单指令周期32位硬件乘法器。AVR M88属8位机,曾经的经典....,最快工作在16MHz,2个时间周期8位硬件乘法器。同样的事情,做两个unsigned long类型乘法,速度体现出来了。M0只要一个时钟周期搞定,AVR就得慢慢算了,具体时间原来有做过详细对比。现在就不贴出了。这个贴子就是用来测试M0516的运算速度,无意中发现这个:M0 GPIO用库和寄存器方式控制IO翻转速度对比,速度差近12倍!https://bbs.21ic.com/icview-282525-1-1.html
2.PWM波形发生
M0516内建4个16位PWM发生器,提供8路或4路互补带死区的PWM波形。AVR可以6路PWM,但是要占用3个定时间,资源占用太多了,如果都用上,可利用的资源就太少了,还有支持互补,但不带死区,要产生死区必需要用另外的方法,软件或硬件上增加开销。
3.AD转换
M0516带8路12BIT模数转换ADC,转换速率可达600K,每个通道有独立的寄存器。M88带8路10BIT模数转换ADC,转换速率只有15K,差40倍,只有一个寄存器,读数据时要相应的处理,没有M0灵活。
4.内部存储
M0516自带4K DATAFLASH,可以为用户存储一些数据,当EEPROM用还是很爽的。已经成功实现了把4K DATAFLASH当成1K的32BIT的EEPROM操作,整理一下后做个例程上传。M88只带有512字节的8BIT EEPROM。差4倍之多。
5.硬件配置位设置
M0516通过NU-LINK仿真器,设置时钟等参数。可以在线仿真,仿真器相对廉价,而且随便操作,不会锁住芯片。M88只能通过ISP或其它的开发工具来设置熔丝。弄不好芯片锁死,还得高压编程器来恢复,要至少8个引脚的接线,要是贴片的就更麻烦了,还不如直接换个芯片省时省力.只能通过单线仿真,在ISP和DW模式下切换。弄不好,锁死!
6.加密与解密
AVR曾经的不能解密,很多型号现在只要区区200块就咔嚓了,付出的心血就这么完完了,所以就有了上次的自制玩具:CRC16 HEX文件自动修改生成器,让盗版者头痛去吧。https://bbs.21ic.com/viewthread.php?tid=245412&highlight=,只能增加解密者的工作强度,不能从根本上解决问题。不指望新唐M0解不了密,那是不可能的,只是时间问题。因为32位机解密得到的2进制或16进制再反汇编,如果代码量大了,再玩点其它花样,哈哈,想解密够他玩上一阵子了。除非功能全部重写,既然有这样的高人,输也输的心服口服。
|