M8系统开发手记(1)
M8系统开发手记(1)
Wayne Huang
2010年12月25日
0 写在前面的话
这篇文章将会涉及有关硬件相关的内容,如果要问我为什么会从软件转到硬件,这其中有一个比较悠长的故事。我想通过这一系列的手记,来描述我和M8之间的种种故事。如果你有兴趣的话,就随我一起展开这段有趣的旅程吧。自从上次发表了那篇《M8系统编程应用之数字时钟》后,个人感觉反响不错,这也坚定了我继续详细深入的勇气。因为,一方面我从来没有写过硬件方面的内容,所以怕把握不好;另一方面,硬件这活有时候的确是比较难以描述清楚,做起来可以有很多,但写起来却或许了了几笔,不过看起来却总觉得不怎么详细。但不论如何,希望你能喜欢我的手记。1 导言
M8是对ATMega8这款MCU的简称,我们一般称这类MCU为单片机。或许你曾经对51这款单片机有过耳闻,并且一直感觉单片机的性能比较差。但是,ATMega8是一款AVR单片机,相比同为ATMEL生产的AT89S52而言它有着更卓越的性能,特别是在运算方面性能更是提升很多。而且,其价格也相对低廉,作为学习是个不错的选择。或许有人会有疑问,为什么在如今ARM那么热的时候会选择一款单片机?其实,作为个人而言,单片机有许多ARM所没有的优点。首先是封装问题,M8拥有采用DIP这种双列直插的封装方式,而目前各大厂家所生产的ARM处理器都没有双列直插的封装。对于个人来说,双列直插的器件更容易使用,同时也让学习成本更低。因为作为ARM常用的贴片封装形式,贴片元件上过小的引脚间距让很多初学者无从下手,而且要使用贴片元件还需要制作印刷电路板,这样学习的成本又增加了不少。其次是因为M8的价格,目前市场上M8价格来说在同类产品中属于比较低廉,而常用的ARM的价格就比较贵了。虽然说做实验之类的,一片就足够了,但是玩硬件并不像软件,错了至多重启一下系统之类的就能恢复,有时候一个小疏忽就会让你投入的财力进到垃圾桶里,所以采用M8的话可以缩减错误的代价。不过,M8的主频也比ARM低,因为这个原因也让M8的运算速度不如ARM,但是,在ARM这类高频电路中,导线之间的干扰会比M8这类中低频电路更明显,这样的话就会无形中抬高了入门门槛。最后,虽然说M8的系统主频并不高,但是与传统的51相比其实际的运算性能通常是51的12倍以上,而且M8在中国的供货量也比较充裕,资料也比较丰富。综合以上种种原因,我觉得M8作为DIY比ARM更合适。
我写这篇文章的时候,假设你已经拥有了一些编程的技能,并且有一些电工学的知识。当然,对电工学知识的要求并不是非常高,也大概可能就是中学物理课上的那些电学知识吧。至于编程的技能么,我想作为以软件为主的我们来说要求稍微高一点吧,也就是会一些基本的C语言编程。对的,我们这里主要还是用C语言作为基本的开发语言,理论上不会涉及让人晦涩难懂的汇编语言(虽然对我来说汇编语言也没什么),这样的话或许会让那些对汇编语言望而怯步感到一丝宽慰吧。
2 旅程前的行李
就好像你出门的时候比需要准备一些必备的用品一样,我们的旅程也会需要你准备一些东西。所以在开始旅程之前,我们现来看一下有哪些东西将是我们所需要的,也让我来简单介绍一下他们。2.1 多孔实验板
Figure 1: 多孔实验板如图1所展示的就是实验用多孔板。多孔实验板又叫洞洞板。是一种用于承载各种元件的基板,在板上分布有规则的一个个洞和用于焊接元件的焊盘,使用的时候需要把元件的引脚插入洞中,然后利用焊盘将元件焊在上面。现在市面上的多孔板种类并不算太多,一般按照焊盘类型,分为喷锡焊盘和无锡焊盘。按照焊盘的分布,分为双面焊盘和单面焊盘,按照焊盘的连接方式,分为单孔,多孔等。
对于喷锡焊盘的多孔板而言,存储和保养更容易一些,因为在铜制焊盘表面有一层锡包裹,所以具有一定的抗氧化性,而且焊接的时候因为有锡所以会更容易。对于无锡焊盘而言,因为焊盘的铜是直接和空气接触的,所以在存放的时候比较容易氧化,这样在焊盘表面会有一层致密的氧化膜。如此一来,就很难把元件焊上去了,所以在使用前可以用报纸擦拭一下,将表面的氧化膜擦去,然后给锡盘上一下锡。因为在使用的时候焊盘最终还是要上锡的,所以事先上好也不失为一种方法。
双面和单面的实验板区别只在于焊盘的位置,根据名字就可以很容易的看出来,单面的话就是在单面有焊盘,另一面是没有的,双面的也类似。一般来说单面的价格比较便宜,对于一般使用来说单面板就足够了,双面板则在布线方面要稍微巧妙的考虑一下才能发挥其作用。所以如果不是有特别的情况,一般初学者建议选择单面板。
至于多孔板的材质么,其实就是PCB板。这看似塑料的材质是一种合成材料能一定程度上承受高温。当然啦,你也别故意的去用烙铁烫他。一般来说多孔板的颜色有很多种,比如绿色,黄色,蓝色,黑色等等。这些颜色主要是由于制作PCB的时候加入的颜料不同,或者生产时所用的阻焊剂的颜色不同造成的。你可以根据实际情况和你的喜好来选择。其次在购买多孔板的时候要稍微留意一下孔间距,一般来说孔距为2.54mm,你在购买的时候可以询问一下是否能安装双列直插的元件。
2.2 焊锡丝
Figure 2: 焊锡丝如图2所示的就是焊锡丝。焊锡丝是用于焊接元件的必备的耗材,就如打印机的墨盒一样。元件的焊接离不开焊锡的帮助。所以,焊锡丝是必备的东西。目前市面上的焊锡一般分有铅和无铅两种,作为DIY或者实验使用的话,建议选择有铅锡。无铅锡据我所知是用于某些出口产品上。因为某些国家对电子产品的进口有着比较严格的要求,比如必须使用无铅元件。当然并不是因为出口商品上用无铅锡就说明无铅的好,他们只是为了减少污染,无铅锡使用比有铅的难度大一些,比如不容易扩散而且熔点比较高。在下曾经因为好奇用无铅锡给一些焊盘上锡,结果可能是因为技艺不精,几次下来都没成功,最后因为担心把别人的焊盘给烫下来,于是放弃了。
另外还有一种焊锡丝中间会加入松香,这是为了帮助你更好的焊接,并不是偷工减料。话说现在什么地方都搞偷工减料,连方便面都要苛扣掉一点。不过你在购买的时候要留意一下价格,毕竟松香的价格和锡的价格可是不一样的。当然,焊锡的粗细也会有不同,对于焊接高手来说,就算给根锡条想必也能在2.54mm间隔的板子上挥洒自如。而像我们这些不太熟练的普通人来说,为了不要给自己制造麻烦还是使用相对比较细的焊锡丝会比较好,一般来说0.5mm的焊锡丝是个不错的选择,当然稍微粗一点也不错。
焊锡丝在使用的时候一般不会整卷一起用,不过如果你对自己的臂力很有信心自然也没什么问题。因此,在使用的时候可以截取一段来用,但是根据经验不要截得太短,稍微长一点,盘一下,这样在使用的时候会比较方便。其次,焊锡的材质比较柔软,反复弯折几次就容易折断,所以尽量不要在盘的时候出现直角之类的情况,不然到时候很容易弄成一小段一小段的。
2.3 松香
Figure 3: 松香如图3所示就是松香了。松香是一种助焊材料,能帮助焊锡更好的附着在焊盘,导线和元件引脚上。记得以前有句广告语叫:"吃火锅没XX怎么行?"。所以我们也应该广告一下:"有焊锡没松香怎么行?",也希望借此体现一下松香的重要性。市面上的松香往往分为脱脂松香和有脂松香,我们一般使用的是有脂松香。
或许你会困惑到哪里能买到松香呢?通常来说可以去化工原料商店碰碰运气,说实话感觉那里什么都有,当然虽说是什么都有,不过有些该没有的还是没有的。比如你跑到店里说:"给我来瓶易做图。",如果这样估计你的相貌会被他们记得相当深刻了。或者跑进去说:"给我来碗牛肉拉面,牛肉多点。",那样的话你会被直接赶出来的。如果你运气不好,附近没有化工原料商店或者原料商店没有,那你还可以去药房看看,因为松香也是一种中药,但是你在买之前要做好先问清楚,如果是磨成粉的话,用起来可能会比较痛苦,所以你需要考虑一下。还有中药里另有一种叫琥珀的药材,虽然感觉上生成原理和松香有点关联,但那个可不能当松香来使用的哦。如果你在上面提到的两个地方里都没有找到传说中的松香,那你还可以去乐器行看看,那里或许会有,特别是那些卖民乐乐器的商店。这些松香一般是用于乐器上的,所以价格或许会相对贵一些。当然,如果你是一个懒得四处奔走的人,那么其实网上也可以买到的。
松香的使用其实比较简单,就是用烙铁将其加热以至融化。当然,希望你现在不会在脑海里浮现出中学实验时的那种加热-下面是酒精灯,之上是石棉网,在上面是装有溶液的烧杯,烧杯里是放着松香的试管。其实,只是把加热的烙铁靠在松香上就行了。一般这样做的常见目的有两种:一种是为了测试一下烙铁的温度是否够了,因为松香的熔点略微比焊锡低。在室温下,如果你的烙铁能融化松香,那么过大概2分钟左右你的烙铁基本就能融化焊锡了;另一种目的是把他融化作为助焊剂。如果是这种目的一般是把要上锡的引脚放在松香上,然后把沾上锡的烙铁连同引脚和松香一起加热,通常情况下,松香融化的时候烙铁上的锡也会上到引脚上的。不过,不论是什么用途,通常情况下松香的需求并不像焊锡那么多,所以你买松香的时候别对说:"老板,给我来一公斤松香。",因为松香本身密度不是很高,加上你用的量也不会很大,那么作为DIY的话,估计这个量能用到你儿子那辈了。
作为助焊剂,还有一
补充:移动开发 , 其他 ,