基于fpga的出租车计费器的设计内容摘要:
大 小设 定+显 示输 出( 累 计 )清 零大 于 2 2 点 , 小 于 5 点预 设++—长 按 逐 渐 加 快密 码过 2 公 里起 步起 步过 2 公 里过 1 2 公 里过 1 2 公 里计 时主 计 费模 块总 额显 示1 0 0 O h m1 0 0 O h m2 k O h m1 0 0 O h m2 2 0 u f启 动 计 费空 车用 于 清 零统 计+显 示V C C按 下 显 示计 算清 零启 / 停显 示清 零启 / 停显 示p a s s设 5 分 钟白 / 夜夜白白夜白夜p a s s片 选显 示设 5 分 钟清 零计 程计 时/ 公 里启 / 停十进制显示公 里 / 次清 零显 示密 码 正 确译 码 显 示包 括 B C D 码转 换L C D 显 示L C D驱 动模 块 图 22 出租车计费器系统框图 基于 FPGA 的出租车计费器的设计 6 首先由电动机驱动模块控制步进电机运转来模拟出租车车轮,速度值通过车速比较器判断是否低于 12km/h,如低于 12km/h 则进入计时状态(依照预设值每 5 分钟计为 1km)如果高于 180km/h 则发出车速过高的声光报警,车速在 12 到 180km/h之间的则进入计程状态,根据车轮的大小不同每 km 计的次数也不同,计程和计时通过选通模块自动选择输出到自动计费模块,计程和计时同一时刻只会有一个处于运行状态。 时钟模块给自动计费模块一个信号判断是白天还是深夜,自动计费模块会按照不同的计费 标准自动调节计费。 计费标准设定模块包括密码设定(只有密码正确后才能进行计费设定)、白天的起步费、单位里程费、过 12km 后的空载加收费、深夜加收后的起步费、单位里程费、过 12km 后的空载加收费、低速行驶等待时间以及车轮大小设定,总共 9 个可设定部分设定好的数值分别送到自动计费模块、计时模块和计程模块。 按下计费启动键后利用电容的瞬间充电过程来清零上一次的计费数值,此后开始自动计费,按下计费停止键后计费终止,统计模块自动执行保存记录。 基于 FPGA 的出租车计费器的设计 7 第三章 基于 FPGA的 出租车计费系统设计 功能模块 划分 基 于 F P G A 出 租 车 计费 系 统计 时 计 程 模 块按 键 相 关 模 块白 天 计 费 模 块深 夜 计 费 模 块其 他 模 块 设 计计时时间设定模块计程计时选通模块计程模块计时模块计程计时显示输出模块白天起步费设定模块去除按键抖动模块设置选择模块设置按键选通按键自动加速模块白天过12公里后每公里费用白天每公里费用模块深夜起步费设定模块深夜每公里费用模块深夜过12公里后每公里费用时钟模块分频模块二进制转B C D码自动计费模块总额计算模块白天黑夜辨别模块车轮大小设定模块车速比较模块 图 31 功能模块划分 计时 计程 模块 设计 计时时间设定模块 C L KU PD O W Ns e t m i n [ 2 . . 0 ]S E T M I N 图 32 计时时间设定模块 基于 FPGA 的出租车计费器的设计 8 计时时间设定模块根据标准当车速低于 12km/h 时,不计路程,计时间。 现在郑州的计费标准是每 5 分钟计为 1km。 所以预设值为 5 分钟。 可以在 0 到 7 分钟内每次加减 1 分钟进行设定。 计时模块 J I S H Ic l kc l rT i m e [ 2 . . 0 ]j s 图 33 计时模块 当速度低于 12km/h 时计时 模块启动。 输入端 clk 为 1Hz, clr 为清零端(计费停止后自动清零), time 为时间设定输入端(默认为每 5 分钟计为 1km,可设为其它值)。 js 端送到计程计时选通模块,默认为每 5 分钟计为 1km 送出一个高电平。 计程模块 J I C H E N GP [ 1 4 . . 0 ]c l kc l rj c 图 34 计程模块 计程模块,计算出租车行驶路程,每行驶一公里输出端 jc 就发出一个上升沿给计程计时选通模块。 输入端 P 为车轮大小的设定值,根据车轮直径的不同,每转一圈行进路程也不同,因此每公里计的 CLK 次数也会不同,车轮 越大计的 CLK 数越少。 clr 是清零端,每次计费结束后自动清零,保证下次计费的准确性。 基于 FPGA 的出租车计费器的设计 9 计程计时选通模块 m u x 2s e ls h ic h e n gp 图 35 计程计时选通模块 通过速度比较器的输出信号给计程计时选通模块的选通端 sel 就可以识别现在是应该要把计程的信号输出给自动计费模块还是把计时的信号输出给自动计费模块。 输出端 p 的每个上升沿都代表计了 1km。 计程计时显示输出模块 J C J S O U TY I M Ac h e n gs h ic l rc ac bc cs as bc i n [ 3 : 0 ]c i n [ 3 : 0 ]c i n [ 3 : 0 ]c i n [ 3 : 0 ]c i n [ 3 : 0 ]c o u t [ 7 : 0 ]c o u t [ 7 : 0 ]c o u t [ 7 : 0 ]c o u t [ 7 : 0 ]c o u t [ 7 : 0 ] 图 36 计程计时显示输出 模块 LCD 显示屏上会显示 0 到 999km 的路程和 0 到 99min 的时间。 计程端有三位数字的 BCD 码输出,通过译码器成为 LCD 模块可以识别的 8 位数字编码。 计时端则有两位数字的 BCD 码输出,最大计时 99 分钟。 清零端 clr 则通过下次按下计费启动键的瞬间清零,因为计费停止后还要保持显示输出,让顾客和司机可以清楚地看到所有计费信息。 基于 FPGA 的出租车计费器的设计 10 计费标准设定系统 设计 S E L [ 2 . . 0 ]UDC L KJ I NJ O U TA J S MA J S MJ I NC L KJ O U Ts e t u ps e t d o w nV C CV C CA NP A S SS E T O U T [ 2 . . 0 ]A NP A S SS E T O U T [ 1 4 . . 0 ]S H I [ 7 . . 0 ]G E [ 7 . . 0 ]C [ 7 . . 0 ]M [ 7 . . 0 ]A J S MA J S MC L KC L KJ I NJ I NJ O U TJ O U TS E TC H E L U NS E T M A XU 0D 7U 7U 6U 5U 4U 3U 2U 1D 6D 5D 4D 3D 2D 1D 0C L KU PD O W NC L KC L KC L KC L KC L KC L KC L KU PU PU PU PU PU PU PD O W ND O W ND O W ND O W ND O W ND O W ND O W NW O R D [ 9 . . 0 ]P A S S O U TD S [ 9 . . 0 ]D S [ 9 . . 0 ]D S [ 9 . . 0 ]D S [ 9 . . 0 ]D S [ 9 . . 0 ]D S [ 9 . . 0 ]D S [ 9 . . 0 ]C L RC L K AC L K BKC L KZ D J SP A S S W O R DD E RN S T A R TN S H I E RS E T M I ND S T A R TD S H I E RN E Ri n p u ti n p u tXOR 图 37 计费标准设定系统 由于受到油价影响,很多城市都推出了油价运价联动机制。 所以说将来的计费器应当 具备灵活的计价标准设定功能。 我设计的计费标准设定系统包括了:白天的起步费设定、每公里价格设定、超出 12 公里后的加收设定,以及深夜的对应与上面三项的加收设定、低速时的时间设定,车轮大小设定、密码保护设定,总共 9 项参数可以设定,可以说相当全面和灵活。 首先通过设定选择按键,初始化时停留在密码设定选项,只有当密码输入正确后,按下选择按键才能进行下面选项的设定。 密码输入正确后 passout 会变为 1 送到 set 模块和 chelun 模块,否则为 0,禁止设定。 Setmux 是设定选通模块用于选通加减键给需要设定的模块( U 为加, D 为减)。 通过自动加速模块可以让加减一开始加的慢,过了 4 秒后自动变快,一方面使得快速调到某个数值,另一方面又可以精确定位到某个数值,比较人性化。 基于 FPGA 的出租车计费器的设计 11 按键 相关 模块 设计 去除按键抖动模块 c l kj i nv c cI N P U Tj o u tA J S Ms e t i n 图 38 去除按键抖动模块 去除按键抖动的办法很多,本设计采用的是数字去抖动方法,即对按键进行扫描,去除抖动不确定状态,提高按键的可靠性。 扫 描 c l k按 键 波 形去 抖 动 后 图 39 去除按键抖动原理图 设置选择 模块 S E Ta np a s sS e t o u t [ 2 . . 0 ] 图 310 设置选择模块 当 pass 端为 1 时才可以进行选择操作, an 为按键输入端, setout 为输出端 为setmux 提供 从 000 到 111 输入信号。 基于 FPGA 的出租车计费器的设计 12 设置按键选通模块 S E L [ 2 . . 0 ]UDS E T M A XU 0D 7U 7U 6U 5U 4U 3U 2U 1D 6D 5D 4D 3D 2D 1D 0 图 311 按键选通模块 为了减少出租车计费器上的按键,为它做了一个按键选通模块。 U 为加键, D为减键, sel 设定表如下: 表 31 SEL 设定表 sel 输出 功能 000 u0、 d0 密码输入的加减 001 u d1 白天起步费的加减 010 u d2 白天每公里路费的加减 011 u d3 白天过 12 公里后的空载费的加减 100 u d4 深夜起步费的加减 101 u d5 深夜每公里路费的加减 110 u d6 深夜过 12 公里后的空载费的加减 111 u d7 低于 12km/h 的计时时间设定的加减 基于 FPGA 的出租车计费器的设计 13 按键自动加速模块 C L RC L K AC L K BKC L KZ D J SXOR1 H z4 H z加 键 减 键 图 312 按键自动加速模块 按键自动加速模块通过自动加速模块可以让加减一开始变 化的慢,过了长按 4秒后自动变快,一方面使得快速调到某个数值,另一方面又可以精确定位到某个数值。 当按下键后起初以 1Hz 进行加,按住 4 秒后变为 4Hz 的速度进行加减。 clk 输出自动变化的频率给加减模块, k 是累积端,累积 4 秒后不再发生变化,通过 XOR端,当加键或减键停止后则自动使 k 累积的值清零,这样下次按下加键时就又从1Hz 开始加了。 密码设定模块 设计 C L KU PD O W NW O R D [ 9 . . 0 ]P A S S O U TP A S S W O R D 图 313 密码设定模块 为了防止司机或者别人随意改。基于fpga的出租车计费器的设计
相关推荐
SPWM 的理论依据实际是时间平均等效原理。 图 1 SPWM产生原理图 可以证明 , 当脉冲数足够多时 , 可以认为逆变器输出电压的基波幅值和调制波幅值是相等的 , 即 SPWM逆变器输出的脉冲波的基波幅值就是调制时要求的等效 正弦波。 2 SPWM波形控制器设计 系统由直接频率生成器产生低频正弦信号 , 然后与三角波进行高速比较而产生 SPWM。 2. 1 系统构图 SPWM 波形发生器
尽管下面的描述仅限于 CRT, LCD已经发展到可以同 CRT使用同样的时序信号了。 因此,下面的讨论均适合 CRT和 LCD。 在 CRT显示器中,电流的波形通过蹄形磁铁产生磁场,使得电子束偏转,光栅在显示屏上横向显示,水平方向从左至右,垂直方向从上至下。 当电子束向正方向移动时,信息才显示,即从左至右、从上至下。 如果电子束从后返回左或顶边,显示屏并不显示任何信息。 在消隐周期 ——
有多个稳定的中间电流状态。 如 图 22 所示为 四 相 八 拍四细分时各相电流波形 , 各相电流均以最大电流值的 1/4 上升和下降。 与单双 八 拍方式相比 ,α值从 2 增加到 8, 步距角 θ b 为 四 相 八 拍运行方式时的 1/4。 所以步进电机细分驱动的关键在于控制电机各相励磁绕组中的电流大小及其稳定性。 而 如图 22 所示 我们可以分析得各相电流是以 1/4
设计人员可以使用 DSP Builder 模块迅速生成 Simulink 系统建模硬件。 DSP Builder 包括比特和周期精度的 Simulink 模块,涵盖了算法和存储功能等基本操作。 可以使用 DSP Builder 模型中的 MegaCore 功能实现复杂功能的集成。 Altera 还提供 DSP Builder 高级模块集,这一 Simulink 库实现了时序驱动的
都集成了专用乘法器;为了适用通信总线与接口标准,很多高端的 FPGA 内部都集成了串并收发器 (SERDES),可以达到数十 Gbps 的收发速度。 赛灵思公司的高端产品不仅集成了 Power PC 系列 CPU,还 内嵌了 DSP Core 模块,其相应的系统级设计工具是 EDK 和 Platform Studio,并依此提出了片上系统 (System on Chip) 的概念。 通过
系统设计总体框图 系统设计总体框图如图 41 所示,在系统上电后, FPGA 将首先对系统进行初始化操作,在初始化操作中最重要的是寄存器的复位,显示开关的控制,功能设置以及对显示屏幕进行清屏。 之后通过显示控制模块对 LCD 进行显示的控制。 显示控制模块主要负责在 LCD 显示多行字符时进行换行操作,在用户指定数据在屏幕的指定显示位置时设置该位置所对应的 RAM 的值,以及在图像显示时进行的