APP下载

基于HAL880的电子油门踏板编程校准系统设计

2018-06-12袁月峰郭斌胡淑女徐源

现代电子技术 2018年12期
关键词:油门霍尔寄存器

袁月峰 郭斌 胡淑女 徐源

摘 要: 采用可编程线性霍尔位置传感器为角度测量元件的非接触式汽车电子油门踏板正在获得越来越广泛的应用。为了实现产品在线编程校准,企业目前需要依赖购买原装进口的编程器套件,不仅价格高昂,也经常出现各种故障和异常,维护沟通困难、周期长,且通信协议复杂难于掌握使用。针对MicronasTM公司的HAL880型霍尔传感器设计研制了一种电子油门踏板专用编程校准系统,采用线性稳压器LM317和低导通内阻的多路模拟开关ADG1608控制HAL880的编程通道,采用脉冲宽度捕获法读取识别其输出寄存器数值。编程器采用dsPIC33EP256单片机为核心,设计开发了固件程序,采用Visual C#开发上位机通信校准程序。在某型踏板产品上进行实验测试,结果显示该系统能实现传感器的数据读取、曲线校准和编程写入的完整过程。

关键词: 电子油门踏板; 霍尔传感器HAL880; 系统设计; 编程校准; 多路模拟开关; dsPIC33EP256

中图分类号: TN99?34; U467.4 文献标识码: A 文章编号: 1004?373X(2018)12?0115?05

Abstract: The non?contact automobile electronic accelerator pedal which uses programmable linear Hall position sensor as the angle measurement element is being more and more widely applied. Enterprises currently need to rely on purchase of programmer sets imported with original packaging which are expensive, often have various faults and exceptions, are difficult for maintenance and communication, and have long period and complex communication protocols difficult to master and use, to realize the online programming calibration of products. A special programming calibration system for the electrical accelerator pedal was designed and developed for the application of Hall sensor HAL880 of MicronasTM. The linear voltage regulator LM317 and the multi?path analog switch ADG1608 with low?pass internal resistance are adopted to control the programming channel of HAL880. The pulse width capture method is adopted to read and recognize the values of the output register. Firmware program is designed and developed for the programmer, taking dsPIC33EP256 MCU as its core. Visual C# is adopted to develop the communication calibration program for the upper computer. An experiment for testing a certain type of pedal product was carried out. The results show that the system can accomplish the whole process of sensor data reading, curve calibration and programming write?in.

Keywords: electronic accelerator pedal; Hall sensor HAL880; system design; programming calibration; multi?path analog switch; dsPIC33EP256

0 引 言

传统拉线式汽车油门控制缺乏精确性,响应慢,目前欧Ⅲ要求以上的汽车都已要求使用电子油门踏板[1]。电子油门使用传感器测量踏板位置变化,可以更加精确灵敏地响应加速要求,更有利于达到排放要求。目前市场上主流电子油门踏板产品是使用霍尔位置传感器来测量踏板角度变化。研发该踏板产品及相应的产品在线检测标定系统[2?9]的文献资料较多。国内汽车油门踏板企业目前采用德国Micronas公司的HAL8xx系列线性可编程霍尔传感器最为广泛。为了实现产品在线编程校准,企业目前需要依赖购买原装进口的编程器套件,不仅价格高昂,也经常出现各种故障和异常,维护沟通困难,周期长,且通信协议复杂难于掌握使用。针对企业实际需求,设计研发一种针对HAL880芯片的在线编程校准系统样机,不但实现替代了进口编程器,还进一步扩展了部分实用功能。样机对于其他Micronas公司同类系列产品具有兼容扩展性。

1 HAL880传感器结构原理

德国Micronas公司是一家服务全球汽车电子客户的传感器和零部件厂商,多种先进的可编程霍尔传感器是该公司的特色产品,主要应用于工业自动化和汽车电子领域。国内电子油门踏板产品目前应用较多的是该公司HAL880可编程线性霍尔位置传感器[10]。

HAL880传感器内部结构原理如图1所示。前端感知部分是霍尔敏感片,经过片内前置A/D转换器转换为数字量,进入数字信号处理单元(DSP)进行数字滤波、增益调整和偏移补偿等,再通过后续D/A转换和运放缓冲器变换输出模拟电压信号。芯片内部集成E2PROM,分成多个控制寄存器单元,分别用于设置和保存传感器工作模式、磁感应强度量程、温度系数、灵敏度、零点偏移量、上下限钳位电压和用户代码参数等。芯片为TO92三极管型封装,三个引脚分别是VDD,GND和VOUT。芯片的编程通信通过在VDD引脚上输入可编程电压时序脉冲实现参数的写入和固化存储,通过VOUT引脚上的反馈数字脉冲序列读取内部寄存器数值输出。

HAL880芯片VDD引脚正常工作电压是5 V。在需要编程通信时,VDD引脚则在5.6~8.0 V之间跳变,在E2PROM的擦除和参数固化编程时则需要12.5 V的烧录电压。芯片通信时序较为特殊,手冊给出的标称参考数值如下:VDD引脚编程通信的数字0用持续时间为1.75 ms的高电平8.0 V或者低电平5.6 V表示。数字1用在1.75 ms时间内65%时间点产生电平切换表示。连续两个数字0需要用一个高电平0和一个低电平0才能区分。每个寄存器的写入过程是通过上述连续的电平变化时间序列帧实现。一帧数据包括1位起始位Sync同步字符0,3位命令码COM,1位命令码校验位CP,4位寄存器地址码ADR,1位寄存器地址校验位AP,14位寄存器数据和1位数据校验位DP。其中CP和AP位的校验方式相同,是计数COM或ADR数据中0的个数,若为奇数,则校验位为1;而DP位则相反,如14位DAT中0的个数为偶数,则DP为1,反之为0。HAL880的通信协议格式如图2所示。

2 编程校准系统设计

2.1 系统硬件结构

根据HAL880芯片手册[10]技术要求,设计了原理结构如图3所示的编程器硬件电路。其中微处理器MCU选用Microchip微芯公司的16位增强型DSP内核单片机dsPIC33EP256,最高工作主频70 MHz,片内256 kB FLASH和32 kB SRAM,集成了丰富实用的片上外设资源。尤其是其内部具有9个16位通用定时计数器T/C,8路高分辨率可编程脉冲捕获比较CCP单元,片内12位500 KSPS模/数转换器[11],非常适合工控嵌入式控制器与传感器仪表应用领域。

由于HAL880的编程通信电压的容差范围和纹波要求都比较严格,所以采用LM317线性可调稳压器芯片能实现精确而且低纹波的各种编程电压。VDD引脚电压的状态切换则是通过ADI公司的ADG1608宽电压低导通内阻的多路模拟开关实现。为了方便通断连接和其他外部电路,芯片的VDD/VOUT接口处采取信号继电器连接。VOUT引脚在正常工作时是模拟电压输出,在编程通信时又作为响应数据的数字量输出端口。VOUT引脚的连接采用了双路2选1的ADG1636模拟开关做切换。数字脉冲信号通道经过LM393的前置比较整形后再进入MCU的脉宽捕获通道IC。模拟信号则经串联分压低通滤波后进入单片机的12位A/D转换通道。

编程器设计具有2路HAL880编程通道单元,2个通道共享同一组4路LM317电压发生器,每通道内部具有自己的多路模拟开关和信号继电器。其他硬件单元还包括串口通信和工作状态指示灯等。

2.2 编程器固件通信程序

编程器固件程序要实现上位机和传感器之间的通信和数据转换,关键功能主要包括将上位机发来的指令和寄存器数据翻译转换为正确的通信电平序列,将芯片输出的数字脉冲序列捕获并译码为正确的寄存器数值反馈给计算机,以及将芯片测量的模拟电压进行A/D转换采集传输给计算机。芯片单个寄存器的写入过程以一个下限钳位电压ClampLow寄存器为例说明:

1) 对要写入的寄存器二进制数值做范围判断及限幅,如ClampLow的允许范围是一字节数0~255。

2) 计算寄存器数值部分的DP位,方法是将寄存器从最低位D0开始向左数14位,计数0的个数,若为奇数则返回0,反之是1,不足14位的寄存器高位补零计入。

3) 将COM指令(WRITE,0x03),CP,ADR (ClampLow, 0x01),AP,14位寄存器值DAT,DP位按顺序连接组合成3个无符号字节数据wrbuf1,wrbuf2和wrbuf3。其中wrbuf1=COM<<5+CP<<4+ADR;wrbuf2=AP<<7+ClampLow/256;wrbuf3=ClampLow<<1+DP。

4) 选通通道A或B,将VDD引脚初始化为逻辑低电平5.6 V,先写入一个SYNC同步字符0,然后按顺序分别依次连续写入wrbuf1,wrbuf2,wrbuf3三个字节内容,即完成单个寄存器一帧数据的写入。

5) 选通VOUT引脚的数字输入通道,开启单片机IC捕获,等待传感器的ACK反馈信号。测量ACK信号以上升沿开始至下降沿结束中间的高电平持续时间,正常范围应在2~3 ms之间,标称值2.54 ms。若检测到正常宽度的ACK信号则表示本次寄存器写入成功,可以继续下一个寄存器的写入。否则表示ACK信号异常,则写入失败。

HAL880的编程写入过程,需要将除LOCK以外的全部6个工作参数寄存器数据一次性连续写入,寄存器数据先后次序无影响,然后连续执行一次擦除Erase指令和一次编程PROG指令就可以实现芯片数据的固化。相邻的两个寄存器写入操作之间VDD引脚电平应保持为逻辑低电平5.6 V,并间隔20 ms以上的时间。

猜你喜欢

油门霍尔寄存器
驾哥
Lite寄存器模型的设计与实现
汽车改装车上装油门的几种控制方法
分簇结构向量寄存器分配策略研究*
这个大童话讲猫(五)名侦探西尼·霍尔
离子推力器和霍尔推力器的异同
道格拉斯·斯高特·霍尔(1940-2013)
误将油门当作刹车的防错装置
农用机动车油门使用注意事项
高速数模转换器AD9779/AD9788的应用