前言:中文期刊网精心挑选了嵌入式电路设计教程范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
嵌入式电路设计教程范文1
【关键词】基准源;Altium Designer;电路设计
随着电子技术的飞速发展及印制电路板加工工艺的不断提高,印制电路板的设计和制作的要求也越来越高。Altium Designer凭借其使用方便且功能强大等特点成为电子企业广泛使用的制作印制电路板的软件之一。本文根据基准源电路的实例通过Altium Designer软件对设计电路板时的常见问题和技巧进行了总结。
1 基准源原理框图
2 项目文件的建立
2.1 原理图文件的建立
1)新建jizhunyuan.PrjPcb项目,再新建原理图jizhunyuan.SchDoc文件,文件命名中英文皆可。
2)放置元器件。放置元器件后先修改参数,主要包括修改元件编号和封装[1]。修改技巧如下。
技巧一:相同元件可以先全部放完,再批量修改参数。快捷批量修改属性可通过“Find Similar Objects…”进行修改。
技巧二:相同元件可以自动编号,编号顺序可以从上到下,也可以从左到右等,可以按照自己的习惯进行任意顺序的编号。
3)绘置库元件[2-3]。当默认的元件库中不包括所需绘制的元件时,可分以下三种情况进行绘制。
情况一:根据实物的外形和管脚的分配进行绘制。
情况二:在元件库中找相似的元件符号进行编辑。
情况三:直接替代。直接替代的话注意编辑封装时,封装的引脚顺序必须和实物完全一致,否则实际焊接时会出现错误。例如元件库中没有MAX232芯片,只有排针Header 8×2,可以用该排针直接进行替代,但是封装须编辑为MAX232芯片的实际封装。
在绘制库元件时还有些注意事项。
事项一:在绘制库文件时,要在十字架的中心处绘制元件的图形边框和放置管脚,否则将无法准确地在原理图中对绘制好的库元件进行移动。
事项二:在放置元件引脚时,带电气特征的引脚一端向外(将视图放大后,引脚两端中有四个白点的一端具有电气特性,方向必须朝外),否则当元件调入原理图中时会连不上线。
事项三:元件管脚的注释(“Display Name”)最好与实际管脚的功能一致或接近,以增强原理图的可读性。
事项四:如果库中元件有相似的元件,只需对元件的引脚进行编辑,可先放置库中已有的元件后,双击元件将“Lock Pins”选项的勾去掉以解锁引脚,编辑完后再对引脚“Lock Pins”选项进行勾选,这样能更加快捷地绘制出元件符号。
4)布局连线
布局需按照电路的功能进行合理的分区,如电源区、模拟电路区、数字电路区等,这样便于检查连线是否正确。各个分区间通过网络标号进行连接,以便于绘制、检查、修改,同时也增强了原理图的可读性和美观性。本文设计的基准源原理图如图2所示。
2.2 PCB文件的建立
1)在项目文件jizhunyuan.PriPcb中新建PCB文档。
2)在原理图编辑器下,检查每个元件的封装是否正确。有两个方面需要特别注意。
方面一:封装的尺寸必须和实物的尺寸完全一致,否则实际焊接时会出现焊接不上的现象。
方面二:元件封装的引脚序号必须与元件在原理图中的引脚序号一样,否则就会出现加载网络表后在PCB板中元件没有连接的现象。例如电阻在原理图中元件的引脚序号为1和2,而在其对应的封装中引脚序号为A和K,则必须将引脚序号更改为一致(如都为1和2)。
3)制作封装库[4]。默认封装库中没有所需的封装时,可根据以下两种情况进行制作。
情况一:精确测量实物实际尺寸进行封装的绘制。
情况二:精确测量实物实际尺寸在已有的封装库中对相似的封装进行编辑。
同时,制作封装时放置的焊盘其中心孔要比器件引线直径稍微大些,这样方便焊接。当然,焊盘也不宜太大,太大易形成虚焊。
4)将原理图jizhunyuan.SchDoc导入到PCB板中。
5)元器件布局
布局时要将电路板合理分区,通常分为电源区、模拟电路区、数字电路区、功率驱动区、用户接口区等,这样能够减小导线的长度,也能降低布线的复杂度。各个区按各自的电气特性放置元件,不可交叉放置元件,否则会出现导线的相互交叉,不容易实现良好的布线。
6)布线规则参数设置[5]。布线规则参数设置主要包括设置安全距离,线宽,布线层等。参数的设置有以下技巧。
技巧一:地线应尽量宽,且最好大面积敷铜,这能在很大程度上改善接地点问题。
技巧二:根据印制线路板中电流的大小来设计电源线的宽度。尽量加粗电源线宽度,以减少环路电阻。
技巧三:通常情况下,信号线宽度设为10mil-15mil(常取12mil),电源和地线宽度设为30mil-50mil(常取40mil)。
7)布线。布线具有若干规则。
规则一:石英晶体振荡器下要大面积覆铜,不应穿过其它信号线,这样才可以使石英晶体振荡器产生稳定的振荡。
规则二:电容引线不能太长,尤其是高频旁路电容不能有引线,以减少干扰。
规则三:地线、电源线的走向和数据传递的方向应一致,这样有助于抗噪声能力的增强。
规则四:大面积铜箔应尽量避免,否则,在长时间受热后易出现铜箔膨胀和脱落现象。必须用大面积铜箔时,最好采用栅格状,这样有利于铜箔与基板间粘合剂受热产生的挥发性气体的排出。
规则五:双层板布线时两面的导线宜相互交叉,以减小寄生耦合[6]。
8)DRC检查。布线设计完成后进行DRC检查,同时确认所制定的规则是否满足实际生产印制板的需求。
3 结论
本设计应用Altium Designer绘图软件完成了基于触摸技术的多功能基准源设计原理图绘制,以及总结了使用该软件设计印刷电路板过程中的注意事项,极大地提高了设计的效率。当然,正确把握设计规则,熟练运用技巧,才能快速地设计出所需的电路板。
【参考文献】
[1]闫胜利.Altium Designer实用宝典:原理图与PCB设计[M].北京:电子工业出版社,2007:78-80.
[2]谷树忠,刘文洲.Altium Designer教程:原理图、PCB设计与仿真[M].北京:电子工业出版社,2010:84-88.
[3]江思敏,胡烨.Altium Designer原理图与PCB设计教程[M].北京:机械工业出版社,2009:57-59.
[4]韩国栋,赵月飞,娄建安.Altium Designer Winter09电路设计入门与提高[M].北京:化学工业出版社,2010:104-110.
嵌入式电路设计教程范文2
关键词:FPGA;软件开发;编码规范;硬件描述语言
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)06-0070-02
The FPGA Coding Standards in the Process of Software Development
LUO Chuan-hui1,2,3
(1.No. 38 Research Institute, China Electronic Technology Group Corporation, Hefei 230088, China;2.Key Laboratory of Aperture Array and Space Application, Hefei 230088, China;3.Key Laboratory of Intelligent Information Processing, Hefei 230088, China)
Abstract:Hardware description language to make the FPGA (field programmable gate array) chip development with characteristics software, coding standards is software quality assurance, can effectively improve the efficiency of software development. From naming, typesetting format, statement integrity, annotation, the structure of the code, code optimization are introduced several aspects, such as the FPGA software coding standard content, improve the work efficiency, improve the testability, improve the reusability, lower maintenance cost Angle the FPGA software coding standard role in the development process are summarized.
Key words: FPGA; software development; coding standards; hardware description language
1 背景
FPGA (现场可编程门阵列)芯片的出现,大大压缩了电子产品研发的周期和成本,它所具有的高密度、低功耗、高速、高可靠性等优点,使其在航空、航天、通信、工业控制等方面得到了广泛的应用。随着芯片规模加大,承担任务的加重,开发周期缩短,如何高效、高质量开展设计,成为FPGA芯片开发工作的重点。FPGA芯片的多样化要求代码具有超强的可移植能力。
硬件描述语言是当前FPGA芯片开发过程中使用的最主要输入方式,通过行为描述实现逻辑电路和系统的设计,使FPGA芯片开发具有了软件设计的特征。为了实现FPGA设计需求,软件开发单位需要制定相应的编码规范,对程序员的编程行为进行约束,包括命名规则、排版格式、注释、代码结构、代码优化等编码过程中需要注意的编程细节。
FPGA编码规范是行业中约定俗成的,是长期经验的总结和集体智慧的结晶,能够指导设计工程师正确编写代码,提高代码的整洁度,便于跟踪、分析、调试,便于整理文档,便于交流合作。从而达到提高设计效率、优化电路、降低设计成本的效果。
2 编码规范内容
FPGA软件编码规范是软件开发单位制定的关于硬件描述语言编码方面约定,主要包括命名规则、排版格式、语句的完整性、注释的明确性、嵌套层次限制等方面需要注意的编程事项,以对设计人员的编程行为进行约束。
2.1 命名规则
能够有助于阅读者快速理解编码,便于交流合作。命名规则规定在命名实体名、结构体、端口、信号、变量等名称时,必须采用具有确定意义并且相互之间存在一定的逻辑关系标识,以及标识字符的大小写要求。例如,端口、信号或变量标识通常包含诸如出处、有效状态等基本含义。
2.2 排版格式
能够提高代码的整洁度和可读性,在一定程度上减少缺陷被引入的机会,降低维护成本。排版格式规定代码统一缩进格式,每行代码的长度,端口、信号、变量、常量排列顺序、表达式的书写等方面的要求。例如,端口按输入、输出分类有序排列。
2.3 语句完整性规则
能够解决一致性问题,降低RTL代码中引入的错误。语句完整性规定编码过程中语句、状态的完整性,时序电路的敏感量完整性,以及信号、变量的初始化、复位等要求。例如,条件语句IF中的ELSE、选择语句CASE中的OTHERS不能被忽略。
2.4 注释规则
解决代码的可读性和可维护性。注释规则约定编码过程中注释的内容和排版位置,要求一个完整的软件程序应有明确的注释,主要包括:序言性注释、端口注释、功能性注释、软件模块注释等。例如,代码序言应包括代码的功能、代码适用范围、代码的作者、代码版本信息等等。
2.5 代码结构规则
解决代码可读性、可重用性、可维护性问题。代码结构规则对代码结构、模块划分、模块层次、参数化设计、条件语句多级嵌套的策略等提出要求。例如,所有产生时序控制的逻辑放在同一个模块中。
2.6 代码优化规则
解决代码执行效率、可靠性问题。代码优化规则对复位信号、时钟信号的处理,输出信号处理、模块调用、状态机编码以及悬空管脚、跨时钟域、数据类型、边界条件等方面的约定。例如,每个模块尽量用一个时钟,禁止用门控时钟。
3 编码规范的作用
3.1 提高工作效率
超大规模FPGA芯片特别是SOC类的FPGA芯片出现,使得FPGA芯片能够用在大型电子系统中。多功能FPGA芯片软件设计任务需要由多人共同承担,软件开发由单打独斗的个人行为变成团队活动。编码规范能够使所有团队成员遵守共同统一的全局决策,以清晰并且一致的风格进行编码,成员之间可以轻松地阅读对方的代码,易于相互理解及交流,多人设计能够无缝对接。
3.2 提高测试性
为了减少FPGA软件缺陷,提高设计质量,在软件开发的各个阶段开展相应的测试,FPGA软件测试分为基于EDA工具和基于人工检查两种方式,基于 EDA工具检查的方式需要先对RTL代码进行编译,按照一定的规则转换成能被工具识别的逻辑电路,再用已有的度量模型定量地评价软件的内在质量。编码规范能使输入的RTL代码被EDA工具正确识别,保证自动检查能够顺利进行。基于人工检查方式,是由测试人员通过人工阅读代码的形式检查软件代码,找出代码其中存在的故障和违反开发标准之处以及其他一些问题。编码规范让代码审查有据可查,大大提高了审查效率和效果。
3.3 提高重用性
在FPGA软件开发过程中,代码或IP核重用是很常见的现象。代码风格的一致性,能使开发人员更迅速、更容易理解其他人的代码;代码结构规则使代码具有良好的扩展性和重用性,能够快速、便捷移植;优化规则总结了EDA工具对RTL代码要求,能够保证RTL代码在任何EDA工具下仿真、编译和综合的正确性和一致性,消除代码集成时逻辑综合产生的风险,顺利实现在不同厂家以及不同系列芯片之间移植。
3.4 提高可靠性
由于FPGA芯片能够兼顾性能、成本以及灵活性等诸多方面,很多航空、航天设备开始使用这种芯片,其性能将直接影响整个系统的可靠性。完整性规则、优化规则能够有效减少RTL代码引入的不确定因素,降低电源、环境温度变化对可靠性影响,减少功能仿真与门级电路之间存在偏差。
3.5 降低维护成本
FPGA软件开发过程中的代码质量直接影响着维护的成本。维护工作不仅仅是读懂原有代码,而是需要在原有代码基础上做出修改。在没有规范的情况下,设计人员、维护人员各自按自己的习惯命名和编码,后续代码维护人员很难读懂和维护。因此,统一的风格有利于长期的维护。代码结构规则对功能分类及代码耦合性做出的约束,降低了代码修改以及扩展的难度和工作量。
4 结束语
一部完善的FPGA软件编码规范能够将编码从个人行为变成组织行为,最大限度的实现经验共享,避免同样错误重复出现,提高团队开发的合作效率。能够有效地增加代码的可读性,降低维护成本,提升代码的运行效率,增强代码的可重用性和可靠性,从而实现逻辑功能正确,综合结果最优的编码目标。
参考文献:
[1] 孙晓东. FPGA软件设计[J]. 电脑编程技巧与维护, 2010(12): 5-6.
[2] 张建飞. 基于航空领域嵌入式软件代码审查的研究[J]. 科技创新与生产力, 2015(10): 108-109.
[3] 何成巨, 郭薇. 浅谈软件编程中的代码规范问题[J]. 电脑知识与技术, 2011, 7(26): 6409-6410.
[4] 杨冰娥. 代码规则自动化检查系统的设计与实现[D]. 成都: 西南交通大学, 2014.
[5] 李大勇. 浅谈软件开发中代码规范的问题[J]. 电子技术与软件工程, 2015(15): 50-50.
[6] 刘宇翔. 软件项目管理的流程设计分析[J]. 科技资讯, 2010(36): 33-33.