●应用与设计1引言随着EDA技术的发展及大规模可编程逻辑器件CPLD/FPGA的出现,电子系统的设计技术和工具发生了巨大的变化,通过EDA技术对CPLD/FPGA编程开发产品,不仅成本低、周期短、可靠性高,而且可随时在系统中修改其逻辑功能。本文介绍了一种以Altera公司可编程逻辑器件EP1K30TC144-3为控制核心,附加一定外围电路组成的出租车计费器系统。2系统总体结构基于CPLD的出租车计费器的组成如图1所示。各部分主要功能包括:信号输入模块对车轮传感器传送的脉冲信号进行计数(每转一圈送一个脉冲),并以高低脉冲模拟出租汽车启动、停止、暂停、加速按钮,具有输入信号作用;数据转换模块将计费模块输出的车费和路程转换成4位的十进制数据;译码/动态扫描模块将路程与费用的数值译码后用动态扫描的方式驱动数码管;数码管显示模块将公里数和计费金额均用4位LED数码管显示(2位整数,2位小数)。3单元模块设计3.1信号输入模块该模块主要实现计费功能和现场模拟功能。计费标准为:对车轮传感器传送的脉冲信号进行计数(每转一圈传送一个脉冲),按行驶里程计费,起步价为7.00元,并在车行3km后按2.40元/km计费,当计费器达到或超过20元时,每公里加收50%的车费,车停止不计费。并以高低脉冲模拟出租汽车启基于CPLD/FPGA的出租车计费器系统的设计实现林愿(湖南工程学院电气与信息工程系,湖南湘潭411105)摘要:介绍了一种基于Altera公司大规模可编程逻辑器件EPF10K10的多功能出租车计费器系统。介绍了该计费器系统的主要组成单元———信号输入模块、数据转换模块、动态扫描模块、数码管控制模块及译码显示模块等的设计方法与技巧,同时给出了详细的仿真波形。关键词:FPGA;VHDL;出租车计费器;MUXPLUSII;数字系统设计中图分类号:TN929;TP393文献标识码:A文章编号:1006-6977(2007)07-0025-03DesignofthetaximetersystembasedonCPLD/FPGALINYuan(DepartmentofElectrical&InformationEngineering,HunanInstituteofEngineering,Xiangtan411105,China)Abstract:AmultifunctiontaximeterbasedonlargescaleprogrammabledeviceEPF10K10ofAlteraisintroduced.Themethodandtechniqueoftheelementmodulesofthetaximeter—signalinputmodule,dataconversionmodule,dynamicscanmodule,nixietubecontrolanddecodedisplaymodulearediscribed.Atthesametime,thedetailedsimulationwaveformispresented.Keywords:FPGA;VHDL;taximeter;MUXPLUSII;digitalsystemdesign图1系统总统框图基于CPLD/FPGA的出租车计费器系统的设计实现-25-《国外电子元器件》2007年第7期2007年7月动、停止、暂停、加速按钮,具有输入信号的作用。该模块的时序仿真图如图2所示。图中的stop下降沿到来时系统不计费,车费为“0”,路程为“0”,起步价为7.00元,在车行3km(图中300为3km,因为后面有2位小数)后按2.40元/km计费,当计费器达到或超过20元时,每公里加收50%(即按3.60元/km)的车费。3.2数据转换模块数据转换模块是一个模为10、步长可变的加法计数器,可将计费模块输出的车费和路程转换成4位的十进制数。该模块通过开关量预置步长,当超过一定预置参数时改变步长。计费模块也采用非压缩BCD码,但因步长不为1,所以在做非压缩BCD加法时必须调整,否则可能导致在超过或未超过预置参数时出现超程错误。这里采用模仿微机的AF标志位,在其设立一个半进位标志,当累加和大于9或半进位标志为“1”时,对其累加和调整。转换模块的时序仿真图如图3所示,可见能将路程和车费转换为4位的十进制数,便于8位数码管显示。3.3显示模块显示模块是由七段LED数码管译码和动态扫描显示两部分组成。采用的是共阴极七段数码管,根据十六进制数和七段显示段码表的对应关系,其中要求路程和车费都要用2位小数点来表示,所以须设置一个控制小数点的变量,即程序中的dp。这段程序所示的是在数码管的第二、第六个后面显示小数点,实现了路程和车费都用2位小数点表示的功能。要注意的是如果选择的扫描频率不合适,可能会出现小数点闪动的情况。但只要扫描频率不小于24Hz,人眼就感觉不到显示器的闪烁。本系统采用36Hz的扫描频率,扫描脉冲由相应的外围电路提供。七段数码管显示模块的时序如图4所示。数码管控制及译码显示模块将十进制的输入信号用七段数码管显示,由七段发光二极管组成数码显示器,利用字段的不同组合,可分别显示0~9十个数字。本设计中,要求输出的段信号为低电平有效。4系统仿真、综合、下载仿真是EDA技术的重要组成部分,也是对设计的电路进行功能和性能测试的有效手段。EDA工具提供了强大且与电路实时行为相吻合的精确硬件系统测试工具。在建立了波形文件、输入信号节点、波形参数、加输入信号激励电平并存盘之后,选择主菜单“MAX+plusII”中的仿真器项“Simulator”,弹出对话框之后单击“Start”进行仿真运算,完成之后就可以看到时序波形。图5为总电路的时序图。最终的电路设计完成后,若总体电路编译无图2信号输入模块时序仿真图图3数据转换模块时序仿真图-26-图4七段数码管显示模块时序仿真图错,且时序仿真成功,可进行硬件测试。将总电路下载到可编程逻辑器件中,按fit文件中自动分配引脚搭建硬件电路。系统顶层原理图如图6所示。打开电源,数码管有正确的数字显示,操作运行实验结果完全符合要求。查看报告文件可得到器件引脚的利用情况及器件内部资源的使用情况,通过更换适当的器件使其资源配置达到最优。选择器件的一般原则是系统所使用的资源不要超过器件资源的80%,若超过90%,系统功耗将增大,工作不稳定。本设计中输入、输出引脚各用22个,器件资源利用率仅为62%,具有较大的扩展空间。5结束语出租车计费器计数脉冲来自车轮转速传感器(干簧管),脉冲经器件内部整形后送至计数器;动态扫描脉冲由外围电路给出,将单位脉冲看做行驶的单位公里数,并在此基础上进行计费与显示。系统采用整流、滤波、降压后的出租车电源供电。实验表明:该计费器实现了按预置参数自动计费(最大计费金额为99.99元)、自动计程(最大计程图5总电路的时序仿真波形图图6系统顶层原理图基于CPLD/FPGA的出租车计费器系统的设计实现-27-《国外电子元器件》2007年第7期2007年7月公里数为99.99km)等功能;能够实现起步价、每公里收费、车型及加费里程的参数预置(如:起步价7.00元;3km后,2.40元/km;计费超过20.00元,每公里加收50%的车费等),且预置参数可调范围广。由于采用CPLD大规模可编程逻辑器件,整机功耗小、抗干扰能力强、系统稳定、工作可靠、升级方便。另外,由于器件资源尚有较大的扩展空间,根据实际需要,系统可方便地增加所需功能,如通过器件内部编程增加时钟功能,既可为司机和乘客提供方便,又能为夜间行车自动调整收费标准提供参考;还可以通过FPGA的输出引线控制语音器件,对顾客发出问候语,提醒其所要收缴的费用等;也可以通过FPGA的输出引线控制打印机打印发票等。参考文献:[1]王振红.VHDL数字电路设计与应用实践教程[M].北京:机械工业出版社,2003.[2]阎石.电子技术基础(数字部分)[M].北京:清华大学出版社,2000.[3]张原.可编程逻辑器件设计及应用[M].北京:机械工业出版社,2003.[4]潘松.CPLD/FPGA在电子设计中的应用前景[J].电子技术应用,1999,25(7):6-8.[5]MarkZwolinski.VHDL数字系统设计[M].北京:电子工业出版社,2002.收稿日期:2007-03-12咨询编号:070707●应用与设计WindowsXP环境下USB设备驱动程序的开发陆原,魏杰,孟玮(河北大学电子信息工程学院,河北保定071000)摘要:分析了WindowsXP系统中WDM驱动程序的结构特点,简单介绍了USB的协议以及工作原理。结合数据采集实例,介绍了开发工具DriverStudio的功能,并借助该工具对USB驱动程序开发和安装过程进行了说明。关键词:驱动程序;WDM;USB;DriverStudio中图分类号:TP316文献标识码:A文章编号:1006-6977(2007)07-0028-03DevelopmentofUSBdevicedriverprogramunderWindowsXPLUYuan,WEIJie,MENGWei(CollegeofElectronicandInformationEngineering,HeBeiUniversity,Baoding071000China)Abstract:ThearchitectureofWDMinWindowsXPandspecificationofUSBareanalyzed,andtheoperationprincipleofUSBisclarified.Accordingtoanexampleaboutdata-collection,thefunctionofDriverStudioisintroduced.Thismethodofdevelopingdrvierprogramisgenerality,andsimplifiedthedevelopingandinstallingprocess.Keywords:driverprogram;WDM;USB;DriverStudio1引言WindowsXP具有运行可靠、稳定且速度快的特点,操作人性化,且使用比较普及。USB(UniversalSerialBus,通用串行总线)具有连接单一化、即插即用、支持热插拔等特点,简化了PC和外围设备的连接过程。在开发采用USB接口与PC连接的外围设备时,大都涉及到开发接口器件驱动程序的问题。本文以实现数据采集功能为例,借助驱动开发工具DriverStudio3.1开发出USB设备的驱动程序。2WindowsXP系统及其WDM结构WindowsXP运行平台支持两种模式:用户模式和内核模式。用户模式下,应用程序接口调用函数-28-总第43卷第487期2006年第7期电测与仪表FleetricalM-Fmirwmant&InstrumentationVol.43Jul.No.4872006基于CPLD及C语言的等精度频率计设计李斌,陈建辉,陈维,邱鹏(军械工程学院导弹工程系,石家庄050003)摘要:主要介绍了等精度频率测量原理,该原理具有在整个测试频段内保持高精度频率测量的优点;同时在该原理基础上,采用了VerilogHDL语言设计了高速的等精度测频模块,并且利用EDA开发平台QUARTUS113.0对CPLD芯片进行写人,实现了计数等主要逻辑功能;还使用C语言设计了该等精度频率计的主控程序以提高测量精度。本设计实现了对频率变化范围较大的信号进行频率测量,能够满足高速度、高精度的测频要求。关键词:等精度频率测量;CPLD;VerilogHDL;C语言中图分类号二TM935文献标识码:B文章编号:1001-1390(2006)07-0042-04TheDesignofFrequencyMeterforEqualObservationsBasedonCPLDandCLanguageLIBin(Ordnance,CHENJian-hui,CHENWei,QIUPengE