收费站超载车辆检测
晋中学院
本科毕业设计
题目高速公路收费站超载车辆院
专
姓
学系业机械设计制造及其自动化名号王燕娥1314312126
学习年限指导教师
申请学位工学学士学位
2015年5月28日
高速公路收费站超载车辆动态检测装置
学生姓名:王燕娥指导老师:潘铭志
摘要:随着经济和交通运输的发展,车辆超载现象也越来越严重,交通事故越来越频繁,为了治理交通保障安全就需要设计超载检测装置。国内对动态称重系统的起步比较晚,尽管已经设计出来但是结果不理想。
本设计是高速公路收费站超载车辆动态检测装置,其原理是用轴重估计轴数、轮胎个数和静态时的重量,进而得出车辆是否超载,并将超载情况在显示器上显示。采纳P89C58X2单片机作系统的心脏,利用电阻应变式称重传感器,将质量信号转化为容易测量的电信号再通过OP—07运算放大器放大信号传送给AD574模数转换器转换到芯片PDIUSBD12实现与单片机进行通信接口,最后通过LED显示结果。设计出来的动态称重系统的测量精度有所提高的,同时也降低了对同行速度的限制。
关键字:单片机电阻传感器超载检测模数转换器
Highwaytollstationoverloadedvehiclemotion
detectiondevice
Author’s:WangYan’eTutor:PanMingzhi
ABSTRACT:Withthedevelopmentofeconomyandtransportation,vehicleoverloadingismoreandmoreserious,morefrequentaccidents,inordertocontrolthetrafficsafetyontheneedtodesignoverloaddetectiondevices.Chinastartedtodynamicweighingsystemisrelativelylate,althoughhasbeendesigned,buttheresultsarenotsatisfactory.
Thisdesignisahighwaytollstationoverloadedvehiclesmotiondetectiondevice,itsprincipleistoestimatethenumberofaxeswithaxleloads,thenumberoftiresandstaticweight,andthencometowhetherthevehicleisoverloaded,andoverloadingonthedisplay.SCMforadoptionP89C58X2heartofthesystem,usingresistancestraingaugeloadcell,thequalityofthesignalisconvertedtoanelectricalsignalandtheneasilymeasuredbyOP-07op-ampamplifiesthesignaltransmittedtotheAD574ADCconversiontoachievewiththemicrocontrollerchipPDIUSBD12communicationinterface,andfinallydisplaytheresultsbyLED.Accuracydesigneddynamicweighingsystemhasimproved,butalsoreducesthespeedlimitsoncounterparts.KEYWORDS:Singlechipmicrocomputer
detectionAnalogtodigitalconverterResistivesensorOverload
目
1录绪论...............................................................................................1
1.1设计背景.......................................................................................1
1.2国内动态称重系统的发展...........................................................1
1.3国外动态称重系统的发展...........................................................1
1.4动态称重的意义...........................................................................22控制方法及特点...........................................................................2
2.1PLC控制技术的发展及特点........................................................2
2.2单片机控制技术的发展及特点...................................................43高速公路收费站超载车辆动态检测装置的硬件设计..............5
3.1收费站动态称重系统的设计思路...............................................5
3.2高速公路收费站称重系统简介...................................................6
3.3称重系统分析...............................................................................6
3.4称重传感器的选择.......................................................................8
3.5数据采集电路设计.......................................................................9
3.6LED显示器电路设计..................................................................12
3.7USB接口电路设计......................................................................134秤体设计及实验结果....................................................................26
4.1秤体结构设计.............................................................................26
4.2实验结果与分析.......................................................................27总结与致谢.......................................................................................28参考文献...........................................................................................29附录动态称重电路图.......................................................................30
1绪论
1.1设计背景
随着国民经济和交通运输的发展,重型卡车超载在额外利润驱动是每况愈下。现在重型卡车是道路上的很大的负担。实验结果表明,如果超载100%的卡车经过,对沥青路面造成的破坏相当于卡车在标准最大负载情况下经过256次对水泥路面破坏的65500倍。另一个试验表明,当一辆卡车的重量超出路面所能承受载荷的一倍时,所造成的损失会是原来的20倍。超重车辆可能引起桥梁结构和道路损坏,也可能造成严重的灾害,或者损害造成严重结构破坏。作为重型车辆超载的问题是很普遍,因此桥梁和道路的早期破坏也越来越严重。因此,许多桥梁和道路的寿命远远小于他们的设计工作寿命,如车辙问题,空洞,裂纹,沉陷,错台,裂缝,破裂等。有些桥梁由于超重坍塌,如在2007常州大桥,2009上海周浦呼兰河大桥,2012钢便桥。通过结构损伤引起的安全事故使人们的生命和财产受到巨大威胁并导致巨大的经济损失。因此,结构健康监测(SHM),定义为使用原位、无损传感和结构特点的分析,对桥梁和道路是必要的。结构健康监测可以及时发现结构的损害和评估其安全性,也能预测结构的性能变化和剩余寿命的维修决策。
1.2国内动态称重的发展
最近,在木工程结构上结构健康监测已经成为一个重要的设计。然而,目前它是比较贵的,只可应用在高预算,大型工程。例如上海成都高速公路和中国的成本约15000000元。这样的高成本阻碍了低预算工程使用结构健康监测技术。此外,车辆超载仍然是一个关键问题,特别是在国家公路主干线。虽然静态过载已经建立监测站,他们为了实现相对较大规模的高精度的静态人工检测。此外,车辆必须停止和队列的静态重量测试,这将减缓交通负担但检查所有车辆是不可行的。因此,在动态车辆称重测量的基础上,结合车辆本身、桥梁和道路的承载能力、服务生活,以及疲劳的程度将会非常有前途。
1.3国外动态称重的发展
20世纪50年代欧盟(EC)成员国,日本设计动态车辆称重系统。在上世纪六十年代后期,国外开始设计车辆动态平板式称重系统。1974年国外有人设计出压电动态称重系统,即vibracoax。1988年,用新型的压电传感器'vibetek2.0来检测负载并且它的性能被证明是优于压电动态称重系统在英格兰。1994年,欧盟正式开始重轴和车辆运动的欧洲(波)。试验结果说明,在绩效上的价值Kistler产品,PAT和小公
司。2000年,压电由MIS传感器系统在年度会议上展出。该系统可以测量的移动速度,轴数,轴距,和车辆分类,动态称重。当前的动态称重系统主要集中在传感单元的设计,数据采集,很少考虑实现设备。根据实际需要,低成本的实时监控车辆对道路对道路对桥梁称重的报警集成微系统。
1.4本次设计意义
随着经济文化的发展,人类对生活各方面的要求变高了,于是交通工具种类增多了,生活节奏加快了。在高速公路上越来越多的车辆行驶,于是便出现了好多交通问题,高速公路需要加大管理。例如:掌握来往车辆、车型、流量、车辆载重等数据,可以更好的管理高速公路。不清楚这些问题或处理的不当就会给自己、他人和社会带来不必要的麻烦。本次设计采用单片机能够克服产品种类繁多、用晶体管所做,不方便控制,不安全、不可靠等缺点,从而产生方便和快捷的监测控制。
本次设计不仅提高了公路的通行效率而且减少了收费站人员的投入,较为有效地解决了收费站的问题。交通是经济发展的根本,本次设计缓解了交通压力和减少了高速公路工作人员的工作量的前提下也保护了路面保障了人生命和财产安全,有利于经济发展。
2控制方法及特点
控制方法PLC、单片机等。本设计主要考虑PLC和单片机的控制方法对系统进行控制。
2.1PLC控制技术的发展及特点
1.PLC控制技术的发展
在工业方面PLC控制技术应用比较广泛,PLC技术在工业自动化领域有很大发展空间。PLC控制技术将来有更大的发展,PLC技术朝着微小化、多功能、更可靠、兼容性好、多功化、标准化、信息化、软PLC标准化,与总线结合等方向发展。通过下面几个方面体现:
(1)加强PLC信息处理能力
计算机网络技术快速的发展,把计算机新技术与PLC相结合,便可以让可靠性和稳定性提高。PLC联网能够方便进行信息交流和智能控制设备,进而实行分散控制和集中管理。
(2)开放和标准化
互不通用PLC的总线、通信网络、协议和I/O模块。但是现在的PLC采用了工业的标准要求。为了让PLC执行更多的任务并且更开放,在PLC系统中可以多装几个
中央处理器模块,一种任务对应一个中央处理器。这样可以极大增加PLC的开放性。
(3)微型化,高速化
PLC微型化省空间、成本低、安装灵活。现有的一些大型PLC比其他的安装空间要小50%左右。PLC技术发展关键是因为运算速度高速化。PLC中央处理器模块用的是32位的RISC芯片,运算一条基本指令的时间仅为十个纳秒运算速度提高了很多。
(4)PLC的出现
实现在电脑平台上和Windows操作环境下工作通过软件。软件PLC具有硬PLC功能、可靠性、速度、查找故障等特点,软PLC是计算机和PLC开关控制量、控制模拟量数学运算、处理数据等的结合。
2.PLC控制技术的特点
PLC技术的发展除了有工业自动化的需要外还具有许多优点,可以提高工业方面的可靠、安全和灵活同时方便并且经济。
(1)PLC具有以下优点:
1)具有较高的可靠性和抗干扰能力
PLC采用一系列的硬件和软件抗干扰措施,正常工作时间为几十万个小时。硬件方面,光电隔离对I/O接口电路;多种形式的滤波为供电电源及线路。软件方面,PLC扫描系统中设置故障检测和自诊断程序,受到外界干扰时立刻停止读写,一旦恢复继续工作。提高可靠性可以通过双中央处理器和三个中央处理器构成表决系统。
2)控制系统结构简单和通用
采用模块化设计PLC的各部分,由机架和电缆将模块连接,可以根据需求自行组合。硬件方面确定PLC的硬件设计和I/O通道外部接线,工作时只需在端子接入相应的输入和输出信号。
3)丰富的I/O接口模块
PLC对不同的工业信号选择不同的I/O模块进行匹配,还有人-机对话模块通信联网接口模块。
4)编程简单和使用方便
采用梯形图语言编程的PLC,梯形图形象、直观,技术人员容易掌握。通过改变程序改变生产过程,使用灵活、方便。
5)设计安装简单和维修方便
PLC软件减少了控制柜的设计和安装接线工作量。PLC的故障率低,维修简单方便,并且具有自诊断功能。
总而言之,具有丰富的输入输出接口和较强驱动能力。
(2)PLC具有以下缺点:
1)容易受到电器的干扰
易受电线信号的影响和容易出现波动在用电高峰期。
2)电表面易成宽瓶颈
会产生很大衰减通过电表传输PLC数据带宽。
3)泄露和安全
只能传送50Hz或60Hz的电缆信号,这频率之间的电缆容易泄露并且有安全隐患。
2.2单片机控制技术的发展及特点
1.单片机控制技术的发展
单片机正向着高性能和多品种发展并进一步向着CMOS化,低功耗,小体积,大容量,高性能,低价格和外围电路内装化等方面发展。
(1)CMOS:随着CMOS技术的进步有利于单片机的CMOS化。CMOS有低功耗,可控制,工作在低功耗精细管理状态的特点。这是80C51为标准MCU芯片原因。单片机芯片采用金属栅氧化物和半导体生产工艺。金属栅氧化物电路有低功耗,高密度,低速度和低价格的特点。采用双极型半导体TTL电路的特点是速度快但功耗大、芯片面积也大。技术、工艺水平提高,出现了高密度和高速度的INOS和CMOS工艺结合。当前的CINOS电路达到ISTTL的速度,传输送达的时间小于2ns,其优势在于TTL电路,所以逐步取代TTL电路在单片机领域CMOS。
(2)微型化单片机:现在的产品都体积小、重量轻就意味着单片机除了功能强功耗低外还需要体积小。现在许多都是封装形式的单片机,表面封装越来越流行,进而驱使系统朝微型化发展。
(3)主流与多品种共存:单片机不可能一统天下,它们将相互依存互补共同发展。
2.单片机控制技术的特点
(1)单片机的的优点:
1)集成度高:单片机集成CPU,RAM,ROM(EPROM或EEPROM),时钟,定时/计数器,多种功能的串行和并行I/O口在一个芯片上。
2)存储空间大,位处理能力强。
3)高性能、快速度:采用RISC体系结构,流水线操作和DSP设计技术,速度有很大的提高。
4)应用开发周期短:单片机结构简单,方便硬件组合和软件编程。
5)丰富的指令,较高抗干扰性。
(2)单片机的缺点:
用单片机做主控版受制版工艺,布局结构和器件质量影响会降低抗干扰能力,提高故障率,不易扩展、对环境依赖性强。采用单片机制作的主控板形成真正的产品需经过很长时间的实际验证。
3高速公路收费站超载车辆动态检测装置的硬件设计
高速公路收费站对超载车辆的检测通过在收费站口设置称重检测装置,检测及统计车辆超载信息确定超载情况。动态称重系统能准确和快速得到车重信息进而判断超载情况。
3.1收费站动态称重系统的设计思路
国家交通部规定车辆超载达到一定比例将成为“超限”车辆,主要依据车辆轴数和轮胎个数进行分类。所以,采用轴重的方法进行动态称重,一方面用轴重计算出车辆静态重量,另一方面通过轴数和轮胎个数得知超载情况。
Weight-In-Motion简称WIN系统,只要汽车经过秤台不用停车系统就可以实现称重,优点是隐蔽及时和连续,要求数据处理系统快速准确并且容量大的特点。
1.动态称重方法
动态称重判别超载的依据是车辆轴数和轮胎个数然后计算算汽车静态重量最后得出是否超载。轴重称量是测出车辆各轴轴荷计算出整车重量。该方法的优点造价低和称重效率高。
可以对任何车型进行称重轴重称重方法。车辆过秤时间短、外部干扰大和传感器工艺限制等原因会影响动态称重测量精度和测量速度。
采用车辆动态称重所采用的方法时秤台不能太宽(为了使通过秤台只有一对车轮或者双连轴及三连轴的车轮),把感应到的压力信号送入数据处理系统通过称重传感器,计算出汽车车轮对秤台压力,然后叠加处理就是汽车的静态载重。
2.车辆分离
通过轴重测量来实现由于车辆称重,但有一个问题需考虑,对车辆分离并区分测量的轴重信号是否是一辆车的,并保证正确的叠加。
采用轴重测量的方法进行动态称重,根据单轴的质量再叠加,进而得到车辆的真正质量。因此需识别测的轴重是不是同一辆车。
在收费站入放一个地感线圈,当车辆经过时从上电感发生变化,否则电感不会变化。另外,安装红外光栅分车器在路侧也能消除跟车现象跟车现象并将半挂车、全挂
车、单车分离。
两者结合就能保证测量数据与车辆对应,不会出现多车或少车现象。
3.动态称重设计思路
称重传感器、秤台台面、数据采集转换电路、车速采集系统、待称量物以及主机组成动态称重系统。图3.1是高速公路收费站车辆称重系统的设计框图。
车辆经过秤台时,由称重传感器将车轴对秤台的压力信号转化成毫伏级的模拟信号,该信号经运算放大器传再给A/D转换器(将该信号变成数字信号)。送给单片机将数字字信号,经处理再通过接口电路进入主机,主机结合车长车速信息得到轴重。根据轴重计算载荷。
称重传感器数据采集电路单片机
车长车速信息主控机
图3.1动态称重设计框图显示器
3.2高速公路收费站称重系统简介
高速公路收费站称重系统主要包括车辆分离系统、轮轴识别系统、车型识别系统、称重系统、中央控制系统。各部分之间的关系如图3.2所示。
车型识
别系统摄像头称重系统轮胎识别系统
中央处理系统
收费显示牌打印机报警器
图3.2高速公路收费站称重系统简图
3.3称重系统分析
1.轴重信号分析
图3.3和图3.4
是小车以不同速度通过称重系统时,采集的轴重信号。
图3.3车速0.5m/s的轴重信号图3.4车速2.5m/s轴重信号
分析图3.3和图3.4可得到以下结论:
(1)车速会影响车辆轴重信号。当车速高时,轴重信号上升速度就越快,上升段终值就越不准确。
(2)车辆轴重信号上升段成正比。
(3)车辆离开秤台称重传感器受到的压力为0便会有反方的电压信号的输出。
(4)要解决轴重信号和车辆通过系统的速度关系需建立正确建立动态称重系统模型。
2.称重系统的干扰
干扰信号或噪声对有用信号的坏影响就叫做干扰。要保证可靠性,又考虑工作环境,而且可以从硬件、软件方面采取措施,使之适应工作环境,才能是一个实用系统。
(1)振动产生误差
动态称重时受各种振动影响。振动的产生如下:
1)车辆自身产生振动;
2)路面凹凸导致振动;
3)耦合振动车辆与地表耦合。
采用高刚性称重台或将秤体设计成铰链结构,来提高本来频率。采用防冲减震装置来减小振动。
还能用软件处理称重信号来提高测量的准确度。用数字滤波的方法处理A/D转换的数据,减小冲击和振动等因素的干扰。
(2)温漂误差
在室外有系统的设备因而受到温度的影响。因此系统温漂需要解决。消除温漂引起的误差通过动态标零的方法来。
(3)动态称重系统要求
动态称重系统的速度和准确度主要由称重传感器的选择(称重传感器性能影响称重的速度和精度)称重电路的设计以及建立的正确数学模型(用合适算法处理数据)。
动态称重电子衡器在以下几个方面发展:
1)消除误判和漏检的可能性
2)过衡速度需进一步提高
3)动态称重准确度尽量突破0.1%
4)尽可能的减小占地面积、工程造价和按装要求
5)尽量使结构简化,不需要特别设计秤台基础
硬件对系统来说就是框架是基础。硬件的选择及其功能直接影响系统功能和精度。有称重传感器选择和称重电路的设计称重系统的硬件系统设计。称重电路的设计由数据采集电路,LED数码管显示电路和接口电路设计组成。
3.4称重传感器的选择
称重传感器是电子称重系统的核心部件,能把非电量信号转变为电信号。它将车辆通过秤台时的重量信息传送给系统,决定了电子衡器的计量精度和稳定性他的性能。
称重传感器按工作原理分有电阻应变式、差动变压式、电容式、压磁式、压电式、振弦式等。
在室外动态称重系统工作并且环境比较恶劣;因为动态称重系统对传感器精度、速度、频率响应、性能稳定等方面有较高的要求。选择使用电阻应变式称重传感器通过对所有因素的考虑。
电阻应变式传感器具备的特点:a测量准确,使用范围广;b寿命长,功能可靠稳定;c在恶劣环境中正常工作;d结构简单体积小重量轻;e价格低,样数多;f能静态和动态测量。
电阻应变式称重传感器的工作原理:在外力作用下弹性体发生弹性变形,粘贴在弹性体表面的电阻应变片也变形,其阻值也发生增大或减小变化,再经电路将电阻转为电压或电流,这就将将外力变换为电信号了。
传感器主要技术指标是:
非线性度
灵敏度1.2mV/V重复性10Ω输入电阻380Ω±20Ω,输出电阻350Ω±10Ω工作温度范围-10C—+5C拱桥电压:4—24Voo6
3.5数据采集电路设计
数据采集电路把传感器输出的电压信号放大后送给模数转换器(模数转换),又把转换后数字信号传给单片机。所以由输入信号的放大以及放大后模拟信号转换成数字信号两个方面组成数据采集电路设计。
1.器件选择:
对芯片的选型。
(1)放大器:
毫伏级的模拟信号的输出通过传感器,模数转换前要用运算放大器放大处理。想要得到准确的放大倍数和最低的零点漂移,采用放大器OP—07高精度、超低漂移的运算。
(2)AD转换器:
采集上来的信号进入单片机前需要进行处理,把模拟信号转换成数字信号。选择AD574模数转换器来完成模数转换的工作通过综合考虑转换速度和精度的要求。其主要功能特性如下:
非线性误差:小于±1/2LBS或±1LBS;不用外部时钟仍能工作;转换速率是12位转换25µs或8位转换16µs;0—10V和0—20V,0—±5V和0—±10V两档四种模拟电压输入范围;有12位和8位两种数据输出格式。
(3)微处理器:
UBS程序需要的空间较大,从而单片机较大内部程序存储空间。选取含32K字节的FLASH程序存储器和256字节的RAMP89C58X2单片机内,能满足这种需求。所以选择P89C58X2做系统的核心。
具有低功耗、高性能的8位微处理器P89C58X2,采用先进的制造工艺,与8051
指令系统完全相同。由32K字节的FLASHEPROM和256字节的RAM、32条I/O口线、3个16位定时/计数器、6输入4优先级嵌套中断结构、一个串行I/O口(可用于多机通信、I/O扩展或全双工UART)以及片内振荡器和时钟电路共同组成。
P89C58X2的特性如下:
静态设计操作频率范围宽(频率可降至0)。可擦除和编程1000次以上,片内含32K字节FLASH次序存储器。可编程加密位并且数据保存可达10年以上。
可达64K字节RAM和64KM字节RO寻的址范围。33MHz的工作速度。电源控制模式:能两个由软件选择的空闲模式以及掉电模式。
2.设计采集电路
AD574与P89C58X2的接口电路图为图3.5
图3.5为AD574与P89C58X2的接口电路图
AD574用双极性输入方式-5V~+5V,把2脚接地,12位数据转换结果分两次输出。控制AD574A的工作过程3、4、5、6脚分别接单片机P2.5、P1.3、P1.4、p1.5,。AD574状态脚(STATUS)接单片机P1.0,用来查询STS端送出的信号,先读取单片机12位A/D数据中的高8位然后读低4位给了单片机。两个100Ω的电位器分别接AD574的12
脚
和10脚进行调整,两种调整方法如下:
(1)零点调整:使得输入电压从-5V变动到-4.9988V(即输入电压变化1/2LSB)经过调整RP2,输出数字量从[1**********]0变动为[1**********]1.
(2)满刻度调整(增益调整):使得输入电压从+4.9988V变动到+5V(即输入电压变化1/2LSB)经过调整RP1,输出数字量从[1**********]0变为[1**********]1。
需要外部的一个启动操作命令和一个读操作命令来实现AD574的一次转换。通过启动命令初始化AD574的内部控制逻辑,逐次逼近过程,为高电平STS,转换正在进行向外部表示。STS变为低电平时转换结束,当外部检测到低电平时就执行读数操作命令,将转换结果送到数据总线上通过输出三态缓冲器打开。
AD转换程序由AD转换器启动程序、查询等待转换结束程序和读取转换结果程序三大块组成。
中断服务程序代码如下:
Unitad-sample(void)
{
uint
ACS=0;
P2=0xd0;
RC=0;
A0=0;
CE=1;
while(STS);
A0=0;
RC=1;
hi-sample1=P0;
A0=1;
Low-sampie2=P0;
CE=0;
ACS=1;
P2=0xff;
temp=hi-sample1;
temp
temp;//a0为0按12位转换,25us
temp+=low-sample2;
temp>>=4;
returntemp;
3.6LED显示器电路设计
测量出车辆重量要通过LED显示器显示出来车重,选用LED显示器来完成。LightEmittingDiode显示器具有在低电压下工作、颜色多、寿命较长、发光控制简单的特点。显示汽车的重量通过五片共阳极发光二极管显示器(其中三位是整数两位是小数)。
LED显示器可以分为静态显示器和动态显示器。在动态显示方式下,将所有位的段选线并连在一起,由位选线控制哪一位接收字段码,显示过程用动态扫瞄,一个接一个输送字形码和对应字位,一个时刻只能亮一位。只要每一位亮的时间足够短(五位数码管轮流显示一周的时间小于0.4s)利用余辉和人眼的视觉暂留(不超过0.4s),人就看到五位数码管同时亮的错觉。但显示亮度比静态显示暗。
电路的设计是相当简单当采用动态显示方式时所以选动态。LED显示电路图如图
3.6所示。完成LED数码管字形码的锁存和驱动用一片74LS373锁存器。作为位选端单片机P2.0—P2.4,与各位数码管的共阳极连接通过反相器7406从而控制某一位数
码管点亮。
图3.6为LED显示图
3.7USB接口电路设计
接口电路主要作用是完成称重电路与主机之间的通信。
1.USB的特点
UniversalSerialBus是USB的全称也就是通用串行总线。USB有使用方便、速度快、连接灵活、应用广泛和成本低廉等优点。
由于USB具有以上优点,所以USB接口应用多了。
2.USB1.1协议简介
(1)USB总线结构组成
所谓USB总线结构,就是USB的根本物理组成和基本逻辑组成以及各种组成部分之间的相互联系。它由四个重要部分组成;
1)主机和器件:USB系统组成部分。
2)物理构造:叙述USB系统中各构成部分的连接。
3)逻辑构造:描绘USB系统各个组成部分的位置和功能,并且描述观察到USB系统从主机和设备的角度。
(2)数据流模式
叙述主机与设备之间通过USB通信称为数据流模式,有四种通信类型。在主机软件和一个指定USB设备端口之间进行的USB的数据传送。通道是主机软件和USB设备端口之间的联系。总之,各种通道之间的数据传送是互相独立的。图3.7为USB多层次通信模型。主机一个层次对应设备一个层次。
主机物理
用户软件应用
USB系统软件USB总线接口
USB主机控制器USB逻辑设备
图3.7多层次USB通信模型
USB系统软件通过一个缺省的控制通道来管理设备,而用户软件用通道约束接口。通道束的一端是端点,另一端是缓冲区。USB总线有以控制传输,中断传输,批量传输和同步传输4种数据输送方式。
关于任何给定的设备在设置时一种通道只顺应一种方式的数据传输。其中可靠性高的传输速度慢;同步传输速度快可靠性低。应用时传输方式需要根据传输速度和可靠性选取。
(3)设备端点
一个端点是一个可唯一识别的USB设备的Portion,它是主机与设备间通信流的一个结束点。一系列相互独立的端点在一起构成USB逻辑设备。每个逻辑设备都有一个唯一的地址,这个地址就是在设备连上主机时,由主机分配的并且设备中的每个端点在设备内部有唯一的端点号。这个端点号在设备设计时就被给定。每个端点都是一个简单的连接点,或者支持数据流进设备或者支持其流出设备,两者不可得兼。
所有USB设备都需要实现一个缺省的控制方法。这种方法既将端点0作为输入端点同时也将它作为输出端点。USB系统用这种缺省方法初始化及设置此设备。缺省控制通道支持对控制的传送,一旦设备接上并加电,且又收到一个总线复位命令,端点0就是可访问的了。而端点号不为0的端点在设备被设置前处于未知状态,是不能被主机访问的。
(4)USB的分组标识
USB的分组表示(PID)用来表示操作的属性。PID指出数据分组类型,便能推断出分组格局和该组所用的检验方法。USB的通信是以PID开始后随数据或控制信息,CRC检验结尾。
PID由一个4位的分组类型码加上该4位类型码的反码组成,如图3.8所示。(Lsb)
PID0PID1PID2PID3PID4PID5PID6(Msb)PID7
图3.8PID分组码格式
PID可以分为4个码组:令牌、数据、握手、特殊类型,如表3—1所示。
表3—1PID类型PID类型PID名称
OUT
令牌IN
SOF
SETUP
数据DATA0
DATA1
握手ACK
NAK
STALL
特殊PREPID[3..0]0001b1001b0101b1101b0011b1011b0010b1010b1110b1100b说明地址+端点号地址+端点号帧标志,表示帧标号开始地址+端点号数据分组偶PID数据分组奇PID接收器接收到无误的数据分组接收设备不能接收数据或发送设备不能发送数据端点被禁止主机发出低速通信前导信号
(5)总线协议
一条总线可以运送三个数据包最多。按传输前的的准则,开始传输时,由主机控制器发出一个描述传输运作种类、方向、终端号的USB数据包和USB设备地址,一般这个数据包就是tokenpacket。从破码数据包的正确位置拿出所属数据。传输方向可以在主机和设施之间双向。传输起初标志包来标志数据传输方向经发送端发送数据包,同一时刻接收端也要作出回应表明传送成功与否。
发送端和接收端之间的USB数据传输是在主机和设备端口因此当作一个通道。有流和信息两种类型的通道。流的数据相比消息的数据没有USB所定义的结构,通道和数据带宽、端口特性(如方向和缓冲区大小)有联系。
3.PDIUSBD12简介
USB接口芯片通常有芯片内部有微处理器和无微处理器两类,芯片内部无微处理器的成本低、选择灵活方便、可靠性高。
按传输速度高低可将芯片分为两类:一类是符合USB1.1协议的USB接口芯片有
1.5Mbps和12Mbps。另一类是传输速率480Mpbs并符合USB2.0协议的USB芯片。
作为USB接口芯片本设计采用PDIUSBD12简称为D12。它既符合USB1.1版的规范并且内部不带微处理。
D12的性价比,经常作为与微控制器能够通信的高速通用并行接口。在各种不同
类型的微处理器中选择恰当的微控制器就能灵活的减少了开发时间、风险及费用并是最实惠USB外设解决方案。
PDIUSBD12内部结构框图如图3.9所示。6MHz集成RAM
3.3V
1.5KΩ
D+
SoftConnect上行端口D+D-PLL锁相环位时钟恢复模拟收发器PHILIPS
SIE内存管理单元
电压调整器并行和DMA接口
图3.9PDIUSBD12功能框图
说明:
1)模拟收发器:集成收发器的接口能够经过终端电阻和USB电缆相连接。
2)电压调整器:模拟收发器由片内集成3.3V的调整器来供给电压。该电压也可以连接外部1.5KΩ的上拉电阻。因此可选择D12提供1.5KΩ电阻与软件连接。
3)PLL锁相环:片内集成6MHz~48MHz时钟乘法PLL,使其可用低成本6MHz晶振,同时EMI也降低。
4)位时钟恢复:用4X过采样规则作为位时钟恢复电路,用USB的数据流复原时钟,在规定范围内追踪USB的颤动和频漂。
5)PHILIPS串行接口引擎(PSIE):PSIE用硬件使全部的USB协议层,固件不参与。模块的功能有同步识别模式,转换并行/串行,CRC校验/生产,地址识别和握手评估/生产的功能。
6)SoftConnect技术:经过1.5KΩ上拉电阻把D+(用于高速USB器件)置为高与USB连接,一般不与VCC相连,利用外部/系统微控制器发令并连接。微处理器系统与USB连接前实现初始化。USB总线连需求重新初始化不用拔电缆。
7)GoodLink技术:能供给USB连接指挥。在权举时LED指示灯依据通信情况间歇明暗。D12枚举配置成功后,LED指示灯永远亮。下来就和D12成功传送关掉LED灯此时挂起状态。
8)存储器管理单元MMU和集成RAM:以12M/s的速率输送并和微控制器并口相连时,
USB之间速度差别的缓冲区用MMU和集成RAM填充。因此微控制器对USB信息包进行读写以它自己的速率。
9)并行和DMA接口:容易用速度快直接接上主流的微控制器的接口及是普通接口。总而言之,一个地址位(占用2个位置)和一个带8位数据总线的存储器件组成D12。多路复用的地址和数据总线以及非复用的地址都适用D12;适合直接读取DMA传输在RAM与主端点间的;适应DMA传输单周期突发模式。
(1)D12端点的描述
D12的端点适用于各种不同类型的设备。控制传输方式默认为是端点0,非同步传输(批量和中断传输)是端点1,配置位同步传输或非同步传输是端点2。依据端点2不同的配置,可分为:非同步模式、同步输出模式、同步输入模式和同步输入输出模式四种不同模式。数据传输将端点配置成非同步模式。非同步模式输出如表3—2所示。
表3—2非同步模式
端点数0
端点索引01
传输类型控制输出控制输入控制输出控制输入控制输出控制输入
端点类型默认默认普通普通普通普通
方向输出输入输出输入输出输入
最大信息包规格/B[1**********]4
1
23
2
45
(2)命令总汇
有初始化命令、数据流命令、通用命令3种基本类型的命令对D12器件的读写操作。在USB进行枚举时使用初始化命令。管理外部微控制器和USB端点之间的数据传输用数据流命令。
4.USB接口电路设计
图3.10是D12与P89C58X2的连接电路图。电路连接说明如下:
图3.10为D12与P89C58X2的连接电路图
USB中断请求引脚是INT_N,它与单片机的外部中断0引脚(INTO)相连接,并且向单片机发出USB中断请求。
USB设备有总线供电方式和自供电方式两种供电方式。采用了自供电方式对总线的电源与必须自供电设备的电源进行隔离。USB总线的vbus与自供电电源之间只能共地,并且设备不能向vbus输出电流通过USB口。通过4.7kΩ的电阻将EOT_N连接到vbus上,检测USB总线是否连接上用EOT。当主机关闭或者总线断开与D12的连接关闭时,通过R19和R23EOT_N接地,EOT_N变为低电平,中断寄存器中的中断位(DMAEOT)置1,并且外部中断引脚INT_N输出低电平,申请中断向单片机,SoftConnect电阻关闭,确保断开D12与总线连接。当USB总线连接上时,EOT_N才为高电平,这时发送给单片机的命令才有效。
在单地址/数据总线配置时,D12的地址锁存使能引脚ALE接地并且地址位A0接单片机P1.6。2根据A0的不同取值,判断单片机从数据总线上传来的数据是命令指令还是数据,当A0=0时,为数据;当A0=1时,为命令指令。使用MOVX指令单片机与D12接口,这样对D12的操作和对RAM操作就一样了。
GL_N是GoodLink指示灯,在通信时会不停闪烁,在调试过程中非常有用。当USB接口有问题时就会一直亮或者一直暗,当D12挂起LED关闭。
CLKOUT是D12的时钟输出,可以改变其频率通过固件编程,可作为调试固件时的参考。本设计中D12和单片机各自有自己的时钟。没有使用DMA传输方式就不会用到
DMACK_N、EOT_N和DMREQ_N等DMA引脚。
4.USB固件程序设计
USB开发的核心是基于D12的USB接口程序设计。USB接口程序设计包括单片机程序开发、USB设备驱动程序开发和主机应用程序开发三部分。生产厂家直接提供USB设备驱动程序和主机应用程序,本设计只用设计单片机的程序即USB固件编程。
(1)固件程序设计思路
为了确保了最佳的传输速率和更好的软件结构以及简化编程和调试。外围设备使用D12在USB上传输数据时CPU可以处理其他的任务。因而将D12的固件设计成完全中断驱动。当CPU处理前台任务时USB可在后台进行传输。
通过事件标志和数据缓冲区来实现后台ISR(中断服务程序)和前台主程序循环之间的数据交换。交换原理如图3.11所示。D12的批量输出端点可使用循环的数据缓冲区。当D12从USB收到一个数据包时,就会对CPU发出中断请求,CPU立即中断。中断服务是数据包被固件从D12内部缓冲区转到循环数据缓冲区,紧接着清0D12内部缓冲区,为了接收新的数据包。并在随后将D12的内部缓冲区清零,以便能接收新的数据包。CPU继续它的前台任务,任务完成后返回主循环,检查循环缓冲区内无新数据,
并开始另一个前台任务。
图3.11为前后台交换原理图
对比结构,数据的来源与主循环关系不大。主循环只起到循环缓冲区内是否有需要处理数据。主循环只关心数据处理,中断服务程度能以最大速度传输数据。
在数据包处理时控制端点采用了同样的概念。中断服务程序接收和设置相应的标
志寄存器。主循环发出请求向协议处理程序。在协议处理程序中处理标准器件级别和厂商请求,中断服务程序才保持了它的效率。只用通过修改协议层来增加新请求。固件的结构如图3.12所示。
主循环:发出USB数据传输请求
处理总线事件等
中断服务子程序
标准设备请求处理厂商请求处理
D12命令接口
硬件提取层
图3.12固件结构
硬件提取层:对硬件接口进行操作。
D12命令接口:对D12器件操作模块子程序集。
中断服务程序:D12向单片机发出中断请求,读取D12传输的数据,并设定
事件标志和Setup包数据缓冲区传输给主循环程序。
标准请求处理程序:对USB的标准设备请求进行处理。厂商请求处理程序:对用户添加的厂商请求进行处理。
主循环程序:发送USB请求、处理USB总线事件和用户功能处理等。
通过事件标志和Setup包数据缓冲区中断服务程序与前台主循环进行通信中断引脚INT_N发出中断请求,根据中断请求类型中断服务程序操作,设置事件并填充数据缓冲区传输给主循环;用户可以根据实际需要编写厂商请求。
(2)固件程序设计
USB固件程序由主循环程序(其任务是可以中断的)和中断服务程序两部分组成。中断服务程序的任务是D12收集数据,主循环只对数据进行处理。当中断服务程序收到足够数据时,即设置事件标志位,通知主循环等待处理。主循环检查到标志位,对数据进行处理。这种设计减少了主循环时间的浪费,简化了主循环的编程。
靠单片机给PDIUSBD12发命令和数据来实现的单片机与PDIUSBD12的通信。单片
机对D12命令地址发命令,根据接到的命令发送或读出不同的数据。所以可以将每种命令做成函数,通过函数实现各个命令,随后可以直接调用函数。
1)中断服务程序
根据USB协议,由主机开始所有的传输。单片机作前台工作等待中断。主机把发令牌发给USB设备(D12),D12接收到后向单片机发出中断。单片机中断通过读D12的中断寄存器来判断USB令牌包的类型,最后执行中断子程序的相应的操作。
D12的中断寄存器有两个字符,共指示九个中断来源。中断来源包括控制输入端点、控制输出端点、端点1输入、端点1输出、主端点输入、主端点输出、总线复位、挂起改变、DMA操作结束。图3.13给出了中断服务程序的流程图。
中断服务
中断入口
读取D12中断寄存器
设置总线复位
标志
YES
总线复
NO
挂起改变?
NO
DMA传输结束?
NO
YES
控制输入?
NO
控制输出?
NO
端点1输入?
NO
YES
YES
端点1发送数据处理
YES
控制端点接收数据处理控制端点发送数据处理
YES
DMA传输技术处理
YES
设置挂起改变处理
端点1输出?
NO
端点2输入?
NO
端点2输出?
NO
中断服务结束
端点1接收数据处理
YES
端点1发送数据处理
YES
端点2接收数据处理
图3.13中断服务程序流程图
中断服务程序代码如下。
Voidusb_inter(void)interrupt0using0{
Uintint_register;EA=0
int_register=read_int_register();if(int_register&0x0040)if(int_register&0x0001)if(int_register&0x0002)if(int_register&0x0004)if(int_register&0x0008)if(int_register&0x0010)if(int_register&0x0020)if(int_register&0x00c0)if(int_register&0x0100)EA=1;}
2)主循环程序
图3.14给出了主循环程序的流程图。主循环程序检查事情进入相应的子程序做进一步处置。单片机通电后就对全部端口、存储区、中途断开程序初始化
主程序开始
//关全局中断
//读中断寄存器,获取中断标志
//总线复位
bEPPflags.bits.bus_reset=1;port0_out();port0_in();port1_out();port1_in();port2_out();port2_in();suspend=1;
//端点0OUT中断//端点0IN中断//端点1OUT中断//端点1IN中断//端点2OUT中断//端点2IN中断//挂起改变
{}//DMA操作结束,由于没有用到,故为空操作//开全局中断
初始化单片机和所有外围电路
循环
是
SETUP包?否
图3.14PDIUSBD12主程序流程图
调用协议处理程序
以下是主循环程序的实现代码:Voidmain(){
cpu_init();bEPPflags.value=0;Reconnect_usb();EA=1;While(1){
if(bEPPflag.bits.setup_packet=1){
bEPPflag.bits.setup_packet=0;Control_hanle();
}}}
3)枚举过程程序编写
主机必须为该设备分配一个地址,主机与USB设施才可以通信。主机必须明确设备支持的类型,端点个数,电源要求,及装上的驱动程序。主机经过“枚举”的信息替换主机来实现工作,D12与主机之间数据传输必须在枚举胜利之后。
用USB规范设施申请结束USB设备枚举的命令,对标准设备的请求USB设备必须做出响应,使用默认管道(控制端点0)来传输的所有的标准设备以SETUP阶段开始进行端点0的数据传输,随后进入的DATA阶段。主机发送请求给设备,设备收后,以描述符的数据形式把主机所需信息传送给主机,包含设施描述符、配置描述符、接口描述符和端点描述符。USB的设备请求由设备请求类型、设备请求、值、索引和长度8个字节组成。如表3—3所示。
表3—3USB设备请求格式
设备请求类型1字节
设备请求1字节
值2字节
索引2字节
长度2字节
//初始化I/0口,设置中断
//SETUP包处理
USB规范设备请求有获取状态(getstatus)、清除特性(clearfeature)、设置
特性(setfeature)、设置地址(setaddress)、获取描述符(getdescriptor)、设置描述符(setdescriptor)、获取配置(getconfiguration)、设置配置(setconfiguration)、获取接口(getinterface)、设置接口(setinterface)、同步帧(synchframe)11个命令。
D12收到主机发来的SETUP包后向单片机传送中断请求。单片机进入中断程序,先读取D12中断寄存器,判别端点0是不是中断源,再进入输出处置程序port()_out(),读出寄存器最后的形式,判断是否是setup包,如果是,就可以将设备请求读入缓存区,并设SETUP包事情标识。控制输出处理程序流程图如图3.15所示。
主循环程序查看事件标记当检查到SETUP包标志被置1,而后进入协定解决程序中。主机发给设备的标准设备请求就是在port0_out()中读入的数据。通过第二个字节判别以后的设施恳求并跳入相应的子程序解决设备请求。下面是处理主机标准请求的实现代码:
Voidcontrol_handler(){
Ucharreq;
Req=conrol_data.device_request.request&0x0f;if(req==0x00)if(req==0x01)if(req==0x03)if(req==0x05)if(req==0x06)if(req==0x08)if(req==0x08)if(req==0x0a)if(req==0x0b)elsestall_ep0();
get_status();clear_feature();set_feature();set_address();get_descriptor();get_configuration();set_configuration();get_interface();set_interface();
控制输出入口
读端点最后状态寄存器,清中断标志
NO
SETUP包?
YES
读取端点数据并保存
接收状态?
YES
读取端点数据
并保存
YES
对控制输入、控制输出端点进行SETUP包应答
接受完毕?
YES
设置SETU包事件标志
设置SETUP包事件标志
NONO
子程序结束
图3.15控制输出处理流程图
4实验
设计完硬件电路后,需要考虑对采集上来数据的处理。本设计的称重原理是由传感器感应到重力作用然后对称重信号进行滤波处理,但没有更好的信号解决技术,因此需要设计处理动态变化中的称重信号的新方法。
4.1秤体结构设计
常用的秤体结是秤重台面四个角分别放置四个传感器,再并联传感器的输出一起传送到数据采集系统。这种设计的缺点是车辆经过时对秤体产生较大的冲击和振动,造成输出数据有较大误差。为了减少这种误差,提高称重系统固有频率,本设计采用铰链结构的称重台面,图5.1是秤体结构图。由固定链支撑秤台前端,当汽车以速度V经过秤台时,秤体后端的两个传感器感应到台面受到的力,将数据通过称重电路送入主机进行处理。
图5.1是秤体结构图
4.2实验结果与分析
建设自回归滑动均匀(ARMA)模型来模拟实验,取λ=0.98,N=10,用C语言写程序。通过改变小车经过秤台时的重量和速度,得到实验数据及测量数据与真实数据的误差,如表5—2所示。
表
5—2实验数据
小车总质量/g
2485.02985.03667.74167.74999.25999.2
速度m/s0.54560.71430.56870.67420.62180.7595
前轴质量/g1176.811205.631572.981653.171820.852276.01
后轴质量/g1407.241687.462214.722652.613002.793919.57
测量总质量/g
2584.052893.093787.704305.784823.646195.58
误差/g99.05-91.91120.00138.08-176.56196.38
实验结果分析:
(1)根据实验数据可以看出,使用本文设计的称重系统测量误差小于4%。(2)实验模型考虑了速度和质量的关系,速度对测重量的精度影响较小。
(3)由于实验是在低速下测量的,测量模型推导过程处理的信号是动态信号,考虑了速度影响,就为提高车辆通行提供了很大空间。
总结与致谢
目前我国高速公路飞速发展,国家也加强了对公路的保护并加大了对超载车辆的治理。车辆超载不但会紊乱运输市场秩序,而且会造成对公路桥梁的破坏、高发交通事故,造成巨大的经济损失,更会毁了政府在群众心目中的地位。因此本文设计了高速公路收费站超载车辆动态监测装置。设计原理是按照轴重判断车辆轴数、轮胎个数和静态分量,进而判别车辆超载了没有。本设计用模数转换器、放大器、电阻式传感器、单片机和LED显示器共同作用来检测车辆的超载情况。本设计具有处理数据稳定同时采用铰链结构的秤台设计减小振动对称重的影响并且用C语言进行编程的优点。但是由于时间关系没有对称重系统做详细的力学分析和进行详细的数学推理设计因此本设计还需要进一步完善。
总而言之,动态称重系统的设计提高了称重结果的准确性,但是提高车辆通过秤体时的速度任然需要继续设计。
为期一个学期的毕业设计终于写完了,感谢在两年的求学过程中帮助过我的所有老师和同学。对我论文起主要作用的是我的指导老师潘铭志讲师,潘老师渊博的专业知识,一丝不苟的学术精神以及他对我不厌其烦的指导和帮助,我的论文才能圆满完成。因此非常感激我的潘老师。
金无足赤,人无完人。由于我的专业知识有限,原老师们批判和斧正。
参考文献
[1]郭敏编译,国外智能运输系统,国外公路,1999,19(5):16-20[2]施昌彦.动态称重测力技术的现状和发展动向,计量与测试技术,2000年第1期:18-20
[3]高光天,薛天宇,孟庆昌,华正权编著,模数转换器应用技术,科学出版社.2001
[4]万福君,潘松峰编著,单片机微机原理系统设计与应用,中国科技大学出版社.2001
[5]房小翠,王金凤编著.单片机实用系统设计技术.国防工业出版社.1999[6]雨宫好文(日)著,洪淳赫译.传感器入门,科学出版社.2000[7]孙廷耀.关于如何选用称重传感器的几点建议,计量技术,2001年第1期:53-54
[8]张智杰.AD574在数据采集中的应用,国外电子元器件,2003年第3期;55-56
[9]周征.12位A/D转换器ADS774JP及其在高精度检测系统中的应用.国外电子元器件.2003年第4期:35-37
[10]AlKelley,IraPohl著,麻志毅译.C语言解析教程,机械工业出版社,2002
[11]程斓,杨子杰,基于PDIUSBD12的USB设备固件程序开发.计算机应用.2004,24(7):150-153[12]BenjaminInstrumental
Friedlander.TheVariable
Over
determinedTruns.On
RecursiveAutomat
Method.IEEE
Control,1984,29(4)
[13]胡广书编著.数字信号处理-理论、算法与实现,清华大学出版社.2002[14]侯媛彬,汪梅,王力琦编著.系统辨识及其MATLAB仿真.科学出版社.2004
[15]G.W.Housner,L.A.Bergman,T.K.Caughey,etal,结构控制:过去,现在,为来,ASCE,工程力学杂志123(9)(1997)897-971.
[16]高金峰.带通讯接口的电子称重系统.郑州工业大学学报.1998,
[17]张海青.定量下料问题的动态称重解决方案.计量学报,1998(3)[18]张成乾,张国强.系统辨识与参数估计.机械工业出版社.1986[19]侯媛彬,汪梅编著.系统辨识及其MATLAB仿真.仪器仪表学报.2001,13(3):21—25