版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、吉林大学珠海学院 毕毕 业业 设设 计计 基于基于 fpgafpga 的出租车计费器系统的出租车计费器系统 的设计的设计 系系 别别: :电子信息系电子信息系 专专 业业 名名 称称: :电子信息科学与技术电子信息科学与技术 学学 生生 姓姓 名名: : 学学 号号: : 指导教师姓名、职称:指导教师姓名、职称: 完成日期 2010 年 5 月 1 日 吉林大学珠海学院本科毕业论文(设计)开题报告吉林大学珠海学院本科毕业论文(设计)开题报告 选 题基于 fpga 的出租车计费器系统的设计 院 系电子信息系专 业电子信息科学与技术 学生姓名指导教师 本选题的意义及国内外发展状况: 由于现场可编程
2、逻辑阵列 fpga 具有开发简单、静态可重复编程和动态再系统 编程等特点,已经成为当今应用最广泛的可编程专用集成电路之一。随着微电子技 术的迅猛发展,速度更快、集成度更高的 fpga 不断出现,芯片上包含的资源也越 来越丰富,可实现的功能越来越强,这使得 fpga 在电子电路设计中扮演的角色越 来越重要。 我国在 70 年代开始出现出租车,但那时的计费系统大都是国外进口不但不够 准确,价格还十分昂贵。随着改革开放日益深入,出租车行业的发展势头已十分突 出,国内各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示 路程(需要司机自己定价,计算后四舍五入) ,到能够自主计费,以及现在的
3、能够 打发票和语音提示、按时间自主变动单价等功能。随着城市旅游业的发展,出租车 行业已成为城市的窗口,象征着一个城市的文明程度。在国内外,现在各大中城市 出租车行业都已普及自动计价器,所以计价器技术的发展已成定局。而部分小城市 尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展, 计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。 研究内容: 一:fpga 的概述。 二:计费器总体结构与基本原理。 三:fpga 的硬件设计。 四:计费器系统的软件设计。 五:系统仿真。 研究方法、手段及步骤: 1. 原理图设计:针对本设计进行相关硬件的原理设计,配合查阅
4、网上资料 2. 用 protel 软件绘制原理图 3. 用 vhdl 语言进行软件设计 4. 用 max+plus对出租车计费系统进行仿真 参考文献: 1 金西.vhdl 与复杂数字系统设计m.西安:西安电子科技大学出版社, 2003:107-150. 2 高有堂.eda 技术及应用实践m.北京:清华大学出版社,2006:96-152. 3 赵曙光,郭万有,杨颂华等.可编程逻辑器件原理、开发与应用m.西安:西 安科技大学出版社,2006:56-158. 4 胡振华.vhdl 与 fpga 设计m.北京:中国铁道出版社,2003:127-154 5 刘明业,蒋敬旗,刁岚松译.硬件描述语言 ver
5、ilogm.北京:清华大学出版社, 2001:89-106. 6 王振红.综合电子设计与实践m.北京:清华大学出版社出版, 2005:124-145. 7 王诚,吴继华,范丽珍等.aleara fpga/cpld 设计(高级篇)m.北京:人民 邮电出版社,2005:54-69. 8 顾斌,赵明忠,姜志鹏等.数字电路 eda 设计m.电子科技大学出版社, 2004:263-267. 9 周立功.arm 嵌入式系统基础教程m.北京:航空航天大学出版社,2005:5- 22. 10 周立功,夏宇闻单片机与 cpld 综合应用技术m.北京:航空航天大学出版 社,2003:79-98. 11 求是科技.
6、cpld/fpga 应用开发技术与工程实践m.北京:人民邮电出版社 2005:129-156. 12 曹昕燕,周凤臣,捏春燕.eda 技术实验与课程设计m.北京:清华大学出版 社,2006:125-145. 13 xilinx. using block ram in spartan-3 generation fpgasm.2005.3. 基于 fpga 的出租车计费器系统的设计 摘 要 随着可编程逻辑器件设计技术的发展,每个逻辑器件中门电路的数量越来越多,一个逻 辑器件就可以完成本来要由很多分立逻辑器件和存储芯片完成的功能。这样做减少了系 统的功耗和成本,提高了性能和可靠性。fpga 就是目前
7、最受欢迎的可编程逻辑器件之一。 该系统利用 vhdl 语言、pld 设计出租车计费系统,以 max+plus软件作为开发平台, 设计了出租车计费器系统程序并进行了程序仿真。使其实现计费以及预置和模拟汽车启 动、停止、暂停等功能,并动态扫描显示车费数目 关键词: fpga, 出租车计费器,max+plus,vhdl 语言 the designs of the rental car costs system on fpga abstract with the development of programmable logic device (pld) design technology, the
8、number of logic gate in every logic device increases dramatically. the logic device can realize the functions which can also be fulfilled by many discrete devices and memory chips. the usage of pld can reduce the power dissipation and cost of the system. it can also improve the performance and relia
9、bility. field programmable gate array (fpga) is one of the most popular programmable logic devices. this system using the vhdl language, pld design rental car costs the system, develops the platform by the max+plussoftware achievement, has designed the rental car fare register system program and has
10、 carried on the procedure simulation. causes its realization to cost as well as the initialization and the simulation automobile starts, stops, function and so on suspension, and dynamic scanning demonstration fare number. keywords:fpga;the rental car costs the system;max+plus;vhdl language 目目 录录 前
11、言 .1 第一章 绪 论 .3 1.1 fpga 的概述 .3 1.2 fpga 的优越性.3 1.3 eda 发展概况 .4 1.4 课题设计意义.7 第二章 总体结构与工作原理 .9 2.1 fpga 结构 .9 2.2 fpga 设计流程 .9 2.3 fpga 的硬件结构图 .10 2.4 出租车计费工作原理.11 2.5 出租车计费器系统软件结构图.11 第三章 基于 fpga 的硬件设计 .12 3.1 电源电路设计.12 3.2 下载配置的电路设计.12 3.3 fpga 芯片及其外围电路设计 .13 3.3.1 fpga 芯片.13 3.3.2 按键和 led.14 3.3.3
12、 复位 .14 3.3.4 外部时钟 .15 3.3.5 滤波电容 .15 3.3.6 用户扩展接口 .15 第四章 出租车计费器系统的软件设计 .17 4.1 系统的总体框图.17 4.2 程序流程图.18 4.3 系统各功能模块的实现.18 4.3.1 信号输入模块 jifei 的实现 .18 4.3.2 数据转换模块 x 的实现 .19 4.3.3 显示模块 xxx1 的实现 .19 4.3.4 数据选择模块 se 的实现 .20 4.3.5 数码管译码模块 di 的实现 .20 第五章 系统仿真 .21 5.1 信号输入模块 x 的仿真结果.21 5.2 数据转换模块 jifei 的仿
13、真结果.21 5.3 显示模块 xxx1 的仿真结果.22 5.4 数据选择模块 se 的结果验证.22 5.5 数码管译码模块 di 的结果验证.22 结 论 .24 附录 .25 致 谢 .35 前 言 随着出租车行业的发展,对出租车计费器的要求也越来越高。二十世纪后半期,随 着集成电路和计算机技术的飞速发展,数字系统也得到了飞速发展,其实现方法经历了 由分立元件、ssi、msi到lsi、vlsi以及uvlsi的过程。同时为了提高系统的可靠性与通 用性,微处理器和专业集成电路(asic)逐渐取代了通用全硬件lsi电路,而asic以其体积 小、重量轻、功耗低、速度快、成本低、保密性好而脱颖而
14、出。目前,业界大量可编程 逻辑器件(pld),尤其是现场可编程逻辑器件(fpld)被大量地应用在asic的制作当中。在 可编程集成电路的开发过程中,以计算机为工作平台,融合了应用电子技术、计算机技 术、智能化技术最新成果的电子设计自动化(eda)技术主要能辅助进行三方面的设计工作: ic设计,电子电路设计以及pcb设计 理想的可编程逻辑开发系统能符合大量的设计要求:它能够支持不同结构的器件, 在多种平台运行,提供易于使用的界面,并且有广泛的特征。此外,一个设计系统应该 能给设计师提供充分自由的设计输入方法和设计工具选择。altered公司开发的 max+plus开发系统能充分满足可编程逻辑设计
15、所有要求。 max+plus设计环境所提供的灵活性和高效性是无可比拟的。其丰富的图形界面, 辅之以完整的、可及时访问的在线文档,使设计人员能够轻松、愉快地掌握和使用 max+plus软件。 编程器是一种专门用于对可编程器(如eprom,eeprom,gal,cpld,pal等)进行 编程的专业设备 pld器件的逻辑功能描述一般分为原理图描述和硬件描述语言描述,原理图描述是一 种直观简便的方法,它可以将现有的小规模集成电路实现的功能直接用pld器件来实现, 而不必去将现有的电路用语言来描述,但电路图描述方法无法做到简练;硬件描述语言 描述是可编程器件设计的另一种描述方法,语言描述可能精确和简练地
16、表示电路的逻辑 功能,现在pld的设计过程中广泛使用。常用的硬件描述语言有abel,vhdl语言等,其 中abel是一种简单的硬件描述语言,其支持布尔方程、真值表、状态机等逻辑描述,适 用于计数器、译码器、运算电路、比较器等逻辑功能的描述;vhdl语言是一种行为描述 语言,其编程结构类似于计算机中的c语言,在描述复杂逻辑设计时,非常简洁,具有很 强的逻辑描述和仿真能力,是未来硬件设计语言的主流。 vhdl就是超高速集成电路硬件描述语言。覆盖面广,描述能力强,是一个多层次的 硬件描述语言。在vhdl语言中,设计的原始描述可以非常简练,经过层层加强后,最终 可成为直接付诸生产的电路或版图参数描述。
17、具有良好的可读性,即容易被计算机接受, 也容易被读者理解。使用期长,不会因工艺变化而使描述过时。因为vhdl的硬件描述与 工艺无关,当工艺改变时,只需修改相应程序中的属性参数即可。支持大规模设计的分 解和已有设计的再利用。一个大规模的设计不可能由一个人独立完成,必须由多人共同 承担,vhdl为设计的分解和设计的再利用提供了有力的支持。 第一章 绪 论 1.1 fpga 的概述 fpga(fieldprogrammable gate array),即现场可编程门阵列,它是在 pal、gal、cpld等可编程器件的基础上进一步发展的产物。它是作为专用集成电路 (asic)领域中的一种半定制电路而出
18、现的,既解决了定制电路的不足,又克服了原有可编 程器件门电路数有限的缺点。 eda是电子设计自动化(electronic design automation)的缩写,在20世纪60年代中 期从计算机辅助设计(cad)、计算机辅助制造(cam)、计算机辅助测试(cat)和计算机辅 助工程(cae)的概念发展而来的。 1.2 fpga 的优越性 eda 出现之前,人们用传统的自下而上的硬件电路设计方法来设计系统。其主要步 骤是:根据系统对硬件的要求,详细编制技术规格书,并画出系统控制流图;然后根据 技术规格书和系统控制流图,对系统的功能进行分化,合理地划分功能模块,并画出系 统功能框图;接着就是进
19、行各功能模块的细化和电路设计;各个模块的工能调试完以后, 将各个模块的硬件电路连接起来,再进行调试,最后就完成整个系统的硬件电路设计。 这种传统的电路设计方法的系统仿真和调试要在系统的硬件完成后才能进行,因此存在 的问题只有在后期才能发现,一旦考虑不周,就要重新设计,使得设计的费用和周期增 大。另外,由于设计文件是原理图,如果设计的系统比较复杂,那么其原理图就要成千 上万张,给存档、阅读和修改都带来了不便。 随着大规模专用集成电路的开发和研制,为了提高开发的效率和增加已有开发成果 的可继承性,缩短开发周期,各种新兴的eda 开发工具开始出现,特别是硬件描述语言 hdl 的出现,使得传统的硬件电
20、路设计方法发生了巨大的变革,就是从系统总体的要求 出发,自上而下的逐步将设计内容细化,最后完成系统的整体设计。这种自上而下的设 计方法的主要特点是: (1) 电路设计更趋合理 硬件设计人员在设计硬件电路时使用pld 器件,自行可以设计所需的专用功能模块, 而不需受通用元器件的限制,从而使电路设计更合理,其体积和功耗也大为缩小。 (2) 采用系统早期仿真 在自上而下的设计过程中,每级都进行仿真,从而可以在早期的系统设计中发现设 计存在的问题,这样就可以大大缩短系统设计的周期,降低费用。 (3) 降低了硬件电路设计难度 使用传统的硬件电路设计方法时,往往要求设计人员设计电路前写出该电路的逻辑 表达
21、式和真值表,然后进行化简等,这使得工作起来相当困难和烦杂,特别是在设计复 杂系统时,工作量大而且容易出错。fpga 使用hdl 语言(硬件描述语言) ,避免编写逻 辑表达式或真值表,使设计难度大大下降,设计周期也缩短了。 (4) 主要设计文件使用hdl 语言编写的源程序 eda 设计方法中主要使用的是hdl 语言,并可以将hdl 语言编写的源程序转换成 电路原理图形式输出。用hdl 语言编写的源程序作为归档文件有很多好处:一是资料量 小,便于保存;二是可继承性好;三是阅读方便。 1.3 eda 发展概况 电子设计技术的核心就是eda技术,eda是指以计算机为工作台,融合应用电子技 术、计算机技
22、术、智能化技术最新成果而研制成的电子cad通用软件包,主要能辅助进 行三方面的设计工作,即ic设计、电子电路设计和pcb设计。eda技术已有30年的发展历 程,大致可分为三个阶段。70年代为计算机辅助设计(cad)阶段,人们开始用计算机辅助 进行ic版图编辑、pcb布局布线,取代了手工操作。80年代为计算机辅助工程(cae)阶段。 与cad相比,cae除了有纯粹的图形绘制功能外,又增加了电路功能设计和结构设计, 并且通过电气连接网络表将两者结合在一起,实现了工程设计。cae的主要功能是:原 理图输入,逻辑仿真,电路分析,自动布局布线,pcb后分析。90年代为电子系统设计自 动化(eda)阶段。
23、 中国eda市场已渐趋成熟,不过大部分设计工程师面向的是pc主板和小型asic领域, 仅有小部分(约11%)的设计人员开发复杂的片上系统器件。为了与台湾和美国的设计工程 师形成更有力的竞争,中国的设计队伍有必要购入一些最新的eda技术。 在信息通信领域,要优先发展高速宽带信息网、深亚微米集成电路、新型元器件、计算 机及软件技术、第三代移动通信技术、信息管理、信息安全技术,积极开拓以数字技术、 网络技术为基础的新一代信息产品,发展新兴产业,培育新的经济增长点。要大力推进 制造业信息化,积极开展计算机辅助设计(cad)、计算机辅助工程(cae)、计算机辅助工 艺(capp)、计算机机辅助制造(ca
24、m)、产品数据管理(pdm)、制造资源计划(mrpii)及企 业资源管理(erp)等。有条件的企业可开展“网络制造”,便于合作设计、合作制造,参与 国内和国际竞争。开展“数控化”工程和“数字化”工程。自动化仪表的技术发展趋势的测试 技术、控制技术与计算机技术、通信技术进一步融合,形成测量、控制、通信与计算机 (m3c)结构。在asic和pld设计方面,向超高速、高密度、低功耗、低电压方向发展。外 设技术与eda工程相结合的市场前景看好,如组合超大屏幕的相关连接,多屏幕技术也 有所发展。 中国自1995年以来加速开发半导体产业,先后建立了几所设计中心,推动系列设计 活动以应对亚太地区其它eda市
25、场的竞争。 在eda软件开发方面,目前主要集中在美国。但各国也正在努力开发相应的工具。 日本、韩国都有asic设计工具,但不对外开放 。中国华大集成电路设计中心,也提供ic 设计软件,但性能不是很强。相信在不久的将来会有更多更好的设计工具有各地开花并 结果。据最新统计显示,中国和印度正在成为电子设计自动化领域发展最快的两个市场, 年复合增长率分别达到了50%和30%。 eda技术发展迅猛,完全可以用日新月异来描述。eda技术的应用广泛,现在已涉 及到各行各业。eda水平不断提高,设计工具趋于完美的地步。eda市场日趋成熟,但 我国的研发水平还很有限,需迎头赶上。(把这一页中的字母数字改为tim
26、es new roman格 式) 可编程逻辑器件自70年代以来,经历了pal、galgpld、fpga几个发展阶段,其 中cpldfpga高密度可编程逻辑器件,目前集成度已高达200万门片,它将各模块 asic集成度高的优点和可编程逻辑器件设计生产方便的特点结合在一起,特别适合于样 品研制或小批量产品开发,使产品能以最快的速度上市,而当市场扩大时,它可以很容 易地转换掩模asic实现,因此开发风险也大为降低。 硬件描述语言(hdl)是一种用于设计硬件电子系统的计算机语言,它用软件编程 的方式来描述电子系统的逻辑功能、电路结构和连接形式,与传统的门级描述方式相比, 它更适合大规模系统的设计。例如
27、一个32位的加法器,利用图形输入软件需要输人500至 1000个门,而利用vhdl语言只需要书写一行“abc”即可。而且 vhdl语言可读性 强,易于修改和发现错误。早期的硬件描述语言,如abel、hdl、ahdl,由不同的 eda厂商开发,互不兼容,而且不支持多层次设计,层次间翻译工作要由人工完成。为 了克服以上不足,1985年美国国防部正式推出了高速集成电路硬件描述语言vhdl,1987 年ieee采纳vhdl为硬件描述语言标准(ieee std -1076)。 vhdl是一种全方位的硬件描述语言,包括系统行为级。寄存器传输级和逻辑门多个 设计层次,支持结构、数据流和行为三种描述形式的混合
28、描述,因此vhdl几乎覆盖了以 往各种硬件俄语言的功能,整个自顶向下或由下向上的电路设计过程都可以用vhdl来完 成。vhdl还具有以下优点:(1)vhdl的宽范围描述能力使它成为高层进设计的核心,将 设计人员的工作重心提高到了系统功能的实现与调试,而花较少的精力于物理实现。(2) vhdl可以用简洁明确的代码描述来进行复杂控制逻辑设计,灵活且方便,而且也便于设 计结果的交流、保存和重用。(3)vhdl的设计不依赖于特定的器件,方便了工艺的转换。 (4)vhdl是一个标准语言,为众多的eda厂商支持,因此移植性好。传统的硬件电路设 计方法是采用自下而上的设计方法,即根据系统对硬件的要求,详细编
29、制技术规格书, 并画出系统控制流图;然后根据技术规格书和系统控制流图,对系统的功能进行细化, 合理地划分功能模块,并画出系统的功能框图;接着就进行各功能模块的细化和电路设 计;各功能模块电路设计、调试完成后,将各功能模块的硬件电路连接起来再进行系统 的调试,最后完成整个系统的硬件设计。采用传统方法设计数字系统,特别是当电路系 统非常庞大时,设计者必须具备较好的设计经验,而且繁杂多样的原理图的阅读和修改 也给设计者带来诸多的不便。为了提高开发的效率,增加已有开发成果的可继承性以及 缩短开发周期,各asic研制和生产厂家相继开发了具有自己特色的电路硬件描述语言 (hardware descript
30、ion language,简称hdl)。但这些硬件描述语言差异很大,各自只 能在自己的特定设计环境中使用,这给设计者之间的相互交流带来了极大的困难。因此, 开发一种强大的、标准化的硬件描述语言作为可相互交流的设计环境已势在必行。于是, 美国于1981年提出了一种新的、标准化的hdl,称之为vhsic(very high speed integrated circuit) hardware description language,简称vhdl。这是一种用形式化方法 来描述数字电路和设计数字逻辑系统的语言。设计者可以利用这种语言来描述自己的设 计思想,然后利用电子设计自动化工具进行仿真,再自动综
31、合到门电路,最后用pld实现 其功能。 覆盖面广,描述能力强,是一个多层次的硬件描述语言。在vhdl语言中,设计的原 始描述可以非常简练,经过层层加强后,最终可成为直接付诸生产的电路或版图参数描 述。 具有良好的可读性,即容易被计算机接受,也容易被读者理解。 使用期长,不会因工艺变化而使描述过时。因为vhdl的硬件描述与工艺无关,当工 艺改变时,只需修改相应程序中的属性参数即可。 支持大规模设计的分解和已有设计的再利用。一个大规模的设计不可能由一个人独 立完成,必须由多人共同承担,vhdl为设计的分解和设计的再利用提供了有力的支持。 当电路系统采用vhdl语言设计其硬件时,与传统的电路设计方法
32、相比较,具有如下 的特点: 即从系统总体要求出发,自上而下地逐步将设计的内容细化,最后完成系统硬件的 整体设计。在设计的过程中,对系统自上而下分成三个层次进行设计: 第一层次是行为描述。所谓行为描述,实质上就是对整个系统的数学模型的描述。 一般来说,对系统进行行为描述的目的是试图在系统设计的初始阶段,通过对系统行为 描述的仿真来发现设计中存在的问题。在行为描述阶段,并不真正考虑其实际的操作和 算法用何种方法来实现,而是考虑系统的结构及其工作的过程是否能到达系统设计的要 求。 第二层次是rtl方式描述。这一层次称为寄存器传输描述(又称数据流描述)。如前 所述,用行为方式描述的系统结构的程序,其抽
33、象程度高,是很难直接映射到具体逻辑 元件结构的。要想得到硬件的具体实现,必须将行为方式描述的vhdl语言程序改写为 rtl方式描述的vhdl语言程序。也就是说,系统采用rtl方式描述,才能导出系统的逻 辑表达式,才能进行逻辑综合。 第三层次是逻辑综合。即利用逻辑综合工具,将rtl方式描述的程序转换成用基本逻 辑元件表示的文件(门级网络表)。此时,如果需要,可将逻辑综合的结果以逻辑原理 图的方式输出。此后可对综合的结果在门电路级上进行仿真,并检查其时序关系。 应用逻辑综合工具产生的门网络表,将其转换成pld的编程码,即可利用pld实现硬 件电路的设计。 由自上而下的设计过程可知,从总体行为设计开
34、始到最终的逻辑综合,每一步都要 进行仿真检查,这样有利于尽早发现设计中存在的问题,从而可以大大缩短系统的设计 周期。 系统可大量采用pld芯片。 由于目前众多制造pld芯片的厂家,其工具软件均支持vhdl语言的编程。所以利用 vhdl语言设计数字系统时,可以根据硬件电路的设计需要,自行利用pld设计自用的 asic芯片,而无须受通用元器件的限制。 eda系统框架结构(framework)是一套配置和使用eda软件包的规范。目前 主要的eda系统都建立了框架结构,如 cadence公司的design framework,mentor公司 的falcon framework,而且这些框架结构都遵守
35、国际cfi组织制定的统一技术标准。框架 结构能将来自不同eda厂商的工具软件进行优化组合,集成在一个易于管理的统一的环 境之下,而且还支持任务之间、设计师之间以及整个产品开发过程中的信息传输与共享, 是并行工程和自顶向下设计施的实现基础。 eda技术的每一次进步,都引起了设计层次上的一次飞跃,从设计层次上分,70年 代为物理级设计(cad),80年代为电路级设计(cae),90年代进入到系统级设计(eda)。 物理级设计主要指ic版图设计,一般由半导体厂家完成,对电子工程师没有太大的意义, 因此本文重点介绍电路级设计和系统级设计。 仿真通过后,根据原理图产生的电气连接网络表进行pcb板的自动布
36、局布线。在制作 pcb板之前还可以进行pcb后分析,其中包括热分析、噪声及窜扰分析、电磁兼容分析、 可靠性分析等,并可将分析后的结果参数反标回电路图,进行第二次仿真,也称为后仿 真。后仿真主要是检验pcb板在实际工作环境中的可行性。 由此可见,电路级的eda技术使电子工程师在实际的电子系统产生前,就可以全面 地了解系统的功能特性和物理特性,从而将开发风险消灭在设计阶段,缩短了开发时间, 降低了开发成本。 系统级设计 进人90年代以来,电子信息类产品的开发明显呈现两个特点:一是产品 复杂程度提高;二是产品上市时限紧迫。然而,电路级设计本质上是基于门级描述的单 层次设计,设计的所有工作(包括设计忙
37、人、仿真和分析、设计修改等)都是在基本逻 辑门这一层次上进行的,显然这种设计方法不能适应新的形势,一种高层次的电子设计 方法,也即系统级设计方法,应运而生。 1.4 课题设计意义 出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是 出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广 大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一 个应用价值的。传统国内外出租车计费器多数由单片机实现,升级繁琐,成本高。以出 租车多功能计费器为例,传统的计费器常以mcs251系列单片机为其核心主控部件,如 89c51rc2, lpd78
38、f0034 等,该系列的单片机工作频率一般不大于24mhz,而且可扩 展的资源有限, 最大能够扩展的程序空间和内存空间一般都只有64kb,很难胜任出租车 多功能计费器的不断升级要求。传统的计费器通常采用硬件模块化的设计结构,主要包 括主控模块,电源模块, 按键显示模块,防作弊及脉冲输入模块以及税控模块等。在主 控模块中又包括cpu 子模块, 语音识别子模块,串口通信子模块,复位、看门狗及电源 监控子模块,打印子模块等,硬件电路复杂,不利于系统功能升级,容易在运营过程中 产生干扰,影响系统的使用; 并且由于分立器件多,必然造成电源功耗大,芯片易发热, 影响芯片的使用寿命。基于fpga的出租车计费
39、器不仅可以解决电子系统小型化、低功耗、 高可靠性等问题,而且其开发周期短、开发软件投入少、芯片价格不断降低,特别是对 小批量、多品种的产品需求,基于fpga的出租车计费器已成首选。计费系统在各大、中 城市出租车中使用越来越广泛。针对现有计费系统通用性差的缺陷,本文采用isp器件和 vhdl语言开发了一套出租车计费系统;该计费系统的可靠性高、成本低、通用性强;该 系统在不改变硬件电路的前提下,具有可以重构系统的功能,采用完全相同电路结构, 只要根据各地区的需求在vhdl程序中设置各参数,就可以适应各地区出租车不同计费标 准的需要,还可根据各地区需求增加其他功能。 第二章 总体结构与工作原理 2.
40、1 fpga 结构 fpga 一般由三种可编程电路和一个用于存放编程数据的sram 组成,这三种可编 程电路包括可编程逻辑块(clb) 、输入/ 输出模块( iob) 和互联资( ir) 。clb 是fpga 的主要组成部分,是实现逻辑功能的基本单元。它是由逻辑函数发生器、触发器、数据 选择器等电路组成。iob提供了器件引脚和内部逻辑阵列之间的连接;一般排列在芯片的 四周,主要由输入触发器、输入缓冲器、输出触发/ 锁存器和输出缓冲器组成。每一个 iob 控制一个引脚,可被配置为输入、输出活双向i/ o 功能。可编程互联资源包括各种长 度的金属连线和一些可编程连接开关,它们将各个clb 之间和i
41、ob 之间互相连接起来, 构成各种复杂功能的系统。 2.2 fpga 设计流程 可编程逻辑器件的设计是指利用 eda 开发软件和编程工具对器件进行开发的过程。 高密度复杂可编程逻辑器件的设计流程包括设计准备、设计输入、功能仿真、设计处理、 时序仿真和器件编程及测试等七个步骤。 (1)设计准备 在系统设计之前,首先要进行方案论证、系统设计和器件选择等准备工作。设计人 员根据任务要求,如系统的功能和复杂度,对工作速度和器件本身的资源、成本及连线 的可布性等方面进行权衡,选择合适的设计方案和合适的器件类型。一般采用自上而下 的设计方法,也可采用传统的自下而上的设计方法。 (2)设计输入 设计人员将所
42、设计的系统或电路以开发软件要求的某种形式表示出来,并送入计算 机的过程称为设计输入。设计输入通常有以下几种形式: 原理图输入方式 是一种最直接的设计描述方式,要设计什么,就从软件系统提供的元件库中调出来, 画出原理图。其优点是容易实现仿真,便于信号的观察和电路的调整;缺点是效率低。 硬件描述语言 是用文本方式描述设计。其突出优点有:语言与工艺的无关性,可以使设计人员在 系统设计、逻辑验证阶段便确立方案的可行性;语言的公开可利用性,便于实现大规模 系统的设计;具有很强的逻辑描述和仿真功能,而且输入效率高;在不同的设计输入库 之间的转换非常方便,不需要对底层的电路和 pld 结构的熟悉。 波形输入
43、方式 波形输入方式主要是用来建立和编辑波形设计文件,以及输入仿真向量和功能测试 向量。波形设计输入适用于时序逻辑和有重复性的逻辑函数。 (3)功能仿真 功能仿真也叫前仿真。用户所设计的电路必须在编译之前进行逻辑功能验证,此 时的仿真没有延时信息,对于初步的功能检测十分方便。 (4)设计处理 设计处理是器件设计中的核心环节。在设计处理过程中,编译软件将对设计输入 文件进行逻辑化简、综合优化和适配,最后产生编程用的编程文件。主要包括:语法检 查和设计规则检查,逻辑优化和综合,适配和分割,布局和布线。 (5)时序仿真 时序仿真又称后仿真或延时仿真。由于不同器件的内部延时不一样,不同的布局 布线方案也
44、给延时造成不同的影响。因此在设计处理以后,对系统和各模块进行时序仿 真,分析其时序关系,估计设计的性能,以及检查和消除竞争冒险等是非常有必要的。 实际上这也是与实际器件工作情况基本相同的仿真。 (6)器件编程测试 时序仿真完成后,软件就可产生供器件编程使用的数据文件。器件在编程完毕后, 可以用编译时产生的文件对器件进行校验、加密等工作。 2.3 fpga 的硬件结构图 本论文基于ep1c3t144 的fpga设计,结构框图如图2-1所示,原理图见附录1,包括 电源部分、按键和led、下载配置部分、复位部分、外部时钟、滤波电容、用户扩展接口、 5 1 单片机接口、fpga芯片,共9个部分。 le
45、d 外部时钟外部时钟 fpga 复位复位 开关开关 扩展接口扩展接口滤波电容滤波电容mcu 接口接口 接口接口 用户接口用户接口jtag电源电源 图 2-1 fpga 硬件结构框图 2.4 出租车计费工作原理 实际中出租车的计费工作原理一般分成 3 个阶段: (1)车起步开始计费。首先显示起步价(本次设计起步费为 7.00 元),车在行驶 3 km 以内,只收起步价 7.00 元。 (2)车行驶超过 3 km 后,按每公里 2.2 元计费(在 7.00 元基础上每行驶 1 km 车费加 2.2 元),车费依次累加。 (3)行驶路程达到或超过 9 km 后(车费达到 20 元),每公里加收 50
46、%的车费,车费变成 按每公里 3.3 元开始计费。车暂时停止(行驶中遇红灯或中途暂时停车)不计费,车费保 持不变。若停止则车费清零,等待下一次计费的开始 2.5 出租车计费器系统软件结构图 (1) 根据出租车计费原理,将出租车计费部分由 5 个计数器来完成分别为 countera,counterb,counterc,counterd,countere。计数器 a 完成车费百位。计数 器 b 完成车费十位和个位。计数器 c 完成车费角和分。计数器 d 完成计数到 30(完 成车费的起步价) 。计数器 e 完成模拟实现车行驶 100 m 的功能。 (2)行驶过程中车费附加 50%的功能:由比较器实
47、现。 (3)车费的显示:由动态扫描电路来完成。用专用模块来实现,完成数据的输入即动态 数据的显示。 (4)通过分析可以设计出系统的顶层框图如图 2-2 所示: 图 2-2 系统的顶层框图 第三章 基于 fpga 的硬件设计 3.1 电源电路设计 板子由外部提供5v 电源,使用的圆头插座的封装,可以直接用5v 的电源适配器插 上使用,不需要直流稳压电源,fpga 的io 的电源是3.3v,内核的电压是1.5v,所以用 上两个leo,一个将5v 转到3.3v,另一个将3.3v 转到1.5v,加上一些滤波电容,板上 的其他外设的电源均是3.3v,另外有3.3v 的电源指示灯,表示电源是否正常,还有防
48、反 插二极管,防止电源反插,对器件造成损坏电路图如图3-1所示。 图 3-1 电源电路图 3.2 下载配置的电路设计 大家都知道fpga是sram 型的可编程逻辑器件,不像rom型可编程器件cpld那样, 通过jtag就可以直接把代码固化片子里面。fpga 随便也可以通过jtag 下载代码到片 子里面运行。fpga下载到片子里面代码是存放在ram里,所以断电后这些代码马上就没 有了。这样,fpga就需要非易失性存储器用来存放代码,每次上点后把代码从配置芯片 读扫fpga然后运行。我们选用altera 公司配套的as 模式的配置存储器epcs1,成本 比较低,并且很容易配置。 调试的时候流程是:
49、修改设计,编译然后通过jtag下载到fpga 内部运行,一直这 样进行直到设置成功,最后才把代码固化到配置存储器里面。 这样需要对jtag下载和epcs 下载,老的方案需要两种下载电路,现在我们根据新 的设计方案制了一块fpga 的下载板,既可以下载ftag,也可以下载epcs,另外对 altera 系列的所有的可编程器件都支持。下载配置部分电路图如图3-2所示。 图 3-2 下载配置电路原理图 3.3 fpga 芯片及其外围电路设计 3.3.1 fpga 芯片 fpga 一共144 个引脚就是和以上8 个部分连接,如图3-3所示。 这块板子既可以单独使用,也可以配合51 的板子一起使用。单独
50、使用时,通过用户 接口和其他的电路连接,不同电路之间通信等。如果全局时钟不够,需要将预留给51 的 全局时钟资源拿来用。和51 配合使用的时候,51 和fpga之间是总线的接口,fpga相 当于是51 的一个存储器映射外设,操作的时候注意读写,另外不使用的时候要把数据线 变为三态。 图 3-3 fpga 芯片 3.3.2 按键和 led 板上提供4 个拨码按键和4 个led,分别接到fpga的8 个io 引脚上,具体的引脚 可以参看电路图或者丝印。按键和led 可以用外当成最简单的外设,用和来控制这些外 设。对于用该板作开发的用户来说,可以把按键当成键盘控制,而把led 当成提示来用。 3.3
51、.3 复位 开发板上有两个复位按键,一个叫做硬件复位,按下此键,所有fpga的代码重新从 epcs1里面读到fpga,程序从新开始运行,该引脚接到fpga 的nconfig 引脚,该引 脚为低电平是代码重新开始配置。另外一个复位按键连接到fpga 的另外一个全局时钟 上,用来表示在设计的过程中的reset 引脚。复位电路图如图3-4所示。 图 3-4 复位电路原理图 3.3.4 外部时钟 该板上接一个外部晶振,晶振的频率自己可以任选,我们提供的是10m 的晶振,用 来做全局时钟。 当然用户要是想用其他的全局时钟,就必须要把51 扩展部分的两个全局时钟连接其 他的时钟源。 3.3.5 滤波电容
52、滤波电容用来对fpga 电源滤波。 3.3.6 用户扩展接口 用户扩展接口一共有三组:分别是20 x2、10 x2、10 x2 的三组,用户根据自己的需要 扩展外部电路。 用这块板子作进一步的开发,一定要这些接口。比喻:用该板子作逻辑分析仪或者 波形发生器等,像被分析信号,da 信号等都要从该接口输入或者输出。如果需要和51 以外的单片机接口或者扩展也要通过这个端口。 图 3-5 mcu 接口电路图 第四章 出租车计费器系统的软件设计 4.1 系统的总体框图 各部分主要功能包括:信号输入模块对车轮传感器传送的脉冲信号进行计数(每转一 圈送一个脉冲),并以高低脉冲模拟出租汽车启动、停止、暂停、加
53、速按钮,具有输入信 号作用;数据转换模块将计费模块输出的车费和路程转换成4位的十进制数据;译码动 态扫描模块将路程与费用的数值译码后用动态扫描的方式驱动数码管;数码管显示模块 将公里数和计费金额均用4位led数码管显示(2位整数,2位小数)。 图 4-1 系统总体框图 4.2 程序流程图 图 4-2 程序流程图 4.3 系统各功能模块的实现 4.3.1 信号输入模块 jifei 的实现 图 4-3 信号输入模块 jifei 信号输入模块jifei见图4-3。输入端口start、stop、pause、js分别为汽车起动、 停止、暂停、加速按键;输出端口chefei12.0和luc12.0分别是输
54、出车费和路程。该 模块主要实现计费功能和现场模拟功能。计费标准为:对车轮传感器传送的脉冲信号进 行计数(每转一圈传送一个脉冲),按行驶里程计费,起步价为7.00元,并在车行3 km后按 车开始启动 里程不计数 里程计数里程显示 计费器计数车费显示 车跑完成一次后 车费、里程清零 yes yes yes no no 2.40元km计费,当计费器达到或超过20元时,每公里加收50的车费,车停止不计费。 并以高低脉冲模拟出租汽车启动、停止、暂停、加速按钮,具有输入信号的作用。 4.3.2 数据转换模块 x 的实现 数据转换模块x见图4-4。该模块把车费和路程转化为4位十进制数,daclk的频率要比
55、clk快得多。数据转换模块是一个模为10、步长可变的加法计数器,可将计费模块输出的 车费和路程转换成4位的十进制数。该模块通过开关量预置步长,当超过一定预置参数时 改变步长。计费模块也采用非压缩bcd码,但因步长不为1,所以在做非压缩bcd加法时 必须调整,否则可能导致在超过或未超过预置参数时出现超程错误。这里采用模仿微机 的af标志位,在其设立一个半进位标志,当累加和大于9或半进位标志为“1”时,对其累 加和调整。 图 4-4 数据转换模块 x 4.3.3 显示模块 xxx1 的实现 显示模块xxx1见图4-5。经过该八进制模块将车费和路程显示出来。显示模块是由 七段led数码管译码和动态扫
56、描显示两部分组成。采用的是共阴极七段数码管,根据十六 进制数和七段显示段码表的对应关系,其中要求路程和车费都要用2位小数点来表示,所 以须设置一个控制小数点的变量,即程序中的dp。这段程序所示的是在数码管的第二、 第六个后面显示小数点,实现了路程和车费都用2位小数点表示的功能。要注意的是如果 选择的扫描频率不合适,可能会出现小数点闪动的情况。但只要扫描频率不小于24 hz, 人眼就感觉不到显示器的闪烁。本系统采用36 hz的扫描频率,扫描脉冲由相应的外围电 路提供。 图 4-5 显示模块 xxx1 4.3.4 数据选择模块 se 的实现 数据选择模块se见图4-6。该模块输入端为时钟输入,输出
57、端为分频后数据选择输出, 实现数码管的位选。 图 4-6 数据选择模块 se 4.3.5 数码管译码模块 di 的实现 数码管译码模块di见图4-7,实现七段译码显示。 图 4-7 数码管译码模块 de 第五章 系统仿真 5.1 信号输入模块 x 的仿真结果 将车费和路程转换成4位的十进制如图5-1所示: 输入端为:daclk, ascore, bscore 输出端为:age, ashi, aqian, abai, bge, bshi, bqian, bbai; 图 5-1 信号输入模块 x 仿真波形图 5.2 数据转换模块 jifei 的仿真结果 该模块是模拟汽车的启动、停止、暂停、加速按键
58、,如图5-2所示: 输入端口为:stop, start, pause, js; 输出端口为:clk, b; 图 5-2 数据转换模块 jifei 仿真波形图 5.3 显示模块 xxx1 的仿真结果 该模块是将车费和路程显示出来如图5-3所示 输入端为:c, a1,a2,a3,a4,b1,b2,b3,b4; 输出端为:dp,d; 图 5-3 显示模块 xxx1 仿真波形图 5.4 数据选择模块 se 的结果验证 数据选择模块se仿真如图5-4所示: 输入端为:clk 输出端为:a 图 5-4 数据选择模块 se 仿真波形图 5.5 数码管译码模块 di 的结果验证 数码管译码模块di仿真的结果如
59、图5-5所示 输入端为:d 输出端为:q 图 5-5 数码管译码模块 di 仿真波形图 结 论 本文介绍了基于fpga的出租车计费器系统的设计方法,出租车计费器系统的设计能 按预期的效果进行模拟汽车启动、停止、暂停等功能,并设计动态扫描电路显示车费数 目,由动态扫描电路来完成。车暂时停止不计费,车费保持不变。若停止则车费清零, 等待下一次计费的开始。在出租车计费系统的5个模块中 ,重点在于jifei模块,x模块、 xxx1模块。jifei模块主要有汽车的启动、停止、暂停、加速按键;x模块主要是把车费 和路程转化为4位十进制;x模块是将车费和路程显示出来。各模块完成后,在将它们组 合成完整的出租
60、车系统,在设计过程中还需要改进的是控制系统的纠错功能。出租车计 费系统的设计中体现了vhdl覆盖面广,描述能力强,是一个多层次的硬件描述语言及 pld器件速度快,使用方便,便于修改等特点,本设计在实用方面具有一定的价值。 附录 附录附录 1: ep1c3t144 开发板的原理图 附录附录 2: ep1c3t144 开发板 pc 附录附录 3 1、信号输入模块 jifei 的程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity jifei is port (clk,start,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《仓库现场管理》课件
- 《仓库库存管理系统》课件
- 《小学细节描写》课件
- 单位管理制度集粹选集员工管理篇
- 单位管理制度合并汇编【职员管理】
- 四川省南充市重点高中2024-2025学年高三上学期12月月考地理试卷含答案
- 单位管理制度分享合集职员管理篇十篇
- 单位管理制度范文大合集【人事管理】十篇
- 单位管理制度呈现大全职工管理篇十篇
- 《运算律》教案(20篇)
- 产品经理必备BP模板(中文版)
- 维西县城市生活垃圾热解处理工程环评报告
- GB/T 9128.2-2023钢制管法兰用金属环垫第2部分:Class系列
- 网络经济学PPT完整全套教学课件
- 2023年主治医师(中级)-临床医学检验学(中级)代码:352考试参考题库附带答案
- 机械原理课程设计锁梁自动成型机床切削机构
- 顺产临床路径
- 人教版培智一年级上生活适应教案
- 推动架机械加工工序卡片
- RoHS检测报告完整版
- 中国近现代史纲要(上海建桥学院)智慧树知到答案章节测试2023年
评论
0/150
提交评论