2出租车计费系统的设计Word文件下载.docx
- 文档编号:16895535
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:19
- 大小:209.69KB
2出租车计费系统的设计Word文件下载.docx
《2出租车计费系统的设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《2出租车计费系统的设计Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
3.1设计内容1
3.1.1出租车计费设计1
3.1.2基本设计思想1
3.1.3系统设计顶层图1
3.2计费器的设计1
3.2.1模块jifei的实现1
3.2.2模块X的实现1
3.2.3模块display的实现1
3.2.4模块SE的实现1
3.2.5模块show的实现1
3.2.6硬件设计图1
4系统设计仿真1
4.1模块jifei的仿真1
4.2模块X的仿真1
4.3模块display的仿真1
4.4模块SE的仿真1
4.5模块show的仿真1
5结论1
致谢1
参考文献i
1引言
随着出租车行业的发展,对出租车计费器的要求也越来越高。
二十世纪后半期,随着集成电路和计算机技术的飞速发展,数字系统也得到了飞速发展,其实现方法经历了由分立元件、SSI、MSI到LSI,VLSI以及UVLSI的过程。
同时为了提高系统的可靠性与通用性,微处理器和专业集成电路(ASIC)逐渐取代了通用全硬件LSI电路,而ASIC以其体积小、重量轻、功耗低、速度快、成本低、保密性好而脱颖而出。
目前,业界大量可编程逻辑器件(PLD),尤其是现场可编程逻辑器件(FPLD)被大量地应用在ASIC的制作当中。
在可编程集成电路的开发过程中,以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术最新成果的电子设计自动化(EDA)技术主要能辅助进行三方面的设计工作:
IC设计,电子电路设计以及PCB设计.
理想的可编程逻辑开发系统能符合大量的设计要求:
它能够支持不同结构的器件,在多种平台运行,提供易于使用的界面,并且有广泛的特征。
此外,一个设计系统应该能给设计师提供充分自由的设计输入方法和设计工具选择Altera公司开发的QuartusII开发系统能充分满足可编程逻辑设计所有要求。
QuartusII设计环境所提供的灵活性和高效性是无可比拟的。
其丰富的图形界面,辅之以完整的、可及时访问的在线文档,使设计人员能够轻松、愉快地掌握和使用QuartusII软件。
编程器是一种专门用于对可编程器(如EPROM,EEPRON,GAL,CPLD,PAL等)进行编程的专业设备
PLD器件的逻辑功能描述一般分为原理图描述和硬件描述语言描述,原理图描述是一种直观简便的方法,它可以将现有的小规模集成电路实现的功能直接用PLD器件来实现,而不必去将现有的电路用语言来描述,但电路图描述方法无法做到简练:
硬件描述语言描述是可编程器件设计的另一种描述方法,语言描述可能精确和简练地表示电路的逻辑功能,现在PLD的设计过程中广泛使用。
常用的硬件描述语言有ABEL,VHDL语言等,其中ABEL是一种简单的硬件描述语言,其支持布尔方程、真值表、状态机等逻辑描述,适用于计数器、译码器、运算电路、比较器等逻辑功能的描述;
VHDL语言是一种行为描述语言,其编程结构类似于计算机中的C语言,在描述复杂逻辑设计时,非常简洁,具有很强的逻辑描述和仿真能力,是未来硬件设计语言的主流.
VHDL就是超高速集成电路硬件描述语言。
覆盖面广,描述能力强,是一个多层次的硬件描述语言。
在VHDL语言中,设计的原始描述可以非常简练,经过层层加强后,最终可成为直接付诸生产的电路或版图参数描述。
具有良好的可读性,即容易被计算机接受,也容易被读者理解.使用期长,不会因工艺变化而使描述过时。
因为VHDL的硬件描述与工艺无关,当工艺改变时,只需修改相应程序中的属性参数即可.支持大规模设计的分解和己有设计的再利用。
一个大规模的设计不可能山一个人独立完成,必须由多人共同承担,VHDL为设计的分解和设计的再利用提供了有力的支持
2QuartusII基本使用方法
2.1软件简介
Altera的QuartusII提供了完整的多平台设计环境,能满足各种特定设计的需要,是
单芯片可编程系统(SOPC)设计的综合性环境和SOPC开发的基本设计工具,并为Atera
DSP开发包进行系统模型设计提供了集成综合环境。
QuartusII设计环境完全支持VHDL、Verilog的设计流程,其内部嵌有VHDL、Verilog逻辑综合器。
QuartusII具备仿真功能,此外,与MATLAB和DSPBuilder结合,可以进行基于FPGA的DSP系统开发,是DSP硬件系统实现的关键EDA工具。
2.2QuartusII的设计流程
(1)创建工程和编辑设计文件
首先利用NewProjectWizard工具选项创建此设计工程;
再通过Newfile
新建原理图文件或vhdl文件。
注意新建一个文件夹,同时将新建的工程文件.qpf和原
理图文件.bdf/.vhd保存在该文件夹中。
(2)编译
利用菜单栏该快捷键进行编译,或者在菜单栏中“processing栏下“startompliation”
进行原理图编译,(stop)可中断仿真进程。
(3)仿真
首先新建波形文件,并以要仿真的文件名保存在同一工程文件夹中,再insert
node/bus,并设置好仿真时间(一般10us),最后利用菜单栏该快捷键进行波形仿真,或
者在菜单栏中“processing”一栏下“startsimuliation”进行波形仿真,(stop)可中断仿
进程。
(4)引脚锁定和下载
3出租车计费器设计内容
3.1设计内容
3.1.1出租车计费设计
实际中出租车的计费工作原理一般分成3个阶段:
(1)车起步开始计费。
首先显示起步价(本次设计起步费为3.00元),车在行驶3km
以内,只收起步价3.00元
(2)车行驶超过3km后,按每公里2.2元计费(在3.00元基础上每行驶1km车费加2.2元),车费依次累加。
(3)行驶路程达到或超过9km后(车费达到10元),每公里加收50%的车费,车费变成按每公里3.3元开始计费。
车暂时停止(行驶中遇红灯或中途暂时停车)不计费,车费保持不变。
若停止则车费清零,等待下一次计费的开始
3.1.2基本设计思想
(1)根据出租车计费原理,将出租车计费部分由5个计数器来完成分别为counterA,
counterB,counterC,counterD,counterE①计数器A完成车费百位。
②计数器B完成车费十
位和个位。
③计数器C完成车费角和分。
④计数器D完成计数到30(完成车费的起步价)。
⑤计数器E完成模拟实现车行驶100m的功能。
(2)行驶过程中车费附加50%的功能:
由比较器实现。
(3)车费的显示:
由动态扫描电路来完成。
用专用模块来实现,完成数据的输即动
态数据的显示。
(74138译码选通数码管显示)
(4)通过分析可以设计出系统的流程图
图3.1.2系统流程图
3.1.3系统设计顶层图
图3.1.3a系统顶层图
RTL视图如下:
图3.1.3b系统RTL视图
3.2计费器的设计
3.2.1模块jifei的实现
图3.2.1模块jifei
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityjifeiis
port(clk,start,stop,pause,js:
instd_logic;
chefei,luc:
outintegerrange0to8000);
endjifei;
architecturertlofjifeiis
begin
process(clk,start,stop,pause,js)
variablea,b:
std_logic;
variableaa:
integerrange0to100;
variablechf,lc:
integerrange0to8000;
variablenum:
integerrange0to9;
begin
if(clk'
eventandclk='
1'
)then
if(stop='
0'
chf:
=0;
num:
b:
='
;
aa:
lc:
elsif(start='
=700;
elsif(start='
andjs='
andpause='
)then
if(b='
=num+1;
endif;
if(num=9)then
=lc+5;
=aa+5;
andjs='
andpause='
=lc+1;
=aa+1;
if(aa>
=100)then
a:
else
if(lc<
300)then
null;
elsif(chf<
2000anda='
=chf+220;
elsif(chf>
=2000anda='
chf:
=chf+330;
chefei<
=chf;
luc<
=lc;
endprocess;
endrtl;
3.2.2模块X的实现
功能:
该模块把车费和路程转化为4位十进制数,daclk的频率要比clk快得多
图3.2.2模块X
entityxis
port(daclk:
instd_logic;
ascore,bscore:
inintegerrange0to8000;
age,ashi,abai,aqian,bge,bshi,bbai,bqian:
outstd_logic_vector(3downto0));
endx;
architecturertlofxis
process(daclk,ascore)
variablecomb1:
variablecomb1a,comb1b,comb1c,comb1d:
std_logic_vector(3downto0);
if(daclk'
eventanddaclk='
)then
if(comb1<
ascore)then
if(comb1a=9andcomb1b=9andcomb1c=9)then
comb1a:
="
0000"
comb1b:
comb1c:
comb1d:
=comb1d+1;
comb1:
=comb1+1;
elsif(comb1a=9andcomb1b=9)then
="
=comb1c+1;
elsif(comb1a=1)then
=comb1b+1;
=comb1a+1;
ashi<
=comb1b;
age<
=comb1a;
abai<
=comb1c;
aqian<
=comb1d;
process(daclk,bscore)
variablecomb2:
variablecomb2a,comb2b,comb2c,comb2d:
if(comb2<
bscore)then
if(comb2a=9andcomb2b=9andcomb2c=9)then
comb2a:
comb2b:
comb2c:
comb2d:
=comb2d+1;
comb2:
=comb2+1;
elsif(comb2a=9andcomb2b=9)then
=comb2+1;
=comb2c+1;
elsif(comb2a=9)then
=comb2b+1;
=comb2a+1;
bshi<
=comb2b;
bge<
=comb2a;
bbai<
=comb2c;
bqian<
=comb2d;
3.2.3模块display的实现
经过该八进制模块将车费和路程显示出来。
图3.2.3display
entitydisplayis
port(c:
instd_logic_vector(2downto0);
a1,a2,a3,a4,b1,b2,b3,b4:
instd_logic_vector(3downto0);
dp:
outstd_logic;
d:
outstd_logic_vector(3downto0));
enddisplay;
architectureoneofdisplayis
process(c,a1,a2,a3,a4,b1,b2,b3,b4)
variablecomb:
std_logic_vector(2downto0);
comb:
=c;
casecombis
when"
000"
=>
d<
=a1;
dp<
001"
=a2;
//角分元的计数点
010"
=a3;
011"
=>
=a4;
100"
=b1;
//
101"
=b2;
110"
=b3;
111"
=b4;
whenothers=>
endcase;
endone;
3.2.4模块SE的实现
功能:
实现八分频
图3.2.4模块se
3.2.5模块show的实现
输出数码管动态显示
图3.2.5模块show
entitydiis
port(d:
instd_logic_vector(3downto0);
q:
outstd_logic_vector(6downto0));
enddi;
architecturertlofdiis
process(d)
casedis
when"
q<
0111111"
0001"
0000110"
0010"
1011011"
0011"
1001111"
0100"
1100110"
0101"
1101101"
0110"
1111101"
0111"
0100111"
1000"
1101111"
whenothers=>
3.2.6硬件设计图
图3.2.6.1ds1~ds4车费显示ds5~ds8路程显示
图3.2.6.2按键控制模、译码显示
图3.2.6.3cpu图3.2.6.4chfei模块
4系统设计仿真
4.1模块jifei的仿真
图4.1模块jifei仿真图
4.2模块X的仿真
图4.2模块X仿真图
4.3模块display的仿真
第1组第2组
图4.3模块display仿真图
4.4模块SE的仿真
图4.4模块X仿真图
4.5模块show的仿真
图4.5模块show仿真图
5结论
计费器系统的设计已全部完成,能按预期的效果进行模拟汽车启动、停止、暂停等功能,并设计动态扫描电路显示车费数目,由动态扫描电路来完成。
车暂时停止不计费,车费保持不变。
若停止则车费清零,等待下一次计费的开始。
在出租车计费系统的5个模块中,重点在于jifei模块,X模块、display模块。
jifei模块主要有汽车的启动、停止、暂停、加速按键:
X模块主要是把车费和路程转化为4位十进制:
X模块是将车费和路程显示出来。
各模块完成后,在将它们组合成完整的出租车系统,在设计过程中还需要改进的是控制系统的纠错功能。
出租车计费系统的设计中体现了VHDL覆盖面广,描述能力强,是一个多层次的硬件描述语言及PLD器件速度快,使用方便,便于修改等特点,本设计在实用方面具有一定的价值。
致谢
本文是在指导老师周维龙老师的悉心指导下完成的,周老师在学术上严格要求及在学术上一丝不苟的精神,作者受益匪浅,在此向周老师表示衷心的感谢和敬意,至此,两周的课程设计就快接近尾声了,在这里我再一次诚挚的感谢周老师。
最后,向在设计中给予作者关心、支持和帮助的同学表示谢意!
参考文献
[1]候伯亨,顾新.VHDL硬件描述语言与数字逻辑电路设计.修订版电子工程师必备知识
[M].西安:
西安电子科技大学出版社.1999
[2]张昌凡,等.可编程逻辑器件及VHDL设计技术[M].广州:
华南理工大学出版社2001
[3]潘松,等.VHDL实用教程[M].成都:
电子科技大学出版社.2000
[4]王小平,王彦芳,等.基于EDA技术的出租车费计价单片系统
[5]EDA技术在数字系统电路设计实验中的应用[7].实验室研究与探索,2002,21(3):
63264
[6]谭会生,张昌凡.EDA技术及应用.西安:
电子科技大学出版社.2001
[7」徐颖.altiumdesignerEDA技术及应用.西安:
机械工业出版社.2005
[8]赵志杰,集成电跻应用识图方法,机械工业出版社,2003,35-400
[9]张庆双,电子元器件的选用与检测,机械工业出版社,2003.
[10]李可,数字钟电路及应用[M],北京:
电子工业出版社,1996
[11]集成电路手册分编委会编,中外集成电路简明速查手册,TTL.CMOS电路[M],北京:
电子工业出版社,1997.
[12]康华光,电子技术基础,高等教育出版社,2002
[13]阎石,数字电子技术基础(第四版)[M],北京:
高等教育出版社,1998
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 出租车 计费 系统 设计