基于TMS320F28377的风挡温度采集设计

发表时间:2021/5/19   来源:《科学与技术》2021年第4期   作者:惠亮 王俊 史家雄 徐楠
[导读] 飞机风挡加温功能与飞行安全密切相关

        惠亮  王俊  史家雄  徐楠
        航空工业西安航空计算技术研究所  陕西西安  710065
        摘要: 飞机风挡加温功能与飞行安全密切相关,风挡温度的准确采集直接关乎风挡加温功能的正常工作。TMS320F28377片内包含丰富的AD转换资源,利用片内AD实现了多路风挡温度传感器的高速采集。该设计与传统的利用外置AD的设计方法相比,简化了电路设计,提高了电路的基本可靠性。经工程实践证明,该设计采集精确,工作稳定可靠。
        关键词:风挡加温;TMS320F28377;内置ADC
        
        
        Temperature Acquisition of the Windshield Based on TMS320F28377
        Hui Liang,Wang Jun,Shi Jiaxiong, Xu Nan
         (Avic Xi’an Aeronautics Computing Technique Research Institute, Xi’an 710065, China)
        Abstract: Windshield heating is closely related with air safety, the accuracy of the temperature acquisition of the windshield has direct impact on the function of windshield heating. TMS320F28377 has rich on-chip AD conversion resources, by using these resources, we implement a design that could address the temperature acquisition from multiple sensors. By comparing this new design with the traditional design that usually use external AD converter, this design is brief and easy to use, and the basic reliability is increased. It has been proved by engineering practice, this design functions reliable and the accuracy is well.
        Key words: Windshield heating; TMS320F28377; On-chip ADC
        



1 引言
        飞机在飞行过程中,驾驶舱风挡玻璃结冰或者结雾都会影响飞行员的视野,为了防止飞机在飞行过程中风挡玻璃结冰或者结雾,飞机上安装了风挡加温系统[1]。飞机风挡加温系统为驾驶舱主风挡提供防冰和防雾功能,为辅助风挡提供防雾功能。每个风挡加温子系统由加温元件、温度传感器、风挡加温控制器( WHC) 、 加热控制开关以及供电和控制线路等组成。温度传感器测量风挡玻璃的温度,并将温度值反馈给WHC,WHC根据温度传感器传输的温度值自动控制风挡玻璃的加热。由此可见,风挡温度的准确采集直接关于风挡加温功能的正常工作。
2 系统方案及硬件设计
        每块风挡中布置有3 个温度传感器,其中1 个温度传感器用于风挡的加热控制,剩余两个温度传感器作为备份并用于过热监控[2]。一般而言,飞机单侧机身都配置有主风挡、侧风挡和通风窗,因此,单侧机身共有9个温度传感器需要采集。
        风挡温度传感器本质上是一个热敏电阻,是一个无源器件,因此,本设计中采用恒流源激励温度传感器,在传感器两端产生一个与电阻值线性相关的电压,对该电压值进行调理后输入值DSP内部AD转换器,通过软件解算最终得到风挡温度。TMS320F28377片内设置有4个同构型的AD转换器,最多支持24路外部模拟信号的采集。对于单个温度传感器来讲,采集方案如图1所示。

图1 风挡温度采集
        使用DSP内置的AD转换器,硬件方面简化了电路设计,减少了外置ADC器件及其相关的配置器件,提高了电路的基本可靠性。另外一方面,相较于通过局部总线访问外置ADC的方式,内置AD转换器的软件初始化配置、转换的操作、转换结果的读取及后处理也比较方便,TI提供的库函数使得内置ADC的编程简单易用。
2.1 硬件电路设计
        在图1中,当没有连接温度传感器时,受限于电流源的实现方式,信号调理电路会输出一个较大的电压,其幅值约为调理电路放大器的供电电压,而DSP管脚所能承受的电压范围为-0.3V~4.6V[3],因此需要对信号调理电路的输出信号做一个限幅处理,如图2所示。
        电路限幅措施。
        
图2 电路限幅措施
        在限幅电路中需要注意的是,R3的阻值不宜太大,V1、V2的漏电流应尽可能小,这样可以减小V1、V2漏电流在R3上的压降对实际采集电压的影响。同时还应注意的是,R3应选择温飘性能较好的电阻,以保证电路在高低温环境下的误差尽可能小。
        TMS320F28377片内设置有4个同构型的AD转换器,单个AD转换器的原理框图如图3所示。

图3 ADC框图
        对于每一个ADC,都有如下特征:
                a. 差分输入模式(16位模式);
                b. 单端输入模式(12位模式);
                c. 16个可配置的SOC
                d. 16个独立可寻址的结果寄存器
                e. 多个触发源
        从图3可以看出,对于每一个ADC最多可以接管16路采集数据,16路信号通过多路器复用同一个采样保持单元,有16个独立可配置的SOC(start-of-conversions)来配置16路信号转换的触发源、采样保持时间、转换顺序等属性。
2.2 ADC配置相关内容
2.2.1 ADC配置层次
        ADC的配置,有些是每个SOC独立可配置的,有些是针对每个ADC模块的。图4给出了ADC配置所针对的不同层次[4]。
        
图4 ADC配置层次
2.2.2 时钟配置
        ADC模块的根时钟直接来源自SYSCLK,模拟量采集的采样窗口时常是按照这个时钟计数的。
        ADCCTL2寄存器中的PRESCALE位用来对设置对SYSCLK的分频,得到ADCCLK,ADCCLK用来驱动AD模块的转换器(converter)。
        16位模式下,ADC Core(也就是converter)需要29.5个ADCCLK才能将一个电压转换成数字值。12位模式下,这个过程需要10.5个ADCCLK。当然,16位或者12位模式的选择,还会影响采样窗口时长的选择。
2.2.3 转换精度
        转换精度应该通过库函数F2838xS_Adc.c里的AdcSetMode()函数来设置。这个函数会调用CalAdcINL(),确保了ADC的校准值被加载到了ADC的校准寄存器里。
        转换精度不能通过直接设置寄存器ADCCTL2来实现。
2.2.4 信号模式
        信号模式通过F2838xS_Adc.c里的AdcSetMode()函数来设置。这个函数会调用CalAdcINL(),确保了ADC的校准值被加载到了ADC的校准寄存器里。
        信号模式不能通过直接设置寄存器ADCCTL2来实现。
2.2.5 SOC原理
        ADC转换的触发源、转换顺序等是通过SOC(start-of-conversions)来实现的,SOC是可配置的,通过ADCSOC0CTL- ADCSOC15CTL进行配置。每个ADC有16个SOC,对于28377 总共有4个ADC,64个SOC,SOC框图如图5所示。
        每个SOC可以配置:
        a. AD转换的触发源;
        b. 转换通道;
        c. 采样窗口时间长度。
        不同的SOC可以配置成相同的触发源、相同的通道、相同的采样窗口长度。不同的SOC配置成相同的触发源,将允许触发源出发一个AD转换序列(涉及到SOC的优先级)。

图5 SOC框图
2.2.6 SOC触发源设置
        SOC触发源可以有5中来源,分别
        1)软件;
        2)CPU Timers 0/1/2;
        3)GPIO:Input X-Bar INPUT5;
        4)Epwm1 TO epwm12 ,ADCSOCA or ADCSOCB;
        5)ADCIN1 flag or ADCIN2 flag。
本设计中,我们设置SOC的触发源为软件触发。
2.2.7 ADC采样保持时间
        ADC将模拟量转换为数字量的过程分为两个阶段,采样保持、转换。
        采样保持时间是ADC Core内部电容充电的时间,可以通过SOCx的ADCSOCxCTL.ACQPS来配置。公式如下。
        采样时间=(ACQPS+1)*(System Clock(SYSCLK)cycle time)
        采样时间的计数时钟是SYSCLK,而不是ADCCLK。在本设计中,SYSCLK目前应该配置成了120MHz。ADCCLK目前应给配置成了SYSCLK的4分频,也就是30MHz。
        采样时间最少应该大于1个ADCCLK,目前1个ADCCLK代表33.3nS。
        28377数据手册中对采样时间也有要求,在数据手册中要求采样时间最小为75nS。
        信号源阻抗、ADC内部杂散电容、采样导通电阻、采样电容,在确定采样时间时,这些参数应该综合考虑。
        本设计中,软件配置所有的SOC的采样时间为(14+1)*8.33nS=125nS。满足要求。
2.2.8 SOC通道选择
        TMS320F28377片内设置有4个同构型的AD转换器,最多支持24路外部模拟信号的采集。因此,使用DSP内置的4个ADC,可以覆盖9个风挡温度传感器采集的要求。每一个SOC接管1路外部模拟量采集信,本设计中SOC与外部信号对应关系如表1所示。
        
表1 各ADC的SOC与信号的对应关系

2.2.9 SOC的软件触发
        不管SOC是否被配置为接收别的触发源触发,软件总是可以在任何时刻触发SOC,从而开始SOC的采样保持、转换工作。这个操作是通过各个ADC的ADCSOCFRC1寄存器来实现的。
        12位单端模式下,每个SOC转换需要11个ADCCLK。在本设计中,ADCCLK=SYSCLK/4=30MHz,所以,每个ADCCLK=0.033uS。因此,11个ADCCLK=0.367uS。
        因此,每次当软件使能SOC转换之后,需要延时至少0.367uS后,才能去读取转换结果寄存器。
2.2.10 ADC优先级转换
        ADC转换优先级主要针对的是多个SOC同时受到了触发源的触发,需要一个优先级仲裁方案来决定SOC工作的顺序。本设计中采用的是仅软件触发的方式来控制SOC工作,所以,不涉及ADC优先级转换的问题。但是,软件中请不要配置ADCSOCPRICTL. SOCPRIORITY寄存器。
2.2.11 ADC的上电顺序
        要是ADC正常工作,ADC的初始化需要遵循严格的顺序,如表2所示。
表2 ADC上电顺序

2.2.12 ADC校准
        ADC的校准非常重要,TMS320F28377芯片自带的bootROM会调用校准函数。当芯片DEBUG复位或者人为误修改了校准数据时,需要软件人员调用校准函数来校准ADC。在AdcSetMode函数中,调用了GetAdcOffsetTrimOTP函数,对ADC进行了校准,使用的校准数据是厂家片内OTP的数据。
3 软件设计
3.1 ADC的初始化
        在第2章节的基础上,我们了解了DSP内置ADC的通道选择、时钟配置、分辨率、采样保持时间、触发源、上电顺序等一系列概念,这些参数需要在使用ADC之前结合系统设计实际进行软件配置,本设计中ADC的初始化如图6所示。

图6 ADC的初始化
3.2 ADC的转换
        在3.1章节的基础上,我们已经分别给9个温度传感器分配了独立的SOC来接管AD转换。接下来,我们可以通过软件设置ADCSOCFRC1寄存器中的特定位来触发对应通道的AD转换。
        由2.2.9章节分析可知,每次当软件使能SOC转换之后,需要延时至少0.367uS后,才能去读取转换结果寄存器。ADC的转换如图7所示。
        
图7 ADC的转换过程
3.3 误差校准的考虑
        模拟量信号会因噪声、元器件精度、温度特性等因素,导致AD转换得到的最终数据误差较大,有时甚至超过指标要求。这种情况下,可以考虑用软件对转换数据进行修正。软件修正的难点来源于不同通道间的修正系数及偏置的差异,而且不同批次之间的修正系数及偏置也可能存在不一致的问题。因此,可以考虑在产品调试环节,利用自动测试设备测设获得校准数据,将这些数据以常数的形式编译到可执行文件中。
        但是,将校准数据编译到可执行文件中的方法使得运行软件与校准数据是紧耦合的,会导致软件版本较难管理。因此,在硬件允许的情况下,可以考虑将校准数据存储在片载或外置的NvRAM中,驱动软件从固定地址读取特定通道的修正数据,解耦软件与校准数据。
        环境温度的变化也会导致模拟量电路产生误差,TMS320F28377片内设置有1个温度传感器,可以利用该传感器来修正环境温度对采集精度的影响。
4 结束语
        
        
        
        
        
        本文提出了一种基于TMS320F28377的风挡温度采集设计,该设计充分利用了TMS320F28377片内丰富的AD转换资源,该设计硬件电路简单可靠,驱动软件编写简单清晰,并提出了采集误差校准的几点考虑。经工程实践证明,该设计采集精确,工作稳定可靠,
参考文献:
[1]  林贵平. 飞机结冰与防冰技术[M],北京: 北京航空航天大学出版社,2016。
[2]  陈鹄. 某型民用飞机风挡加热系统故障分析排除[J],科技视界,2017年第12期,82。
[3]  TI TMS320F2837xS Delfino Datasheet,2015年10月版。
[4]  TI TMS320F2837xS Delfino Microcontrollers Technical Reference Manual,2015年9月版。
        
作者简介:
惠亮(1988-),男,陕西榆林人,本科,工程师,研究方向:机载机电系统设计,

王俊(1986-),女,陕西长安人,硕士,工程师,研究方向:机载嵌入式软件设计;
史家雄(1988-),男,陕西榆林人,本科,工程师,研究方向:机载机电系统设计
徐楠(1981-),男,陕西长安人,本科,高级工程师,研究方向:机载机电管理
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: