M8系统开发手记(1)

时间:2022-08-06 06:46:15

 

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  多孔实验板

M8系统开发手记(1)

 

Figure 1: 多孔实验板 

如图1所展示的就是实验用多孔板。多孔实验板又叫洞洞板。是一种用于承载各种元件的基板,在板上分布有规则的一个个洞和用于焊接元件的焊盘,使用的时候需要把元件的引脚插入洞中,然后利用焊盘将元件焊在上面。现在市面上的多孔板种类并不算太多,一般按照焊盘类型,分为喷锡焊盘和无锡焊盘。按照焊盘的分布,分为双面焊盘和单面焊盘,按照焊盘的连接方式,分为单孔,多孔等。

对于喷锡焊盘的多孔板而言,存储和保养更容易一些,因为在铜制焊盘表面有一层锡包裹,所以具有一定的抗氧化性,而且焊接的时候因为有锡所以会更容易。对于无锡焊盘而言,因为焊盘的铜是直接和空气接触的,所以在存放的时候比较容易氧化,这样在焊盘表面会有一层致密的氧化膜。如此一来,就很难把元件焊上去了,所以在使用前可以用报纸擦拭一下,将表面的氧化膜擦去,然后给锡盘上一下锡。因为在使用的时候焊盘最终还是要上锡的,所以事先上好也不失为一种方法。

双面和单面的实验板区别只在于焊盘的位置,根据名字就可以很容易的看出来,单面的话就是在单面有焊盘,另一面是没有的,双面的也类似。一般来说单面的价格比较便宜,对于一般使用来说单面板就足够了,双面板则在布线方面要稍微巧妙的考虑一下才能发挥其作用。所以如果不是有特别的情况,一般初学者建议选择单面板。

至于多孔板的材质么,其实就是PCB板。这看似塑料的材质是一种合成材料能一定程度上承受高温。当然啦,你也别故意的去用烙铁烫他。一般来说多孔板的颜色有很多种,比如绿色,黄色,蓝色,黑色等等。这些颜色主要是由于制作PCB的时候加入的颜料不同,或者生产时所用的阻焊剂的颜色不同造成的。你可以根据实际情况和你的喜好来选择。其次在购买多孔板的时候要稍微留意一下孔间距,一般来说孔距为2.54mm,你在购买的时候可以询问一下是否能安装双列直插的元件。

2.2  焊锡丝

 

M8系统开发手记(1)

 

Figure 2: 焊锡丝 

如图2所示的就是焊锡丝。焊锡丝是用于焊接元件的必备的耗材,就如打印机的墨盒一样。元件的焊接离不开焊锡的帮助。所以,焊锡丝是必备的东西。目前市面上的焊锡一般分有铅和无铅两种,作为DIY或者实验使用的话,建议选择有铅锡。无铅锡据我所知是用于某些出口产品上。因为某些国家对电子产品的进口有着比较严格的要求,比如必须使用无铅元件。当然并不是因为出口商品上用无铅锡就说明无铅的好,他们只是为了减少污染,无铅锡使用比有铅的难度大一些,比如不容易扩散而且熔点比较高。在下曾经因为好奇用无铅锡给一些焊盘上锡,结果可能是因为技艺不精,几次下来都没成功,最后因为担心把别人的焊盘给烫下来,于是放弃了。

另外还有一种焊锡丝中间会加入松香,这是为了帮助你更好的焊接,并不是偷工减料。话说现在什么地方都搞偷工减料,连方便面都要苛扣掉一点。不过你在购买的时候要留意一下价格,毕竟松香的价格和锡的价格可是不一样的。当然,焊锡的粗细也会有不同,对于焊接高手来说,就算给根锡条想必也能在2.54mm间隔的板子上挥洒自如。而像我们这些不太熟练的普通人来说,为了不要给自己制造麻烦还是使用相对比较细的焊锡丝会比较好,一般来说0.5mm的焊锡丝是个不错的选择,当然稍微粗一点也不错。

焊锡丝在使用的时候一般不会整卷一起用,不过如果你对自己的臂力很有信心自然也没什么问题。因此,在使用的时候可以截取一段来用,但是根据经验不要截得太短,稍微长一点,盘一下,这样在使用的时候会比较方便。其次,焊锡的材质比较柔软,反复弯折几次就容易折断,所以尽量不要在盘的时候出现直角之类的情况,不然到时候很容易弄成一小段一小段的。

2.3  松香

 

M8系统开发手记(1)

 

Figure 3: 松香 

如图3所示就是松香了。松香是一种助焊材料,能帮助焊锡更好的附着在焊盘,导线和元件引脚上。记得以前有句广告语叫:"吃火锅没XX怎么行?"。所以我们也应该广告一下:"有焊锡没松香怎么行?",也希望借此体现一下松香的重要性。市面上的松香往往分为脱脂松香和有脂松香,我们一般使用的是有脂松香。

或许你会困惑到哪里能买到松香呢?通常来说可以去化工原料商店碰碰运气,说实话感觉那里什么都有,当然虽说是什么都有,不过有些该没有的还是没有的。比如你跑到店里说:"给我来瓶氰化钾。",如果这样估计你的相貌会被他们记得相当深刻了。或者跑进去说:"给我来碗牛肉拉面,牛肉多点。",那样的话你会被直接赶出来的。如果你运气不好,附近没有化工原料商店或者原料商店没有,那你还可以去药房看看,因为松香也是一种中药,但是你在买之前要做好先问清楚,如果是磨成粉的话,用起来可能会比较痛苦,所以你需要考虑一下。还有中药里另有一种叫琥珀的药材,虽然感觉上生成原理和松香有点关联,但那个可不能当松香来使用的哦。如果你在上面提到的两个地方里都没有找到传说中的松香,那你还可以去乐器行看看,那里或许会有,特别是那些卖民乐乐器的商店。这些松香一般是用于乐器上的,所以价格或许会相对贵一些。当然,如果你是一个懒得四处奔走的人,那么其实网上也可以买到的。

松香的使用其实比较简单,就是用烙铁将其加热以至融化。当然,希望你现在不会在脑海里浮现出中学实验时的那种加热-下面是酒精灯,之上是石棉网,在上面是装有溶液的烧杯,烧杯里是放着松香的试管。其实,只是把加热的烙铁靠在松香上就行了。一般这样做的常见目的有两种:一种是为了测试一下烙铁的温度是否够了,因为松香的熔点略微比焊锡低。在室温下,如果你的烙铁能融化松香,那么过大概2分钟左右你的烙铁基本就能融化焊锡了;另一种目的是把他融化作为助焊剂。如果是这种目的一般是把要上锡的引脚放在松香上,然后把沾上锡的烙铁连同引脚和松香一起加热,通常情况下,松香融化的时候烙铁上的锡也会上到引脚上的。不过,不论是什么用途,通常情况下松香的需求并不像焊锡那么多,所以你买松香的时候别对说:"老板,给我来一公斤松香。",因为松香本身密度不是很高,加上你用的量也不会很大,那么作为DIY的话,估计这个量能用到你儿子那辈了。

作为助焊剂,还有一种叫助焊膏的东西。在我的映像中,那东西一般装在一个蓝色的铁罐子里,膏的颜色么是白色的,不过用到后面就一样变的乌黑的。那个东西可以作为助焊剂来使用,但是他有一定的腐蚀性,用太多对线路的寿命会有影响,他通常是用来清洁烙铁头上的氧化物的。当然不是让你把它涂在烙铁头上,而是把加热后的烙铁插进那个膏体里。不过别放太久,一下就行了,因为据说加热后产生的烟对身体不好,而且一直加热的话也很浪费并且对烙铁也不好。

2.4  电烙铁

 

M8系统开发手记(1)

 

Figure 4: 电烙铁 

如图4所展示的就是传说中的烙铁了。烙铁的种类,说实话挺多的,像我平时用的就属于外热式的尖头电烙铁。烙铁的作用是加热焊锡和松香,是焊接元件的主要工具。除了烙铁的发热原理有不同外,烙铁主要的区分在于烙铁的头上。虽然说使用什么样的头是个人喜好,比如我平时就比较喜欢用平头烙铁给元件上锡,用尖嘴烙铁焊接元件。但是考虑到投入成本以及两把烙铁换来换去的麻烦,我通常还是只插一把尖头的。所以建议初学者还是准备一把尖嘴的电烙铁,就是图示上所看到的这种,因为这种烙铁上锡也比较方便,同时因为是尖头,所以焊接的时候更容易在拥挤的板子上游刃有余。

当然在我见过的各种各样的烙铁中,有一种烙铁建议你不要使用。据说是用来焊高压元件的。说实话那个头实在是够大,而且还有一点弯曲,或许你有一把这样的,但我真不太建议你在双列直插的板子上使用。的确,这东西很重,这不是因为担心你臂力不够,主要是因为体积问题。不过如果你对自己的焊接技术有足够的自信,那用一下也无妨,但是注意别把你的小脸烫伤了。还有一种烙铁是用煤油灯加热的,如果你能找到这样的烙铁,那也能算是古董了。但是,这种烙铁使用起来不是很方便,而且因为是用火加热,所以烙铁上很容易积上一层碳黑,这样的话又无形中增加了焊接的难度。有时候由于环境温度的关系,比如你大冬天开着窗焊,当你刚拿起加热好的烙铁放到面前时,一阵刺骨的寒风潇洒的从你面前吹过,接下来你就只能杯具得再把他放回去继续加热了。正所谓"热得快"通常是和"凉得快"是捆绑销售的。

2.5  其他装备

很多时候所谓的完美装备虽然存在,但往往只存在于理想中。就好像有些网络游戏里,会有什么完美套装之类的,但实际上要收集齐这些装备通常是不太可能的。不过,你如果愿意投money下去,这个梦想总归是能够实现的。所以这里我所说的装备也是如此,虽然说样样都齐全是最好,但是只有基本的也是可以的。因为工具本身算不了什么,即使你拥有一个最先进的实验室,但若你没有足够的技术水平,那么这些东西对你而言至多是一些会发出奇怪声音,会闪灯的废品罢了,又或者是你炫耀自夸的资本而已。不过,该有的一些辅助器械还是需要的,比如镊子和吸锡器。

我们所使用镊子其实就是一般修钟表是用的那种,前端只要严丝密缝一些就行了。因为那样会方便我们把那些细小的元件夹住。当然,使用镊子的主要原因到也不是因为元件小,毕竟双列直插的元件再小,用手也能拿住的。主要的原因是什么呢?是因为有时候焊接的时候,需要扶着元件或者捏着元件。别以为你加热元件一端的引脚就认为自己捏着的手没事,要知道热是可以传导的,不然散热器岂不是变成招摇撞骗了?所以用镊子的话可以让你不必忍受烙刑。但是,你也别因此让你的烙铁和元件有过久的亲密接触,那样会出问题的,到时候别说我没提醒你哦。不过话说回来,如果你是练过的话,那你可以不用,比如练过传说中的铁沙掌啊,或者金钟罩铁布衫什么的。要是你没练过的话,还是考虑买把镊子吧,毕竟买把镊子比练武林绝学的可行性更高点。

吸锡器对我而言使用的频率并不是很高。但是就像有句话说的那样:"书到用时方恨少"。有时候你需要用的时候就发现"有他好幸福"了。如果你觉得确实需要可以考虑买一个手动吸锡器。至于有什么用么,主要就是把板子上多余的锡吸走。通常在把焊错的元件拆下来的时候会比较有用。当然啦,吸的时候要有烙铁的配合,别想着这玩意儿能把焊在板子上的锡吸上去。如果真出现这种情况,只能有两种可能。一、你焊得有问题,根本没焊牢。二、你的元件已经连同锡一起被你那强劲的吸锡器吸走了。使用的时候是要先把烙铁放在焊点上,把锡融化了,然后把吸锡器靠近焊点和烙铁,注意,是极其的靠近,甚至是贴着的那种,然后按动一下边上的按钮就可以了。如果觉得不够,可以多用几次。当然,别靠得时间太长,因为一般这种东西的头都是硬质塑料的,稍微靠一下问题不大,但是时间太长的话,你的吸锡器就会被你烙铁"幸福的温暖"所融化的。说到挑选吸锡器,其实没什么特别的,只要吸力大就行了。这个你在买的时候可以试一下。另外在压杆的位置个人觉得必须要有挡板或者类似的东西,不然你用的时候可能会发生杯具,比如变成熊猫之类的什么。这不是我危言耸听,也不是什么玩笑。至于为什么?你用过就明白了。

除此之外,还有很多,你可以根据自己的需要和别人的经验适当的选择一些。作为自己DIY的话个人觉得这些工具应该可以满足基本的需要了,当然如果要配个仪表的话,可以再加个万用表,至于选择数字表还是指针表那纯粹看个人的喜好了。不过数字表内阻比较大,所以测量的时候有时候会比指针表更准确一些。当然,如果你机会可以有一个示波器那就更好了,但那个对于还在看这篇文章的DIYer来说,投入有些大了。

3  文外音

这次主要描述了一些以后在硬件方面可能需要的东西。我想,对于一名电子工程相关专业的人士来说,这篇的内容可以说是太小儿科了。但是,我想我的文章主要是针对那些和我一样初为软件,想对硬件有些入门的人士来写的。所以,我想这里的内容可能会对从未涉及硬件的朋友会有帮助。

我很欢迎你对我的文章转载,但转载的同时请注明文章的出处。这样做的目的是能让阅读的人能更好更及时的得到回复。另外,由于blog排版的问题,很多地方并不尽如人意。所以,如果你想所要电子版的话,可以在相应的文章后留下你的电子邮箱,我会及时的发送给你。