0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

以EP1K30TC144-3为控制核心实现CPLD出租车计费器系统的设计

电子设计 作者:电子设计 2018-11-14 10:03 次阅读

1 引言

随着EDA技术的发展及大规模可编程逻辑器件CPLDFPGA的出现,电子系统的设计技术和工具发生了巨大的变化,通过EDA技术对CPLD/FP-GA编程开发产品,不仅成本低、周期短、可靠性高,而且可随时在系统中修改其逻辑功能。本文介绍了一种以Altera公司可编程逻辑器件EP1K30TC144-3为控制核心,附加一定外围电路组成的出租车计费器系统。

2 系统总体结构

基于CPLD的出租车计费器的组成如图1所示。各部分主要功能包括:信号输入模块对车轮传感器传送的脉冲信号进行计数(每转一圈送一个脉冲),并以高低脉冲模拟出租汽车启动、停止、暂停、加速按钮,具有输入信号作用;数据转换模块将计费模块输出的车费和路程转换成4位的十进制数据;译码/动态扫描模块将路程与费用的数值译码后用动态扫描的方式驱动数码管数码管显示模块将公里数和计费金额均用4位LED数码管显示(2位整数,2位小数)。

以EP1K30TC144-3为控制核心实现CPLD出租车计费器系统的设计

3 单元模块设计

3.1 信号输入模块

该模块主要实现计费功能和现场模拟功能。计费标准为:对车轮传感器传送的脉冲信号进行计数(每转一圈传送一个脉冲),按行驶里程 计费,起步价为7.00元,并在车行3 km后按2.40元/km计费,当计费器达到或超过20元时,每公里加收50%的车费,车停止不计费。并以高低脉冲模拟出租汽车启动、停止、暂停、加速按钮,具有输入信号的作用。

该模块的时序仿真图如图2所示。图中的stop下降沿到来时系统不计费,车费为“0”,路程为“0”,起步价为7.00元,在车行3 km(图中300为3 km。因为后面有2位小数)后按2.40元/km计费,当计费器达到或超过20元时,每公里加收50%(即按3.60元/km)的车费。

3.2 数据转换模块

数据转换模块是一个模为10、步长可变的加法计数器,可将计费模块输出的车费和路程转换成4位的十进制数。该模块通过开关量预置步长,当超过一定预置参数时改变步长。计费模块也采用非压缩BCD码,但因步长不为1,所以在做非压缩BCD加法时必须调整,否则可能导致在超过或未超过预置参数时出现超程错误。这里采用模仿微机的AF标志位,在其设立一个半进位标志,当累加和大于9或半进位标志为“1”时,对其累加和调整。转换模块的时序仿真图如图3所示,可见能将路程和车费转换为4位的十进制数,便于8位数码管显示。

以EP1K30TC144-3为控制核心实现CPLD出租车计费器系统的设计

3.3 显示模块

显示模块是由七段LED数码管译码和动态扫描显示两部分组成。采用的是共阴极七段数码管,根据十六进制数和七段显示段码表的对应关系,其中要求路程和车费都要用2位小数点来表示,所以须设置一个控制小数点的变量,即程序中的dp。这段程序所示的是在数码管的第二、第六个后面显示小数点,实现了路程和车费都用2位小数点表示的功能。要注意的是如果选择的扫描频率不合适,可能会出现小数点闪动的情况。但只要扫描频率不小于24 Hz,人眼就感觉不到显示器的闪烁。本系统采用36 Hz的扫描频率,扫描脉冲由相应的外围电路提供。七段数码管显示模块的时序如图4所示。

数码管控制及译码显示模块将十进制的输入信号用七段数码管显示,由七段发光二极管组成数码显示器,利用字段的不同组合。可分别显示0~9十个数字。本设计中,要求输出的段信号为低电平有效。

以EP1K30TC144-3为控制核心实现CPLD出租车计费器系统的设计

4 系统仿真、综合、下载

仿真是EDA技术的重要组成部分,也是对设计的电路进行功能和性能测试的有效手段。EDA工具提供了强大且与电路实时行为相吻合的精确硬件系统测试工具。在建立了波形文件、输入信号节点、波形参数、加输入信号激励电平并存盘之后,选择主菜单“MAX+plusII”中的仿真器项“Simulator”,弹出对话框之后单击“Start”进行仿真运算,完成之后就可以看到时序波形。图5为总电路的时序图。

最终的电路设计完成后,若总体电路编译无错,且时序仿真成功,可进行硬件测试。将总电路下载到可编程逻辑器件中,按fit文件中自动分配引脚搭建硬件电路。系统顶层原理图如图6所示。

打开电源,数码管有正确的数字显示,操作运行实验结果完全符合要求。查看报告文件可得到器件引脚的利用情况及器件内部资源的使用情况,通过更换适当的器件使其资源配置达到最优。选择器件的一般原则是系统所使用的资源不要超过器件资源的80%,若超过90%,系统功耗将增大,工作不稳定。本设计中输入、输出引脚各用22个,器件资源利用率仅为62%,具有较大的扩展空间。

以EP1K30TC144-3为控制核心实现CPLD出租车计费器系统的设计

5 结束语

出租车计费器计数脉冲来自车轮转速传感器(干簧管),脉冲经器件内部整形后送至计数器;动态扫描脉冲由外围电路给出,将单位脉冲看做行驶的单位公里数,并在此基础上进行计费与显示。系统采用整流、滤波、降压后的出租车电源供电

实验表明:该计费器实现了按预置参数自动计费(最大计费金额为99.99元)、自动计程(最大计程公里数为99.99 km)等功能;能够实现起步价、每公里收费、车型及加费里程的参数预置(如:起步价7.00元;3 km后,2.40元/km;计费超过20.00元,每公里加收50%的车费等),且预置参数可调范围广。由于采用CPLD大规模可编程逻辑器件,整机功耗小、抗干扰能力强、系统稳定、工作可靠、升级方便。另外,由于器件资源尚有较大的扩展空间,根据实际需要,系统可方便地增加所需功能,如通过器件内部编程增加时钟功能,既可为司机和乘客提供方便,又能为夜间行车自动调整收费标准提供参考;还可以通过FPGA的输出引线控制语音器件,对顾客发出问候语,提醒其所要收缴的费用等;也可以通过FPGA的输出引线控制打印机打印发票等。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1625

    文章

    21665

    浏览量

    601748
  • cpld
    +关注

    关注

    32

    文章

    1247

    浏览量

    169196
  • eda
    eda
    +关注

    关注

    71

    文章

    2708

    浏览量

    172854
收藏 人收藏

    评论

    相关推荐

    如何使用Arduino制作数字出租车计费器

    今天,在本教程中,我们将使用 Arduino 制作数字出租车计费器的原型。该项目计算出租车车轮行驶的速度和距离,并在16x2 LCD 显示屏上连续显示。当我们按下按钮时,它会根据行驶的距离生成票价金额。
    的头像 发表于 09-20 17:35 3301次阅读
    如何使用Arduino制作数字<b class='flag-5'>出租车</b><b class='flag-5'>计费器</b>

    基于FPGA的出租车计费器设计

    基于FPGA的出租车计费器设计,自己做的,仿真不是很好,但作为参考不错。。。
    发表于 06-02 13:55

    基于FPGA出租车计费器设计报告(verilog)

    基于FPGA出租车计费器设计报告(verilog)
    发表于 10-11 18:49

    求一个数电的出租车计费器的multisim源文件

    求一个数电的出租车计费器的multisim源文件,谢谢大家了,我急着用!在线等,拜托大神了!
    发表于 06-13 21:28

    书求一个基于multisim的出租车计费器的电路图!

    书求一个基于multisim的出租车计费器的电路图!
    发表于 12-29 16:58

    请教大神如何去设计出租车计费器系统

    本文介绍了一种Altera公司可编程逻辑器件EP1K30TC144-3控制核心,附加一定外围电路组成的
    发表于 04-30 06:06

    多功能出租车计费器的相关资料推荐

    单片机出租车计费器一、实验目的二、实验内容三、实验步骤四、C代码如下五、实验结果六、实验体会一、实验目的我国城市发展日新月异,交通工具也越来越多样化。我国出租汽车行业因而迅猛发展,出租
    发表于 11-25 06:20

    基于CPLD/FPGA的出租车计费器

    摘要: 介绍了出租车计费器系统的组成及工作原理,简述了在EDA平台上用单片CPLD器件构成该数字系统的设计思想和
    发表于 06-20 15:24 1252次阅读
    基于<b class='flag-5'>CPLD</b>/FPGA的<b class='flag-5'>出租车</b><b class='flag-5'>计费器</b>

    基于FPGA的出租车计费系统的设计与实现

    提出了在QuartusII 9.0 软件平台上,基于FPGA的出租车计费器的设计方案。通过VHDL描述出租车计费系统的操作流程及
    发表于 12-28 10:35 122次下载
    基于FPGA的<b class='flag-5'>出租车</b><b class='flag-5'>计费</b><b class='flag-5'>系统</b>的设计与<b class='flag-5'>实现</b>

    基于单片机的出租车计费器

    基于单片机的出租车计费器,用C来编程的。。
    发表于 01-14 17:10 16次下载

    出租车计费系统设计

    设计一个简单的出租车计费器, 要求是起步价 10 元, 准行 3 公里, 以后 1 元/公里。 可以通过旋钮电机模块的电位,即可达到
    发表于 03-18 14:06 48次下载

    单片机课程设计报告-简易出租车计费器

    简易出租车计费器
    发表于 04-13 14:29 45次下载

    如何使用CPLD实现出租车计费器的设计

    计费模块、控制模块、数码管显示模块和顶层主控模块共八大部分;分起步、里程、等待三个阶段。该出租车计费器能够自行设定计费标准,借助Cyclo
    发表于 08-21 16:16 9次下载
    如何使用<b class='flag-5'>CPLD</b><b class='flag-5'>实现出租车</b><b class='flag-5'>计费器</b>的设计

    EDA程序设计之出租车计费器

    1.1 设计要求 1.1.1 设计任务 设计并制作一台出租车计费器。1.1.2 性能指标要求① 用EDA实训仪的I/O设备和FPGA实现出租车计费器的设计。②
    发表于 08-22 10:19 14次下载

    EDA程序设计—出租车计费器

    用EDA实训仪的I/O设备和FPGA实现出租车计费器的设计。
    的头像 发表于 08-25 16:55 1764次阅读
    EDA程序设计—<b class='flag-5'>出租车</b><b class='flag-5'>计费器</b>