ANSYS_WORKBENCH设计、仿真与优化
《ANSYSWorkbench设计、仿真与优化》以最新版ANSYSWorkbench11.0为依据,以工程人员产品设计的流程为主线,由浅入深地介绍了ANSYSWorkbench在产品设计、仿真与优化过程中的具体功能、使用方法和应用实例。ⅣANSYS Workbench设计、仿真与优化4.2.1基础…………484.2.2分析关键………494.2.3分析步骤……………………………………494.3振动电机轴谐响应分析……………….544.3.1基础………………54………54.3.3分析步骤……………………………………………………………554.4机柜随机振动分析…………………………………………………………614.4.1基础……………………………………………………………614.4.2分析关键…………………………………………………624.4.3分析步骤………………………………………………………62第5章机构运动学分析…………………675.1机构运动学分析基础………………………………………………………675.2轻型打桩机机构运动学分析……………………………………685.2.1工程背景……………………………………………5.2.2分析关键…………………………………………685.2.3分析步骤…………69第6章热力学分析………………………………………756.1热分析基础…………………………………………………………756.2汽缸盖稳态温度场分析……………………………………………766.2.1工程背景766.2.2分析关键………………………………………………………776.2.3分析步骤……………………………………776.3涡轮增压器涡壳瞬态温度场分析和热应力分析………………………………806.3.1工程背景………………………………………………806.3.2分析关键………6.3.3分析步骤…………………………81第7章疲劳分析……………………………………………………867.1疲劳分析基础……………………………………:867.1.1疲劳分析定义……………………………………………867.1.2 AWE Fatigue程序处理疲劳问题的过程………………862按键疲劳分析………………………………………………………877.2.1工程背景………………………………………………………877.2.2分析关键…………………887.2.3分析步骤…………………………………………………887.3轮毂疲劳分析………………………………………………………………92日录7.3.1工程背景………927.3.2分析关键………27.3.3分析步骤……93第8章优化设计……………………………………………………………………968.1优化设计基础……………………………………………968.1.1优化设计的基本原理…968.1.2优化设计的分类………………………………………………………978.1.3AWE优化设计的分析步骤………………988.2支架拓扑结构优化设计………………………………………………………998.2.1工程背景………8.2.2分析关键…………………………………………998.2.3分析步骤…98.3散热器形状优化设计……………………………………………………………1028.3.1工程背景………………………………………………………1028.3.2分析步骤…………………103第9章二次开发1109.1二次开发基础………………………………………………………11109.2参数化程序设计语言……………………………………………………1109.2.1APDL简介…………………………1109.2.2APDL的参数和宏………………………………………………1119.2.3气动刹车装置非线性分析12…………………………119.3用户操作向导……………………1159.3.1 Wizard简介…………………………………………………………1159.3.2操作向导编辑器…………………………………11169.4客户化定制…………1179.4.1SDK简介………………………………………………………………1179.4.2客户化定制实例…………………………………………………118第1章 ANSYS Workbench基础1.1 ANSYS Workbench概述随着计算机辅助工程(CAE)技术在工业应用领域中的广度和深度的不断发展,它在提高产品设计质量、缩短周期、节约成本方面发挥了越来越重要的作用。目前,CAE分析的对象已由单一的零部件分析拓展到系统级的装配体,如飞机、汽车等整机的仿真。同时,其分析的领域已不再仅仅局限于结构力学,已涉及流体力学、热力学、电磁学、多场耦合等更加丰富的物理空间。而且,CAE分析不再仅仅是专职分析人员的工作,设计人员参与CAE分析已经成为必然ANSYS Workbench Environment(AwE)作为新一代多物理场协同CAE仿真环境,其独特的产品构架和众多支撑性产品模块为产品整机、多场耦合分析提供了非常优秀的系统级解决方案。它所包含的3个主要模块:几何建模模块( Design Modeler)、有限元分析模块( Design Simulation)和优化设计模块( Design Xplorer)将设计、仿真、优化集成于一体,可便于设计人员随时进入不同功能模块之间进行双向参数互动调用,使与仿真相关的人、部门、技术及数据在统一环境中协同工作。具体来讲AWE具有的主要特色如下。1.强大的装配体自动分析功能针对航空、汽车、电子产品结构复杂,零部件众多的技术特点,AWE可以识别相邻的零件并自动设置接触关系,从而可节省模型建立的时间。而现行的许多软件均需要手动设置接触关系,这不但费时同时还容易出错。除此之外,AWE还提供了许多工具,以方便手动编辑接触表面或为现有的接触指定接触类型。AWE提供了与CAD软件及设计流程之间的无与伦比的整合性,从而发挥CAE对设计流程最大限度的贡献。最新的AWE使用接口,可与CAD系统中的实体及曲面模型双向连接,具有更高的CAD几何导入成功率。当CAD模型变化时,不需对所施加的负载和支撑重新定义。AWE与CAD系统的双向相关性还意味着,通过AWE的参数管理可方便地控制CAD模型的参数,从而提高设计效率;AWE的这一功能,还可对多个设计方案进行分析,自动修改每一设计方案的几何模型。2.自动化网格划分功能许多CAE用户都花大部分的时间在建立网格上,AwE在大型复杂部件,如飞机组装配件的网格建立上独具特色,自动网格生成技术可大大节省用户的时间。根据分析类型不同,有很多因素影响分析的精度。传统的专业分析人员花大量的时间和训练来掌握各种分析,手动处理模型以保证分析的精度;而对于设计人员来讲,他所关注的应该是自己的产品设计,而不是有限元方法,因此需要一个可靠的工具来替代传统的工具,尽可能实现自动化。AWE的自动化网格划分功能如下:自适应网格划分,对于精度要求高的区域会自动调整网格密度ANSYS Workbench设计、仿真与优化·自动化网格划分,生成形状、特性较好的元素,保证网格的高质量。·自动收敛技术,是自动迭代过程,通过自适应网格划分以使指定的结果达到要求的精度。例如,如果对装配中某一个零件的最大应力感兴趣,可指定该零件的收敛精度。·自动求解器选择,AWE根据所求解问题的类型自动选择适合的求解器求解。智能化的负载和边界条件自动处理。3.协同的多物理场分析环境及行业化定制功能CAE技术涵盖了计算结构力学、计算流体力学、计算电磁学等诸多学科专业,而航空产品的设计对这几个学科专业都有强烈的CAE需求。单个CAE软件通常只能解决某个学科专业的问题,导致使用者需要购买一系列由不同公司开发的、具有不同应用领域的软件,并将其组合起来解决其实际工程问题,这不但增加了软件投资,而且很多问题会由于不同软件间无法有效而准确地传递数据而根本不能实现真正的耦合仿真计算。目前,全面的、真正的“多物理场耦合分析”(如图1.1所示)时代已经来临,多场分析能力已经成为现代CAE软件技术水平的重要标志。多组分/多相流}(流体力学)[可压缩流H高级辐射高级疲劳高度非线性共轭传热结构力学多物理场耦合(温度场非线性非线性/辐射时/频域动力稳态/瞬态线性静力低频电磁场}(电磁场)M高导/对流图1.1现代高级CAE软件AWE组合分析能力4.快捷的优化工具 DesignXplorerAWE本身既是一个成熟的多物理场协同CAE仿真平台,又是一个基于最新软件技术的开放式开发平台,利用其开发包 Workbench SDK可以非常便捷地实现诸如专用程序开发、流程自动化和简化、专家经验的保存和固化、分析规范的保存和固化、自有程序的包装、其他程序的集成等众多的用户化开发功能。在 Workbench基础上,设计与分析间的关系就简化为:·分析部门(或人员)根据需求为设计部门量身定做各种特定产品的专用分析程序,这些程序融专家经验、自有程序、分析规范等为一体,完全专用化和自动化,一次定制,终身受益;设计部门(或人员)在针对性极强的专用程序上轻松实现设计分析-优化评价等工作;AWE多物理场协同仿真环境充分体现了 ANSYS公司“面向实实在在的工业需求,以技术为本,以优化用户产品研发流程为目标,为用户提供完整CAE解决方案”的宗旨。在AWE环境下,整个CAE应用的方式和意义都将发生革命性的变化。仿真分析的目的是优化产品性能,AWE/ DesignXplorer是基于DSDB数据库文件的参数优化工具,结合CAD系统/AGP和 Design Space/AWE进行优化:在CAD系统/AGP中第1章 ANSYS Workbench基础3·进行参数化建模,在 Design Space或AWE中进行初步的分析,并确定感兴趣的参数,在DesignXplorer中进行参数优化优化参数可以是CAD模型的几何参数、结构形式、施加的边界条件、求解得到的分析结果等,也可以是由这些参数进行数学运算后派生出来的参数,既可以进行连续性参数和离散化参数的优化,又可以进行单目标或多目标的优化,得到设计空间的三维设计响应面/二维设计曲线,并自动根据优化结果更新几何模型文件。因此,作为新一代多物理场协同CAE仿真环境,AWE以其独特的产品架构和众多支撑性产品模块已为越来越多的产品提供了非常优秀的系统级解决方案1.2 ANSYS Workbench产品设计流程和文件格式1.2.1 ANSYS Workbench产品设计流程AwE提供一个集成统一的仿真环境帮助工程人员完成产品CAE开发的全过程。在AWE环境下,典型的项目开发,包括以下模块:DesignModeler,几何建模和CAD模型导入模块;Design Simulation,结构、热和电磁有限元分析模块;Design Xplorer,最优化设计模块。AwE统一的开发环境以及具有攀升化的设计方案,帮助企业真正实现产品设计仿真到优化的协同。其中, Design Simulation与CAD系统之间可进行双向模型参数互动、可将 ANSYS嵌入CAD运行环境,使用CAD环境中的几何模型的链接,不存在模型转换失真的棘手问题。同时, Design Simulation从CAD中导入装配体时可以自动建立装配接触关系。这样,设计人员可以在 Design Simulation中进行零件以及装配体性能的初步快速分析,并确定感兴趣的区域和性能,再利用 Design Simulation中高端CAE仿真工具和疲劳分析模块一 Fatigue Module对产品强度、动力学特性以及疲劳寿命进行深入的认知,确定优化设计参数,最后在多目标优化模块一 Design Xplorer中同步优化参数,改进产品设计。软件系统的主框架如图1.2所示。ANSYS WorkbenchDesignModelerE Design Simulation Design Xplorer图1.2AWE系统框架图除了上述的主要流程模块之外,AWE还包括以下辅助模块:Engineering Data,用于设定材料和载荷加载信息;FE Modeler,用于输入来自 NASTRAN, ABAQUS,或 Design Simulation所建立的网格模型,作为 ANSYS有限元分析的输人,它也能将网格模型反演生成几何模型;ANSYS AUTODYN,爆炸、冲击等结构显式动力学分析模块。ANSYS Workbench设计、仿真与优化1.2.2文件格式AWE中涉及的主要文件的类型及格式如表1.1所示表1.1AWE中文件格式说明文件名类型说明obname, wbdbWorkbench项目数据库文件,用于管理项目中的不同类型模块文件bname agdbDesign Modeler数据库文件,用于存储几何模型信息jobname cmdbCFX- Mesh数据库文件,用于存储流体网格信息jobname dsdbDesign Simulation数据库文件,存储结构、热和电磁仿真中的所有模型信息obname, edbEngineering Data数据库文件jobname fedbFE Modeler数据库文件,用于存储从 NASTRAN或 DesignSimulation输入的网格信息jobname adANSYS AUTODYN数据库文件,用于存储显式分析软件 AUTODYN必需的信息jobname ddbDesignXplorer数据库文件,用于存储优化方程中设计参数和目标参数的关联信息13安装和起动配置1.3.1 ANSYS Workbench11.0安装安装 ANSYS Workbench1.0前需要将 Windows2000打SP2补丁( Windows XP打SP1补丁),并安装IE6.0以上。另外,系统的日期和时间,要是当前的日期和时间。具体的安装步骤如下。(1)放入安装光盘,在弹出的“ ANSYS DVD Launcher”窗口中,选择“Next”,进入下一级安装窗口,如图1.3所示。ANSYS Products 11.0for Windows 32-bitOperating SystemsANSYS图1.3 ANSYS DVD Launcher窗口1第1章 ANSYS Workbench基础(2)在弹出窗口(如图1.4)中,选择安装的产品“ ANSYS Products”,并在接下来的安装语言窗口,选择“ English”,进入下一级安装界面。ANSYS ProductsInstall ProductsANSYS AA图1.4 ANSYS DVD Launcher窗口2(3)在图1.5所示的弹出窗口中,选择“ L AGREE”后,单击“Next”,进人到下一级安装界面ANSYS需oLGRIEsiDoN et图1.5 InstallShield wizard窗口1(4)根据您的需求选择安装的路径(如图1.6),单击“Next”后进入到“ Select Installation Components"。(5)在图1.7所示的窗口中选择完毕后一直单击“Ncxt”,安装程序开始安装ANsYs11.0。(6)在图1.8所示的窗口中单击“ Finish”,完成软件安装。(7)回到步骤(2)中的“ ANSYS DVD Launcher”窗口,单击“ License Management”,出现下一提示画面(如图1.9),问是否是 license server machine,选择“是(Y)(8)出现下一提示画面(如图1.10),问是否有 license文件,选择“否(N)(9)出现下一提示画面(如图1.11),问是否继续安装,选择“是(Y)ANSYS Workbench设计、仿真与优化图1.6 Installshield wizard窗口2ANSYSwr图1.7 InstallShield Wizard窗口3ANSYS图1.8 InstallShield Wizard窗口4
- 2020-12-05下载
- 积分: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