《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于STM32的便携式车灯检测箱研制
基于STM32的便携式车灯检测箱研制
来源:微型机与应用2013年第15期
李玉群,周莉萍,徐 龙
(华中科技大学 机械科学与工程学院 仪器系,湖北 武汉 430074)
摘要: 为满足对汽车车灯的电气参数、使用寿命等项目进行检测的需要,提出了一种基于STM32处理器的便携式检测箱设计方案。该设计成功实现了10路AD采样通道、6路开关量输出通道、4路PWM输出通道、1路CAN通信通道和1路LIN通信通道。软件设计采用μC/OS-Ⅱ实时操作系统及分层设计思想,提高了程序的稳定性。结果表明,该试验箱不仅便于携带和升级,而且具有较高的可靠性,降低了车灯厂家的生产成本。
Abstract:
Key words :

摘  要: 为满足对汽车车灯的电气参数、使用寿命等项目进行检测的需要,提出了一种基于STM32处理器的便携式检测箱设计方案。该设计成功实现了10路AD采样通道、6路开关量输出通道、4路PWM输出通道、1路CAN通信通道和1路LIN通信通道。软件设计采用μC/OS-Ⅱ实时操作系统及分层设计思想,提高了程序的稳定性。结果表明,该试验箱不仅便于携带和升级,而且具有较高的可靠性,降低了车灯厂家的生产成本。
关键词: 车灯检测;STM32;CAN通信;LIN通信

 在新产品发布之前,车灯生产厂家需对车灯电气参数进行抽样检测,并对车灯在复杂环境下的使用寿命进行抽样试验。电气参数的检测项目涉及电压值、电流值及CAN通信和LIN通信是否正常等。另外要配合雨淋箱、气候箱、灰尘箱、盐雾箱、振动试验台等设备长时间控制灯的运转,以测试车灯在暴雨天气、酷热和严寒天气、沙尘天气、腐蚀环境和颠簸路面等极端状况下的使用寿命。由于雨淋箱等实验箱笨重而庞大,其被放置在实验室中无法轻易移动,而生产线上的在线监测系统更是无法被移动到实验室中去配合雨淋箱等做数百小时的实验而停止生产。此外,质检部进行产品抽检、销售部进行功能演示以及售后部进行售后服务时,都需要一种便携式检测箱,因此本检测箱的研制十分必要。
1 系统整体方案设计
 结合车灯生产厂家的实际需要,便携式车灯检测箱在功能上包含手动和实验两种工作模式。检测箱的硬件结构框图如图1所示,包括AD采样、CAN通信、LIN通信、PWM控制、开关量控制和液晶显示等部分。其中AD采样部分要实现10路AD采样通道,每两路为1组实现对一个灯的电压和电流采样;PWM部分采用软件实现;CAN通信和LIN通信要安全可靠。

 系统的工作流程为:系统上电初始化后,控制单元首先判断按键和开关的状态,相应地进入手动或实验模式;使用者参考显示终端的状态提示,通过控制面板将控制信息输入到控制单元,从而对车灯进行检测;检测结果送显示终端并根据检测要求驱动报警电路对有误的电参数进行报警;若进入实验模式,则系统按既定要求控制车灯进行试验。
2 硬件电路设计
 本设计选择的主控芯片是STM32处理器。该类芯片的时钟频率最高为72 MHz,含有CAN控制器、可配置成LIN口的USART、转换速度为1 μs的12位A/D转换器等丰富的片上外设,性价比很高。STM32的多数GPIO引脚都有复用功能,可通过重映射的方式由软件配置,对不需要的片上外设就无需为其分配I/O端口,节约了I/O资源,实现了硬件裁剪。
2.1 CAN通道
 STM32内含CAN协议控制器,只需在片外电路中加上CAN驱动器。CAN驱动器采用PCA82C250芯片,该芯片完全兼容ISO11898协议,功耗低,且保证断开的CAN节点以高阻状态隔离于总线之外,避免对CAN总线上其他节点产生影响[1]。所设计的驱动电路如图2所示,TXD脚与RXD脚分别接到STM32的CAN引脚上。R1、R2为CAN总线的终端电阻,通常取值为120 Ω。芯片的Rs引脚提供模式选择,当Rs接地时芯片工作于高速模式,此时发送器的晶体管输出只以最快速度进行简单的打开和关闭,不能对信号的上升沿和下降沿进行斜率控制;当Rs串接电阻至地时芯片工作于低速模式,此时可控制信号斜率来减少射频干扰,斜率大小和流经Rs引脚的电流大小成比例;当Rs接高电平时芯片进入待机模式,此时发送器关闭,接收器进入低电流模式。如果检测到总线上有有效信号,则RXD引脚变低电平,STM32芯片对RXD的这一变化作出反应,控制Q1导通,使收发器进入工作模式。但在待机模式下总线上的第一条消息会丢失。STM32通过控制Q1的导通和截止来切换驱动器的运行模式。

2.2 LIN通道
 STM32的USART端口可配置成LIN协议控制器,只需在片外电路中加上LIN驱动器。LIN驱动器采用MCP2021芯片。该芯片性能稳定,电磁辐射低,支持LIN2.1协议中所有波特率下的通信,接口兼容标准USART[2]。所设计的驱动电路如图3所示。做主机时要在LIN总线上加一个上拉电阻R1和保护二极管D1,做从机时无需加此电阻和二极管,因为传输距离不长的一条LIN总线上只需一个上拉电阻。电容C2起滤波作用。D2是一个保护二极管,R3与C1组成一个低通滤波电路,用于滤除高频干扰,稳定芯片电源。电阻R2将FAULT/TXE引脚拉高以使能其发送器,当驱动器出现发送错误或工作温度过高时会在FAULT/TXE引脚上输出一个低电平,该下降沿可作为SMT32的外部中断信号。该芯片的RXD和TXD引脚直接连接至USART的对应端口。

2.3 PWM通道与开关量通道
 PWM通道和开关量通道的本质都是用低电平控制高电平,此处采用功率场效应管实现。功率场效应管的电路设计可参考参考文献[3],此处不再赘述。
2.4 AD采样通道
 STM32内部集成了A/D转换器。电压的采样用一个分压电路即可实现,电流的采样选用电流检测芯片MAX4080[4]。对某一通道的电流采样电路设计如图4所示,图中的电源1和电源2分别是供给车灯和MAX4080芯片的电源,其电压输入范围都是4.5 V~76 V。采样电阻R1的选取受诸多因素的影响,推荐R1的取值应使得当使用5倍增益时采样电阻两端的满量程分压为1 V,20倍增益时采样电阻两端的满量程分压为250 mV,60倍增益时采样电阻两端的满量程分压为100 mV。R1两端的电压被取样到芯片内部,经调理放大后由OUT引脚输出,再经电位器分压后由抽头引至STM32的ADC的输入引脚进行A/D转换。因为电流的变化与采样电阻R1两端的电压差及芯片的输出电压都是线性关系,故以此来间接地测量电流的大小。采样通道在使用之前必须调节R4进行标定。

3 软件设计
3.1 软件层次划分

 本设计为了提高系统的健壮性和实时性,将嵌入式实时操作系统μC/OS-Ⅱ移植到STM32中[5]。首先应用分层的思想设计,本软件可分为硬件驱动层和应用层。在硬件层上要建立的抽象模型有:
 (1)按键模型。将各类按键和钮子开关抽象成一个按键模型,该模型不但记录了某按键的功能信息,还记录了该按键在上一次和本次扫描中的状态。
 (2)液晶模型。将液晶显示屏抽象为指令的收发函数和数据的显示函数,要能够实现液晶任意位置的字体反白和闪烁显示等功能。
 (3)车灯模型。将待检车灯抽象成一个统一的模型,该模型记录了车灯内灯的总数目及各灯的参数,如点亮位置灯的PWM频率及占空比和正常的电压/电流范围、转向灯的闪烁频率和占空比、近光灯是氙灯还是卤素灯等。该模型还记录了CAN通信及LIN通信的指令地址及波特率。
 对应用层来说,要建立各种控制模型,利用控制模型对硬件资源的使用进行有效的管理,如:
 (1)液晶显示模型。该模型对液晶显示内容的指针和同类内容的显示次序进行记录,要实时反映当前面板和受检车灯的状态。
 (2)AD控制模型。该模型要合理地分配AD资源,实现对多个采样通道的管理。由于本设计用的是一个A/D转换器的分时复用,因此要注意对共享资源的访问问题。
 (3)通信控制模型。该模型负载CAN通信与LIN通信的建立与调度,控制每帧数据间的时间间隔,并完成相应的错误处理。
 要在STM32上使用操作系统,首先需要进行移植工作,然后进行任务划分。本设计的主要任务划分为7个,其功能如表1所示。

 

3.2 主要流程设计
 本设计采用的系统是一个多任务操作系统,任务之间并没有严格的顺序关系,但是要完成一个具体的功能就需要进行各任务间的同步。此处给出了TaskManual和TaskTest任务的大致流程图。
 TaskManual任务的流程如图5所示。任务首先进行模式及数据的初始化,将液晶显示模型和AD控制模型设置为初始状态。然后查询信号量SemNewPanel,该信号量由TaskPanel任务产生。若该信号量处于失信状态,则调用延时函数将本任务阻塞;当该信号量有效时,说明当前的面板状态已被记录到按键模型中,同时产生驱动事件。程序获得SemNewPanel信号量后继续向下运行,判断是否有新的事件被触发。如果没有则直接调用延时函数将本任务阻塞,否则要通过被抽象出来的车灯模型对车灯的各类信号量进行投递,以同步相应的任务完成相应的功能。

 TaskTest任务的流程如图6所示。任务首先进行模式及数据初始化,完成对时钟的配置,然后根据既定的实验要求运行。在实验模式中,要保证多个循环之后实验节拍的正确性,本设计采用用户时钟与相对时钟相结合的方法实现。用户时钟是根据一个相对精确的时钟源(定时器的定时或时钟芯片)通过计数的方法建立对时、分、秒的记录,该时间一方面作为液晶显示的试验运行时间,另一方面作为试验某阶段的结束和开始的时间依据以及一个试验循环结束的依据。然而,仅有一个用户时钟是不够的,因为同一试验阶段在不同的循环中的起始和结束时间是不一样的,所以需要一套相对时钟实现对循环内部各试验阶段的控制。
 本设计采用STM32芯片实现了CAN通信、LIN通信和AD采样等通道,外围电路的设计模块分明,可靠性高。该车灯检测箱提供的电气功能检测满足了多数型号车灯的需要,且软件采用分层设计思想便于修改升级。该检测箱性能稳定,便于携带,满足了车灯生产厂家的工作需要。
参考文献
[1] 吴坎,赵薇,李封.基于SJA1000和PCA82C250的CAN总线接口设计[J].机械设计与制造,2010(7):55-57.
[2] 马军,李泽滔.基于LIN总线的电动车窗控制器设计[J].微型机与应用,2011,30(16):57-59,63.
[3] 刘星平.功率场效应管驱动电路的研究[J].电气开关,2002(2):1-2,25.
[4] 张亮,莫岳平,江东流.智能型锂电池组管理系统设计[J].电工电气,2012(5):24-25,34.
[5] 任哲.嵌入式实时操作系统μC/OS-Ⅱ原理及应用(第2版)[M].北京:北京航空航天大学出版社,2009.

此内容为AET网站原创,未经授权禁止转载。