出租车计费系统的设计思路和过程.docx

上传人:b****5 文档编号:8238172 上传时间:2023-01-30 格式:DOCX 页数:43 大小:597.86KB
下载 相关 举报
出租车计费系统的设计思路和过程.docx_第1页
第1页 / 共43页
出租车计费系统的设计思路和过程.docx_第2页
第2页 / 共43页
出租车计费系统的设计思路和过程.docx_第3页
第3页 / 共43页
出租车计费系统的设计思路和过程.docx_第4页
第4页 / 共43页
出租车计费系统的设计思路和过程.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

出租车计费系统的设计思路和过程.docx

《出租车计费系统的设计思路和过程.docx》由会员分享,可在线阅读,更多相关《出租车计费系统的设计思路和过程.docx(43页珍藏版)》请在冰豆网上搜索。

出租车计费系统的设计思路和过程.docx

出租车计费系统的设计思路和过程出租车计费系统的设计思路和过程出租车计费系统的设计思路和过程摘摘要要本系统电源电压为+16V,速度传感器具有汽车每运行1提供1000个脉冲信号的特性。

显示器可以采用LED数码管。

系统采用单片机和FPGA的结合进行系统的主体设计,测控FPGA芯片通过采集传感器脉冲信号WCLK进行里程计算,里程计费,利用外部脉冲信号SCLK产生标准时钟信号,以计算等待时间,等待费用,并产生里程标志(LCBZ),等待标志(DDBZ),熄灯标志(XDBZ)等有关控制标志信号,同时根据单片机发出的开始信号(START),时段标志(SDBZ),传输数据选择(SEL)等控制信号将有关计算结果传送给FPGA芯片。

单片机MCU除了完成键盘扫描,显示控制外,还通过P0口与FPGA进行数据交换,并向测控FPGA芯片发出有关控制信号。

本设计方案利用单片机和FPGA的结合,发挥它们各自的长处,分工清晰,实际使用和操作符合大众逻辑,容易被人接受。

而且,单片机丰富的I/O口和FPGA模块化的设计为系统功能的扩展提供了空间和便利。

关键词计费系统,单片机,FPGA芯片第第1章章绪论绪论出租车是现代人类的重要交通工具,而出租车的计费系统的安全性和先进性是人们普遍关心的问题,要求计费器性能稳定,计费准确,以及预防司机作弊行为等等都关系到乘客的切身利益。

因此,设计出符合人们普遍要求及放心的产品具有重要的意义。

同时,设计该系统所应用的知识涉及范围广,通过设计可以牢固掌握所学理论知识,对电子信息工程专业的就业方向有初步认识,将理论与实际有机联系起来。

应该是对以前所学知识的一次审核吧!

本设计主要介绍了出租车计费系统的设计思路和过程,并给出了所涉及的相关知识的详细介绍。

EDA技术应用,单片机的功能及应用,传感器检测技术,VHDL编程语言及汇编语言程序,显示系统设计及按键控制,等等。

第一部分为绪论,第二部分为方案论证,第三部分为系统设计,第四部分是硬件及软件实现,第五部分系统检测及分析,第六部分是结论,第七部分是附录,第八部分是参考文献,第九部分是致谢.目前,普遍的出租车计费器仅仅具有时钟,起步价,里程计费,等待计费及显示几个功能。

其发展前景是可观的,将来的产品除具有这些功能外,另外还可增加如下功能:

防作弊功能,IC卡付费:

顾客能在制定点购买一定额度的“顾客IC卡”,乘车后可用IC卡付帐,付帐是否成功有相应的提示。

车主可定期将总营业额写入“车主IC卡”中,并据此IC卡向所属公司领取报酬。

车票资料打印:

顾客付费后可打印发票,打印内容包括车主信息和车费信息等。

可打印车主总营业额信息。

语音播报:

当乘客上车时,可自动问候乘客,当到达目的地,自动播报乘车费用并礼貌再见,表达希望下次乘坐的意思。

增加的这些功能将会更好地为乘客服务。

本系统设计也可应用于其他计费系统中,如电脑计费系统等等,其应用技术也有相当范围的应用面,如显示和播报部分也可应用于智能饭卡智能电动车机器人等电子相关产品中。

可见掌握了该系统的设计和分析可实现对电子专业知识的具体应用,增强理论联系实际的能力。

除此以外,所涉及的知识面也联系到现实生活中很多相关电子产品,也将对其他电子产品有一定理论基础。

第第2章章系统设计系统设计2.1系统组成系统组成其中系统电源电压为+16V。

速度传感器不需要进行设计,假设它具有汽车每运行1提供1000个脉冲信号的特性。

显示器采用LED数码管。

具体功能要求如下:

图2.1系统方框图2.1.1计费及显示计费及显示里程,即汽车行程里程,用四位数字显示,显示方式为“XXX.X”,单位为,精确到0.1。

单价,即里程单价,用三位数字显示,显示方式为“X.XX”,单价为元/,根据每天不同的时间段有两种情况:

当时间段为06:

0023:

00时单价为1.4元/,其他时间段内单价为1.80元/。

等候时间,用四位数字显示分钟和秒,显示方式为“XX:

XX”,等候的定义是:

当汽车行驶速度小于或等于12/h时为“等候”。

在等候时间大于1小时的情况下,可以不显示等候时间,但必须对等候时间进行统计计算。

等候单价,等候单价有两种情况:

在等候时间小于1小时的情况下,等候单价为1元每5分钟;在等候时间大于1小时的情况下,等候单价为20元每小时。

费用的计算,出租车的起价为5.00元,当里程小于2时,按起价计算费用;当里程大于2时按下式计算费用:

费用=里程*里程单价+等候时间*等候单价。

费用的显示,用五位数字显示,显示方式为“XXX.XX”,单价为元。

2.1.2时钟及显示时钟及显示当出租车在通常运行状态下,应能显示当前的时间,在汽车熄火的情况下,时钟必须正常运行,但是可以不显示时钟.2.1.3计费开始提示计费开始提示当出租车载上乘客并起步后,将空车指示牌扳倒时,空车指示牌里的指示灯熄灭,并有语音或灯光提示信号。

图2.2总体原理框图2.2功能模块设计功能模块设计根据系统的设计要求,将整个测控FPGA系统CZJFXT分为七个模块,它们分别是:

分频器模块FPQ,等待判别模块DDPB,里程计算模块LCJS,里程计费模块LCJF,等待计时模块DDJS,等待计费模块DDJF,输出数据选择模块SCXZ。

分频器模块FPQ:

将外部时钟信号SCLK(设计时假设为1024HZ)经过适当分频后,产生1HZ的系统工作用基准时钟信号CLK1HZ,供给系统中的有关模块计时用。

等待判别模块DDPB:

根据速度传感器脉冲信号WCLK和分频器产生的基准时钟信号CLK1HZ,计算单位时间里WCLK的脉冲个数(每产生1000个脉冲信号,即每米产生1个脉冲信号),亦即出租车行驶速度,从而判别出租车是否处于等待状态,发出等待标志信号DDBZ。

当速度大于12/H,即速度大于200M/MIN时,出租车处于运行状态,这时等待标志DDBZ=0;当速度小于等于12/H,即速度小于等于200M/MIN时,出租车处于等待状态,这时等待标志DDBZ=1。

该模块的VHDL程序设计可分为三个进程:

60S周期性跳变信号产生进程,每分钟行驶距离计算进程,等待标志判别进程。

等待标志判别进程就是比较每分钟WCLK脉冲个数与等待状态WCLK脉冲临界个数200的大小,从而确定DDBZ的赋值。

里程计算模块LCJS:

根据速度传感器脉冲信号WCLK和等待标志DDBZ,对出租车行驶的里程数XSLC进行计算,同时发出里程标志信号LCBZ和里程计费标志信号JFBZ。

如果LCBZ=1,说明行驶距离超过2,里程计费启动;如果LCBZ=0,说明没超过2,按起价计费,每行驶1应计费1次,并且计费的启动信号应是某一时刻,因此每行驶1,计费标志信号JFBZ应跳变1次。

该模块的VHDL程序设计可分为两个进程:

里程计算及标志产生进程,产生计费信号进程。

产生计费信号进程就是每行驶10百米(即1)JFBZ由低电平0变为1,经过一个系统时钟周期后JFBZ又回复到低电平0,里程计费模块LCJF就是在JFBZ脉冲信号的上升沿到来时进行计费的加法操作。

里程计费模块LCJF:

在计费标志信号JFBZ,等待标志信号DDBZ,里程标志信号LCBZ和时段标志信号SDBZ等信号的控制下,计算行驶里程超过2以上里程的费用LCFY。

该模块的VHDL程序是通过由多个条件控制的加法进程来完成里程计费的,里程计费的条件是在DDBZ=0,并且在JFBZ的上升沿根据SDBZ分别进行加法计费操作。

当SDBZ=1时,表示在06:

0023:

00时段,其单价SD1为1.4元/;当SDBZ=0时,表示其他时段,其单价SD2为1.8元/。

如果LCBZ=1,说明行驶距离超过2,里程计费启动;如果LCBZ=0,说明没超过2,按起价计费。

等待计时模块DDJS:

在等待标志信号DDBZ和基准时钟信号CLK1HZ的控制下,进行等待时间DDSJ的计算,其中DDSJ的低8位表示等待时间的秒数,DDSJ的高8位表示等待时间的分钟数,同时根据等待时间的长短发出一个熄灯标志信号XDBZ。

当等待时间小于等于1小时,XDBZ=0,等待时间显示灯亮;当等待时间大于1小时,XDBZ=1,等待时间显示不亮。

该模块的VHDL程序是通过一个多层嵌套的加法进程来完成等待计时的。

等待计费模块DDJF:

在等待标志信号DDBZ和熄灯标志信号XDBZ控制下,进行等待费用DDFY的计费操作。

该模块的VHDL程序包括两个进程:

60S周期性跳变信号产生进程,等待费用计算进程。

等待费用计算的条件是在DDBZ=1并且在60S周期性跳变信号T60S的上升沿,根据XDBZ分别进行加法计费操作。

当DDBZ=1且XDBZ=0时,按1元/5分钟,即20分/分钟计费;当DDBZ=0且XDBZ=1时,按20元/小时,即33分/分钟计费。

输出数据选择模块SCXZ:

根据单片机发出的数据传输选择控制信号SEL,选择有关计算处理结果传输给单片机。

第第3章章硬件及软件实现硬件及软件实现3.1传感器传感器传感器通常是指能感受并能按一定规律将所感受的被测非电量(包括物理量、化学量、生物量等)转换成便于处理与传输的电量(一般为电量,也有少数为其他物理量,如光信号)的器件或装置。

光电传感器是把光信号转换为电信号的传感器,光电传感器的种类极多。

它们共同的特点是响应速度快,易于实现非接触测量,非常适于与计算机接口。

3.1.1光电传感器电路设计光电传感器电路设计光电传感器工作时,大致应用了三种效应:

通过光子与物质的相互作用能直接得到电信号的量子效应;光被物质吸收变成热量后,利用热电转换得到电信号的热效应;光作为一种电磁波,直接与物质相互作用,从而感应出电信号的波动相互作用效应。

反射式光电传感器是用来检测黑白线条的,如图3.1.1(a)所示由于黑白物体的反射系数不同,利用反射光可以使光敏三极管实现导通和断开,调节传感器与被测对象之间的距离,使光敏三极管只能接受到白色物体反射回来的光束。

而黑色物体的反射系数小,所反射回来的光束很弱,光敏三极管无法接受到反射光。

从而实现对黑白线条的检测。

还要在输出信号处加个控制电路,如图3.1.1(b)起隔离强信号和方波整形的作用.(a)(b)图3.1.1反射式光电传感器3.1.2车轮光电开关检测电路车轮光电开关检测电路由于要测出出租车的运行速度,每1千米产生1000个脉冲信号并计算出单位时间里的脉冲个数,转换成车轮所转的圈数,即产生脉冲数的多少。

在该设计中采用在车轮的转盘上安装一个3条黑白线均匀的圆盘,再用光电开关来检测,如下图4.1.2所示,当出租车运动时,车轮转动,光电传感器利用接收黑白电平时输出的高低电平,当光电传感器检测到黑色条纹时,输出高电平给单片机,相反当检测到白色条纹时输出低电平,从而把连续输出高低电平转化为脉冲数,也就把电机转动时带动有黑白线的圆盘黑白条数转换成脉冲数,从而测试出出租车运行速度。

图3.1.2光电检测电路用一张贴有黑色胶带的白纸,让光电传感器离纸不到5cm的平面上与胶带垂直经过,看计数是否与所经过的的胶带数目相等,若多次测试都是吻合的,则此光电传感器良好.3.2单片机单片机单片机既是一个微型的计算机,它具有组成计算机系统的三个要素:

CPU、内存与I/O。

CPU:

运算或逻辑上的判断;内存:

存放程序与数据;I/O:

与外界沟通的桥梁。

图3.2.1单片机简图3.2.18051单片机功能方块图单片机功能方块图图3.2.28051单片机功能方块图振荡及时序单元(OSC):

8051内部有晶体振荡电路,只要在外部加上石英振荡晶体,即可产生频率非常稳定的振荡信号,这个振荡信号正是8051的心脏,所有8051的时钟序列都以此振荡信号为基准。

内部数据存储器(DataMemory):

当程序在运行时,有些数据是经常在变动的,例如LED的显示状态或显示值等,它会因I/O测量的结果而变动,这些值就暂时放置在此区域中,供其他程序进一步读取,这也代表此区域是可以随时读写的。

8051系列的CPU提供128个字节可读写的数据存储单元,52系列的CPU则提供256个字节的数据存储单元,这个数据区域中有一段区域16个字节共128位是可以进行位寻址的,MCS51系列的CPU有相当强的位处理指令,可以妥善且有效地运用该数据存储器,使用方法将在8051的指令说明中再详述。

内部程序存储器(Programmemory):

这段区域用于存放我们的应用程序,而且这部分一经确认后是永远不做修改的。

8051系列的CPU提供内部4096个字节(4KB)的程序存储器,8052系列的CPU则提供2倍即8192个字节(8KB)的程序存储器,而8031和8032则不含此单元。

此单元可以使CPU选择由内部的程序区启动或由外部的程序区启动,内部的程序区启动具有保护功能,后者成本较为低廉。

在8051系统中特地将程序区和数据区分隔开,两者最大的差异是后者可以读取和写入,简而言之,PROGRAMMEMORY就是ROM,DATAMEMORY则是RAM。

定时/计数器(Timer/Counter):

51系列的CPU有2个定时/计数器,而52系列CPU则有3个定时/计数器,每个定时/计数器又有多种模式可供选择。

串行接口(SerialPort):

8051可通过此接口与外部的计算机等设备连线交换信息,也可以通过此接口进行I/O的扩充。

并行输入/出端口(ParelledI/O):

不论是8051或8052单片机都有4个输入/出端口,总共有32个输入/出,而且每个点都可以单独定义成输入或输出。

控制总线(BusControl):

当程序的空间超出MSC51系列内存程序空间的限制时,会通过本单元的控制线路向外部送出地址线信号和控制信号,同时当程序执行MOVXDPTR,A指令时,代表对外部数据内存做写入的运行,此时也要靠本单元送出必要的控制信号,才能达成外部READ与WRITE的运行请求。

8051运算处理单元(Core):

这是整个单片机的控制处理核心,它读取程序码,经过计算及处理后,将结果送到各个寄存器或输入/输出端口上,并且接受内部和外部的中断信号,然后执行特定的中断服务程序。

只要加入电源并且石英晶体开始运行后,本单元就一直不停地工作着,通常我们所谓的死机是指本单元跳入一个未知没有出口的循环中执行,而不是指CPU停止一切的运行,不再执行任何程序。

累加器(Accumulator):

累加器是众多寄存器中最重要的一个寄存器,通常以简写Acc代表累加器,8051的指令中有许多指令和Acc寄存器有关,也有多个指令非通过Acc不可,基本上,8051的指令中赋予Acc累加器的权限最大。

Intel公司建议程序的执行尽量以Acc为主。

B寄存器(BRegister):

B寄存器是一个一般用途的工作寄存器,当8051使用乘除指令时,则一定要通过B寄存器来做运算。

中断优先顺序控制寄存器(IPC,InterruptPriorityControl):

这个寄存器中存放中断时的优先顺序表,若对应的位设成1时,代表中断有较高的中断优先权。

允许中断控制寄存器(IEC,InterruptEnableControl):

此寄存器内含系统允许中断的中断源设置值,8051共有5个中断可供选择,8052则有6个中断源,IEC寄存器内另有一个位简称位,若0时就禁止系统所有的中断要求。

串行输出入缓冲寄存器(SBUF,SerialBuffer):

所有待送出或刚进入的串行数据值都存放在此寄存器中,8051的串行通信是非常简单的,只要一设置完通信协议后,再执行一个MOVSBUF,A指令,就可立即将并行数据值转化成串行数据送到外部。

串行通信控制寄存器(SCON,SerialControL或称UART):

此寄存器主要在设置串行通信的模式,当串行数据已经送完或数据已收妥时,会有对应的位被设置成1,这些位也可以当成中断要求信号,请求CPU执行特定的串行中断服务程序。

定时/计数控制寄存器(TCON,Timer/CounterControl):

这个寄存器可以控制定时/计数器的打开或关闭,若一经打开且计数到溢位时,TCON上亦有对应的位被设成1,CPU必须针对此位的状态,决定是否重新设置定时/计数值。

堆栈指标寄存器(SP,StackPointer):

8051利用SP指引最近一次存入堆栈内的地址,每当我们在程序中调用其他子程序时,原程序的返回地址就会自动存入内部DATAMEMORY组成的堆栈(Stack)中,而当子程序执行到RET指令时,CPU会自动由堆栈中取回原先存入的返回地址,继续执行原程序。

每当CPU将8位值存入堆栈时,我们称之为PUSH(推入),这时SP值会增加1,反之堆栈中取回8位值时,则称之为POP(提回),此时SP值会减少1。

在写8051单片机的控制程序时,在程序起始状态阶段一定要设置SP值,以便程序有足够的堆栈空间,也可以利用软件程序随时机动调整的堆栈指标SP的值。

特殊功能寄存器区(SFR,SpecialFunctionRegister)8051单片机内部将多个寄存器统称成SFR,代表其特定的功能,甚至Port0、Port1、Port3也都是属SFR的成员之一,在这些SFR中有部分的寄存器可以进行位寻址,表4.1是这些SFR寄存器的整理,其中加(*)记号的寄存器可进行位寻址。

表3.1可进行位寻址的SFR寄存器SFR寄存器部分可进行位寻址的寄存器算术运算寄存器Acc(*)、B(*)、PSW(*)指标类寄存器SP、DPL、DPH并行输入/出端口P0(*)、P1(*)、P2(*)、P3(*)中断控制寄存器IP(*)、IE(*)定时/计数寄存器TMOD、TCON(*)、TL0、TH0、TL1、TH1串行通信寄存器SCON(*)、SBUF3.2.2AT89S51单片机简介单片机简介AT89S5l是新型高档单片机。

它的主要特性是:

片内含有32KB的Flash程序存储器,擦写周期为1000次;片内数据存储器内含512字节的RAM;具有可编程32线I/O口(P0,P1,P2和P3口);具有3个可编程定时器T0,T1和T2;中断系统是具有8个中断源、6个中断矢量、2级中断优先权的中断结构;具有一个全双工UART串行口;低功耗工作方式为空闲模式和掉电模式;具有双数据指针DPTR0和DPTR1;具有3级程序锁定位;具有硬件看门狗定时器WDT;AT89S51工作电源为4.05.5V(AT89LV51RC为2.75.5V);AT89S51最高工作频率为33MHZ(AT89LV51RC为12MHZ);具有断电标志POF3.2.3AT89S5l与与51系列单片机相比具有如下特点系列单片机相比具有如下特点程序存储器由8KB增加到32KB;片内数据存储器由256宇节增加到512字节;数据指针由1个增加到2个;增加了看门狗定时器,CPU在执行程序过程中,由于瞬时的干扰使程序陷入死循环状态,WDT(WatchdogTimer)是使CPU摆脱这种困境而自动恢复的一种方法;退出掉电方式由单纯硬件复位方式增加到硬件复位和中断两种方式;新增加了断电标志POF3.2.489S51的内部框图的内部框图图3.2.389S51的内部框图引脚排列及功能:

AT89S51有3种封装形式:

PDIPPLCC和TQFPPDIP封装的引脚排列如图所示。

图3.2.4单片机电路板口线P0口8位、漏极开路的双向1O口。

当使用片外存储器及外扩IO口时,P0口作为低字节地址数据复用线。

在编程时,P0口可用于接收指令代码宇节;在程序校验时,P0口可输出指令字节(这时需要加外部上拉电阻)。

P0口也可作通用I/O口使用但需加上拉电阻变为准双向口。

当作为普通输入时,应将输出锁存器置1PO口可驱动8个TTL负载P1口8位、准双向IO口,具有内部上拉电阻。

P1口是为用户准备的1O双向口。

在编程和校验时,可用做输入低8位地址。

用做输入时,应先将输出锁存器置1P1口可驱动4个TTL负载。

表4.2P1.0P1.1替代功能引脚替代功能说明P1.0T2定时器2的外部事件输入端;可编脉冲输出端P1.1T2EX定时器2的捕捉重装触发器输入端;定时器2的计数方向控制端P2口8位、准双向1O口具有内部上位电阻当使用片外存储器或外扩1O口时P2口输出高8位地址。

在编程校验时P2口可接收高字节地址和某些控制信号。

P2口也可作普通IO口使用。

用做输入时,应先将输出锁存器置1P2口可驱动4个TTL负载。

P3口8位、准双向1O口,具有内部上拉电阻。

P3口可作为普通1O口。

用做输入时,应先将输出锁存器置1在编程校验时P3口接收某些控制信号。

它可驱动4个TTL负载。

P3口还提供各种替代功能。

表3.3P3口替代功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)控制信号线RST复位输入信号,高电平有效。

在振荡器稳定工作时,在RST脚施加两个机器周期(即24个晶振周期)以上的高电平,将器件复位。

EAVPP外部程序存储器访问允许信号EA(ExternalAccessEnable)。

当EA信号接地时,对ROM的读操作限定在外部程序存储器,地址为0000HFFFFH;当EA接地时,对ROM的读操作从内部程序存储器开始,并可延续至外部程序存储器。

在编程时,该引脚可接编程电压(AT89C51的VPP为5V或12V;AT89LV51的VPP为12V)。

在编程校验时,该引脚可接VCC。

PSEN片外程序存储器读选通信号用PSEN(ProgramStoreEnable),低电平有效在片外程序存储器取指令期间,当PSEN有效时,程序存储器的内容被送至PO口(数据总线);在访问外部RAM时,PSEN无效。

AIE/PROG低字节地址锁存信号AlE(AddresslatchEnable)。

在系统扩展时,AlE的下降沿将PO口输出的低8位地址锁存在外接的地址锁存器中,以实现低字节地址和数据的分时传送。

此外,ALE端连续输出正脉冲频率为晶振频率的16,可用做外部定时脉冲使用。

但要注意,每次访问外RAM时要丢失一个ALE脉冲。

在编程期间该引脚输入编程脉冲(PROG)。

电源线VCC电源电压输入。

GND接地。

外部晶振引线XTAL1片内振荡器反相放大器和时钟发生线路的输入端。

使用片内振荡器时,连接外部石英晶体和微调电容。

XTAL2片内振荡器反相放大器的输出端。

当使用片内振荡器时,外接石英晶体和微调电容。

当使用外部振荡器时,引脚XTAL1接收外振荡器信号,XTAIL2悬空。

3.2.5中断控制中断控制可采用中断的时机:

当计数值数完时要做一个特定的动作。

当外部信号有一个脉冲信号产生时要做某种特定的运算。

当外部某些信号成立时,必须立即处理。

当收到通信界面上的一个特定值时,必须立即反应。

当程序必须处理数个小程序,且这些程序必须几乎同时都在执行中。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 英语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1