TracePro应用实例详解-
TracePro应用实例详解-压缩版(内容不变)目录绪论光学设计基础知识1第一章导光管设计实例6第二章背光源设计实例12第三章LED设计实例-..1.18第四章手电筒设计实例由南南由南虚由由面鱼出面量自音s面自自鱼自自西由自由由由由由面由垂型由面由昏音面垂香量看证自音西垂45第五章积分球设计实例,54第六章LED设计实例二…第七章分光棱镜模拟实例……---77第八章LED汽车前照灯设计实例影中中中着,着看e,第九章简易荧光灯模型设计实例……100第十章投影仪设计实例…11111114第十一章红外光气体检测系统设计实例140第十二章荧光粉模拟实例150第十三章LED色温模拟实例…--1160第十四章消除杂散光模拟实例……167第十五章二级复合抛物面聚光器设计实例177第十六章矩形路灯聚光器的优化设计198第十七章一种LED植物生长灯的设计与制作…207第十八章简易筒灯的模拟与设计216绪论光学设计基础知识在开始本书前,我们需要了解一些基础的光学知识。一、光度学基本概念光通量:单位时间内光辐射能量的大小。它表示光源的发光能力。光通量单位:流明(lm),指lcd的均匀点光源在lsr内的光通量。发光强度(光强);光通量的角(空间的)密度,即在一定方向上的单位立体角内所发出的光通量。常用于说明光源和灯具发出的光通量在空间各方向或选定方向上的分布密度。发光强度的单位:坎德拉cd,lcd=1mSr,是国际单位制的基本单位。立体角:是任意一封闭的圆锥面内所包含的空间。单位是球面度(Sr),即以锥顶为球心,以r为半径作一圆球,如果锥面在圆球上截得的面积A为r的平方,则该立体角为一个单位立体角,而一个球体包含4π球面度。1979年10月第10届国际计量大会透过的坎德拉定义为:一个光源发出频率为540.0E1Hz的单色辐射(对应于空气中波长为550nm的单色辐射),若在一定方向上的辐射强度为1/683Wsr,则光源在该方向上的发光强度为1cd照度:单位面积(被照射面)上入射的光通量。照度单位;勒克斯(1x)注:1kx的照度是比较小的,在此照度下仅能大致辨认周围物体。晴朗的盈月夜晚,地面照度大约为0.2x;白天采光良好的室内照度为100-500x;晴天室外太阳散射光下,地面的照度约为10001x;中午太阳光照射下,地面的照度可达100001x光出射度:单位面积(发光面)上发射的光通量。其单位:辐射勒克斯(rlx)。亮度(台湾又称辉度):在一个广光源上取一个单元面积dA,从与表面法线成角的方向上去观察,在这个方向上的光强与所可见的光源面积之比,定义为光源在该方向的亮度。单位:尼特(坎德拉每平方米,cdm2)。注:太阳的亮度为1.6*10E9以上,碳极弧光灯(1.8-12)*10E8,钨丝灯(2.0-20)*10E6,蜡烛(0.5-1.0)*10OE4,蓝天0.8*10E4暗适应:由光亮处进入到黑暗处,开始一切都看不见,经过一段时间才能看见物体轮廊。所需时间较长,一般几分钟以上。明适应:有暗处进入到亮处时,开始也不能辨别物体,几秒到几十秒后才能看清物体。在有明暗变化的视场内,应考虑照明的过渡。后像:在高亮度的闪光之后,往往会感到有一连串的影像,以不规则的强度和不断降低的频率正负交替出现,即后像。强烈的后像对视力工作有很大害处。应避免。眩光:视场中有极高的亮度或强烈的亮度对比时,会造成视觉下降和眼睛的不舒适,这种现象称为眩光。前者为失能眩光,后者为不舒适眩光。不舒适眩光取决于视场内的尺寸亮度数量位置以及背景亮度等原素。注:一个明亮光源发出的光线,被一个有光泽或半光泽的表面射入观察者眼睛,可能产生轻度分散注意力甚至不舒适的感觉。当这种反射发生在作业面上时,称为“光幕反射”,如发生在作业面以外时,称为“反射眩光”。颜色:眼睛能够辨别背景上的被观察对象(细节),必须满足以下两个条件之对象与背景有不同的颜色(颜色对比),或者对象与背景在亮度上有一定的差别(亮度对比)。可见度(能见度,视度):表示被识别对象看清楚的程度。反射,折射,透射,吸收:1.据能量守衡定律,材料的反射系数+透射系数+吸收系数=1铝(普通)的反射系数为60-73%,吸收系数为2740%。铝(电解抛光)的反射系数为75-84%(光泽),62-70%(无光)。铬反射系数为65%,吸收系数为35%2.光的反射分类:定向反射( Specular reflection),散反射( Spread Reflection),漫反射( )effuse Reflection),混合反射( Compound Reflection)3.折射:水的临界折射角为48.5°,玻璃的临界折射角为30°到40°。玻璃的折射率为1.5左右。4.光的透射分类:定向透射,散透射( Spread Transmission),漫透射( DiffuseTransmission),混合透射( Mixed Transmission)5.光在玻璃表面垂直入射时,入射光在入射面被反射4%,在透过面被反射3-4%,被吸收2-8%,透过率为80-90%6.材料的表面的光反射和光透射具有光谱选择性。二、LED光学设计基础知识为了使LED芯片发出的光能够更好地输出,得到最大程度的利用,并且在照明区域内满足设计要求,需要对LED进行光学系统的设计。其中,在封装过程中的设计被称为一次光学设计;而在LED之外进行的光学设计被称为二次光学设计①一次光学设计LED芯片只是一块很小的固体,它的两个电极要在显微镜下才能看见,加入电流后它才会发光。在制作工艺上,除了要对LED芯片的两个电极进行焊接,从而引出正、负电极之外,同时还要对LED芯片和两个电极进行保护。因此,这就需要对LED芯片进行封装。在封装的过程中,为了能够最高效率地输出可见光的功能,需要进行光学设计,合适选择封装材料的形状、结构和材料,这种设计在业内被称为一次配光设计次配光设计主要是决定发光器件的出光度、光通量大小、光强大小、光强分布等。而影响封装出光效率的高低、效果的好坏,主要是由芯片、支架和模粒三要素来决定的。②二次光学设计在使用LED发光器件时,整个系统的出光效果、光强、色温的分布状况也必须进行设计,把器件发出的光线集中到期望的照明区域内,从而让整个LED照明系统能够满足设计的需要,这被称为二次光学设计。二次光学设计必须在LED发光器件次配光设计的基础上进行。一次配光设计是保证每个LED发光器件的出光质量,考虑将LED芯片中发出的光能尽量多地取出。而二次配光设计是考虑怎样把LED器件发出的光线集中到期望的照明区域上,从而让整个系统发出的光能满足设计需要。从某种意义上来说,只有封装设计即一次配光设计)合理,才能保证系统的二次配光设计顺利实现,从而提高照明和显示的效果。基于LED的二次配光设计,对最终的照明器件和产品的性能起着至关重要的作用。第一,部分光线未能达到有效的照明范围从而导致能量的损失,需要使用大数值孔径的光学系统对光线进行汇聚,进一步提高光能利用率;第二,封装之后,像面照度分布均匀性达不到改计要求,难以在每一点的照度值都大于要求的最低照度值,这都需要对LED进行二次配光设计。日前市场上常用的光学设计和分析程序主要有美国焦点软件公司开发的ZEMAX、 Optical Research Associates的 CODE V和 Light Tools、 Breault ResearchOrganization的ASAP以及 Lambda research的 TracePro等。ZEMAX是美国焦点软件公司所发展出的光学设计软件,可做光学组件设计与照明系统的照度分析,也可建立反射、折射、绕射等光学模型,并结合优化,公差等分析功能,是套可以运算 Sequential及Non- Sequential的软件。 ZEMAX不仅功能强大,而且具备直观性、软件灵活、优化快速、容易操作使用等优点,与其他软件不同的是 ZEMAX的CAD转档程序都是双向的,如IGES、STEP、SAT等格式都可转入及转出。当前有三种不同的版本: ZEMAX-SE(标准版); ZEMAX-XE(展版)ZEMAX-EE传专业版)。 ZEMAX在成像光学,特别是透镜设计方面应用十分广泛。CODE V是应用非常广泛的光学设计和分析软件,是世界上分析功能最全、优化功能最强的光学软件,为各国政府及军方研究部门、著名大学和各大光学公司广泛采用,并广泛适用于照相设备、摄影机和医疗器具等,功能强大使用简单灵活。其功能主要包括变焦结构优化和分析、环境热量分析、MIF和RMS波阵面基础公差分析、用户自定义优化、干涉和光学校正准直、非连续建模、矢量衍射计算及偏振、全球综合优化光学设计方法等。ASAP是 Breault Research Organization研制的一套不受限制的、非序列光线追迹软件。它具有对物理光学、成像系统和照明系统进行建模分析的强大功能,它的图形工具允许用户进行截图分析,或者对几何模型、光线追迹、分析结果进行三维演示。ASAP还可以分析散射、衍射、反射、折射、吸收、偏振、非序列光线追迹和高斯光束传播。Light Tools.是 Optical Research Associate制的一套全新的具有光学精度的交互式三维实体建模软件体系,它提供最现代化的手段直接描述光学系统中的光源、透镜、反射角、分束器、衍射光学元件、棱镜、机槭结构以及光路。由 Light Tools把光学和机械元件集合在统一的体系下处理,并配置“放置”光源、发射光线的非序列追迹强大功能,使它在系统初步设计、复杂系统设计规划、光机一体设计、杂光分析、照明系统设计分析、单位各部门间学术交流和数据交換、课题论证或产品推广等各环节中发挥重要的作用。TracePro是美国 Lambda Research公司开发的一款基于蒙特卡罗法( Mante Carlo)的非序列光线追迹(Non- Sequential Ray Tracing)软件,它是一套以符合工业标准的ACIS固体建模引擎为核心所发展出来的光学机构仿真软件,是一套结合了真实固体建模、强大光学分析功能、信息转换能力强及易上手的使用界面的仿真软件,它可将真实立体模型与光学分析紧密结合起来。目前,国际上在照明系统分析、传统光学分析、辐射度以及光度分析,在镜头杂散光分析、背光板、LED设计及应用、照明灯具、车灯、投影显示器等众多领域中已经大量采用该软件进行计算机辅助设计。本书主要采用该软件进行模拟设计(读者需对 TracePro软件的使用有一定了解,可以参考《 TracePro7.0中文使用手册》)。TracePro用于照明设计的一般流程如图1所示。建立模型□>建立模型建立光源优化属性结果不符合定义属性光线追迹结果分析图1模拟设计流程图三、几个知名品牌的LED模型下载地址下面是各个种类的LED模型下载地址,模型包括用在 Trace Pro里面的,也有Light Tools,,也有 ZEMAX的,下载下来直接在相应的软件上调用就可以了,十分方便。1.mh:http://www.philipslumileds.com/resources/design/listing.cfm?catoptical然后打开 Optical Design Resources点击LE链接2.lim(Cree):http:/www.cree.com/products/ledlamps.asp.然后打开 LED Components页面点击LED3.欧司朗http://www.osram-os.com/ray-filcs然后点击LED下载。第一章导光管设计实例在 TracePro中进行导光管设计,将使用到面平扫功能。主要步骤如下:打开 Trace Pro软件2.在下拉工具菜单 Insert选择实体模型 Insert/Primitive solids命令3.在基本实体模型设置对话框中,选择 Cylinder/Cone设置栏4.选中 Cylinder,在Bae下的 Major栏输入底面半径为2,在1op下的 Length输入30。如图1.1所示。■ nsert Pr盈itSolidsBlock Cylinder/Cone Torus I Sphere Thin Sheet IName: Obiect 1C Cylind. C Cone厂 EllipticalBTMajMajMinor aLength 30Base Posi tionBase rotationx:0Y:0Y:o2:in Degreesset,□li图1.15.点击 Insert插入,再点击缩放工具图标二如图1.2所示。ladel: [UntitledSurface 1tity 4Cyl/C图下一步将使用 Revolve对上面建立的导光管右端面进行旋转延伸操作:1.选中导光管右端面,即 Object 1下的 Surface22.执行下拉菜单 Edit/Surface/ Revolve命令。在 Revolve surface Selection对话框设置旋转角度为90度,半径为25mm。4.在位置坐标栏输入(0-2530);(100)。具体见图1.3所示。5.点击 Revolve surface插入旋转延伸。如图14所示。Revolve Surface Selection DXAngle 90planar suIfaces on副yDraft angle oin DegreesRadius250Positicn on axis of revolution Axis cf RevolutionPosition X 0Axis X 1Positon丫AxisY 0Position Z30Axis20Get Position fiom last mouse clickCalculate a Position using selected surfaceRevolve Surface图1.3Fuel: [Untitled1]回xobject I中 ur tace 0中 Surtace2Entity 4Model Source Radi anee图1最后将进行Swep面平扫,完成导光管的实体模型:1.选中端面 Surface3,执行下拉菜单 Edit/Surface/Sweep命令。2.在 Sweep Surface Selection对话框中,输入 Distance为l5mm,Draf为-2度。
- 2021-05-06下载
- 积分:1
ARM LINUX入门与实践
一个嵌入式爱好者的自学体验,从零介绍ARM和LINUX的方方面面博客稳阁丛书程方网名阿南曰曰强个嵌入式爱好者的自学体验南编著与实践京航空统无荟出版社内容简介本书是以作者自学、应用嵌入式 Linux时的笔记(包括实验、出现的问题、调试过程、经验总结等)为基础,再增加应用到的硬件平台而成的。全书以亲自制作实验平台硬件,亲自设计实验软件为线索,指导读者从零开始学习到最终掌握ARM和 Linux应用的方方面面。全书可以分成ARM硬件、ARM前后台系统应用和基于Lnux系统的应用3个部分。ARM硬件部分包括整个硬件的原理分析、原理图、PCB板的绘制、元件焊接、硬件的检测与调试。ARM前后台系统应用部分包括启动代码、处理器内部外设、扩展外部设备及接口等的所有底层软件分析与实现,还有 Bootloader、文件系统、GUI等的原理与实现。 Linux系统的应用部分包括基于PC机的操作、应用编程和驱动、嵌入式 Linux的汗发环境创建、各种硬件的驱动实现、网络编程、图形用户界面设计等。本书可作为有志于掌握ARM、 Linux等嵌入式技术的高校学生、工程师等的参考书。图书在版编目(CIP)数据ARM Linux人门与实践/程昌南,方强编著.一北京:北京航空航天大学出版社,2008.10ISBN978-7-81124-422-9I.A…Ⅲ.①程…②方…Ⅲ.①微处理器,ARM系统设计② Linux操作系统一系统设计Ⅳ.TP332TP316.89肀国版本图书馆CIP数据核字(2008)第150813号c2009,北京航空航天大学出版社,版权所有。未经本书出版者书面许可,任何单位和个人不得以任何形式或手段复制本书及光盘内容。侵权必究。ARM Linux入门与实践一个嵌入式爱好者的自学体验程昌南[网名阿南]编著方强责任编辑董立娟北京航空航天大学出版社出版发行北京市海淀区学院路37号(100191)发行部电话:010-82317024传真:010-82328026http://www.buaapress,comcnE-mail:bhpress@263.net涿州市新华印刷有限公司印装各地书店经销开本:787mm×960mm1/16印张:31.5字数:706千字2008年10月第1版2008年10月第1次印刷印数:;5000册ISBN978-7-81124-422-9定价:49.50元(含光盘1张)本书的使用及学习方法ARM和 Linux学习方法的体会如何才能学好或尽快上手ARM和 Linux?这是很多初学者想问的,也曾经在网上讨论过。其实学习没有捷径,主要还是取决于学习态度和学习方法。ARM、 Linux也一样,在此阿南根据自学过程中的体会和网上的讨论作一些总结。ARM的学习。有了单片机或计算机结构的基本知识、C语言的基础,上手ARM是比较容易的。学习ARM,首先应该了解一下ARM的体系结构,了解它有哪些版本、哪些模式、哪些寄存器、异常等。这方面的内容可以参考《ARM体系结构与编程》一书,这本书介绍的内容还是很全的,可以先快速地浏览特别是汇编指令不需要记住,以后应用时再查。其次选定一种具体厂家型号的ARM处理器,学习该处理器相关的开发工具的使用,如开发环境、仿真器及评估板等。然后可以分析该处理器的外围扩展方法,如 SDRAM、 NAND Flash等,一般官方或第三方都会提供原理图,可以用来分析。接下来要理解该处理器的启动过程,亲自尝试从块裸板逐步运行自己的应用程序,也可以参考官方的启动代码及例程。最后就可以调试、测试该处理器的各种外围部件,例如定时器PWM串口、LCD等,特别是中断及执行过程。Liux的学习。尽管我们最终应用的是嵌入式 Linux,但还是要先在PC机下学习,因为无论基于PC机还是嵌入式处理器的 Linux开发、编程、调试等都是相近的,而PC机的性能、资源等都更加丰富,嵌入式 Linux的开发环境通常也都建立在PC机 Linux环境下,另外Linux大量的书籍也都是针对PC机写的。阿南觉得学习的顺序应该是先在PC机上安装Linux系统,再参考相应的入门书籍,主要是熟悉 Linux环境,学习常用的命令和操作(不一定多,基本、常用的就可以,以后在使用过程中慢慢积累),理解各 Linux下的目录结构与作用等。其次,学习在Liπux环境下编程。可以参考《GNU/ Linux编程指南》或《UNX环境高级编程》,它们介绍了文件描述符的概念,打开读写等操作的系列基础知识;没有这些基础而直接看《 Linux设备驱动程序》会觉得困难。再次,了解一下 Linux内核源代码树的目录结构、编译等。最后,学习《 Linux设备驱动程序》,理解驱动程序的结构框架等。根据实践需要也可学习网络编程和图形用户界面GUI编程,可以参考学习《UNIX网络编程》和《C++ GUI Qt3编程》。另外由于 Qt GUI是基于C++的,所以需要学习C++的知识,也可以选择其他如Microwindows、 MiniGUI等。有了PC机的 Linux基础及编程知识后,就可以直接应用于嵌入式前言了!此时需要一个硬件平台(如开发板或直接的产品等目标系统)和该平台的开发环境。一般的处理器原厂或第三方都会提供开发环境,所以不需要我们移植,它包括建立在PC宿主机上的编译等工具和嵌入式 Linux内核(包括硬件驱动等BSP)源码。此时只须学习开发环境的建立和使用以及将PC机所学的知识应用于具体的嵌入式平台。如果涉及硬件及驱动那么应三该有一定的硬件调试和解决问题的能力,此时单片机、ARM基础及外围设备接口的调试能力将起到很重要的作用。很多朋友(包括非电子、自动化专业的朋友)都希望将来从事 Linux驱入门与实践入动方面的工作,认为学习了Limx驱动方面的知识就OK了而往往忽略硬件本身的调试解决问题能力,阿南觉得这是不正确的。因为 Linux驱动与前后台控制硬件外设的区别只在于它与应用程序的接口,它要遵循一定的结构和规则,这种规则涉及的也就是通常讲的 Linux驱动知识和技术,它是固定的,是容易掌握的,只要遵循就不会出问题。而硬件及外设是千变万化的,它所涉及的技术是多方面的,除处理器本身外,还有各种接口及协议、数字、模拟技术等。这些在设计、调试时是很容易出现问题的,此时要求我们有一定的调试、测试手段和方法。所以,阿南认为要想成为一名优秀的 ARM Linux驱动工程师,首先必须是一名优秀的、具有丰富调试经验的单片机或ARM处理器应用工程师本书的使用与相关知识的同步学习曾经有一个朋友这样告诉阿南:“如果看您的笔记就能掌握 ARM Linux驱动,那就是最好的目的了”。对不起,阿南做不到,写不出这种“葵花宝典”。这本书的前身是在21CBBS上发表的《嵌入式 Linux人门笔记》,主要是阿南在自学 Linux和在项目中应用 Linux时记录的笔记、出现的错误和心得等,是自己平时工作中非常重要的参考手册。发表后得到众网友的喜爱、支持及北航出版社胡晓柏主任的鼓励,故花更多的时间、精力将笔记丰富出版。嵌人式是一门实践性很强的技术,而《嵌入式 Linux入门笔记》主要记录的是 Linux等相关的软件部分,没有包括硬件相关的部分,为了让读者能够亲自实践,故增加了ARM及硬件部分。并且亲自设计了AN2410SSB(最小系统板)和AN2410MB(扩展底板),给出了所有原理图,介绍了制作过程,记录了用裸板开始调试的步骤和过程,介绍了如何让ARM运行及启动等各方面的内容,以及前后台(无操作系统下)的应用等。本书没有将所涉及的技术及理论都包括进来,不仅篇幅有限,而且也没有必要,因为已有太多相当经典的资料。本书第1章为概述。第2章分析了硬件的原理图,读者应该阅读S3C2410A的数据手册,特别是信号引脚功能描述,内存控制部分。第3章主要介绍了关于 Protel原理图和PCB板的绘制,如果读者没有 Prote的基础可以参考人民邮电出版社的《电路设计与制版— Protel99入门与提高》或其他 Protel书。如果有 Protel基础,只是没有绘制过多层板,那么可以参考人民邮电出版社的《 Protel99E多层电路板设计与制作》。第4章介绍了S3C2410A系统核心部分的调试方法和工具的使用,以及利用工具进行测试的方法、手段。该部分是整个系统的基础,也是非常重要的,读者需要多试验,出现问题时多参考S3C2410A的数据手册。第5章专门分析了S3C2410A的启动代码,用于理解S3C2410A的启动过程,中断处理过程及存储器等前言相关部分,也是非常基础和重要的。因为启动代码由汇编组成,此时可参考清华大学出版社的《ARM体系结构与编程》,学习理解ARM的汇编语言等相关知识。第67章为硬件平台上实现ARM的外围实验和扩展实验读者仍然要参考S3C240A的数据手册,在仿真调试情况下理解ARM内部的寄存器、存储器、状态寄存器等与ARM体系相关的知识。另外还要阅读如WAv音频格式,SD卡规范及相关的数据手册等。CPLD部分读者可以参考电子工业出版社的《基于 Quartus II的FPGA/CPLD设计》,学习基本的工程创建,图形设计输入,编译和编程等。 Altera cpld更详细的资料可以去官网下载。第8章介绍了前后台系统还需要考虑的相关知识: NAND Bootloader、文件系统和图形界面。图形界面部分,读者需要理解一些基本的绘图原理和算法,可以参考机械工业出版社的《计算机图形学的算法基础》。第9章介绍了在PC机下的 Linux各方面技术,这些都是嵌入式 Linux的基础,非常重要,涉及的知识内容也很多。在该章中,阿南只是总结了一些实践操作的部分内容所以还需要读者自己去参考学习Linux的这些书籍: Linux系统的基本操作参考清毕大学出版社的《 Red hat linuⅹ9系统管入门与实践理》(这本书应该被实践安装的桌面 Linux系统相应版本的书替代),应用编程参考清华大学出版社的《GNU/Linuⅹ编程指南》或机械工业出版社的《Uniⅸx高级环境编程》,驱动编程参考中国电力出版社的《 Linux设备驱动程序》。第10章主要介绍S3C2410A的嵌入式 Linux开发环境的搭建及工具的使用。这里采用的是MIZI公司的 Linux for s3C2410平台,读者也可以直接参考《 MIZI Linux sdk for s3C2410》文档。第11章介绍在S3C2410A下实现 Linux驱动,很多原理性的知识依然要参考《 Linux设备驱动程序》一书,而且要多试验验证。读者在调试实现过程中也可以直接参考 Linux for s3C2410的内核源码中和硬件、驱动相关的代码例子(可以在 Windows系统下安装 Source insight软件,方便阅读 Linux内核源代码)。第12章介绍嵌人式 Linux桌面系统,可读写文件系统 YAFFS的实现,嵌入式Web服务器BOA、NFS及WIFI。这些都是实践性很强的应用操作,所以读者主要是应用它们,出现问题时上网查找相关应用操作,寻找解决问题的思路,再测试验证。第13章是网络编程方面的知识,主要参考清华大学出版社的《UNIX网络编程第1卷:套接口API》,目的是掌握TCP客服机/服务器的实现及网络的调试方法。第14章介绍嵌人式GUI开发环境的创建和开发方法,桌面系统的移植。学习前读者应该先学习基于Qt的应用编程,可以参考北航出版社的《C++GU1Qt3编程》,如果没有C++的基础可以参考清华大学出版社的《C++程序设计教程》。致谢感谢我的导师(也是本书的另一位作者)—方强多年来的关心与指导,且对本书付出的辛苦劳动。感谢我的公司——广州市天誉创高科技有限公司及同事们,他们对本书提供了很大帮助。段克为本书绘制了部分电路图,丁亚锋为本书编写并调试了部分程序。另外,还要感谢曾水生、李玉琪、刘卫国、张端峰、龙靖、彭雄飞、王勇、黄焕立、王菊林、黄斌、何运辉、吴建、方斌、黄伟、傅良英、胡孝发、黄志艳、张凯、欧孔德、梁家乐、宁雪玉、蔡青青及蓝萍等人的帮助。前言感谢深圳英蓓特公司提供 Realview mDK开发工具及相关资料和技术支持。感谢EDN网为本书创立书友会(hp:// group. ednchina, com/999/)和开展本书的AN2410SSB学习板助学等活动。感谢北京航空航天大学出版社嵌入式系统事业部主任胡晓柏的信任与鼓励,感谢21CBBS上网友们的支持、建议和帮助。感谢我的父母、老师、姐姐、姐夫及所有亲戚朋友们,你们的关心与爱都是阿南不断前进的动力。入门与实践阿南的技术水平、经验都还很欠缺,书中的错误和不妥之处在所难免,恳请广大读者朋友们批评指正;也欢迎登陆21CBBS的ARM论坛或《 ARM Linux人门与实践》书友会与阿南交流,共同提高。阿南2008年9月自序嵌入式自学经历和体会目的回想从2000年自学单片机开始,到后来的ARM,再到 Linux,自己经历了很多,也体会了很多,有经验也有教训,所以希望通过此次机会与读者相互交流,也让更多的爱好者在自学过程中有所借鉴。如果能得到您的共鸣,可以发送电子邮件给阿南:c422@hotmail.com。初识单片机和电子竟赛大一的暑假没有回家,留在学校里希望能向师兄学点技术,后来他向我推荐了单片机和全国大学生电子竞赛。和普通学生一样,阿南认为能参加电子竞赛是多么自豪呀!且对单片机很是好奇,于是去图书管借了些基础书来阅读,很快就被它的强大功能吸引,也产生了迅速学好、将来参加电子竞赛的念头买仿真器,下定决心学好单片机当时学校还没有开模拟、数字电子等专业基础课程,所以学习单片机还是很困难的,一般阿南都拿两三本单片机基础书一起对照着看,旁边还放着模拟、数字等基础教程以便查阅。暑假很快就过去了,期间虽然专心学习,但进展很慢,后得到师兄的指点:要想学好单片机,必须要有个仿真器实践大概1500元。这么贵?(这对农村孩子来讲,实在太贵了!另外买了之后,还不一定就能学会呢!)经过一个星期的思想斗争,终于下定决心要买。当时的想法是这样:“从小家里就穷,家人为了阿南付出了很多心血,所以阿南必须学好技术,好将来回报他们;要参加电子竞赛且取得好成绩,在技术上必须要超越同学、师兄及其他院校的同齡人,而论聪明、基础不可能占优,唯有比他们更早开始,更加勤奋和善于思考;是的,很心疼父母的这些辛苦钱,也正是这个原因更促使阿南尽最大努力,更加勤奋地学习”。培养兴趣,它是最好的老师买了仿真器后,阿南比以前任何时候都更加勤奋了:图书馆、书店找书学习,独自骑两小时自行车买器件,万能板上焊接电路,学习自己编程,用仿真器仿真,万用表测量各种信号变化等。对于单片机,阿南到了近乎疯狂的地步,调试遇到困难时的痛苦、解决问题后的畅快和兴奋,都让阿南对它产生了很深的感情,也已不再是在当初的巨大压力和包袱下学习了,而是在种很浓厚的兴趣下享受着它带来的喜怒哀乐。自序冲破难关,学会独立时间过的真快,自学单片机已经一年了,在这期间阿南对51系列单片机的原理已经理解得差不多了,也实验、测试了所有的片内外设,但只有并行通信测试还一直没有成功过,就是ADCo809的A/D转换实验。这个实验已经断断续续调了近两个月,分析了书上所有的相关内容,对原理也已经很清楚了,但仿真器就是采集不到正确的数据。当时遇到困难时没有像现在这样方便的网络,也没有示波器,只能分析书本和凭自己的想象和试验,另外总是期盼着师入门与实践兄能帮助解决。后来静下心来想了各种解决测试的方法和线索,一个个排除,最终在仿真器说明书中发现“POD52仿真头的P0、P2口只能用作IO用,POD51可以作为总线用”。由于直使用POD52的仿真头,所以读/写等信号都没有出来,换成POD51果然就成功了。(当时真的很兴奋!)之后,单片机学习就变得非常顺利,一般的系统都能独自完成,也终于可以自豪地宣告:阿南的单片机人门啦。在这一过程中阿南体会到了独自思考、解决问题的重要性,也明白了开发工具在实践过程中所起到的作用。(其实很多问题是要用示波器测试和请求工具厂商技术支持的。)上帝是公平的,机会留给有准备的人人门单片机后,不仅自己做些小课题,也用它完成课程设计、参加校里组织的竞赛等。虽然没有参加院里的工程师摇篮协会,但自己的勤奋、动手能力及对单片机的执着还是得到了老师的肯定。初识贾老师(负责组织参加全国大学生电子竞赛相关事务的老师)时,他给了一道1999年的竞赛题——工频真有效值表。该题有很多的运算,考虑到汇编语言实现的难度,所以阿南学习用C语言为单片机编程。由于大一时开过C语言的基础课,再加上良好的汇编语言基础能力,这个课题很顺利地完成了。之后,贾老师将阿南推荐给方老师,目的很明确:学好单片机,备战2003年SONY杯全国大学生电子设计竞赛。有了方老师的指导,再加上实验室的各种硬件,阿南开始了一个新的阶段:不仅学习单片机和C语言编程,还要学习单片机以外的相关技术,如 Protel绘制原理图、PCB制板;学习各种总线和协议,学习电动机控制等;还要学习PLC、MCGS组态软件以及VB。这2年半的时间里,阿南早已不仅仅是为了竞赛更多的是在体会和享受着整个学习过程。回想自己5年的大学学习生活,感觉真的很幸运,最初的王师兄,后来的贾老师和方老师、女朋友及所有帮助过阿南的朋友,在此对他们表示衷心的感谢,感谢他们总是在适当的时候出现指导和帮助阿南,让阿南为之感动,为之奋斗。同时,也深深体会一个道理:机会总是留给足够真诚,足够勤奋、执着,有所准备的人;连自己都不能感动,何以感动别人?感动上帝?坎坷的一年,技术上的追求而不断放弃工作当同学们纷纷进入大中专院校,从事让多少人羡慕的稳定的教师职业时,阿南却选择了南下打工,希望在技术上有更高的造诣。当时ARM在国内已经流行,阿南和广大爱好者一样,和当年初识单片机一样,也被它深深地吸引。辗转了几家公司后,终于可以从事单片机的应用开发。半年后,阿南作出了一个让
- 2021-05-06下载
- 积分:1