出租车计费系统的-eda技术综合应用实例与分析-谭会生-ppt-幻灯片

上传人:F****n 文档编号:88135929 上传时间:2019-04-19 格式:PPT 页数:130 大小:981KB
返回 下载 相关 举报
出租车计费系统的-eda技术综合应用实例与分析-谭会生-ppt-幻灯片_第1页
第1页 / 共130页
出租车计费系统的-eda技术综合应用实例与分析-谭会生-ppt-幻灯片_第2页
第2页 / 共130页
出租车计费系统的-eda技术综合应用实例与分析-谭会生-ppt-幻灯片_第3页
第3页 / 共130页
出租车计费系统的-eda技术综合应用实例与分析-谭会生-ppt-幻灯片_第4页
第4页 / 共130页
出租车计费系统的-eda技术综合应用实例与分析-谭会生-ppt-幻灯片_第5页
第5页 / 共130页
点击查看更多>>
资源描述

《出租车计费系统的-eda技术综合应用实例与分析-谭会生-ppt-幻灯片》由会员分享,可在线阅读,更多相关《出租车计费系统的-eda技术综合应用实例与分析-谭会生-ppt-幻灯片(130页珍藏版)》请在金锄头文库上搜索。

1、第14章 出租车计费系统的设计与分析,14.1 系统设计要求 14.2 系统设计方案 14.3 主要源程序 14.4 系统仿真/硬件验证 14.5 设计技巧分析 14.6 系统扩展思路,14.1 系统设计要求,以CPLD/FPGA为主体,设计并制作一台出租车计费系统,系统的方框图如图14.1所示。,图14.1 出租车计费系统方框图,1计费及显示 (1) 里程,即汽车行驶里程,用四位数字显示,显示方式为“XXX.X”,单位为km,精确到0.1 km。 (2) 单价,即里程单价,用三位数字显示,显示方式为“X.XX”,单价为元/km,根据每天不同的时间段有两种情况:当时间段为06:0023:00时

2、单价为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”,单价为元。,2时钟及显示 当出

3、租车在常运状态下,应能显示当前的时间。在汽车熄火的情况下,时钟必须正常运行,但是可以不显示时钟。 3计费开始提示 当出租车载上乘客并起步后,将空车指示牌扳倒时,空车指示牌里的指示灯熄灭,并有语音或灯光提示信号。,14.2 系统设计方案,14.2.1 系统总体设计方案 本系统拟采用单片机和FPGA的结合进行系统的主体设计,系统原理框图如图14.2所示。,图14.2 出租车计费系统总体原理框图,14.2.2 测控FPGA的VHDL程序设计 根据系统的设计要求,我们可将整个测控FPGA系统CZJFXT分为七个模块,它们分别是:分频器模块FPQ,等待判别模块DDPB,里程计算模块LCJS,里程计费模块

4、LCJF,等待计时模块DDJS,等待计费模块DDJF,输出数据选择模块SCXZ。其内部组成原理图如图14.3所示。,分频器模块FPQ:将外部时钟信号SCLK(设计时假设为200 Hz)经过适当分频后,产生1 Hz的系统工作用基准时钟信号CLK1HZ,供系统中的有关模块计时用。 等待判别模块DDPB:根据速度传感器脉冲信号WCLK和分频器产生的基准时钟信号CLK1HZ,计算单位时间里WCLK的脉冲个数(每km产生1000个脉冲信号,即每米产生1个脉冲信号),亦即出租车行驶速度,从而判别出租车是否处于等待状态,发出等待标志信号DDBZ。,里程计算模块LCJS:根据速度传感器脉冲信号WCLK和等待标

5、志DDBZ,对出租车行驶的里程数XSLC进行计算,同时发出里程标志信号LCBZ和里程计费标志信号JFBZ。 里程计费模块LCJF:在计费标志信号JFBZ、等待标志信号DDBZ、里程标志信号LCBZ和时段标志信号XDBZ等信号的控制下,计算行驶里程超过2 km以上里程的费用LCFY。,等待计时模块DDJS:在等待标志信号DDBZ和基准时钟信号CLK1HZ的控制下,进行等待时间DDSJ的计算,其中DDSJ的低8位表示等待时间的秒数,DDSJ的高8位表示等待时间的分钟数,同时根据等待时间的长短发出一个熄灯标志信号XDBZ。 等待计费模块DDJF:在等待标志信号DDBZ和熄灯标志信号XDBZ控制下,进

6、行等待费用DDFY的计费操作。 输出数据选择模块SCXZ :根据单片机发出的数据传输选择控制信号SEL,选择有关计算处理结果传输给单片机。SEL与被传送数据的具体关系如表14.1所示。,表14.1 SEL与被传送数据的关系列表,14.2.3 单片机控制程序设计 单片机模块包括单片机AT89C51及其控制的显示和键盘系统,控制口如图14.3(略 )所示。 AT89C51对FPGA的数据进行运算,计算出用车总费用并送显示系统显示,同时它接收键盘信息并处理显示切换。系统采用6+1显示,6个数码管作常规显示,一个数码管作状态显示。按键共有5个,分别是功能切换键、确定键、修改键、启动模拟键和空车牌压下模

7、拟键。涉及的主要流程图如图14.414.8所示。,图14.4 主程序流程图,图14.5 键处理流程图,图14.6 经典显示子程序流程图,图14.7 里程显示子程序流程图,图14.8 乘车费用显示子程序流程图,14.3 主 要 源 程 序,14.3.1 主要VHDL源程序 1分频器模块FPQ的VHDL源程序 -FPQ.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; ENTITY FPQ IS,PORT(SCLK: IN STD

8、_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 CNT100=0; CLK1=NOT CLK1; ELSE CNT100=CNT100+1; END IF; ELSE,CLK1

9、=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_LOGIC; CLK1HZ:IN STD_LOGIC; DDBZ:OUT STD_LOGIC);,END ENTITY DDP

10、B; 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; ELSIF CLK1HZEVENT AND CLK1HZ=1 THEN IF CNT60=“00111100“ T

11、HEN -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“; ELSE WCLKCOU=WCLKCOU+1; -距离计算,单位为m,END IF; END

12、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; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC

13、_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); SIGNAL BMS1: INTEGER RANGE 0 TO 99999; SIGNAL JF

14、BZ1: STD_LOGIC; BEGIN -里程计算及标志产生进程 PROCESS(START,WCLK),VARIABLE MS: STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF START=1 THEN MS:=“00000000“; BMS=“0000000000000000“;LCBZ=0; ELSIF WCLKEVENT AND WCLK=1 THEN IF DDBZ=0 THEN IF MS=“01100011“ THEN MS:=“00000000“;,BMS=20 THEN LCBZ=1; -大于2 km标志 END IF; ELSE MS:=M

15、S+1; -米数计算 END IF; END IF; END IF; END PROCESS;,-里程计算结果输出 XSLC=BMS; -里程计算结果转换 BMS1=CONV_INTEGER(BMS); -产生计费信号进程 PROCESS(BMS1) IS BEGIN CASE BMS1 IS,WHEN 10|20|30|40|50|60|70|80|90|100=JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1=1;,WHEN 1010|1020|1030|1040|1050|1060|1070|1080|1090|1100=JFBZ1JF

16、BZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1JFBZ1=1;,WHEN 3910|3920|3930|3940|3950|3960|3970|3980|3990|4000=JFBZ1JFBZ1=0; END CASE; END PROCESS; -计费标志去毛刺进程 PROCESS(WCLK,JFBZ1) IS BEGIN,IF WCLKEVENT AND WCLK=1 THEN JFBZ=JFBZ1; END IF; END PROCESS; END ARCHITECTURE ART;,4里程计费模块LCJF的VHDL源程序 -LCJF.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.AL

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号