新软件技艺在汽配仪器仪表勘验频谱构建器里运用

  计量专家 ·  2011-12-09 09:27  ·  43759 次点击
1汽车电子转速表、里程表是汽车仪表总成的重要部分,其产品质量的优劣直接影响车辆的驾驶和安全性。以前此产品是用通用信号源进行校验,多段频率切换和幅值调整麻烦,效率低下,不能有效地适应大批量生产的要求。现开发的便携式仪表总成校验系统一次能同时对各项性能指标进行检测及判断其合格与否。汽车仪表总成由发动机转速表、里程表、水温表、油量表等及几十个报警指示灯组成,汽车仪表总成校验的任务是对所有准备出厂的仪表进行一次全面的性能检测,仪表所需的各种信号均由计算机控制供给,并对最后的结果自动记录在案。
用于校验汽车转速表和里程表的频率信号,方波/正弦波可选,频率2Hz~20kHz可任意设置,精度0.1Hz,峰值0.5V~15V可任意设置。目前的汽车仪表校验系统大多采用各类成品信号板,集成在PC机上的PCI插槽或外部接口上,通过厂家提供的接口函数控制各类信号的输出,这为设计大型仪表校验系统提供了极大的方便。但是,对于便携式仪表检验箱,要求重量轻,体积小,携带方便,其内部不可能集成大量的各类板卡。为此设计了一款基于DDS技术的频率信号发生器,精度高,体积小,成本低,可维护性好。
2系统设计
本系统采用单片机和CPLD控制DDS(直接数字频率合成)芯片AD9850,产生检验仪表所需正弦/方波信号,系统框图如1所示。1中单片机是系统的控制中心,由于DDS芯片AD9850产生各种频率的正弦信号中含有丰富的高次谐波,设计一有源双二阶低通滤波器,在30kHz处产生产生-80dB的锐截止频率特性,以输出纯净的正弦信号。同时将低通的输出送入AD9850内部的比较器,产生标准的TTL方波。单片机控制多路选择器,将方波或正弦作为DA转换器AD7520的电压基准信号。现场可编程逻辑器件[3]CPLDEPM7064完成单片机与PC机、单片机与AD7520的数据传输,实现对AD9850片内寄存器的地址译码和时序逻辑控制。
AD7520的输出信号,经过调理和放大,成为峰值为15V的频率信号,经过甲乙类互补推挽功放电路,最终得到系统需要的各种频率信号。
为保证信号在负载发生变化时保持稳定的峰值和频率,在放大电路中以及放大电路与功放输出之间都加入了适当的负反馈。下面对设计中的主要问题分别予以介绍。
2.1AD9850的内部结构及工作原理
AD9850是AD公司生产的DDS芯片中应用较为广泛的一种,它有并行和串行两种加载方式,并行方式比串行方式的加载速度快,本文选择并行加载方式。AD9850的功能框图如2所示。AD9850片内包括高速DDS、10BitDAC、比较器、数据输入寄存器及频率/相位数据寄存器等,参考时钟为DDS提供精确的时钟,复位信号有效时,模拟输出为恒定的cos0,频率更新/数据寄存器复位与字加载时钟配合,实现频率/相位数据的输入,使芯片输出所要求频率/相位的信号。
AD9850的频率/相位控制字一共有40Bit,其中32Bit为频率控制字,5Bit为相位控制字,1Bit是电源休眠控制,最后2Bit为工作方式控制。
AD9850并行方式加载频率/相位控制字的各位分配表如1所示,并行加载时序图如3所示。若输出信号的频率为fOUT,参考频率为CLKIN,AD9850的频率控制字为△Frequency,则三者之间的关系为:△Frequency=(fOUT×232)/CLKIN(1)其中W0的Data~Data5Bit用于相位控制,
则相位控制的精度为:△Phase=360°/25=11.25°
(2)并行方式写入过程如下:首先,CPLD控制FQ_UD由高电平转为低电平,AT89C51将数据W0输出;之后,CPLD控制W_CLK由低电平转为高电平,再由高电平转为低电平,此时写完控制字W0,AT89C51按照写入W0的过程,依次写入W1,W2,W3,W4;最后,CPLD控制FQ_UD,使其由低电平转为高电平,完成40Bit数据的写入,并将地址指针指向W0,为下次写入频率/相位制字作好准备。
2.2CPLD内部逻辑设计
为便于修改,节省电路板的面积和提高系统的可靠性,如4所示,采用了CPLD实现了如下任务:单片机与PC机之间的指令与数据传输;单片机与AD7520的数据传输,实现对AD9850片内寄存器的地址译码和时序逻辑控制。
由于整机系统中采用了一块AMPCI-7201IO卡,除做其他用途外,还有余量。为简化设计,这里没有采用通常的串口通信,而是直接采用单片机和IO卡通信,自定义了一套简易实用的通信协议,保证单片机和PC机的正常通信。由于单片机是8Bit数据总线,各自设计了一个8Bit的输入数据缓冲器和输出数据缓冲器,为通信中的指令或数据提供寄存。为保证信号峰值的精度,系统中采用了10BitDA转换器,为此设计了高2Bit数据寄存器和低8位数据寄存器,分时从单片机接收数据。所有的数据缓冲器或寄存器都通过唯一设置的数据接口与单片机交换,以保证速度和逻辑上的匹配。地址/逻辑译码单元为输入/输出数据缓冲器提供使能信号,为数据接口和数据寄存器提供地址信号,为DDS芯片AD9850提供并行装载的时序逻辑信号。
2.3单片机程序设计
由于采用了CPLD实现了部分处理功能,单片机的主要任务是控制整个系统协调动作和数据处理,准确无误地接收PC机发出的各种指令和数据,根据具体地指令要求处理接收到的数据,通过CPLD控制AD9850达到精确调频的目的,控制AD7520达到精确调幅的目的。按照自定义的通信协议的要求,整个程序设计成一个无限循环,程序的主要流程如5所示。初始化部分涉及到特殊功能寄存器和片内外设的初始状态设置,禁止AD9850的信号输出,禁止AD7520的信号输出,关闭各通道继电器,以保证系统上电后在没有操作之前,不会有信号对仪表产生任何影响。在单片机和PC机建立正常通信后,单片机根据接收到指令和数据完成相应的处理和控制。由于将直流电压的D/A和A/D部分电路也设计在电路中,因此程序中也考虑到直流部分的信号处理。
3系统集成与测试
单片机部分程序用C51在WAVE6000环境下编写,PC机部分应用程序用C++在VISUALC++6.0环境下编写,CPLD内部逻辑用VERILOG_HDL和原理图混合的方法,在MUXPLUSII环境下实现。

0 条回复

暂无讨论,说说你的看法吧!

 回复

你需要  登录  或  注册  后参与讨论!