ZephRay 发表于 2012-7-28 07:01:27

自制开源计算器ArithMax——ARM科普&选型指南

本帖最后由 nbzwt 于 2012-7-28 07:05 编辑

关注这个项目的应该知道,因为钱,这个项目被暂停了。项目投资暂停并不影响我们讨论,所以就来说说关于最核心,也是和钱关系最大的:CPU选型。我按架构分成了4类,ARM11、ARM9、Cortex-M、ARM7。

1、ARM11或更高的带ARM指令集CPU
我这里单独说明了是ARM指令集,那说明肯定还有别的,那就是Thumb指令集。既然已经在标题里写了ARM科普了,那我也就来简单说下ARM和Thumb两套指令集的关系。从ARM7开始,ARM处理器就有了两套指令集,一套32位的ARM,一套16位的Thumb,开发Thumb的初衷是为了提高代码密度(ARM指令集一条指令4字节,Thumb两字节)。早期的ARM处理器都同时具有这两套指令集,通过运行1条指令来切换指令集。到了ARM11,出现了Thumb-2,它的最大优势就是,这两套指令集不用切换,可以混写,大大提高了工作效率。而到了Cortex这一代,出现了不带32位ARM指令集而只有Thumb-2的Cortex-M系列处理器。它确实算是新一代,但是并不属于第一类的范畴,所以我特别强调是带ARM指令集的。
这是目前在移动设备上非常主流的CPU,这类CPU通常具有VFP(ARM的浮点运算器),计算性能较高,但是价格也贵,而且只能购买成品的核心板,价格要被别人牵着走,原因如下:
(1)这种CPU通常工作速度很快,400MHz以上,最便宜的双面PCB已经无法保证其稳定性,更好的PCB带来的就是更高的成本,而且对信号质量的高要求对于我来说也是很难做到的。
(2)这种CPU通常为BGA封装,不方便自己焊接
常见型号:
AM3517(Cortex-A8,ARMv7A,BGA,1GHz)
S3C6410(ARM11,ARMv6,BGA,600MHz)
参考最小系统价格:350元
参考储存器配置:
ROM:1GB
RAM:256MB

2、ARM9
这类CPU因为不带VFP,所以计算较慢。ARM9具体来说,也分为两代,早期的ARM920T采用的ARMv4T指令集,而后来的ARM926EJ-S采用的是ARMv5TE的指令集。相比之下,ARMv5TE总体快于ARMv4T。因为是老产品,所以价格相对低廉,虽然有LQFP封装的芯片,但是同样要购买核心板,理由同上第一条,据我同学说,他自制的ARM9板(双面PCB)只能稳定到180MHz,更高就频繁死机。
常见型号:
AT91SAM9260(ARM926EJ-S,ARMv5TE,LQFP,200MHz)
S3C2416(ARM926EJ-S,ARMv5TE,BGA,400MHz)
S3C2440(ARM920T,ARMv4T,BGA,400MHz)
参考最小系统价格:150元~250元
参考储存器配置:
ROM:256MB
RAM:64MB

3、Cortex-M
ARM7放到最后讲,先来说说Cortex-M。Cortex-M是ARM针对低端市场(8位机市场)推出的架构,ARMv7M指令集,即以前Thumb指令集。从辈分来说,和Cortex-A8属于同级,但是从性能来说,和ARM7属于同级。按照官方的说明,是ARM7的替代品。但是我觉得仍然有非常重要的一点,使得我无法放下ARM7:Cortex-M处理器大多数并不支持SDRAM和在外部Flash运行程序,这就严重限制了可扩展性。对于不支持SDRAM,我们可以用SRAM来替代,但是价格么,8MB的SDRAM卖2元,8MB的SRAM卖800元(8*1M)。而对于不支持外部Flash跑程序,我们也有解决方案,那就是把程序复制到RAM中运行。但是之前说了,内存贵,所以也是没用。直接影响:做出来的计算器不能方便的安装自己写的程序!我前面说是大多数不支持,那肯定有小部分支持,准确的说,就是LPC1788,强大的一塌糊涂,但是也贵的一塌糊涂(超过部分ARM9)。不过如果你在寻找传统8bit单片机(比如STC单片机)的替代品,价格低廉的Cortex-M0系列会是很好的选择(64KB ROM,8KB RAM,48MHz的CM0处理器只需要6元就能拿下,所以我认为传统的8位机未来会在4元以下的市场存活,STC走高端路线,推出STC15F4K60S2确实不是明智之举)。
常见型号:
STM32F407VG(Cortex-M4,ARMv7M,LQFP,168MHz)
STM32F103VC(Cortex-M3,ARMv7M,LQFP,72MHz)
LPC1788(Cortex-M3,ARMv7M,LQFP,120MHz)
参考最小系统价格:30元
参考存储器配置:
ROM:512KB
RAM:64KB

4、ARM7
终于轮到ARM7了。ARM7是一代非常辉煌的产品,它是ARM处理器辉煌的开始,和早期的ARM9一样采用了ARMv4T的经典架构。同ARM9,作为老一辈,当然要降价让路,所以同样价格低廉。而且由于速度不快,也通常是LQFP封装,非常适合自己制板。可以外扩大容量的SDRAM和Flash,也方便了程序扩展。唯一的一点小遗憾是:它的LCD控制器不支持TFT,所以如果要接TFT,必须像第三种CM一样,通过总线来连接带控制器的屏幕。不过可以说,ARM7虽然是即将淘汰的产品,但在这里,却几乎是绝佳之选。
常见型号:
S3C44B0(ARM7,ARMv4T,LQFP,66MHz)
LPC2148(ARM7,ARMv4T,LQFP,72MHz)
参考最小系统价格:30元
参考存储器配置:
ROM:2MB
RAM:8MB

讲到这里,我想也差不多了,我基本上把ARM各系列作了一个简单的介绍和对比。如果有兴趣,可以登录ARM官网或联系我(QQ:380212456)进一步了解。大家对选型有什么看法,欢迎提出。

anzedick 发表于 2012-7-28 22:46:07

不如直接用早期的安卓机来的方便,写个数学软件就什么都有了,价格便宜还方便。个人觉得花时间从零开始研究硬件不现实,一没时间二没钱。如果有个开源的数学app就很棒了,还可以吸引到计算器圈以外的人。图形计算器这种注定灭亡的东西,只有精神是可以传递给其他便携式设备的。美国的课堂习惯用ti的计算器就是因为比电脑便宜和方便,但是现在有各种pad和神似pad的手机,计算器也没什么与之相比的优势。于是综合结论,写app吧

chsi 发表于 2012-7-29 00:54:14

不如直接用早期的安卓机来的方便,写个数学软件就什么都有了,价格便宜还方便
anzedick 发表于 2012-7-28 22:46 http://www.cncalc.org/images/common/back.gif

价格便宜是便宜,不过真的方便么?HP研发了个PDA式的计算器,后来自觉太过激进给砍掉了;卡西欧做了触屏计算器CP330现在还被一些人骂,这还不是完全没有键盘的。在我看来,全触屏计算器连基本的盲打都实现不了也没任何手感,根本就不配称为计算器。

另外,安卓手机的那点续航时间还是算了吧。天天给手机充电已经够受的了,我可不想因为晚上没给计算器充电导致第二天关键时刻掉链子。

个人觉得花时间从零开始研究硬件不现实,一没时间二没钱。

计算器卖的从来都是软件,Nspire的模拟器价格几乎和计算器一样贵已经印证了这一点。同时毋庸置疑地,开发和维护一个完善的CAS系统所需的工作量远高于开发硬件部分——随便找一个开源CAS,看看代码有多少行?如果没时间做硬件,那就更不可能有时间从零研发软件。自己DIY硬件+移植开源CAS才是最现实的路。

图形计算器这种注定灭亡的东西,只有精神是可以传递给其他便携式设备的。

图形计算器根本就不会灭亡。专业领域计算器已经死了,但教育上计算器的前景仍然很广阔。TI和CASIO都不断推陈出新,如果计算器注定灭亡的话这根本不会发生。

美国的课堂习惯用ti的计算器就是因为比电脑便宜和方便,但是现在有各种pad和神似pad的手机,计算器也没什么与之相比的优势。

电脑即使课堂上能用,考试的时候肯定也不能用;Pad同理。何况PAD在电池续航、耐摔、输入便利程度等方面相对于计算器仍具有很大劣势。我不否认计算器有Pad化的倾向;不过只要通用的Pad一天不为计算而生,就一天不会在计算上比计算器更好用,计算器的地位也就不会被取代。

zhs490770 发表于 2012-7-29 09:16:14

图形计算器这种注定灭亡的东西,只有精神是可以传递给其他便携式设备的。
言论有些绝对。不过依此思想,一切都将灭亡。

将来会进化出更便宜、更高级的图形计算器的

936854586 发表于 2012-7-29 10:23:17

arm9吧

yangsc825 发表于 2012-7-29 15:37:49

4# zhs490770
应该说是进化……但图形计算器作为独立地存在怕是真不久了,现在是信息社会,它必将融入到其他东西中去的,没有东西是不可取代的,同意2楼的说法,它的精神会传下去

zhj 发表于 2012-7-29 18:14:10

手里一堆STC89C52RC的人飘过

建议Cortex-M3系列的,VEX V.5 Robotics Design System就用的这个核心

chsi 发表于 2012-7-29 18:24:30

4# zhs490770
应该说是进化……但图形计算器作为独立地存在怕是真不久了,现在是信息社会,它必将融入到其他东西中去的,没有东西是不可取代的,同意2楼的说法,它的精神会传下去
yangsc825 发表于 2012-7-29 15:37 http://www.cncalc.org/images/common/back.gif

普通办公计算器的技术含量更低,却到今天也没一点被计算机取代的趋势。跑车再怎么发展也取代不了货车,这是设计思路就决定了的。

ZephRay 发表于 2012-7-29 19:28:34

7# zhj CM3貌似计算效率不高

Nero 发表于 2012-7-30 00:28:26

7# zhj 教育机器人的计算能力本来就不适合做图形计算器,效率也不算高。我参加RoboCup用的就是一堆STM32F103VCT6, CM3内核72Mhz,效果不尽如人意。计算器的话,我更支持ARM11或以上。电源管理控制好了在高频率下也会有良好的续航表现的。
页: [1]
查看完整版本: 自制开源计算器ArithMax——ARM科普&选型指南