基于STM32的车灯控制检测系统开发
马子铠,叶春生
(华中科技大学材料成型与模具技术国家重点实验室,湖北武汉430074)
摘要:随着汽车行业的蓬勃发展,对汽车车灯也提出了更高的要求,车灯的质量在这些要求中占据重要的作用,而如何检测车灯的质量就成为了当今世界的一个重要命题。基于此,开发了一套基于STM32的汽车车灯质量检测系统,该系统依靠高性能的STM32系列芯片设计了车灯检测系统控制器,同时应用LIN总线技术实现了检测系统和车灯之间的通信,以车灯的各种状态为标准来对车灯的质量进行性能测试,其中软件的编写也十分重要,利用中断和全局变量设计的程序非常巧妙,使整个系统的稳定性良好。最后利用检测系统来控制车灯呈现相应的状态试验检测车灯质量,并经过对大批次车灯的质量检测结果显示,车灯质量检测系统能够高效率地完成车灯的检测工作,具有极高的可靠性和广泛的应用前景。
关键词:汽车电子;车灯检测;控制系统;STM32控制芯片;LIN通信总线;中断;全局变量
中图分类号:TP391文献标志码:A
Development of Inspection System for Car Light Quality based on STM32
MA Zikai,YE Chunsheng
(State Key Laboratory of Material Forming and Mould Technology,Huazhong University of Science and
Technology,Wuhan430074,China)
Abstract:With the vigorous development of the automobile industry,higher requirements have been put forward for au-tomobilelights.Thequalityofautomobilelightsplayedanimportantroleintheserequirements,andhowtodetectthequali-tyofautomobilelightshasbecominganimportantissueinthecontemporaryworld.Basedonthis,asetofSTM32-basedau-tomotive lamp quality inspection system was developed.The system relied on the high-performance STM32series chips to design the automotive lamp detection system contro l er,and at the same time,used LIN bus technology to realize the com-municationbetweenthedetectionsystemandthelamp,carriedoutperformancetestonthequalityofthecarlightsbasedon thevariousstatesofthecarlights,among of that,the writing of software wasalsoveryimportant,and the program de­signed with interrupts and global variables was very clever,so that the stability of the entire system was good.Fina l y,the inspectionsystem wasusedtocontrolthecarlightstopresentthecorrespondingstatetotestthequalityofthecarlights, andthequalityinspectionresultsofthelargebatchofcarlightsshowedthatthecarlightqualityinspectionsystemcoulde f i-cientlycompletetheinspectionworkofthecarlights,ithadveryhighreliabilityandwideapplicationprospects.
Keywords$automotiveelectronics,lampdetection,controlsystem,STM32controlchip,LINcommunicationbus,in-terrupt,globalvariables
汽车车灯犹如汽车的“眼睛”,同时也犹如车辆之间的“沟通语言+1'(—个好的车灯应具有尽可能多的功能和长的使用年限,常见的车灯有近光灯、远光灯、转向灯和位置灯等(通过点亮不同功能的车灯来给其他的车辆提示,在方便汽车驾驶人的同时,也降低了交通事故的发生频率(
因此,为了减少交通事故,保障行车安全,对汽车车灯进行质量检测对于车灯生产商而言是一个十分重要的任务。车灯生产商通常会在车灯生产线上装配一套专门的检测设备对车灯进行质量检测,但经常会出现错检、漏检的情况,导致已经售出的车辆因为车灯故障而被召回,直接导致生产商和消费者产生巨大的经济损失(针对这种问题,本文结合某厂家生产的高配车灯开发出一套新型车灯质量检测系统2,提高车灯的检测效率。
1车灯质量检测系统设计方案
1.1系统的设计需求
本文以某厂家生产的高配车灯为对象,设计一套车灯质量检测系统对其不同灯光状态进行质量检测,具体包括近光灯(LB)、远光灯(HB)3、转向灯(TI)、位置灯(PL)和驻车灯(DRL)等5种不同的灯光状态,并实现了车灯渐亮和渐灭2个新功能。
1.2控制芯片的选择
结合车灯检测系统的功能需求和处理器速度要求,控制器采用STM32系列控制芯片(型号为
STM32F103C8T6)⑷,该处理器经济实用,在处理速度上可以满足检测系统的基本需求,且支持LIN 总线模式。在该芯片基础上设计了配套的控制开发板,开发板配置多个模块接口,可以直接使用。
1.3通信总线的选择
为了保障通信传输效率,控制器采用LIN通信方式。LIN通信(Local Interconnect Network)是一种低成本的串行通信网络(CAN通信的补充),可用于实现汽车中的信号通信。LIN总线是基于USART接口硬件实现的,通过时序信号进行同步,保证信号的传输效率。检测系统包括一个主机(控制系统)和一个从机(车灯),可以采用单主机对多个从机的控制方式,使用起来更为便捷。
1.4总体设计方案平来控制NPN型三极管的通断,致使蜂鸣器产生作用,通过蜂鸣器的响声判断主程序工作于何种模式下。此外,采用R405电阻消除PA5电平切换产
控制器采用按键输入控制信号,基于STM32 F103C8T6芯片处理器作为控制系统,搭载配套的软件,将控制电平、PWM脉冲信号&'和LIN总线输出给车灯,通过观察车灯与指示灯的状态完成质量检测,整个车灯质量检测系统总体结构如图1所示。
按键输入
T电平控制I
T PWM控制]
T LIN控制I
LB,TI输出
—T PL,DRL占空比输出|
—H HB等LIN总线输出|图1车灯质量检测系统总体结构
图1中,LB和TI状态为近光灯和转向灯常亮
常灭,通过电平控制实现;HB状态为远光灯常亮常灭,它与车灯渐亮及渐灭3种状态通过发送规定的字节序来实现;PL和DRL为车灯同一指示灯的2种状态(PL灯亮度较低,DRL灯亮度较高),利用改变输出波形的占空比来实现。
2检测系统硬件设计
在控制系统中,硬件电路主要包括2个模块:STM32最小系统模块和车灯硬件控制系统模块。最小系统模块是以STM32F103C8T6为主控芯片,并搭配电源模块、晶振模块、下载模块、复位模块、通信模块等功能单元,由于STM32控制模块属于通用模块,本文不做详细介绍。
车灯硬件控制系统主要由蜂鸣器电路、继电器电路、电源电路、按键电路和连接电路等5个模块组成,每个模块的详细介绍如下。
2.1蜂鸣器电路模块
电路原理如图2所示,其中三极管作为电子开关,可以实现小电流控制大电流。因为不能通过I/O口直接驱动大功率电器,故采用PA5的高低电
图2蜂鸣器的电路原理图
2.2继电器输出电路模块
继电器的主要作用是作为电气开关,控制输出到车灯的电流。其电路原理如图3所示,由于车灯的控制输出电流低,且工作频率不高,为了保护NPN三极管不被开关关断时线圈所产生的反电动势烧毁,该模块未采用三极管来控制电流输出。R3010电阻的作用与R405一致,起到去抖动的作用。
图3继电器输出的电路原理图
2.3电源模块
采用220VAC-12VDC开关电源对控制器进行供电,电源模块分为2个子模块(5V的标准电压模块和3.3V的低电压模块),分别由LM2575芯片和LM1117芯片调节得到。其中,5V的标准电压为STM32最小系统供电(见图4)).3V模块为按键输入模块供能(见图5)(
2.4按键输入模块
该模块由3.3V低电压模块加一个10k,的电
图4 12 V 电压转5 V 电压电路原理图
待按键再次输入后开始执行下一次操作。
jii
J12
GND  < GND  >< GND  >
图5 5 V 电压转3. 3V 电压电路原理图
+5V 3
IN  OUT
2
4
=C80122uF/10V
LM1117_
C802 二
0.1UF/16V
161413
< GND  >
< +12V  >
GND  ;
GND  :
+12V  :
+12V  ;
+5V  :+5V  :PB13 :
PB12 :
PB11 :
PB10 :
PB1 :PB0 :
PA7 :
PA6 :
PA5 ;
+12V
pb TT
< PB12 >
< PB11 >
< PB10
< PBO  /
< PA7 >
< PAS  >
< PA5 >
GND  r <GND  >
< GND  >
< GND  >
< +5V>
< +5V>
< +5V>
< PB14 >
PB15 >
16
1413
GND  :
GND  :
+5V  '
+5V  :
+5V  ;
PB14 :
PB15 :
PA8 :
PB5 :
PB6 :
PB7 :
PB8 :PB9 :
PA1 :
PA0 :
< PAI  >
X  PAO  >
< PA8 >
< PB5 >
< PB6 >
< PB7 >
< PB8 >< PB9 /
CONI  6
CONI  6
图7连接模块电路原理图
阻组成(见图6),并将PB 组引脚的输入模式设置为
浮动输入模式。当外接的按键端子被连接时,PB 组 中对应的引脚被置为高电平,并将信号传入STM32
最小系统模块中,处理器在对信号进行处理后输出
相应的操作信号。
图6按键输入模块电路原理图
2. 5连接STM32最小系统主板模块
车灯硬件控制板需要和STM32最小系统连接
起来才能正常工作。该模块用到了 PA 和PB 的相 关引脚,并采用电压为12 V/5 V 的电源为主板提
供工作电压(见图7)o
3检测系统软件设计
中断子程序和全局变量设置在软件开发过程中
起到至关重要的作用,其中全局变量是对于整个 程序而言都可以使用的变量。中断&9'是指程序运行
过程中,出现了某些故障需要主机干预,控制器能自 动停止正在运行的程序并转入新的处理程序,等处理
完毕后再回到原先被暂停的程序,继续并完成工作。
控制器利用按键输入信号来进入中断子程序,
在中断子程序中来改变全局变量的mode 值,在执
行完中断程序后回到主函数来判断全局变量mode  值,根据mode 值来判断程序应该执行哪一个模式
下的子程序。当程序执行完对应模式子程序后,将 重置全局变量的mode 值并回到初始循环状态,等
LB 、HB 、TI 、PL 和DRL 等状态、车灯渐亮和渐
灭、以及各种基础功能的组合均由各个模式下的子 程序实现(车灯控制程序流程图如图8 所示(
图8车灯控制程序流程图
控制程序的主函数主要用于完成固件函数的初
始化以及各种中断函数的配置工作,其中初始化主
要包括STM32处理器上的片上功能和引脚的初始
化,在初始化过程中用到的固件函数见表1(
表1 STM32初始化固件函数
固件函数
功能
GPIO_InitStructure 引脚初始化
USART_InitStructure
串口初始化
TIM_InitStructure 定时器初始化
EXT I _ I n itStructure
外部中断初始化
NVI C _ I n itStructure
中断优先级配置初始化
PWM 脉冲信号输出由定时器控制和调节,定 时器中的ARR (自动重装载寄存器)决定了 PWM
波的信号频率,CRR(比较寄存器)决定了PWM波的占空比。通过调节ARR与CPP的值来控制PWM的输出信号,比如PL的频率为10470bit/s,占空比为20%,灯亮度较暗;而DRL的频率为10470bit/s,占空比为100%,灯亮度较亮o
LIN总线报文传输规则&10'在软件设计上也起到重要作用,必须按照LIN总线报文格式来传输数据,从机才能正常接受信号并做出相应的应答( LIN报文包括帧头(HEADER)和应答(RE-SPONSE#两部分,其中帧头部分包括同步间隔场(SYNCH BREAK FIELD)、同步场(SYNCH FIELD)和标识符场(PROTEXTED IDENTIFIER FILED);应答包括数据场(DATA FIELD)和校验和场(CHECKSUM FIELD)。关于每一个组成的详细介绍如下所示。
1)同步间隔场:为了识别报文,报文的第1个场是一个同步间隔场,由主机发送。它的作用是同步从机总线的时钟信号。
2)同步场:同步场以下降沿为判断标志,采用的字节格式是“0x55”(01010101b),表现为有5个下降沿放在8个位定时中,用于从机与主机进行同步。
3)标识符场:由ID和Parity组成,用于定义报文的内容和长度。
4)数据场:用于传输报文帧,从低位开始传输由多个8位数据组成的字节组。
5)校验和场:用于校验接收的数据的正确性。
报文传输由报文的格式控制和形成,报文整体格式如图9所示。
总线报文传输规则代码实现,通过调用固件库中的USART—SendBreak()函数来发送间隔场,并利用校验和求和算法来计算校验和,将发送数据组中的9个发送数据进行累加,最后将结果赋值到发送数据组的最后一位上,如果校验和溢出,校验和进位加一。然后利用USART串口调用USART_ SendDataO函数循环发送数据到从机上,直到一组数据发送完毕为止,图10所示为用LIN发送指令时在示波器中测量的输出波形,前一部分低电平部分为发送的间隔场,其后部分为同步场、数据场等,可以实现车灯的基本波形需求,并能检测车灯质量(
图10输出的LIN报文波形图
4结语
为了验证本文所设计的车灯检测设备的可行性,利用该设备对合作厂商生产的车灯进行质检测试。经过对大批次车灯的质量检测结果显示,本文设计的车灯质量检测设备能够高效率地完成车灯的检测工作,并在检测过程中展现出了出的可靠性与稳定性。
参考文献
&1'杨竞争•基于Qt的车灯控制检测系统[D'.武汉:华中科技大学,2013.
罗杰.基于ARM嵌入式车灯检验系统研究[J'.装备制造技术,2020(4):110112.
车灯标志[3]胡武清,朱晓峰.基于STM32远近光灯自动控制系统J计算机产品与流通,2020(7):127.
[4]吴成,叶春生.基于STM32的多电机驱动及液晶显示控制系统设计[J].微型机与应用,2017,36(20):69.
[5]李相华.LIN总线技术在汽车电子中的应用[J].电子技术与软件工程,2016(24):252.
[]相铁武.基于CAN/LIN总线的汽车通信网络设计[J].内燃机与配件,2020(6):213-214.
[7]温亮,郭钟宁,陈朝大,等.基于STM32微控制器的高频脉宽调制器的设计[J].计算机测量与控制,2018,26(12) 97-100
[]夏春梅,虞翔.探析C语言编程技术[J].电脑编程技巧与维护,2017(21):3234.
[]郑文臣.试论工业计算机中工厂自动化通讯中断应用[J].科技促进发展,2011(Sl):77.
口0]彭何欢,刘建军,彭樟林,等.基于LIN总线的汽车车身电控系统的软硬件设计[J].轻型汽车技术,
2008(Z4):410.
作者简介:马子铠(1995-),男,硕士研究生,主要从事材料加工装备及其自动化等方面的研究。
收稿日期:2020-11-30
通信作者:叶春生
责任编辑张国珍