找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于EDA层次化设计方法的出租车计费器设计

[复制链接]
admin 发表于 2013-3-22 23:23:54 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
摘要:出租车计费器一般采用以单片机为核心的设计方法,设计不够灵活方便。为此,在此介绍了采用EDA技术的层次化设计方法设计出租车计费器的方法。即用VHDL编写各个功能模块,实现低层设计;用原理图输入方式描述各模块间的关系,实现顶层设计。采用FPGA可编程逻辑器件为系统控制单元,无需添加外围电路,更新功能仅需修改软件。实验表明,该设计方法简单快捷,所设计的系统性能可靠。应用该方法设计的数字电子系统具有很强的灵活性。
关键词:EDA;VHDL;层次化;出租车计费器

0 引言
     EDA使用户在无需实际芯片、电路板和仪器仪表的情况下进行电路设计和分析;采用在系统编程技术,在现场对系统进行逻辑重构和升级,实现硬件设计软件化。
     EDA技术以可编程逻辑器件FPGA和CPLD及其开发系统为硬件平台,以EDA开发软件如Max+PlusⅡ为开发工具,基于逻辑功能模块的层次化设计方法设计数字系统。Max+PlusⅡ设计可采用原理图、硬件描述语言(VHDL)等多种输入方式,并支持这些文件的任意混合设计。对于不同层次,可采用不同的输入方式进行设计。由于VHDL擅长描述模块的逻辑功能,所以在对底层模块设计中,常采用VHDL进行描述,而原理图则擅长描述模块间的连接关系,故在顶层设计中,常采用原理图输入方法。出租车计费器通常以单片机为核心进行设计,本文以为它例介绍基于EDA技术的数字系统混合设计方法。

1 出租车计费器功能
     出租车计费器的功能要求:
     (1)实现出租车按行驶里程收费,起步费为7.0元;
     (2)行驶3 km后再按2元/km计费,车停时不计费;
     (3)能预置起步费和每公里收费,并能模拟汽车启动、停止、车速等状态。
     根据VHDL特点,设计者不再需要考虑选择固定功能的标准芯片,而是从实现系统功能与性能出发来,建立出租车计费器系统模块,如图1所示。
    20121107051646067803331.jpg
   

2 出租车计费器的设计与实现
     本系统分底层和顶层2个层次设计,底层设计采用VHDL编写各个功能模块,顶层设计采用原理图方式描述各模块间的连接。
2.1 底层文件的设计
     底层模块包括:出租车车速控制模块;计费器里程计数模块;计费器计费计数模块3个模块。
     以出租车车速控制模块为例介绍。
     出租车车速控制模块用于控制出租车的车速。图1中,当起/停开关及清零信号RESET都为“1”时,汽车启动就开始进入里程计数和计费器工作状态。通过改变“车速选择”端的输入值可以控制汽车行驶快慢。用CLK6作为车速控制模块的时钟输入,CLOCK6作为输出,用A、B作为车速选择变量,分别取值从“00”→“01”→“10”→“11”时,车速越来越块。其VHDL程序代码如下:
      20121107051646114683332.jpg
     以上程序代码经过编译后生成相应模块符号,如图2所示,供顶层设计时调用。
    20121107051646161553333.jpg
   
     程序经过时序仿真后的波形,如图3所示。
    20121107051646192803334.jpg
   
2.2 顶层原理图设计
     顶层设计采用原理图输入方式。通过调用生成的各模块符号,并将它们作适当连接以实现顶层文件的设计。出租车计费器的顶层设计电路,如图4所示。
    20121107051646255303335.jpg
   
     图4中,ko1,ko2为车速控制开关;clk为时钟信号;reset为复位信号;up_down为起/停控制信号;count为预置每公里收费的信号;load为预置使能信号;dd为预置起步费信号;out5,out4为记录里程的整数位;out6为记录里程的小数位;outl,out2为记录费用的整数位;out3为记录费用的小数位。
2.3 顶层文件仿真与下载
     顶层原理图经过编译后生成顶层文件,对顶层文件进行仿真,结果正确后,利用Altera公司的FPGA芯片EPF10K3LC84-3及其SE-5M型开发系统进行下载。下载结果显示,所设计的出租车计费器完全符合设计要求。

3 结语
     由上述设计实例可见,采用EDA技术设计数字系统则是一种基于逻辑功能模块的“自上而下”层次化设计方法。即从整个系统功能与性能优化出发,将系统分解为各功能模块,由VHDL描述模块的逻辑功能,生成满足相应逻辑功能的新器件,实现底层设计;再采用原理图输入方式,将生成的新器件连成系统图,实现顶层设计。另外,由于新器件内部电路是用程序构建的,硬件的逻辑关系由语言来描述,所以只要修改语句则可修改硬件的逻辑关系。由此可见这种设计方法,可大大提高工作效率,设计更加灵活、快捷,可减少器件的数量,避免复杂的接线,缩小系统的体积,降低消耗,提高系统的可靠性、继承性、移植性。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-24 01:51 , Processed in 0.060348 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表