基于FPGA实现的数字化车用仪表

时间:2022-06-04 10:56:41

基于FPGA实现的数字化车用仪表

摘 要:提出采用步进电机作为机芯表头,利用FPGA器件作为控制器,设计并实现车速、发动机转速、水温、油位、里程指示的新型全数字化车用仪表系统。给出车速检测模块、转速检测模块、水温检测模块、油位检测模块、FPGA控制模块、步进电机驱动模块、里程指示模块和系统电源模块等电路的详细设计。

关键词:传感器;V/F转换;光电隔离;FPGA;步进电机

中图分类号:TP368.1 文献标识码:B 文章编号:1004-373X(2008)02-185-04

FPGA-basedNumerical Instruments on Vehicle

XU Fei

(Zhengde Vocational and Technical College,Naijing,211106,China)[HJ1*3][HJ]

Abstract:A new model numerical instrument system on vehicle is discussed.It includes step motro which can be used to core and FPGA controller.This system can measure and show speed,rotate speed of motor,temperature of water,position of oil,mileage and so on.The paper designs circuits and in detail,including speed check module,rotate check module,water temperature check module,oil level check module,FPGA controller module,stepper motor drive module,odometer show module and system power supply module.

Keywords:sensor;V/F shifter;photolectric isolation;FPGA;step motor

1 引 言

车辆仪表是驾驶员与汽车进行信息交流的重要接口和界面,是车辆安全行驶的重要保证。新一代汽车大多采用微控制器实现的数字化仪表。

数字化车用仪表比常规的模拟式仪表读数更加准确,抗震性、可靠性更高。但采用纯数字形式或带状显示形式指示车辆运行状况的数字化仪表,其直观性不如指针式仪表,因为驾驶员从指针位置来获取信息比从估计一个数字量获取信息更容易。因此很多汽车采用数字化指针式仪表,这种仪表采用步进电机驱动指针式仪表盘进行指示。由微控制器完成对各种信号的采集、处理后直接控制步进电机的转动角度和转动方向,从而带动指针转动一定的角度,在刻度盘上指示被测信号值。数字化指针式仪表指示精度高,稳定可靠,一致性、通用性好,符合人们的习惯,因此得到广泛的应用。

车用数字化指针式仪表,主要包括车速表、转速表、里程表、燃油表和温度表等。由车速、发动机转速、温度和油位等信号的采集值,可很方便地转换为一定频率的数字脉冲信号,因此易采用FPGA(现场可编程逻辑器件)芯片作为系统控制器来实现。

2 系统总体结构

采用FPGA实现的步进电机式数字化车用仪表系统主要是通过相应的传感器电路采集车速信号、发动机转速信号、水温信号、油位信号等,经信号调制电路处理为FPGA可接收的脉冲信号。 FPGA对这些脉冲信号的频率进行采样,经计算处理后,转换为步进电机驱动芯片的控制信号(转动方向、转动角度)。步进电机驱动芯片接收到控制信号后,输出驱动脉冲信号控制车速表、转速表、燃油表、水温表中的步进电机表头转动方向和转动角度,使其按照指定参数指示到相应的位置。其系统电路主要包括:车速检测模块、转速检测模块、水温检测模块、油位检测模块、FPGA控制模块、步进电机驱动模块、里程指示模块和电源模块等,可完成油位指示、车速指示,发动机转速指示、温度指示、里程显示等一系列功能。系统结构框图如图1所示。

3 系统主要模块

3.1 电源模块

汽车内部产生的供电电压是+12 V,仪表系统需要+5 V,+3.3 V和+2.5 V电压;电源模块功能实现12 V到5 V的电源变换,及5 V到3.3 V,2.5 V的电源变换。电源原理图如图2所示。

图2中LM2576是美国国家半导体公司生产的3 A电流输出降压开关型集成稳压电路,他内含固定频率振荡器52 kHz和基准稳压器1.23 V,并具有完善的保护电路,包括电流限制及热关断电路等,利用该器件只需极少的器件便可构成高效稳压电路。其具有可靠的工作性能、较高的工作效率和较强的输出电流驱动能力,从而为微控制器的稳定、可靠工作提供了强有力的保证。FPGA内核需要的3.3 V,2.5 V电压可由5 V电压通过低功耗正向电压调节电源模块SPX1117-3.3和SPX1117-2.5转换得到。

3.2 检测模块

3.2.1 车速检测模块

汽车每转一周,车速传感器(可采用霍尔传感器)送出信号,经三极管9013整形和光电耦合芯片TLP521进行光电隔离,转换为满足FPGA器件可接收的脉冲频率信号;对此脉冲信号进行定时计数,经处理后可得到速度和里程信息。车速检测模块电路原理图如图3所示。

发动机转速检测模块与车速检测模块相似,这里不再赘述。

3.2.2 温度检测模块

温度检测电路采用LM45集成温度传感器,将温度信号转换为电压信号,经V/F(电压频率转换)变换器LM131芯片转换为频率信号,再经光耦芯片TLP521隔离输出,从而构成输入输出隔离的温度/频率变换电路,将温度信号直接转换为FPGA可接收脉冲频率信号。 LM45集成温度传感器,测量温度范围2~150 ℃,当温度范围为25~100 ℃。响应的频率输出为25~1 000 Hz,由5 k电位器来调整,使100 ℃输出为1 000 Hz。温度检测电路原理图如图4所示。

3.2.3 油位检测电路

油位检测电路采用浮筒式可变电阻油位传感器RP2(RP1用做辅助调整),将油位信号转换为电压信号,经V/F变换器LM331芯片转换为频率信号,再经光耦芯片TLP521隔离输出,从而构成输入/输出隔离的油位/频率变换电路,将油位信号直接转换为FPGA可接收脉冲频率信号。油位检测电路原理图如图5所示。

3.3 FPGA控制模块

FPGA控制模块采用FPGA器件实现。主要由频率测量模块,计算模块,比较模块,报警模块、里程计算模块和分频模块构成,内部结构示意如图6所示。

频率测量模块功能是采集由检测模块(转速、车速、温度、油位)送来的脉冲信号,对脉冲信号进行定时计数,得到信号频率值,作为信号计算模块的输入信号。

计算模块接收频率测量模块送来的脉冲频率值,根据实际值与频率值的换算关系,及步进电机转动角度与指针刻度值对应的脉冲数的关系,输出与信号实际值相适应的控制步进电机转动角度的脉冲数。

比较模块接收信号计算模块脉冲数,与上一次驱动脉冲数(指针当前位置)比较,若大于上次值,发出正转信号,若小于上次值,发出反转信号,并计算两者差值脉冲数,用差值脉冲数控制步进电机驱动序列信号的脉冲个数,并将驱动序列信号和方向控制信号送给驱动芯片,从而驱动步进电机转动,使指针指示到对应刻度值。

报警模块主要实现异常情况下输出告警信号的功能。当水温、油位、机油压力等达到设定的警戒值时,启动音频报警装置发出报警信号,同时,点亮相应的报警指示灯,以提醒驾驶员的注意。里程计算模块接收车速模块送来的信号,经计算处理后,给出每前进0.1 km的脉冲信号,控制机电式里程计数器转动,进行里程指示。

分频模块对基准系统时钟进行分频,得到各种需要的采样使能信号和频率信号。如车速、转速、油位、温度采样定时信号、报警频率信号、步进电机驱动序列信号等。

主控模块根据点火开关信号情况,控制仪表指针回零或采集信号值等,其控制流程如图7所示。

本控制模块选用Alter公司的EP1K30TC144-3,EP1K30TC144-3属于ACEX1K系列,是Alter公司的主流芯片之一,是基于可重构CMOS SRAM单元,具有复杂逻辑及存储器功能,能够满足廉价高容量的需要,配置芯片选用AT17C010A芯片。I/O口通过接插口引出,便于连接,亦可供功能扩展和二次开发使用。电路原理图如图8所示。

在具体利用硬件描述语言进行程序设计时,对每个被测信号量,可将频率测量模块、计算模块与比较模块综合在一起设计,作为内部处理模块。对I/O口设计,要加输入接口和输出接口模块,并要利用一个全局系统时钟实现同步化逻辑控制。

3.4 步进电机驱动模块

步进电机驱动模块采用驱动芯片STI6606。STI6606芯片是一款专为驱动微型步进马达而设计的CMOS集成电路,在同一芯片上包含4个同样的驱动器,每个驱动芯片可同时驱动4路马达。其简单易用,每个马达只需驱动脉冲序列信号F(scx)和方向(CW/CCW)两个控制端。所有输入脚都有干扰过滤器。其结构接线示意图如图9所示。F(scx) 输入信号的上升边缘驱动转子一个微步。输入信号 "CW/CCW"(顺时针/逆时针) 控制马达的转动方向。输入信号 "RESET" 在低电平时,重设输出驱动序列到初始设定位置 ,本设计作为指针回零控制信号。

3.5 仪表指示模块

仪表机芯采用STI29系列步进电机,该仪表马达是一种精密的微型步进马达,是两相步进马达经三级齿轮减速转动输出的,内置减速比1/180的齿轮系,需要两路逻辑脉冲信号驱动,其可以工作于5~10 V 的脉冲下,输出轴的步距角最小可以达到1/12°,最大角速度600°/s。可用分步模式或微步模式驱动。在驱动芯片的频率控制端输入脉冲序列 F(scx),可以控制步进马达的输出轴以微步转动,驱动电路把脉冲列F(scx) 转换成一个电流等级序列送到马达的线圈。用来产生马达微步运动。每个微步马达输出轴转动1/12°,最大角速度可达600°/s。车速表指针指示范围0~220 km/h可调,为线性分度。0~220 Hz脉冲信号输入,对应车速为0~220 km/h,信号电压幅度5 V。 发动机转速表指针指示范围(0~80)×100转/min可调,为线性分度。0~266.6 Hz 脉冲信号输入,对应发动机转速0~8 000转/min。正常工作时指针全行程时间不低于6 s。水温表指针指示范围60°~120°可调,为线性分度。0~1 000 Hz脉冲信号输入,对应水温为0~100 ℃。仪表上电后3 s之内到达正确指示位置。指针阻尼可调(通常为强阻尼)。正常工作时指针全行程时间不低于1 min。

燃油表指针指示范围60°~ 120°可调,为线性分度。0~600 Hz脉冲信号输入,对应汽油指示E(空)至F(满),仪表上电后3 s之内到达正确指示位置。指针阻尼可调(通常为强阻尼)。正常工作时指针全行程时间不低于1 min。

里程指示采用机电式计数器,主控制器内的里程计算模块将车速脉冲频率信号处理后产生0.1 km脉冲,控制驱动一个小型步进电机,通过减速齿轮驱动两个鼓形机械式10进位计数器,分别进行累计里程和日计里程的记录;其中累计里程表可记录到999 999.9 km,不可逆向转动计数;日计里程只能记录到999.9 km,其设有回零杆,可清零。

4 系统抗干扰方面的设计

由于本仪表系统是为汽车设计的,而汽车的点火系统有较强的电磁干扰。另外车辆移动性大,有可能处于较强的电磁干扰的环境中,因此汽车控制系统必须要有很强的抗干扰能力和抗冲击、抗震动性能。否则系统难以稳定,不能够可靠运行。本汽车仪表采取的抗干扰措施主要有以下几个方面:

(1) 采用抗干扰电源

仪表电路系统供电线路是干扰的主要来源。本系统的电源由车载电瓶提供,车辆的点火系统、音响设备等都可能对本系统产生干扰。为此,可将车载电瓶12 V电源经磁珠和电容组成π形滤波电路后,再经过LM2576变压,然后经过稳压、滤波得到本系统电源。同时,良好接地是系统稳定工作的重要条件。由于本系统既有模拟电路又有数字电路,因此设计时要将数字地与模拟地分开,最后只在一点相连。

(2) 采用光电隔离器件

检测电路提供的脉冲信号送入FPGA控制器系统前,均采用光电耦合芯片进行隔离处理,避免汽车内部提供的脉冲信号对仪表控制器的干扰。

(3) 掉电保护自动复位

当出现车辆颠簸的路况时,可能引起电源等接触不良的情况,使系统陷入混乱状态,电源电压恢复正常后,系统难以恢复正常。为此系统设计了掉电保护。一旦掉电后,仪表指针回零,系统自动重新加载。

5 结 语

利用硬件描述语言和FPGA现场可编程逻辑器件实现的车用仪表系统具有高速、高可靠及开发便捷的特点,可以事先验证设计的正确性、充分利用可编程器件的在线修改能力,随时修改设计而不必改动硬件电路,从而提高系统的可靠性和通用性,大大缩短开发周期,减少电路板面积。利用FPGA器件实现的汽车仪表系统和利用FPGA器件嵌入软核处理器实现的汽车控制系统具有广泛的应用前景。

参 考 文 献

[1]孙余凯,项绮明.新型汽车电子单元电路[M].北京:电子工业出版社,2004.

[2]吴基安,吴洋.汽车电子新技术[M].北京:电子工业出版社,2006.

[3]黄智伟.FPGA系统设计与实现[M].北京:电子工业出版社,2005.

[4]潘松,黄继业.EDA技术实用教程[M].北京:科学技术出版社,2006.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。

上一篇:PLC在自动剥线机中的应用 下一篇:单片机串行接口电路的三线式结构设计