资源描述:
《基于cpld_fpga的出租车计费器系统的设计实现-2007927204515683》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、●应用与设计1引言随着EDA技术的发展及大规模可编程逻辑器件CPLD/FPGA的出现,电子系统的设计技术和工具发生了巨大的变化,通过EDA技术对CPLD/FPGA编程开发产品,不仅成本低、周期短、可靠性高,而且可随时在系统中修改其逻辑功能。本文介绍了一种以Altera公司可编程逻辑器件EP1K30TC144-3为控制核心,附加一定外围电路组成的出租车计费器系统。2系统总体结构基于CPLD的出租车计费器的组成如图1所示。各部分主要功能包括:信号输入模块对车轮传感器传送的脉冲信号进行计数(每转一圈送一个脉冲),并以高低
2、脉冲模拟出租汽车启动、停止、暂停、加速按钮,具有输入信号作用;数据转换模块将计费模块输出的车费和路程转换成4位的十进制数据;译码/动态扫描模块将路程与费用的数值译码后用动态扫描的方式驱动数码管;数码管显示模块将公里数和计费金额均用4位LED数码管显示(2位整数,2位小数)。3单元模块设计3.1信号输入模块该模块主要实现计费功能和现场模拟功能。计费标准为:对车轮传感器传送的脉冲信号进行计数(每转一圈传送一个脉冲),按行驶里程计费,起步价为7.00元,并在车行3km后按2.40元/km计费,当计费器达到或超过20元时,
3、每公里加收50%的车费,车停止不计费。并以高低脉冲模拟出租汽车启基于CPLD/FPGA的出租车计费器系统的设计实现林愿(湖南工程学院电气与信息工程系,湖南湘潭411105)摘要:介绍了一种基于Altera公司大规模可编程逻辑器件EPF10K10的多功能出租车计费器系统。介绍了该计费器系统的主要组成单元———信号输入模块、数据转换模块、动态扫描模块、数码管控制模块及译码显示模块等的设计方法与技巧,同时给出了详细的仿真波形。关键词:FPGA;VHDL;出租车计费器;MUXPLUSII;数字系统设计中图分类号:TN929
4、;TP393文献标识码:A文章编号:1006-6977(2007)07-0025-03DesignofthetaximetersystembasedonCPLD/FPGALINYuan(DepartmentofElectrical&InformationEngineering,HunanInstituteofEngineering,Xiangtan411105,China)Abstract:AmultifunctiontaximeterbasedonlargescaleprogrammabledeviceEPF10
5、K10ofAlteraisintroduced.Themethodandtechniqueoftheelementmodulesofthetaximeter—signalinputmodule,dataconversionmodule,dynamicscanmodule,nixietubecontrolanddecodedisplaymodulearediscribed.Atthesametime,thedetailedsimulationwaveformispresented.Keywords:FPGA;VHDL
6、;taximeter;MUXPLUSII;digitalsystemdesign图1系统总统框图基于CPLD/FPGA的出租车计费器系统的设计实现-25-《国外电子元器件》2007年第7期2007年7月动、停止、暂停、加速按钮,具有输入信号的作用。该模块的时序仿真图如图2所示。图中的stop下降沿到来时系统不计费,车费为“0”,路程为“0”,起步价为7.00元,在车行3km(图中300为3km,因为后面有2位小数)后按2.40元/km计费,当计费器达到或超过20元时,每公里加收50%(即按3.60元/km)的车费。
7、3.2数据转换模块数据转换模块是一个模为10、步长可变的加法计数器,可将计费模块输出的车费和路程转换成4位的十进制数。该模块通过开关量预置步长,当超过一定预置参数时改变步长。计费模块也采用非压缩BCD码,但因步长不为1,所以在做非压缩BCD加法时必须调整,否则可能导致在超过或未超过预置参数时出现超程错误。这里采用模仿微机的AF标志位,在其设立一个半进位标志,当累加和大于9或半进位标志为“1”时,对其累加和调整。转换模块的时序仿真图如图3所示,可见能将路程和车费转换为4位的十进制数,便于8位数码管显示。3.3显示模块
8、显示模块是由七段LED数码管译码和动态扫描显示两部分组成。采用的是共阴极七段数码管,根据十六进制数和七段显示段码表的对应关系,其中要求路程和车费都要用2位小数点来表示,所以须设置一个控制小数点的变量,即程序中的dp。这段程序所示的是在数码管的第二、第六个后面显示小数点,实现了路程和车费都用2位小数点表示的功能。要注意的是如果选择的扫描频率不合适,可能会出现小