基于 CPLD/FPGA 的出租车计费器
摘要: 介绍了出租车计费器系统的组成及工作原理,简述了在 EDA 平台上用单片 CPLD 器件构成该数字
系统的设计思想和实现过程。论述了车型调整模块、计程模块、计费模块、译码动态扫描模块等的设计方
法与技巧。
关键词: CPLD/PPGA 硬件描述语言 出租车计费器 MAX+PLUS 软件 数字系统
随着 EDA 技术的高速发展,电子系统的设计技术和工具发生了深刻的变化,大规模可编程逻辑器件
CPLD/FPGA 的出现,给设计人员带来了诸多方便。利用它进行产品开发,不仅成本低、周期短、可靠
性高,而且具有完全的知识产权。本文介绍了一个以 Altera 公司可编程逻辑芯片 EPM7128SLC84-15
为控制核心、附加一定外围电路组成的出租车计费器系统。
1 系统组成
基于 CPLD/FPGA 的出租车计费器的组成如图 1 所示。各部分主要功能如下:(1)A 计数器对车轮传感器
送来的脉冲信号进行计数(每转一圈送一个脉冲)。不同车型的车轮直径可能不一样,通过“设置 1”对车型
做出选择,以实现对不同车轮直径的车进行调整。(2)B 计数器对百米脉冲进行累加,并输出实际公里数
的 BCD 码给译码动态扫描模块。每计满 500 送出一个脉冲给 C 计数器。“设置 2”实现起步公里数预制。
(3)C 计数器实现步长可变(即单价可调)的累加计数,每 500 米计费一次。“设置 3”用来完成超价加费、起
步价预制等。(4)译码/动态扫描将路程与费用的数值译码后用动态扫描的方式驱动数码管。(5)数码管显
示将公里数和计费金额均用四位 LED 数码管显示(三位整数,1 位小数)。
2 功能模块设计
出租车计费器由车型调整模块、计程模块、计费模块、译码动态及扫描等模块组成,整个系统采用模块化
设计,首先用 VHDL 编写功能模块,然后用顶层原理图将各功能模块连接起来。