毕业设计论文-基于fpga的出租车多功能计价系统内容摘要:

清零端,每次计费结束后都会自动清零,以此保证下次计费的准确性。 图 35 计程模块 计程计时选通模块 通过车速比较模块的输出信号给计程计时选通模块的选通端就可以识别当前时刻是应该要把计程的信号还是把计时的信号输出给自动计费模块。 此模块的输出端的每 1 个上升沿都代表 1km。 如图 36所示。 S—— 选通端; SHI—— 计时 基于 FPGA 的出租车多功能计费系统设计 第 16 页 共 52 页 模块信号; CHEN—— 计程模块信号; Y—— 输 出端。 图 36 计程计时选通模块模块 计程计时显示输出模块 LED 显示屏上可以显示 0到 99 分钟的时间和 0 到 999 公里的路程。 计时端则有两位数字的 BCD 码输出,计程端有三数字的 BCD 码输出,通过译码器后成为LED 可识别的 7位数字编码。 为了使计费停止后还可保持显示,让乘客和司机都能清楚地看到所有得计费信息,需要设置一个清零端,使其通过下次按下计费启动键的瞬间实现清零。 计程计时显示输出模块设计如图 37所示。 JC—— 计程信号; JS—— 计时信号; CLR—— 清零端; C C C3—— 计 程输出端; S S2—— 计时输出端。 图 37 计程计时显示输出模块 基于 FPGA 的出租车多功能计费系统设计 第 17 页 共 52 页 译码显示模块 采用共阴极七段数码管,依据十进制数和七段显示段码表的相应关系,用 VHDL 的 case 语句即可实现它们的译码。 模块如图 38 所示。 图 38 译码显示模块 计费标准设定系统 为了满足计价标准的灵活性,计费标准设定系统包括了:车轮大小的设定,密码保护设定,低速时的时间设定,白天起步价设定、每千米的价格设定、超出10km 后的加收设定,以及深夜时对应的设定,共 9 项参数的设 定,可以说来是很全面和灵活的。 如图 39所示,首先通过设定选择按键,初始化时会停留在密码设定选项,当密码输入正确后,按下选择按键可以进行其它选项的设定。 密码输入正确后, PASSOUT 会变为 1送到 SET 模块和 CH1 模块,否则为 0,禁止设定。 SMUX 是设定选通模块用于选通加减键给需要设定的模块( A为加, S为减)。 基于 FPGA 的出租车多功能计费系统设计 第 18 页 共 52 页 图 39 计费模块 密码设定模块 为了防止随意改动计费标准的参数设定,设置了一个密码保护模块。 模块如图 310 所示。 UP、 DOWN —— 加减设置键; CLK —— 加减的快慢频率; WORD —— 显示输出端,经过二进制转化 BCD 码后就可以在屏幕上显示; PASSOUT —— 密码是否正确的输出端,输入正确时输出 1 到选择端,进行参数设 基于 FPGA 的出租车多功能计费系统设计 第 19 页 共 52 页 置。 图 310 密码设定模 设置模块 当密码设置模块的输出端 PASSOUT 为 1 时才可以进行参数的设置。 模块如图311 所示。 PW—— 密码输入端,当其为 1 时才可以进行选择操作; AN —— 按键输入端; SET —— 输出端,从 000 到 111给选通模块分别代表不同设置选项。 图 311 设置模块 设置按键选通模块 为减少出租车计费器上的按键 ,做了一个按键选通模块。 如表 33 所示, A为加键, S为减键,当 sel为 000 时把 A给 A0、 S给 S0,当 sel 为 00 时把 A给A S给 S1,以此类推, sel 为 111 则把 A 给 A S 给 S7。 基于 FPGA 的出租车多功能计费系统设计 第 20 页 共 52 页 表 33 sel 设定表 按键选通模块如 312所示: 图 312 按键选通模块 基于 FPGA 的出租车多功能计费系统设计 第 21 页 共 52 页 按键自动加速模块 按键自动加速模块通过自动加速模块可以让加减一开始变化得慢,过了长按5秒后自动变快,不仅可快速的调到某个数值,而且还能精确的定位到某个数值。 如图 313 所示,当按下键后起初以 1Hz 累加,按住 5秒后变为 5Hz 的速度进行加减。 CLK 输出自动变化的频率给加减模块, K 是累积端,累积 5 秒后不再发生变化,通过 XOR 端,当加键或减键停止后则自动使 K 累积的值清零,这样下次按下加键时就又从 1Hz 开始加。 图 313 按键自动加速模块 白天起步费设定模块 如图 314 所示, UP、 DOWN—— 加减键; CLK —— 加减的快慢频率; DS—— 起步费输出端,给自动计费模块,初始值设为 元。 图 314 白天起步费设定模块 白天每公里费用设定模块 如图 315所示, UP、 DOWN—— 加减键; CLK—— 加减的快慢频率; DS —— 每千米价格的输出端,给自动计费模块,它的初始值设为 /km。 基于 FPGA 的出租车多功能计费系统设计 第 22 页 共 52 页 图 315 白天每公里费用设定模块 白天过 10 公里后加收费设定模块 如图 316所示, UP、 DOWN —— 加减键; CLK—— 为加减的快慢频率; DS —— 加收 50%后的每千米价格输出端给自动计费模块,它的初始值设为 元 /km。 图 316 白天 10 公里后费用设定模块 深夜起步费设定模块 如图 317所示,根据标准深夜 23: 00到凌晨 6: 00之间 起步价为 7元。 UP、 DOWN—— 加减键;若 DOWN有效电平则进行减设定,每来一个减信号 CLK就减; DS—— 起步费输出端给自动计费模块,它的初始值设为 7元。 图 317 深夜起步费用设定模块 基于 FPGA 的出租车多功能计费系统设计 第 23 页 共 52 页 深夜每公里费用设定模块 如图 318所示。 UP、 DOWN —— 加减键; CLK—— 加减的快慢频率; DS——每千米价格输出端给自动计费模块,它的初始值设为 /km。 图 318 深夜每公里费用设定模块 深夜过 10 公里后加收费设定模块 如图 319所示。 UP、 DOWN—— 加 减键; CLK—— 加减的快慢频率; DS—— 过 10千米后加收 50%费用的每千米价格输出端给自动计费模块,它的初始值设为 3元 /km。 图 319 深夜过 10 公里后加收费设定模块 1计时时间设定模块 根据标准当出租车车速低于 10km/h时,计时间,计费标准是每 6分钟计为1km。 所以预设值为 6分钟,可在 0到 7分钟内每次加减 1分钟来进行设定。 如图 320所示, UP、 DOWN—— 加减键; CLK—— 加减的快慢频率; MIN—— 设置时间值。 基于 FPGA 的出租车多功能计费系统设计 第 24 页 共 52 页 图 320 计时时间设定模块 白天和深夜辨别模 块 S和 G分别为时钟的十位和个位输入端,当时间处于 23: 00到凌晨 6: 00之间的时输出为 1,其他时间则为 0,送到自动计费模块。 如图 321所示。 图 321 白天和深夜辨别模块 自动计费模块 由于起步费要求在开始计费时 LED屏幕上就显示,受到 VHDL语言的限制,不能在一个结构模块里给某个变量赋两种初始值的选择,所以要给它一个初始化模块。 如图 322所示, D、 N 是白天和深夜的判别信号, D D D3 、 N N N3 分别代表白天起步费、单位千米费、 10 千米后的单位 公里费、深夜起步费、单位千米费、 10 千米后的单位公里费。 每走完一千米就给 CLK 端一个信号,自动计费模块根据不同状态自动计费一次, SP 是启动和停止的输入端,它一方面控制计费的开始和停止,另一方面起到清零作用,且只当启动的瞬间才清零,为了保持屏幕上的数值, JFOUT 把计算值输出给总额计算端。 基于 FPGA 的出租车多功能计费系统设计 第 25 页 共 52 页 图 322 自动计费模块 过路费或空调费模块 目前的计费标准中都有过路费或空调费这些费用,看实际情况支付,通过按键扫描模块,来给这些费用增加或是减少,每次步进 1元,可达到最大值 99元。 输出 值给总额计算模块和显示部分,清零端只当启动的瞬间才清零。 如图 323所示。 CLR—— 清零端; CLK—— 时钟输入端; A、 S—— 加减键; QL—— 输出端。 图 323 过路费或电调费模块自动计费模块 总额计算模块 如图 324所示。 CF 、 LF—— 输入端,代表车费及空调过路费; CLR —— 清零端; ST—— 计算信号输入端,当按下停止计费键时就自动计算结帐; ZHE ——输出端,把计算数值输出到同级模块和显示模块。 基于 FPGA 的出租车多功能计费系统设计 第 26 页 共 52 页 图 324 总额计算模块 统计模块 为让司机能清楚的了解 一天的盈利情况,所以做了一个统计模块,用来统计所接的乘客总数及营运额总数。 如图 325所示。 TR—— 输出乘客数; TF—— 输出营运额总数; ZF —— 总费用的输入端; STOP—— 累计信号,当 STOP 端接到停止计费的信号后就自动累计一次乘客总数和营运额总数,输出给显示模块; CLR—— 清零端。 图 325 统计模块 分频模块 分频模块为该系统的各个模块提供精确的时钟频率。 根据不同的需求输出有1Hz、 2Hz、 5Hz。 如图 326所示。 基于 FPGA 的出租车多功能计费系统设计 第 27 页 共 52 页 图 326 分频模块 晶振时 钟电路 本设计采用的是 4MHz有源晶振,如图 327所示,通过 74LS393双四位二进制计数器给 4MHz晶振进行分频和整形。 经过此计数器的整形之后的方波很稳定,通过分频之后输出到 FPGA芯片的时钟频率为 250KHz。 既可减少了外围电路,又使得输出频率更加精确,更重要的是无需放大电路,因其直接可以输出 5V电压的频率。 图 327 晶振时钟电路 时钟模块 按键 MIN和 H是时钟调节端,分别调节分钟和小时。 分钟在按下键后 sel端选择 IN1进入调节;否则, IN2进入,每 60秒一个高 电平给分钟模块。 分钟时钟经过译码后给 LED显示。 小时在按下键后 sel端选择 IN1进入调节;否则, IN2进入,每60分钟一个高电平给小时模块。 时钟输出端有辨别白天还是深夜的作用。 在图328中, SECOND为秒模块,每 60秒给一个高电平到分钟选择模块;前一个 MUX21为分钟调节端,若 sel为高电平,则进行分钟的设置,若 sel为低电平,则进行分钟自动进行计数; MINTUE为分钟模块, QH, QL为分钟输出端送 LED中显示,每 60 基于 FPGA 的出租车多功能计费系统设计 第 28 页 共 52 页 分钟给一个高电平到小时选择模块;后一个 MUX21为小时调节端,若 sel为高电平,则进行 小时的设置,若 sel为低电平,则进行小时自动进行计数; HOUR为小时模块, QH, QL为小时输出端送 LED中显示。 图 328 时钟模块 秒模块 每 6隔 0秒给一个高电平发送到分钟选择模块,如图 329所示, CLK端接 1Hz的时钟信号,当它累计满 60次后,由 CO端输出一个信号发送到分钟模块。 图 329 秒模块 分钟模块 分钟模块考虑到时间的设置问题,它由两部份组成,一个是进行分钟设置的调节模块 MUX21,一个是自动计数的模块 MINTUE。 如图 330所示,若 MUX21的 sel为低电 平,则通过 IN2输入秒模块 60秒后发送一个高电平信号 CO进行分钟的自动。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。