版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流出租车系统设计.精品文档.出租车计费系统设计功能分析本设计主要介绍了出租车计费系统的设计思路和过程,并给出了所涉及的相关知识的详细介绍。EDA技术应用,单片机的功能及应用,传感器检测技术,VHDL编程语言及汇编语言程序,显示系统设计及按键控制,目前,普遍的出租车计费器仅仅具有时钟,起步价,里程计费,等待计费及显示几个功能。其发展前景是可观的,将来的产品除具有这些功能外,另外还可增加如下功能:防作弊功能,IC卡付费:顾客能在制定点购买一定额度的顾客IC卡,乘车后可用IC卡付帐,付帐是否成功有相应的提示。车主可定期将总营业额写入车主IC卡中,并据
2、此IC卡向所属公司领取报酬。车票资料打印:顾客付费后可打印发票,打印内容包括车主信息和车费信息等。可打印车主总营业额信息。语音播报:当乘客上车时,可自动问候乘客,当到达目的地,自动播报乘车费用并礼貌再见,表达希望下次乘坐的意思。增加的这些功能将会更好地为乘客服务。计费及显示 里程,即汽车行程里程,用四位数字显示,显示方式为XXX.X,单位为,精确到0.1。 单价,即里程单价,用三位数字显示,显示方式为X.XX,单价为元/,根据每天不同的时间段有两种情况:当时间段为06:0023:00时单价为1.4元/,其他时间段内单价为1.80元/。 等候时间,用四位数字显示分钟和秒,显示方式为XX:XX,等
3、候的定义是:当汽车行驶速度小于或等于12/h时为等候。在等候时间大于1小时的情况下,可以不显示等候时间,但必须对等候时间进行统计计算。 等候单价,等候单价有两种情况:在等候时间小于1小时的情况下,等候单价为1元每5分钟;在等候时间大于1小时的情况下,等候单价为20元每小时。 费用的计算,出租车的起价为5.00元,当里程小于2时,按起价计算费用;当里程大于2时按下式计算费用:费用=里程*里程单价+等候时间*等候单价。 费用的显示,用五位数字显示,显示方式为XXX.XX,单价为元。时钟及显示 当出租车在通常运行状态下,应能显示当前的时间,在汽车熄火的情况下,时钟必须正常运行,但是可以不显示时钟.计
4、费开始提示 当出租车载上乘客并起步后,将空车指示牌扳倒时,空车指示牌里的指示灯熄灭,并有语音或灯光提示信号。功能模块设计 根据系统的设计要求,将整个测控FPGA系统CZJFXT分为七个模块,它们分别是:分频器模块FPQ,等待判别模块DDPB,里程计算模块LCJS,里程计费模块LCJF,等待计时模块DDJS,等待计费模块DDJF,输出数据选择模块SCXZ。分频器模块FPQ:将外部时钟信号SCLK(设计时假设为1024HZ)经过适当分频后,产生1HZ的系统工作用基准时钟信号CLK1HZ,供给系统中的有关模块计时用。等待判别模块DDPB:根据速度传感器脉冲信号WCLK和分频器产生的基准时钟信号CLK
5、1HZ,计算单位时间里WCLK的脉冲个数(每产生1000个脉冲信号,即每米产生1个脉冲信号),亦即出租车行驶速度,从而判别出租车是否处于等待状态,发出等待标志信号DDBZ。当速度大于12/H,即速度大于200M/MIN时,出租车处于运行状态,这时等待标志DDBZ=0;当速度小于等于12/H,即速度小于等于200M/MIN时,出租车处于等待状态,这时等待标志DDBZ=1。该模块的VHDL程序设计可分为三个进程:60S周期性跳变信号产生进程,每分钟行驶距离计算进程,等待标志判别进程。等待标志判别进程就是比较每分钟WCLK脉冲个数与等待状态WCLK脉冲临界个数200的大小,从而确定DDBZ的赋值。里
6、程计算模块LCJS:根据速度传感器脉冲信号WCLK和等待标志DDBZ,对出租车行驶的里程数XSLC进行计算,同时发出里程标志信号LCBZ和里程计费标志信号JFBZ。如果LCBZ=1,说明行驶距离超过2,里程计费启动;如果LCBZ=0,说明没超过2,按起价计费,每行驶1应计费1次,并且计费的启动信号应是某一时刻,因此每行驶1,计费标志信号JFBZ应跳变1次。该模块的VHDL程序设计可分为两个进程:里程计算及标志产生进程,产生计费信号进程。产生计费信号进程就是每行驶10百米(即1)JFBZ由低电平0变为1,经过一个系统时钟周期后JFBZ又回复到低电平0,里程计费模块LCJF就是在JFBZ脉冲信号的
7、上升沿到来时进行计费的加法操作。里程计费模块LCJF:在计费标志信号JFBZ,等待标志信号DDBZ,里程标志信号LCBZ和时段标志信号SDBZ等信号的控制下,计算行驶里程超过2以上里程的费用LCFY。该模块的VHDL程序是通过由多个条件控制的加法进程来完成里程计费的,里程计费的条件是在DDBZ=0,并且在JFBZ的上升沿根据SDBZ分别进行加法计费操作。当SDBZ=1时,表示在06:0023:00时段,其单价SD1为1.4元/;当SDBZ=0时,表示其他时段,其单价SD2为1.8元/。如果LCBZ=1,说明行驶距离超过2,里程计费启动;如果LCBZ=0,说明没超过2,按起价计费。等待计时模块D
8、DJS:在等待标志信号DDBZ和基准时钟信号CLK1HZ的控制下,进行等待时间DDSJ的计算,其中DDSJ的低8位表示等待时间的秒数,DDSJ的高8位表示等待时间的分钟数,同时根据等待时间的长短发出一个熄灯标志信号XDBZ。当等待时间小于等于1小时,XDBZ=0,等待时间显示灯亮;当等待时间大于1小时,XDBZ=1,等待时间显示不亮。该模块的VHDL程序是通过一个多层嵌套的加法进程来完成等待计时的。等待计费模块DDJF:在等待标志信号DDBZ和熄灯标志信号XDBZ控制下,进行等待费用DDFY的计费操作。该模块的VHDL程序包括两个进程:60S周期性跳变信号产生进程,等待费用计算进程。等待费用计
9、算的条件是在DDBZ=1并且在60S周期性跳变信号T60S的上升沿,根据XDBZ分别进行加法计费操作。当DDBZ=1且XDBZ=0时,按1元/5分钟,即20分/分钟计费;当DDBZ=0且XDBZ=1时,按20元/小时,即33分/分钟计费。输出数据选择模块SCXZ:根据单片机发出的数据传输选择控制信号SEL,选择有关计算处理结果传输给单片机。硬件电路设计1.1 系统组成以CPLD/FPGA为主体,设计并制作一台出租车计费系统,系统的方框图如图14.1所示。图1.1 出租车计费系统方框图1.1.1计费及显示 (1) 里程,即汽车行驶里程,用四位数字显示,显示方式为“XXX.X”,单位为km,精确到
10、0.1 km。 (2) 单价,即里程单价,用三位数字显示,显示方式为“X.XX”,单价为元/km,根据每天不同的时间段有两种情况:当时间段为06:0023:00时单价为1.40元/km,其他时间段内单价为1.80元/km。 (3) 等候时间,用四位数字显示分钟和秒,显示方式为“XX:XX”,等候的定义是:当汽车行驶速度小于或等于12 km/h时为“等候”。 (4) 等候单价,等候单价有两种情况:在等候时间小于1小时的情况下,等候单价为1元每5分钟;在等候时间大于1小时的情况下,等候单价为20元每小时。(5) 费用的计算,出租车的起价为5.00元,当里程小于2 km时,按起价计算费用;当里程大于
11、2 km时按下式计算费用: 费用=里程里程单价+等候时间等候单价 (6) 费用的显示,用五位数字显示,显示方式为“XXX.XX”,单价为元。1.1.2 时钟及显示 当出租车在常运状态下,应能显示当前的时间。在汽车熄火的情况下,时钟必须正常运行,但是可以不显示时钟。1.1.3 计费开始提示 当出租车载上乘客并起步后,将空车指示牌扳倒时,空车指示牌里的指示灯熄灭,并有语音或灯光提示信号。1.2 系统设计方案 1.2.1 系统总体设计方案 本系统拟采用单片机和FPGA的结合进行系统的主体设计,系统原理框图如图1.2所示。图1.2 出租车计费系统总体原理框图1.2.2 测控FPGA的VHDL程序设计
12、根据系统的设计要求,我们可将整个测控FPGA系统CZJFXT分为七个模块,它们分别是:分频器模块FPQ,等待判别模块DDPB,里程计算模块LCJS,里程计费模块LCJF,等待计时模块DDJS,等待计费模块DDJF,输出数据选择模块SCXZ。其内部组成原理图如图1.3所示。 分频器模块FPQ:将外部时钟信号SCLK(设计时假设为200 Hz)经过适当分频后,产生1 Hz的系统工作用基准时钟信号CLK1HZ,供系统中的有关模块计时用。等待判别模块DDPB:根据速度传感器脉冲信号WCLK和分频器产生的基准时钟信号CLK1HZ,计算单位时间里WCLK的脉冲个数(每km产生1000个脉冲信号,即每米产生
13、1个脉冲信号),亦即出租车行驶速度,从而判别出租车是否处于等待状态,发出等待标志信号DDBZ。 里程计算模块LCJS:根据速度传感器脉冲信号WCLK和等待标志DDBZ,对出租车行驶的里程数XSLC进行计算,同时发出里程标志信号LCBZ和里程计费标志信号JFBZ。里程计费模块LCJF:在计费标志信号JFBZ、等待标志信号DDBZ、里程标志信号LCBZ和时段标志信号XDBZ等信号的控制下,计算行驶里程超过2 km以上里程的费用LCFY。 等待计时模块DDJS:在等待标志信号DDBZ和基准时钟信号CLK1HZ的控制下,进行等待时间DDSJ的计算,其中DDSJ的低8位表示等待时间的秒数,DDSJ的高8
14、位表示等待时间的分钟数,同时根据等待时间的长短发出一个熄灯标志信号XDBZ。等待计费模块DDJF:在等待标志信号DDBZ和熄灯标志信号XDBZ控制下,进行等待费用DDFY的计费操作。 输出数据选择模块SCXZ :根据单片机发出的数据传输选择控制信号SEL,选择有关计算处理结果传输给单片机。SEL与被传送数据的具体关系如表1.1所示。表1.1 SEL与被传送数据的关系列表1.2.3 单片机控制程序设计 单片机模块包括单片机AT89C51及其控制的显示和键盘系统,控制口如图1.3(略 )所示。 AT89C51对FPGA的数据进行运算,计算出用车总费用并送显示系统显示,同时它接收键盘信息并处理显示切
15、换。系统采用6+1显示,6个数码管作常规显示,一个数码管作状态显示。按键共有5个,分别是功能切换键、确定键、修改键、启动模拟键和空车牌压下模拟键。涉及的主要流程图如图1.41.8所示。 图1.4 主程序流程图图1.5 键处理流程图图1.6 经典显示子程序流程图 图1.7 里程显示子程序流程图图1.8 乘车费用显示子程序流程图程序清单1.3 主 要 源 程 序 14.3.1 主要VHDL源程序 1分频器模块FPQ的VHDL源程序 -FPQ.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;
16、 USE IEEE.STD_LOGIC_ARITH.ALL; ENTITY FPQ IS PORT(SCLK: IN STD_LOGIC; -SCLK=200 Hz CLK1HZ: OUT STD_LOGIC); -CLK1HZ=1 Hz END ENTITY FPQ; ARCHITECTURE ART OF FPQ IS SIGNAL CNT100: INTEGER RANGE 0 TO 99; SIGNAL CLK1: STD_LOGIC; BEGIN PROCESS(SCLK)BEGIN IF SCLKEVENT AND SCLK=1 THEN IF CNT100=99 THEN CNT
17、100=0; CLK1=NOT CLK1; ELSE CNT100=CNT100+1; END IF; ELSE CLK1=CLK1; END IF; CLK1HZ=CLK1; END PROCESS; END ARCHITECTURE ART;2等待判别模块DDPB的VHDL源程序 -DDPB.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; ENTITY DDPB IS PORT(START,WCLK:IN STD_LOG
18、IC; CLK1HZ:IN STD_LOGIC; DDBZ:OUT STD_LOGIC); END ENTITY DDPB; ARCHITECTURE ART OF DDPB IS SIGNAL T60S:STD_LOGIC; SIGNAL WCLKCOU:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN -产生60 s周期性跳变信号进程 PROCESS(START, CLK1HZ) IS VARIABLE CNT60: STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF START=1 THEN CNT60:=00000000; T60S=0;
19、 ELSIF CLK1HZEVENT AND CLK1HZ=1 THEN IF CNT60=00111100 THEN -CNT60=60 T60S=1; CNT60:=00000000; ELSE CNT60: =CNT60+1; T60S=0; END IF; END IF; END PROCESS ; -每分钟行驶距离计算进程PROCESS(START, WCLK, T60S) IS BEGIN IF START=1 THEN WCLKCOU=00000000; ELSIF WCLKEVENT AND WCLK=1 THEN IF T60S=1 THEN WCLKCOU=00000000
20、; ELSE WCLKCOU=WCLKCOU+1; -距离计算,单位为m END IF; END IF; END PROCESS ; -等待标志判别进程 PROCESS(WCLKCOU,T60S) IS BEGIN IF T60SEVENT AND T60S=1 THEN IF WCLKCOU=11001000 THEN -WCLKCOU=200 DDBZ=1; -等待 ELSE DDBZ=0; -行驶 END IF; END IF; END PROCESS ;END ARCHITECTURE ART;3里程计算模块LCJS的VHDL源程序 -LCJS.VHD LIBRARY IEEE; US
21、E IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; ENTITY LCJS IS PORT(START, DDBZ, WCLK: IN STD_LOGIC; XSLC: OUT STD_LOGIC_VECTOR(15 DOWNTO 0); LCBZ,JFBZ:OUT STD_LOGIC); END ENTITY LCJS; ARCHITECTURE ART OF LCJS IS SIGNAL BMS:STD_LOGIC_VECTOR(15 DOWNTO 0); SIG
22、NAL BMS1: INTEGER RANGE 0 TO 99999; SIGNAL JFBZ1: STD_LOGIC; BEGIN -里程计算及标志产生进程PROCESS(START,WCLK)运行结果说明 系统联合调试成功后,可将单片机程序通过编程器固化到单片机中,并插入到EDA实验开发系统中的单片机插座上,将VHDL设计经过综合适配后的网表对CPLD/FPGA进行编程下载,输入相关的信号,并进行有关性能指标的测试,直到满足系统的设计要求为止。 本系统的显示系统共设置了7各数码管,其中6个作为常规显示,另一个是状态显示,显示情形如下:当状态显示为A时,是当前时间显示,显示方式为“XX.XX.XX”;当状态显示为D时,是里程单价显示,显示方式为“X.XX”,单位为元、km;当状态显示为L时,是全程里程显示,显示方式为“XXX.X”,单位为km;当状态显示为F时,是用车费用显示,显示方式为“XXX.XX”,单位为元;当状态显示为H时,是等候时间显示,显示方式为“XX.XX”,即分和秒;总 结经过这半个学期的努力,在老师和同学的帮助下做
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度儿童自愿协议离婚法律文件编制与审查标准2篇
- 2024年版学校食堂员工劳务服务承包合同
- 2024年政府机关办公家具采购代理合同协议2篇
- 2024年新能源储能技术增资扩股合作协议书3篇
- 2024年船舶电气系统安装与改造合同
- 辽宁省铁岭市调兵山市二中2022-2023学年高一下学期期末生物试题(原卷版)
- 玩具品牌忠诚度提升考核试卷
- 眼耳鼻喉疾病预防控制考核试卷
- 滕国文数据结构课程设计
- 知识产权优势企业申报书
- 工行个人小额贷款合同样本
- 【8历期末】安徽省合肥市包河区智育联盟校2023-2024学年八年级上学期1月期末历史试题
- 医疗机构并购合同模板
- 江西省萍乡市2023-2024学年高一上学期期末考试数学试题(解析版)
- 北师版七年级数学上册期末复习考点 清单04 基本平面图形(12个考点梳理+题型解读+提升训练)
- 仪式外包合同范例
- 2025年上半年中科院大连化学物理研究所金催化研究中心(2302组)招聘1人易考易错模拟试题(共500题)试卷后附参考答案
- 2024-2025学年上学期深圳初中地理七年级期末模拟卷1
- 黄土高原课件
- 2025年中国科学技术大学自主招生个人陈述自荐信范文
- 学校2025元旦假期安全教育宣传课件
评论
0/150
提交评论