基于eda技术的出租车计费器设计内容摘要:

0 米送出一个脉冲,并将计数值送译码动态扫描模块进行显示。 预置参数采用非压缩 BCD码,所以在计数器设计时必须将二进制 1010至 1111六个状态跳过去。 在 VHDL 程序中,用 IF 语句来实现。 if km(3 down 0)= “ 1001” then km :=km+ “ 0111” : 第 6 页(共 13 页) else km=kin+1。 end if。 计程模块 计程模块也带有 “ 开始 ” / “ 清零 ” 端。 参数预置同样使用With_Select 语句。 “ 起步里程 ” 和 “ 开关设置 ” 对应关系如表 2 所示。 计程模块 (以下简称 MILE)封装见图 4。 表 2 起步里程设置 起步里程( km) DIP 开关( 三 位) 000 001 010 011 100 101 110 111 记费模块 记费模块是一个模为 步长可变的加法计数器。 该模块通过开关量。 该模块通过开关量预置步长,当超过一定预置参数时改变步长。 计费模块也才用非压缩 BCD 码,但因步长不为 1,所以在做非压缩 BCD 码加法时必须调整,否则肯能导致在超过或未超过预置参数时出现超程错误。 这里采用模仿微机的 AF 标志位,在其设立一个半进位标志,当累加和大于 9 或半进位为 1 if datal(3 downto 0)9 or datal(4)=’ 1’ then datal(3 downto 0):=datal(3 downto 0)+“ 0110”。 datal(8 downto 5):=datal(8 downto 5)+ 1。 end if。 其中, data(4)为半进位标志。 “起步价格”和“超价加费”设置参数分别如表 3 和表 4 所示。 计费模块(以下简称 MONEY)封装见图 4。 表 3 起步价格设置 超费价格(元) DIP 开关( 两 位) 001 010 011 100 101 110 111 第 7 页(共 13 页) 表 4 超价加费设 置 超费价格(元) DIP 开关( 两 位) 00 01 10 11 显示模块 显示模块有七段 LED 数码管译码和动态扫描显示两部分组成。 七段 LED 数码管译码:本次设计用的是共阴极七段数码管,根据16进制数和七段显示段码表的对应关系,用 VHDL语言的 With_Select或 When_Else 语句可方便实现对它们的译码。 图 3 车型调整模块时序仿真波形图 动态扫描显示:动态扫描是利用人眼的视觉暂留原理,只要扫描频率不小于 24Hz,人眼就感觉不到显示器的闪烁。 本系统 24Hz 扫描脉冲由相应的外围电路提供。 动态扫描电路设计的关键在于位选信号要与显示的数据在时序上一一对应,因此电路中必须提供同步脉冲信号。 这里采用八进制计数器提供同步脉冲, VHDL 程序段如下 : cikl_label: PROCESS(scp) BEGIN IF scp’ Event and scp=’ 1 THEN count=count+1。 END IF。 END PROCESS cikl_label。 显示数据的选择有计数器控制, VHDL 程序段如下: temp=counter1 when count = “ 000” else counter4 when count= “ 011” else mile1 when count= “ 100” else mile4 when count= “ 111”。 第 8 页(共 13 页) 位选信号时序仿真如图 3 所示。 从时序仿真图和上述程序可以看出,位选信号和要显示的数据实现了同步。 图 4 位选信号时序仿真图 动态扫描电路中小数点的显示无法在译码电路中完成。 由于小数点的位置是固定的,因此可以有计数器提供的同步信号产生另一信号控制 DP。 VHDL 程序实现如下: If (count: “ 101” or count= “ 001” ) then data(0)=’ 1’。 else data(0)=’ 0’。 end if。 显示模块(以下简称 SHOW)封装见图 4。 次模 块中应用了两个过程,在过程内程序顺序执行,其中第一个过程触发第二个过程。 6 系统综合 各个功能子模块设计完成后,利用 MAXPLUSII 软件的图形编辑器( Graphic Editor)将各功能子模块( .Sym)进行连接。 由于 MILE模块中存在毛刺,故不能直接与后级相连,通过对输出脉冲信号加门电路延时,再与原始信号相“与”的方法即可消除毛刺。 系统原理图如图 4所示。 芯片管脚定义可以直接用编辑 .pin文件或在 FloorPlan Editor 下进行。 完成管脚定义后选择器件 (EPM7128SIC8415),编译后生成 .sof、 .pof 及报告文件 .rpt。 查看报告文件可得到器件管脚的利用情况及器件内部资源的使用情况。 通过更换适当的器件使其资源配置达到最优。 选择器件的一般原则是系统所使用的资源不要抄过器件资源的 80%,若超过 90%,系统功耗将增大,工作不稳定。 从本第 9 页(共 13 页) 次设计器件部分报告中得知:输入、输出管脚各用 16 只,芯片资源利用率仅为 51%,具有较大的扩展空间。 图 5 系统顶层原理图 7 结论 本文 提 出 的 出租车计费器的设计经过软、硬 件 结合的实验验证 ,对 该 芯片设计有如下几点结论 : 虽然 VHDL 语言与 C 语言很相似 , 但是用其语言必须具备一定的专业知识 , 用后者设计思想实现的 , 并不一定能通过最后的逻辑综合和编译 ; 在设计中 ,特别是设计计数器时 ,一定要 注意 计数器同步与异步的区别 ; 用 MAXPLUSII 软件 ,可以很容易贯穿 TOPDOWN 设计思想 ,图形化的设计 , 一方面 ,分 模 块进。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。