出租车系统设计

合集下载

出租车计价器系统设计

出租车计价器系统设计

出租车计价器系统设计一、引言二、系统需求1.实时计算乘客的费用,包括起步价、里程费和时间费。

2.支持现金和电子支付两种支付方式。

3.集成GPS导航功能,方便司机找到目的地。

4.提供乘客和司机的行程记录,以便后续查询和管理。

5.具备车辆运营数据统计和分析功能,方便管理者监控业务运营情况。

6.界面友好,操作简单方便。

三、系统设计1.架构设计出租车计价器系统可以采用分布式架构,主要由计价器终端设备、服务器和后台管理系统组成。

计价器终端设备负责实时计算费用,接收用户支付信息并提供导航功能。

服务器将终端设备上的数据上传到后台管理系统,并处理支付信息。

后台管理系统负责行程记录的存储和查询,车辆运营数据统计等功能。

2.功能设计计价器终端设备的主要功能包括:-实时显示乘客的费用,包括起步费、里程费和时间费。

-支持现金和电子支付两种支付方式。

对于现金支付,可以提供找零功能。

-集成GPS导航功能,显示乘客的目的地并为司机提供导航指引。

-提供乘客和司机的行程记录,包括乘车地点、目的地、起步时间、到达时间等信息。

后台管理系统的主要功能包括:-存储和查询行程记录,方便乘客和司机进行查询,也方便管理者进行统计和分析。

-处理支付信息,包括验证支付的有效性和进行支付结果的记录。

-根据行程记录和支付信息生成报表,进行车辆运营数据的统计和分析。

3.数据库设计系统需要至少设计以下几个数据库表:-行程记录表,包含乘车地点、目的地、起步时间、到达时间等信息。

-支付记录表,包含支付方式、支付金额、支付结果等信息。

-车辆表,包含车辆的基本信息,如车牌号、品牌、颜色等。

-用户表,包含乘客的基本信息,如姓名、手机号等。

四、系统流程1.乘客叫车并上车后,司机启动计价器终端设备。

2.计价器显示乘客的起步费和当前费用,并启动计时和记录起步时间。

3.计价器终端设备显示乘客的目的地,并提供导航指引。

4.司机按照导航指引将乘客送到目的地。

5.到达目的地后,计价器停止计时,显示乘客的总费用。

汽车租赁管理系统的设计与实现

汽车租赁管理系统的设计与实现

汽车租赁管理系统的设计与实现
汽车租赁管理系统是一款应用程序,旨在方便汽车租赁公司管
理其车辆库存、客户租赁信息以及财务报表等相关信息。

开发汽车
租赁管理系统主要涉及以下方面的内容:
1. 系统架构设计:设计系统框架,包括构建数据库结构和定义
系统实体关系。

2. 用户交互设计:设计用户界面,简化用户操作,增加易用性、可靠性、安全性等方面的体验。

3. 功能设计:实现车辆入库、出库、借还、维护、调度、租赁
合同管理、订单管理等核心功能。

4. 技术选型:选择适合的技术,以开发高效、稳定的软件,如Linux、MySQL、Spring、Hibernate、ES等技术来开发系统。

5. 系统测试和上线:在系统完成后进行全方位测试,包括功能
测试、性能测试、数据完整性测试、安全测试等方面,保证系统达
到设计要求并上线投入使用。

汽车租赁系统实现的流程包括:
1. 客户注册流程:客户登录网站后注册系统,输入姓名、联系
电话、常用邮箱等信息。

2. 车辆库存管理流程:管理人员可以对进入系统的车辆进行分类、添加、借出、退回等操作。

3. 定价管理流程:管理员可以对不同品牌、型号的车辆定价,
对不同用户进行个性化定价。

4. 租赁流程管理:客户可以预定车辆,系统进行审核、分配车辆等操作,租赁期间实现车辆远程监管。

5. 报表统计分析:通过统计分析客户、车辆、租赁费用和库存等数据,评估经营效益和发现不足之处,进行精细管理。

通过以上流程,在实践操作中将能有效提升汽车租赁公司的业务水平,并且得到一个高效稳定的汽车租赁管理系统。

出租车计费系统设计

出租车计费系统设计

4.8 出租车计费系统的设计4.8.1 设计要求设计出租车计费系统,实现出租车按照行驶里程计费,行驶里程在3公里以 内,预置起步费为7元,3公里以上以1.6元/公里计费,当计费总额超过30元, 以 2.4 元/公里计费,车停止结束计费。

车费总额可显示最大值为 99.9 元,能同 步显示对应行驶里程。

模拟出租车启动、暂停、停止等状态,通过动态扫描显示 电路,显示行驶里程和车费总额。

4.8.2 设计过程1.出租车计费系统的设计原理出租车计费系统整体设计框图如图 4.8.1 所示,主要模块包括车轮脉冲计数 模块、里程计数模块、计费模块、动态扫描模块及译码模块。

图 4.8.1 出租车计费系统整体设计框图车轮脉冲计数模块接收来自车轮传感器的脉冲信号, 以及出租车运营过程的 启动、暂停、停止等信号,根据车轮的型号,转换得到百米行驶信号。

里程计数 模块负责统计百米行驶信号,得到行驶里程数据信号,计费模块根据行驶里程以 车轮脉冲计数模块计费模块 里程计数模块动态扫 描及译 码模块车轮脉冲 信号 启动/暂停 停 止 时钟信号及车费规则,得到车费总金额数据信号,将行驶里程和车费总金额数据信号,送 入动态扫描模块及译码模块,供外部数码管显示。

2.车轮脉冲计数模块车路脉冲计数模块接收来自车轮传感器的脉冲信号,经过计数分频,产生出 租车行驶100米的输出信号。

由于不同型号的车轮,直径大小不同,行驶100米车轮转的圈数不同,即车 轮传感器发出的脉冲信号个数不同,对不同车轮应区别对待。

如表4­8­1所示, 车轮直径与每公里所转圈数对应表。

表 4­8­1 车轮直径与每公里所转圈数对应表车轮直径 500mm 520mm 540mm 560mm 580mm圈数/公里 637 612 590 569 549本设计中我们选取车轮直径为520mm进行讨论,设计程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY count ISPORT(clk, reset, start : IN STD_LOGIC;clk_out : OUT STD_LOGIC);END count;ARCHITECTURE behave OF count ISSIGNAL mode : STD_LOGIC_VECTOR(5 DOWNTO 0);SIGNAL temp : STD_LOGIC_VECTOR(5 DOWNTO 0);TYPE states IS (s0, s1);SIGNAL s_state : states;BEGINmode <= "111101";PROCESS(clk, start, reset)BEGINIF reset = '1' THEN s_state <= s0;temp <= "000000";ELSIF (clk'EVENT AND clk = '1') THENCASE s_state ISWHEN s0 => temp <= "000000";IF start = '1' THENs_state <= s1;ELSE s_state <= s0;END IF;WHEN s1 => IF start = '1' THENIF temp = mode THENtemp <= "000000"; s_state <= s1;ELSE temp <= temp + 1; s_state <= s1;END IF;ELSE s_state <= s0;END IF;END CASE;END IF;END PROCESS;clk_out <= '1' WHEN temp = mode ELSE '0';END behave;以上程序中,当停止键 reset 设为高电平,模块进入停止计数状态(s0);停止键 reset 设为低电平,同时启动/暂停键设为启动状态(start 高电平),进入;设置为暂停(start 低电平),回到s0状态,停止分频计数。

智能出租车系统的设计与优化

智能出租车系统的设计与优化

智能出租车系统的设计与优化近年来,随着智能化技术的不断发展,智能出租车逐渐进入人们的视野。

如何设计和优化智能出租车系统,实现安全、高效、智能的服务,成为了智能交通领域的一个重要挑战。

一、智能出租车系统的设计智能出租车系统的设计需要考虑到车辆控制系统、感知系统、决策系统以及用户界面等方面。

其中,车辆控制系统是智能出租车系统的核心,主要包括车辆控制单元、电机控制单元、制动单元等。

感知系统负责采集和处理车辆和行人等交通信息,并提供给决策系统。

决策系统负责分析感知系统提供的交通信息,制定行驶方案,避免车辆和行人之间的碰撞。

用户界面则提供方便的操作和查询接口,包括手机APP、显示屏、嵌入式屏幕等。

二、智能出租车系统的优化智能出租车系统的优化主要包括行驶路线规划、车流调度和安全保障等方面。

1、行驶路线规划出租车公司可以使用车辆信息、地图和交通数据等实时信息来规划出租车的行驶路线。

这可以提高出租车的效率、减少燃料消耗和车辆磨损。

2、车流调度出租车公司可以使用智能调度系统来帮助管理出租车车队,优化车辆调度和路线安排。

这可以使组织更有效地掌握在路上的车辆数,更好地利用车辆资源,从而减少车辆等待时间和排队时间。

3、安全保障智能出租车为乘客提供安全的交通服务,主要包括车辆安全保障、行人安全保障和乘客安全保障等方面。

出租车配备先进的安全设备,如碰撞传感器和安全气囊,以便避免意外碰撞。

三、智能出租车系统的未来展望智能出租车系统正在迅速发展,未来可能会出现一些新的趋势。

1、配备更多的感知设备随着感知技术的改进,出租车可能会配备更多的传感器和摄像头,用于感知周围环境和交通状况。

2、更加智能化的调度系统出租车调度可以使用AI技术,更加智能化地管理和调度车辆流量,这可以为乘客提供更好的体验。

3、更出色的安全性随着自主驾驶技术的不断提高,智能出租车的安全性将进一步提高。

未来可能会实现完全自主驾驶和无人驾驶的智能出租车,有望成为更加安全、高效的出行方式。

出租车计价系统设计

出租车计价系统设计

出租车计价系统设计要求: 1.实现计费功能:按行驶里程收费,起步费为7.00元,并在车行3公里后能:能模拟汽车启动、停止、暂停、车速等状态; 3.设计动态扫描电路:显示车费,保存两位小数; 4.仿真验证:观察波形确认电路设计是否正确。 5.实际验证:设计电路下载,检查设计方案的正确性。 6.分析方案:进行资源占用、工作频率及其时间分析以及改进方案分析。
北京出租车详细价目: 1.每公里2元,基价3公里,起价10元; 2.单程15公里以上局部加收50%空驶费; 3.时速低于12公里/小时或等候乘客,每累计5分钟加收1公里费用; 4.晚23时至早5时,每公里租价加收20%;晚23时以后起步价11元; 5.不同乘客合租,按合乘里程各收60%; 6. 租车,每次加收3元 租车费; 7.出北京市,由双方议定收费;过路过桥费由乘客支付。 另:出租车四舍五入按元收费,没有角分的概念;

(完整版)出租车计费系统毕业设计论文

(完整版)出租车计费系统毕业设计论文

目录摘要 (1)ABSTRACT (2)第1章引言 (4)1.1设计背景 (4)1.2EDA发展概况 (5)第2章出租车计费系统的设计 (10)2.1出租车计费设计 (10)2.2基本设计思想 (10)第3章出租车计费系统的实现 (11)3.1系统的总体框图 (11)3.2程序流程图 (12)第4章系统各功能模块的实现 (13)4.1模块JIFEI的实现 (13)4.2模块X的实现 (15)4.3模块XXX1的实现 (18)4.4模块SE的实现 (19)4.5模块DI的实现 (20)第5章系统仿真 (22)5.1模块X的仿真结果 (22)5.2模块JIFEI的仿真结果 (22)5.3模块XXX1的仿真结果 (23)5.4模块SE的结果验证 (23)5.5模块DI的结果验证 (23)结束语 (24)致谢 (25)参考文献 (26)摘要随着出租车行业的发展,对出租车计费器的要求也越来越高,用户不仅要求计费器性能稳定,计费准确,有防作弊功能;同时还要求其具有车票资料打印、IC卡付费和电脑串行通信功能。

不同国家和地址的计费方式存在差异,如有些地区有夜间收费及郊区收费等,而有些地区则无夜间收费和郊区收费。

本次设计采用硬件和软件相结合的方法,以单片机为核心,从圈脉冲信号的产生到营业信息的打印都做了详细的介绍,并对MAX813L看门狗、复位电路、行车里程检测电路、掉电存储电路、IC卡读写电路、分屏显示电路以及操作面板进行了详细的设计。

该系统还具有防止干扰和防死机的功能,系统的电源是专门为出租车设计的,具有相当强的稳压效果,系统采用了EEPROM存储器,可以方便且安全的记录顾客和车主的信息。

关键词: 89C51;里程检测;分屏显示;EEPROM;AbstractAlong with the development of taxi trade, counting fees that the requirement of ware is also more and more is stable, and it is accurate to count fees, and cheated; At the same time still ask function.The method that this design, and takes one piece machine as the nucleus, printting to doing business information all did the detailed introduction from the circle pulsing,To the content of 89C51 and MAX813L Guarding the entrance the dog and the introduction that reduces the circuit to blame for focal point at the same time, this system still possesses to prevent to disturb and the function guarding against the dead machine, and special in the taxi design during power supply of system, possessing fairly strong steady pressure effect, the system adopted IC Block the memory, and can make things convenient for just the information of safe record customer and Che owner.Keywords:The dog is guarded the entrance 89c51 Circle pulse Anti-jamming第1章引言1.1 设计背景随着出租车行业的发展,对出租车计费器的要求也越来越高。

出租车计费系统的设计 设计

出租车计费系统的设计 设计

目录摘要 (1)第1章绪论 (2)第2章系统设计 (3)2.1系统组成 (3)2.1.1 计费及显示 (3)2.1.2 时钟及显示 (3)2.1.3 计费开始提示 (1)2.2功能模块设计 (1)第3章硬件及软件实现 (3)3.1传感器 (3)3.1.1 光电传感器电路设计 (3)3.1.2车轮光电开关检测电路 (4)3.2单片机 (4)3.2.1 8051 单片机功能方块图 (5)3.2.2 AT89S51单片机简介 (7)3.2.3 AT89S5l与51系列单片机相比具有如下特点 (8)3.2.4 89S51的内部框图 (9)3.2.5 中断控制 (11)3.2.6 单片机控制程序设计 (12)3.2.7 单片机汇编语言源程序 (16)3.3显示及按键控制系统 (31)3.3.1 LED数码管 (31)3.3.2 数据显示电路的设计 (32)第4章系统检测及分析 (34)4.1系统仿真/硬件验证 (34)4.1.1 系统的调试方法 (34)4.1.2 系统的硬件验证 (34)4.2设计技巧分析 (35)结论 (36)附录A: FPGA芯片引脚 (37)摘要本系统电源电压为+16V,速度传感器具有汽车每运行1㎞提供1000个脉冲信号的特性。

显示器可以采用LED数码管。

系统采用单片机和FPGA的结合进行系统的主体设计,测控FPGA芯片通过采集传感器脉冲信号WCLK进行里程计算,里程计费,利用外部脉冲信号SCLK产生标准时钟信号,以计算等待时间,等待费用,并产生里程标志(LCBZ),等待标志(DDBZ),熄灯标志(XDBZ)等有关控制标志信号,同时根据单片机发出的开始信号(START),时段标志(SDBZ),传输数据选择(SEL)等控制信号将有关计算结果传送给FPGA芯片。

单片机MCU除了完成键盘扫描,显示控制外,还通过P0口与FPGA进行数据交换,并向测控FPGA芯片发出有关控制信号。

本设计方案利用单片机和FPGA的结合,发挥它们各自的长处,分工清晰,实际使用和操作符合大众逻辑,容易被人接受。

智能出租车调度系统的设计与实现

智能出租车调度系统的设计与实现

智能出租车调度系统的设计与实现随着城市交通的快速发展,出租车已经成为人们生活不可或缺的一部分。

但是,出租车调度系统仍然面临许多问题,例如效率低,堵车等。

幸运的是,随着人工智能技术的不断成熟,智能出租车调度系统已经慢慢开始落地,为城市交通带来了许多便利。

本文将介绍智能出租车调度系统的设计和实现,并探讨其未来的发展前景。

一、设计智能出租车调度系统的设计可以分为下述几个模块:1.数据采集模块智能出租车调度系统的数据采集模块需要收集城市的道路网、车辆监控数据以及人口流动数据等信息。

这些数据可以在出租车行驶过程中被采集,包括每个车辆的GPS位置、速度以及行驶路线等信息。

同时,还需要考虑安全隐患,采用先进的加密技术对数据进行加密,保障数据的安全性。

2.分析处理模块数据采集模块采集了大量的数据,需要进行处理、分析等操作,得出一些有意义的结果。

针对数据采集的特点,使用机器学习和数学算法等技术,对车流量、道路拥堵度等信息进行分析,并生成出租车调度策略。

在采用这些技术的同时,可以设置优先级来处理紧急的调度情况。

3.传输模块传输模块负责将处理好的数据传输给出租车终端,包括调度任务和路线信息。

可以采用云计算技术,使用公共云、私有云等存储资源,为用户提供服务。

如果出现网络延迟等问题,依靠智能算法技术进行智能决策,快速为用户分配空闲的出租车。

4.监控管理模块监控管理模块用于监控车辆行驶情况、交通变化、路况等各种不可预知的情况。

如果出现调度不合理、堵车等问题,将及时采取补救措施。

同时,监控管理模块也负责记录过去发生的各种事件,为后续的调度提供数据支持。

二、实现智能出租车调度系统的实现需要依靠现代化的软、硬件技术,例如:1.云计算技术云计算技术是智能出租车调度系统实现的核心技术之一,利用云计算技术能够更快速、高效的实现数据分析,提升整体的出租车调度效率。

谷歌云等云计算平台可以对数据进行实时模拟,进行测试运行。

2.车辆监视技术车辆监视技术是为智能出租车调度系统能够更好的实现数据监测提供保障的技术。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

出租车计费系统设计功能分析本设计主要介绍了出租车计费系统的设计思路和过程,并给出了所涉及的相关知识的详细介绍。

EDA技术应用,单片机的功能及应用,传感器检测技术,VHDL编程语言及汇编语言程序,显示系统设计及按键控制,目前,普遍的出租车计费器仅仅具有时钟,起步价,里程计费,等待计费及显示几个功能。

其发展前景是可观的,将来的产品除具有这些功能外,另外还可增加如下功能:防作弊功能,IC卡付费:顾客能在制定点购买一定额度的"顾客IC卡",乘车后可用IC卡付帐,付帐是否成功有相应的提示。

车主可定期将总营业额写入"车主IC卡"中,并据此IC卡向所属公司领取报酬。

车票资料打印:顾客付费后可打印发票,打印内容包括车主信息和车费信息等。

可打印车主总营业额信息。

语音播报:当乘客上车时,可自动问候乘客,当到达目的地,自动播报乘车费用并礼貌再见,表达希望下次乘坐的意思。

增加的这些功能将会更好地为乘客服务。

计费及显示①里程,即汽车行程里程,用四位数字显示,显示方式为"XXX.X",单位为㎞,精确到0.1㎞。

②单价,即里程单价,用三位数字显示,显示方式为"X.XX",单价为元/㎞,根据每天不同的时间段有两种情况:当时间段为06:00~23:00时单价为1.4元/㎞,其他时间段内单价为1.80元/㎞。

③等候时间,用四位数字显示分钟和秒,显示方式为"XX:XX",等候的定义是:当汽车行驶速度小于或等于12㎞/h时为"等候"。

在等候时间大于1小时的情况下,可以不显示等候时间,但必须对等候时间进行统计计算。

④等候单价,等候单价有两种情况:在等候时间小于1小时的情况下,等候单价为1元每5分钟;在等候时间大于1小时的情况下,等候单价为20元每小时。

⑤费用的计算,出租车的起价为5.00元,当里程小于2㎞时,按起价计算费用;当里程大于2㎞时按下式计算费用:费用=里程*里程单价+等候时间*等候单价。

⑥费用的显示,用五位数字显示,显示方式为"XXX.XX",单价为元。

时钟及显示当出租车在通常运行状态下,应能显示当前的时间,在汽车熄火的情况下,时钟必须正常运行,但是可以不显示时钟.计费开始提示当出租车载上乘客并起步后,将空车指示牌扳倒时,空车指示牌里的指示灯熄灭,并有语音或灯光提示信号。

功能模块设计根据系统的设计要求,将整个测控FPGA系统CZJFXT分为七个模块,它们分别是:分频器模块FPQ,等待判别模块DDPB,里程计算模块LCJS,里程计费模块LCJF,等待计时模块DDJS,等待计费模块DDJF,输出数据选择模块SCXZ。

分频器模块FPQ:将外部时钟信号SCLK(设计时假设为1024HZ)经过适当分频后,产生1HZ的系统工作用基准时钟信号CLK1HZ,供给系统中的有关模块计时用。

等待判别模块DDPB:根据速度传感器脉冲信号WCLK和分频器产生的基准时钟信号CLK1HZ,计算单位时间里WCLK的脉冲个数(每㎞产生1000个脉冲信号,即每米产生1个脉冲信号),亦即出租车行驶速度,从而判别出租车是否处于等待状态,发出等待标志信号DDBZ。

当速度大于12㎞/H,即速度大于200M/MIN时,出租车处于运行状态,这时等待标志DDBZ=0;当速度小于等于12㏎/H,即速度小于等于200M/MIN时,出租车处于等待状态,这时等待标志DDBZ=1。

该模块的VHDL程序设计可分为三个进程:60S周期性跳变信号产生进程,每分钟行驶距离计算进程,等待标志判别进程。

等待标志判别进程就是比较每分钟WCLK脉冲个数与等待状态WCLK 脉冲临界个数200的大小,从而确定DDBZ的赋值。

里程计算模块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脉冲信号的上升沿到来时进行计费的加法操作。

里程计费模块LCJF:在计费标志信号JFBZ,等待标志信号DDBZ,里程标志信号LCBZ和时段标志信号SDBZ等信号的控制下,计算行驶里程超过2㎞以上里程的费用LCFY。

该模块的VHDL程序是通过由多个条件控制的加法进程来完成里程计费的,里程计费的条件是在DDBZ=0,并且在JFBZ 的上升沿根据SDBZ分别进行加法计费操作。

当SDBZ=1时,表示在06:00~23:00时段,其单价SD1为1.4元/㎞;当SDBZ=0时,表示其他时段,其单价SD2为1.8元/㎞。

如果LCBZ=1,说明行驶距离超过2㎞,里程计费启动;如果LCBZ=0,说明没超过2㎞,按起价计费。

等待计时模块DDJS:在等待标志信号DDBZ和基准时钟信号CLK1HZ的控制下,进行等待时间DDSJ的计算,其中DDSJ的低8位表示等待时间的秒数,DDSJ的高8位表示等待时间的分钟数,同时根据等待时间的长短发出一个熄灯标志信号XDBZ。

当等待时间小于等于1小时,XDBZ=0,等待时间显示灯亮;当等待时间大于1小时,XDBZ=1,等待时间显示不亮。

该模块的VHDL程序是通过一个多层嵌套的加法进程来完成等待计时的。

等待计费模块DDJF:在等待标志信号DDBZ和熄灯标志信号XDBZ控制下,进行等待费用DDFY的计费操作。

该模块的VHDL程序包括两个进程:60S周期性跳变信号产生进程,等待费用计算进程。

等待费用计算的条件是在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,精确到0.1 km。

(2) 单价,即里程单价,用三位数字显示,显示方式为“X.XX”,单价为元/km,根据每天不同的时间段有两种情况:当时间段为06:00~23:00时单价为1.40元/km,其他时间段内单价为1.80元/km。

(3) 等候时间,用四位数字显示分钟和秒,显示方式为“XX:XX”,等候的定义是:当汽车行驶速度小于或等于12 km/h时为“等候”。

(4) 等候单价,等候单价有两种情况:在等候时间小于1小时的情况下,等候单价为1元每5分钟;在等候时间大于1小时的情况下,等候单价为20元每小时。

(5) 费用的计算,出租车的起价为5.00元,当里程小于2 km时,按起价计算费用;当里程大于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程序设计根据系统的设计要求,我们可将整个测控FPGA系统CZJFXT分为七个模块,它们分别是:分频器模块FPQ,等待判别模块DDPB,里程计算模块LCJS,里程计费模块LCJF,等待计时模块DDJS,等待计费模块DDJF,输出数据选择模块SCXZ。

其内部组成原理图如图1.3所示。

分频器模块FPQ:将外部时钟信号SCLK(设计时假设为200 Hz)经过适当分频后,产生1 Hz的系统工作用基准时钟信号CLK1HZ,供系统中的有关模块计时用。

等待判别模块DDPB:根据速度传感器脉冲信号WCLK和分频器产生的基准时钟信号CLK1HZ,计算单位时间里WCLK的脉冲个数(每km产生1000个脉冲信号,即每米产生1个脉冲信号),亦即出租车行驶速度,从而判别出租车是否处于等待状态,发出等待标志信号DDBZ。

里程计算模块LCJS:根据速度传感器脉冲信号WCLK和等待标志DDBZ,对出租车行驶的里程数XSLC进行计算,同时发出里程标志信号LCBZ和里程计费标志信号JFBZ。

里程计费模块LCJF:在计费标志信号JFBZ、等待标志信号DDBZ、里程标志信号LCBZ和时段标志信号XDBZ等信号的控制下,计算行驶里程超过2 km以上里程的费用LCFY。

等待计时模块DDJS:在等待标志信号DDBZ和基准时钟信号CLK1HZ的控制下,进行等待时间DDSJ的计算,其中DDSJ 的低8位表示等待时间的秒数,DDSJ的高8位表示等待时间的分钟数,同时根据等待时间的长短发出一个熄灯标志信号XDBZ。

等待计费模块DDJF:在等待标志信号DDBZ和熄灯标志信号XDBZ控制下,进行等待费用DDFY的计费操作。

输出数据选择模块SCXZ :根据单片机发出的数据传输选择控制信号SEL,选择有关计算处理结果传输给单片机。

SEL与被传送数据的具体关系如表1.1所示。

表1.1 SEL与被传送数据的关系列表1.2.3 单片机控制程序设计单片机模块包括单片机AT89C51及其控制的显示和键盘系统,控制口如图1.3(略)所示。

AT89C51对FPGA的数据进行运算,计算出用车总费用并送显示系统显示,同时它接收键盘信息并处理显示切换。

系统采用6+1显示,6个数码管作常规显示,一个数码管作状态显示。

按键共有5个,分别是功能切换键、确定键、修改键、启动模拟键和空车牌压下模拟键。

涉及的主要流程图如图1.4~1.8所示。

图1.4 主程序流程图图1.5 键处理流程图图1.6 经典显示子程序流程图图1.7 里程显示子程序流程图图1.8 乘车费用显示子程序流程图程序清单1.3 主要源程序14.3.1 主要VHDL源程序1.分频器模块FPQ的VHDL源程序--FPQ.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY FPQ ISPORT(SCLK: IN STD_LOGIC;--SCLK=200 HzCLK1HZ: OUT STD_LOGIC);--CLK1HZ=1 Hz END ENTITY FPQ;ARCHITECTURE ART OF FPQ IS SIGNALCNT100: INTEGER RANGE 0 TO 99; SIGNAL CLK1: STD_LOGIC; BEGIN PROCESS(SCLK)BEGINIF SCLK'EVENT AND SCLK='1' THENIF CNT100=99 THENCNT100<=0;CLK1<=NOT CLK1;ELSECNT100<=CNT100+1;END IF;ELSECLK1<=CLK1;END IF;CLK1HZ<=CLK1;END PROCESS;END ARCHITECTURE ART;2.等待判别模块DDPB的VHDL源程序--DDPB.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY DDPB ISPORT(START,WCLK:IN STD_LOGIC;CLK1HZ:IN STD_LOGIC;DDBZ:OUT STD_LOGIC);END ENTITY DDPB;ARCHITECTURE ART OF DDPB ISSIGNAL T60S:STD_LOGIC;SIGNAL WCLKCOU:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN--产生60 s周期性跳变信号进程PROCESS(START, CLK1HZ) ISVARIABLE CNT60: STD_LOGIC_VECTOR(7 DOWNTO 0); BEGINIF START='1' THENCNT60:="00000000"; T60S<='0';ELSIF CLK1HZ'EVENT AND CLK1HZ='1' THENIF CNT60="00111100" THEN --CNT60=60T60S<='1'; CNT60:="00000000";ELSECNT60: =CNT60+'1'; T60S<='0';END IF;END IF;END PROCESS ;--每分钟行驶距离计算进程PROCESS(START, WCLK, T60S) ISBEGINIF START='1' THENWCLKCOU<="00000000";ELSIF WCLK'EVENT AND WCLK='1' THENIF T60S='1' THENWCLKCOU<="00000000";ELSEWCLKCOU<=WCLKCOU+'1'; --距离计算,单位为m END IF;END IF;END PROCESS ;--等待标志判别进程PROCESS(WCLKCOU,T60S) ISBEGINIF T60S'EVENT AND T60S='1' THENIF WCLKCOU<="11001000" THEN --WCLKCOU<=200DDBZ<='1'; --等待ELSEDDBZ<='0'; --行驶END IF;END IF;END PROCESS ;END ARCHITECTURE ART;3.里程计算模块LCJS的VHDL源程序--LCJS.VHD LIBRARY IEEE;USE 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); ENDENTITY LCJS; ARCHITECTURE ART OF LCJS IS SIGNALBMS:STD_LOGIC_VECTOR(15 DOWNTO 0); SIGNAL BMS1: INTEGER RANGE 0 TO 99999; SIGNAL JFBZ1: STD_LOGIC; BEGIN --里程计算及标志产生进程PROCESS(START,WCLK)运行结果说明系统联合调试成功后,可将单片机程序通过编程器固化到单片机中,并插入到EDA实验开发系统中的单片机插座上,将VHDL设计经过综合适配后的网表对CPLD/FPGA进行编程下载,输入相关的信号,并进行有关性能指标的测试,直到满足系统的设计要求为止。

相关文档
最新文档