APP下载

基于DSP28335的飞控计算机DAC扩展电路设计

2014-03-16罗秋凤

电子设计工程 2014年8期
关键词:模拟信号模拟量时序

李 勇 , 罗秋凤 , 叶 慧 , 高 振

(1.南京航空航天大学 自动化学院,江苏 南京 210016;2.南京航空航天大学 无人机研究院,江苏 南京 210016)

模拟量控制和PWM控制是当前无人机舵机控制系统最常用的两种控制方式。其中模拟量控制作为一种传统控制方式,至今仍被广泛应用,绝大多数的飞行控制计算机都提供模拟量输出通道,因此,D/A转换模块是飞行控制计算机中必备的功能模块之一。DSP28335片上没有DAC模块,所以必须使用片外扩展。

DAC模块设计涉及D/A转换芯片的选择、参考电压源的配置、数字输入码与模拟输出电压的极性等问题,而其中最核心的问题是D/A转换芯片的选择与应用问题,主要需要考虑的技术指标有分辨率和建立时间等[1]。本文选用BURRBROWM公司的D/A转换芯片DAC7725N实现此功能。DAC7725是一款高输出电压和低功耗的D/A转换器件,产品功耗低(最多 250 mW)、建立时间快(10μs)、线性度和单调性为12 bit,接收12位并行输入数据,采用双缓冲输入逻辑,提供数据回读模式。DAC的低功耗,小体积使DAC7725特别适合于闭环伺服控制系统。

1 总体设计方案

本系统采用TI公司的高性能数字信号处理器TMS320F28335[2](DSP28335)作为中央处理单元。该款 DSP芯片提供高性能并行外设扩展接口XINTF,对外提供具有标准时序的片选、读/写控制信号;同时提供32位数据总线、20位地址总线,并且提供3个独立的片选信号,扩展能力强,使用方便。

因为单片DAC7725N提供4通道模拟量输出,本系统使用两片DAC7725N扩展得到8路模拟量输出通道。DSP将代表舵面位置的数字量通过并行数据接口送至DAC7725N,DAC7725N将其转换成相应的模拟电平信号后送至舵控电路,从而完成本次舵面刷新操作。结构图如图1所示。

图1 无人机飞行控制计算机舵机控制流程Fig.1 Servo control process of UAV flight control computer

2 DAC转换精密基准电路设计

基准电路具有稳定性好,对系统的操作环境(如电源电压、工作温度、输出负载)变化不敏感的特点,可以为其它电路模块提供较为精确的参考点,因此它是模拟集成电路和数模混合电路中不可缺少的基本单元电路[3]。DAC7725N精密基准电路如图2所示。

图2 DAC7725N精密基准电路Fig.2 Precision reference circuit of DAC7725N

3 DSP与DAC7725N接口电路的设计

比较DSP的XINTF[4]接口与DAC7725N的并行端口可知,两接口具有良好的兼容性,只需少量接口逻辑电路的配合即可建立起DSP与DAC7725N之间的通信连接。为提高逻辑电路设计的灵活性和可靠性,所有的逻辑电路全部使用1片CPLD[5-6]实现。DSP与DAC7725N接口电路如图3所示。

图3 DSP与DAC7725N接口电路原理图Fig.3 diagram of interface circuit of DSP and DAC7725N

图3给出了1片DAC7725N与DSP实现通信连接的电路原理图。本系统共使用2片DAC7725N,另一片使用相同的接口电路,这里不再重复给出。

3.1 DAC7725N片选译码逻辑设计

1#DAC7725N芯片提供第1#~4#模拟量输出通道,2#DAC7725N芯片提供第 5#~8#模拟量输出通道,DSP要选通某一通道,首先要通过CPLD的片选译码逻辑选通提供该通道的DAC7725N芯片。本系统中采用部分译码的方式提供每个DAC7725N芯片的片选信号。逻辑电路如图4所示。

图4 模拟量输出通道片选译码逻辑Fig.4 Chip select decode logic of analog output channel

地址分配情况如表1所示。

表1 模拟量输出通道地址分配Tab.1 Address allocation of analog output channel

3.2 DAC7725N写使能信号R/W的逻辑设计

DAC7725N使用R/W信号使能本次写操作。写操作是D/A转换芯片的基本操作,DSP将待转换的数字量写入DAC7725N,在DAC7725N的模拟量输出端即可得到相应幅值的模拟信号。读操作是DAC7725N的特色之一,DAC7725N支持数字量回读功能,使得DSP能够方便地获取当前正在参与转换的数字量的值。下面以D/A转换芯片的写操作为例,详细分析芯片DAC7725N写操作时序设计,由于读操作与写操作时序设计类似,这里不再累述。

DAC7725N执行写操作时对R/W信号和CS信号的时序关系有一定的要求,如图5所示。

图5 DAC7725N执行写操作时R/W信号的时序Fig.5 Time sequence of R/W signal during DAC7725N perform a write operation

只要DSP在对DAC7725N执行写操作时,以CPLD为核心的接口电路能够提供符合上述标准的逻辑时序,就能确保DSP对DAC7725N的写操作正确执行。

XINTF在执行写操作时XR/W信号时序图示如下:

通过对DAC7725N与XINTF的接口时序作定性对比可知,令时序与保持一致;R时序与保持一致,总体上可满足DAC7725N的接口时序要求。

4 D/A转换驱动程序设计

4.1 转换通道刷新的程序设计

刷新操作是指该D/A转换通道能够及时锁存来自CPU的数字量输入,并输出相应幅值的模拟信号。刷新操作是D/A转换通道的基本操作。对于本系统来讲,DSP想要刷新某一D/A转换通道的模拟量输出,只需向相应的端口地址写入数据即可。以DAOUT1通道为例,给出示例代码如下:

图6 XINTF接口执行写操作时XR/W信号的时Fig.6 Time sequence of XR/W signal during XINTF perform awrite operation

unsigned int*DAOUT1= (unsigned int*) 0x004000;

*DAOUT1=daout_w[0];

上例中,首先为DAOUT1通道定义一个指针变量,指向该通道所分配的地址,也就是0x004000;数组元素daout_w[0]存放该通道参与转换的数字量。DSP执行上述写指令时,XINTF的地址总线会送出0x004000,将DAOUT1通道选通,工作于直通模式;控制信号XR/W会送出低有效脉冲,使能本次写操作;数据总线会送出daout_w[0]里存放的数字量。至此,DAOUT1通道的刷新操作全部完成。

4.2 转换通道数据回读的程序设计

数据回读功能是DAC7725N芯片的特色之一。DAC7725N允许在转换过程中读出当前正参与转换的数字量,DSP据此可以获取所有D/A转换通道输出的模拟信号的幅值,而无需使用额外的传感器和A/D转换电路。与数据给定(刷新)操作类似,数据回读操作只需从相应的端口地址读出数据即可。以DAOUT1通道为例,给出示例代码如下:

daout_r[0]=*DAOUT1;

上例中,存入数组元素daout_r[0]中的数据,即是该通道当前正在参与转换的数字量。DSP执行上述写指令时,XINTF的地址总线会送出0x004000,将DAOUT1通道选通;控制信号XR/W保持高电平,使能本次读操作;DAC7725N将该通道当前正参与转换的数字量送至数据总线,供XINTF读取。至此,DAOUT1通道的数据回读操作全部完成。

5 系统性能验证

D/A转换通道在飞行控制系统中负责给出代表舵面位置的模拟信号。刷新速率不低于50 Hz,精度不低于200mV。图7是DAC扩展模块实物图。

D/A转换通道的验证方案设计如下:

每一路D/A转换通道均要求输出正弦波信号,使用定时器定时刷新的方式,将定时器的定时周期设为1ms,刷新频率可达1 000 Hz;将-10~+10 V的输出幅值离散为1 000个点,这样,理论上的转换精度可达20mV;用示波器实时监测每一通道的输出信号,看输出正弦波的频率是否稳定为1000Hz,波形是否有明显的异常抖动,每隔一段时间读取正弦波的振幅值,从而验证在1 000 Hz的刷新频率下,转换精度是否满足要求。参考以上论述,先以通道E-D/A1参与测试,结果显示,E-D/A1通道能够输出预期的正弦波信号,证明此D/A转换通道能正常工作。剩余7通道也按相同方式验证,在确知所有的D/A通道已调通之后,对各通道的转换精度进行了静态测试,测试方案如下。

图7 DAC扩展模块实物图Fig.7 Physicalmap of DAC extensionmodule

在程序中向每路D/A转换通道写入相同且固定的数字量,并以20ms为周期进行刷新。使用高精度直流电压表对各通道输出的模拟信号进行测量。由于数字量固定且已知,可由相关公式计算得到理论上输出模拟量幅值,将其作为基准参考与实际测得的模拟信号幅值进行比较,可较为准确地得到各路D/A转换通道的转换精度。测试结果表明,所有D/A转换通道精度能够达到5.8mV,可满足无人机飞行控制系统的应用需求。

6 结 论

文中以 DSP作为中央处理单元 (CPU),使用两片DAC7725N扩展得到8路模拟量输出通道。DSP使用XINTF接口实现对DAC7725N的驱动,驱动程序简单,接口逻辑可靠。使用CPLD实现DSP与TL16C754之间的接口逻辑,简化了电路设计,进一步提高了系统的可靠性。实验证明,所有D/A转换通道在1 000Hz的刷新频率下,精度能够达到5.8mV,完全能够满足飞控系统实际应用的要求。

[1]徐伟.基于ARM-Linux的无人机飞控计算机设计及其系统软件实现[D].南京:南京航空航天大学,2009.

[2]Texas InstrumentsCorp.TMS320F28335DigitalSignalControllersData Manual[EB/OL].(2012-08-06)[2013-07-12].http://www.ti.com/lit/ds/symlink/tms320f28335.pdf.

[3]胡滨.低压带隙基准源设计[D].西安:西安电子科技大学,2011.

[4]苏奎峰,吕强,邓志,等.TMS320X28XXX原理与开发[M].北京:电子工业出版社,2009.

[5]蓝菲,黄浩.基于DSP+CPLD的数据采集系统的设计与实现[J].机电元件,2012,32(5):25-28.LAN Fei,HUANG Hao.Design and implementation of data acquisition system based on DSP+CPLD [J].Electromechanical Components,2012,32(5):25-28.

[6]宋莹,高雪松,季晓勇.CPLD在DSP系统中的应用设计[J].电子技术应用,2005,20(8):65-69.SONG Ying,GAO Xue-song,JIXiao-yong.Application design of CPLD in DSP system[J].Application of Tlectronic Technique,2004,30(8):65-69.

猜你喜欢

模拟信号模拟量时序
基于CAN总线的车身控制模拟信号采集程序设计
清明
基于不同建设时序的地铁互联互通方案分析
一种基于ADG426多路模拟开关的模拟信号输入接口设计
基于FPGA的多通道模拟量采集/输出PCI板卡的研制
基于FPGA 的时序信号光纤传输系统
模拟信号的三种调制方法比较研究
关于600MW火电机组模拟量控制系统设计和研究
基于模体演化的时序链路预测方法
基于数字电路对模拟信号的转化研究