基于VHDL语言的出租车计费系统设计
发布时间:2008/5/27 0:00:00 访问次数:1421
    
    
    作者:席砺莼 董丽梅 田梦周 闫宏伟
    
    摘 要:利用vhdl语言设计出租车计费系统,使其实现计费以及预置和模拟汽车启动、停止、暂停等功能,并设计动态扫描电路显示车费数目,突出了其作为硬件描述语言的良好的可读性、可移植性和易理解等优点。此程序通过下载到特定芯片后,可应用于实际的出租车计费系统中。
    关键词:超高速集成电路硬件描述语言;计数器;max+plusⅱ;高速集成电路
    
    1 前言
    目前,电子系统正向集成化、大规模和高速度的方向发展,集成电路的规模越来越大,复杂程度越来越高,因此传统的门级描述方法显得过于琐碎,难以理解掌握。由美国国防部提出的vhdl(very high speed integrated circuit hardware description language)即超高速集成电路硬件描述语言,采用高层次的、自顶向下的设计方法来描述硬件,非常适合当前需要。美国国防部为了要解决项目间的信息交换困难和设计维护困难,同时也为解决当时的超高速集成电路(vhsic,very high speed integrated circuit)计划而提出的一种硬件描述语言。1987年12月ieee接受vhdl为标准的hdl,这就是今天的ieee std1076-1987和ieee std1076-1993。
    max+plusⅱ(multiple array matrix and programmable logic user systems)是电子设计不可缺少的工具,他可以接受多种方式的输入:原理图输入、文本输入(硬件描述语言)、第三方eda工具提供的接口等。max+plusⅱ的仿真器具有很强灵活性,可以控制对单器件或多器件的仿真。max+plusⅱ还提供了丰富的帮助库。
    本文采用vhdl语言来设计实现出租车计费系统,源程序经美国altera公司的max+plusⅱ软件调试优化,下载到特定芯片(max系列的epm 7128slc8415)后,可应用于实际的出租车计费系统中。
    2 出租车计费系统的设计
    2.1 出租车计费器工作原理
    实际中出租车的计费工作原理一般分成3个阶段:
    (1)车起步开始计费。首先显示起步价(本次设计起步费为7.00元),车在行驶3 km以内,只收起步价7.00元。
    (2)车行驶超过3 km后,按每公里2.2元计费(在7.00元基础上每行驶1 km车费加2.2元),车费依次累加。
    (3)行驶路程达到或超过9 km后(车费达到20元),每公里加收50%的车费,车费变成按每公里3.3元开始计费。车暂时停止(行驶中遇红灯或中途暂时停车)不计费,车费保持不变。若停止则车费清零,等待下一次计费的开始。
    2.2 基本设计思想
    (1)根据出租车计费原理,将出租车计费部分由5个计数器来完成分别为countera,counterb,counterc,counterd,countere。①计数器a完成车费百位。②计数器b完成车费十位和个位。③计数器c完成车费角和分。④计数器d完成计数到30(完成车费的起步价)。⑤计数器e完成模拟实现车行驶100 m的功能。
    (2)行驶过程中车费附加50%的功能:由比较器实现。
    (3)车费的显示:由动态扫描电路来完成。用专用模块来实现,完成数据的输入即动态数据的显示。
    (4)通过分析可以设计出系统的顶层框图如图1所示:
    
    
    
    2.3 具体模块划分并实现及部分程序
    计费器按里程收费,每100 m开始一次计费.图2为原理结构图,各模块功能如下:
    (1)计数器a为十进制计数器,其结果为车费的百位,与5位数码管的最高位相连,计数时钟为进位脉冲。程序如下:
    
    
    
    
    
    (2)计数器b为带预置的模100十进制计数器,预置数为出租车起步价,车费的十位和个位,与数码管的第2位和第3位相连。计数时钟为计数器c的进位脉冲信号。
    (3)计数器c为可变步长的模100十进制计数器,带预置端,预置数为计数步长。计数器c主要用于累加,
    
    
    作者:席砺莼 董丽梅 田梦周 闫宏伟
    
    摘 要:利用vhdl语言设计出租车计费系统,使其实现计费以及预置和模拟汽车启动、停止、暂停等功能,并设计动态扫描电路显示车费数目,突出了其作为硬件描述语言的良好的可读性、可移植性和易理解等优点。此程序通过下载到特定芯片后,可应用于实际的出租车计费系统中。
    关键词:超高速集成电路硬件描述语言;计数器;max+plusⅱ;高速集成电路
    
    1 前言
    目前,电子系统正向集成化、大规模和高速度的方向发展,集成电路的规模越来越大,复杂程度越来越高,因此传统的门级描述方法显得过于琐碎,难以理解掌握。由美国国防部提出的vhdl(very high speed integrated circuit hardware description language)即超高速集成电路硬件描述语言,采用高层次的、自顶向下的设计方法来描述硬件,非常适合当前需要。美国国防部为了要解决项目间的信息交换困难和设计维护困难,同时也为解决当时的超高速集成电路(vhsic,very high speed integrated circuit)计划而提出的一种硬件描述语言。1987年12月ieee接受vhdl为标准的hdl,这就是今天的ieee std1076-1987和ieee std1076-1993。
    max+plusⅱ(multiple array matrix and programmable logic user systems)是电子设计不可缺少的工具,他可以接受多种方式的输入:原理图输入、文本输入(硬件描述语言)、第三方eda工具提供的接口等。max+plusⅱ的仿真器具有很强灵活性,可以控制对单器件或多器件的仿真。max+plusⅱ还提供了丰富的帮助库。
    本文采用vhdl语言来设计实现出租车计费系统,源程序经美国altera公司的max+plusⅱ软件调试优化,下载到特定芯片(max系列的epm 7128slc8415)后,可应用于实际的出租车计费系统中。
    2 出租车计费系统的设计
    2.1 出租车计费器工作原理
    实际中出租车的计费工作原理一般分成3个阶段:
    (1)车起步开始计费。首先显示起步价(本次设计起步费为7.00元),车在行驶3 km以内,只收起步价7.00元。
    (2)车行驶超过3 km后,按每公里2.2元计费(在7.00元基础上每行驶1 km车费加2.2元),车费依次累加。
    (3)行驶路程达到或超过9 km后(车费达到20元),每公里加收50%的车费,车费变成按每公里3.3元开始计费。车暂时停止(行驶中遇红灯或中途暂时停车)不计费,车费保持不变。若停止则车费清零,等待下一次计费的开始。
    2.2 基本设计思想
    (1)根据出租车计费原理,将出租车计费部分由5个计数器来完成分别为countera,counterb,counterc,counterd,countere。①计数器a完成车费百位。②计数器b完成车费十位和个位。③计数器c完成车费角和分。④计数器d完成计数到30(完成车费的起步价)。⑤计数器e完成模拟实现车行驶100 m的功能。
    (2)行驶过程中车费附加50%的功能:由比较器实现。
    (3)车费的显示:由动态扫描电路来完成。用专用模块来实现,完成数据的输入即动态数据的显示。
    (4)通过分析可以设计出系统的顶层框图如图1所示:
    
    
    
    2.3 具体模块划分并实现及部分程序
    计费器按里程收费,每100 m开始一次计费.图2为原理结构图,各模块功能如下:
    (1)计数器a为十进制计数器,其结果为车费的百位,与5位数码管的最高位相连,计数时钟为进位脉冲。程序如下:
    
    
    
    
    
    (2)计数器b为带预置的模100十进制计数器,预置数为出租车起步价,车费的十位和个位,与数码管的第2位和第3位相连。计数时钟为计数器c的进位脉冲信号。
    (3)计数器c为可变步长的模100十进制计数器,带预置端,预置数为计数步长。计数器c主要用于累加,
上一篇:光纤光缆名词术语