基于以太网的高精度定位系统设计

2014-01-05 05:52哈思劲何建新李学华
成都信息工程大学学报 2014年5期
关键词:高精度以太网嵌入式

哈思劲,何建新,李学华

(成都信息工程学院电子工程学院,四川成都610225)

0 引言

现代社会制造业、加工业和机器人产业等高速发展,定位系统在其中扮演着重要的角色,随着纳米技术这一前沿科技的发展,高精度定位系统更是在精密机械加工、微外科手术和航天系统中的有着不可替代的作用。而现有的多通道定位控制系统或者是单机版,不具备组网能力,或者是具备RS232,USB或RS485接口,前两者电缆连接距离有限,不能远距离控制,后者传输速率有限,数据通信能力差。针对以上问题,设计了一个网络式高精度定位控制系统,精密定位控制使系统适用于军工、科研等高要求场合,通过以太网组网,实现中心计算机实时远程控制定位平台,能运用于大型复杂系统[1],并经验证达到设计要求。

1 方案设计

如图1所示,设计的核心处理器采用现场可编程门阵列(FPGA),连接W5300网络模块、A/D模数转换模块、D/A数模转换模块、双端口RAM和可配置存储器等,提供网络模块与计算机连接的RJ45接口、对定位平台控制的输出接口以及反馈量输入接口。当中心计算机通过以太网输入设定定位参数后,手动或自动启动定位控制过程。系统由A/D模块采集定位平台反馈量,结合由网络模块获取的定位参数,FPGA硬件逻辑实现的PID控制器产生定位控制数字量输出,D/A数模转换模块将该数字量转化成系统最终输出的模拟量输出给定位平台,控制平台移动;此时,由于平台位置发生改变,A/D模数转换模块采集到新的平台位置反馈量,PID控制器也更新了定位控制输出,如此形成一个闭环控制系统,实现高精度定位控制。中心控制计算机可以通过W5300网络模块由以太网远程配置位置控制参数,并远程采集位置数据,方便对其控制过程进行分析[2]。同时,多台该装置可以通过以太网实现复杂定位系统的组网。

图1 系统框图

2 系统实现

2.1 中心处理单元

系统的中心处理单元采用altera公司的150万门级的FPGA芯片EP2C35F484C8,其采用90nm工艺,1.2v内核供电,内嵌的NIOS II嵌入式处理器,外接双端口RAM和可配置存储器,集可编程控制逻辑和硬件CPU为一体,运用FPGA芯片+NIOS II的模式,能出色的协调好整个系统完成高精度定位控制。该FPGA硬件资源丰富,内含35个嵌入式乘法器、484K比特的嵌入式存储器以及33K逻辑单元,能够高速、高效地对AD7634模数转换模块和AD5764数模转换模块实现时序控制,同时PID控制器也是由FPGA硬件资源实现的;NIOS II是altera公司推出的第二代嵌入式处理器,属于32位RISC,设计简单灵活,系统维护升级方便,设计中反馈量数据的采集、双端口缓存和W5300网络传输模块等控制过程都由其实现。

2.2 网络模块

W5300是一款0.18μm CMOS工艺的单芯片器件,内部集成10/100M以太网控制器、MAC和TCP/IP协议栈,网络传输速度可高达50Mbps,可以非常简单而快捷地实现Internet连接。其主要由4部分组成:硬件TCP/IP核、微控器接口单元、发送/接收数据缓冲区和以太网物理层单元。设计中W5300采用TCP/IP协议,定位于服务器,通过OP_MODE引脚设置为全功能自动握手;使BIT16EN=1,设置其数据总线为16位。在SOPC为W5300挂载一个控制接口,通过片选信号CS、写使能信号WR、读使能信号RD、数据位DATA和地址位ADDR对W5300按照时序初始化以及服务程序的编写;将主机接口模式指定为直接映射模式,即MR(IND)=0;根据实际网络的基本信息,将IP地址、子网掩码、网关和硬件地址准确设置,对应 COMMON寄存器中的 SIPR、SBUR、GAS和SHAR寄存器;访问寄存器 TMSR0、RMSRO,设置SOCKET0内部TX/RX存储器大小分别为2K,W5300内部RX/TX数据存储器保持默认设置,即15~8存储单元为RX存储器,7~0存储单元为RX存储器;将中断屏蔽寄存器IMR中S0-INT令为1,即打开SOCKET0的中断;将SOCKET0中断屏蔽寄存器S0-IMR(7~0)令为1,使发送完成中断,接收数据中断,断开连接中断和连接中断能正常接收。设置Sn-MR,使网络工作于TCP模式,网络即可如流程图图2进行网络通讯[3-6]。

图2 服务器操作流程

2.3 定位控制算法

PID控制是最早发展起来的控制策略之一,因为其鲁棒性好、可靠性高及算法简单,被广泛应用于运动、过程等连续领域,特别是对于能建立精确模型的数学确定性系统。PID控制器主要由比例环节,积分环节,微分环节3部分组成。比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差,比例+微分(PD)控制器能改善系统在调节过程中的动态特性[7]。其核心算法的规律如下:

式(1)是在连续系统的实现,其中e(t)为输入位置参数r(t)与反馈量输入y(t)的差值,即系统偏差;u(t)是为控制器输出,即被控对象的控制量;kp为比例系数;Ti为积分时间常数;Td为微分时间常数在数字系统运用时,将其离散化得到:

式(2)中有大量累加,会出现多项之前的数据,造成大量计算,将其采用增量式优化计算,得:

其结构如图3所示,将输入的预定值和反馈信号的差值进行比例、积分、微分的计算,然后相加,对被控对象进行控制,同时经被控对象的输出反馈给输入进行差运算,得出误差因子,再送给比例、积分、微分模块,准备下一次的计算。

系统中,用FPGA实现该算法时,其参数由计算机通过网络模块配置,在QUARTUS II中使用原理图和VHDL输入,调用IP核中的乘法器和加法器,加上其并行处理的特点,使得PID算法运行十分高速,系统实时性强。增量式PID算法只有3个误差数需要处理,占有资源下降,大大化简计算,减少计算产生的时延。反馈量A/D采集和控制器的D/A输出均采用高性能器件以及FPGA中实现PID算法中乘法舍位的控制保证了算法的高精度数据条件[8],PID控制算法中通过经验以及反复试凑达选择最佳参数,控制超调量、增加响应速度和减少稳态误差[9-12]。

图3 PID结构框图

2.4 数模转换和模数转换

高性能模数和数模转换模块对信号进行高质量的转换,在高精度系统中起着至关重要的作用。设计中分别采用ADI公司的AD7634和AD5764作为信号转换器件。AD7634模数转换芯片是一款18位高精度、最高670kSPS、差分输入的高性能芯片,输入电压可以是+5V~-5V或0~10V。AD7634的输入双端差分信号,需要将单端信号进行调理,经过射随器实现阻抗匹配和反向加法器输出差分信号[13]。加入磁隔离电路隔离A/D采集单元和中心处理单元,模拟电路部分应该尽量靠近,模拟电路和数字电路应该隔离,抑制干扰。基准电压源由ADI公司的ADR02提供5.0V精密基准电压源。令AD7634芯片管脚MODE0=0,MODE1=1,使其输出数据位为8位;令管脚WARP=IMPULSE=1,将其设置为速率为570kSPS的正常模式。信号下降沿启动转换,信号BUSY的下降沿表示数据转换完成,此时表明AD7634开始向FPGA发送数据,然后FPGA通过两个地址线(A0、A1)控制AD7634将采集到的18位数据分3次发送到FPGA,当数据发送完毕,AD7634自动将BUSY信号拉高,从而完成一次18位数据的传送[14]。

数模转换芯片采用4通道、16位、串行输入、双极性电压输出型芯片AD5764,内置输出放大器,工作的时钟频率最高可到30MHz。输出端需要加入调理电路,用射随器实现阻抗匹配,用加法电路实现输出电压+5V~-5V或0~10V可选。和AD7634模块一样,AD5764模块需要加入磁隔离电路隔离A/D采集单元和中心处理单元,模拟电路尽量靠近,模拟数字电路进行隔离。基准电压源由ADI公司的ADR02提供5.0V精密基准电压源。由于其输入移位寄存器有24位,所以当时钟经过24个时,SYNC必须拉高,使输入移位寄存器更新,LDAC置为低电平来更新数据寄存器和输出端[15]。

3 测试

整个系统的功能是高精度定位控制,因此测试主要围绕高精度进行。由于系统比较复杂,所以将其分模块进行测试。

对AD7634模块测试时,为了验证模拟信号采集能得到正确的数字信号,模块选用+5V~-5V档位,用标准信号源产生一个正弦信号作为模拟信号的输入,测试模块的输出管脚与FPGA相连,用Quartus II自带的SingalTap嵌入式逻辑分析器观察分析本模数转换模块的输出。记录的一次数据如图5,可看出AD7634得到的数字结果与输入的模拟信号几乎一致,得到的数字量准确,且精度高,为高精度定位提供了可靠的数据。

图4 AD7634模块测试图

对AD5764模块测试时,为了验证数字信号能正确的转换为模拟信号,模块选用+5V~-5V档位,使用AD5764自带的回读模式,使FPGA输出一个已知的、确定的数字量作为测试模块的输入,模块将该输入转换输出成直流电压,然后将的AD5764模块的SDO引脚将数据串行连接到FPGA,同样用Signaltap嵌入式逻辑分析器观察回读模式的数据,同时通过高精度的毫伏表来测量输出直流信号值大小的变化。表1和表2为测试记录的一组数据,当输入的数字量增加1输出的模拟量增加0.0001多,准确度和精度都非常高,通过换算后,输入和输出完全对应,即模块正常工作。

表1 AD5764模块测试数据

表2 AD5764模块测试数据

在PID控制模块的测试中,为了验证输出能迅速稳定到设定参数,用Signaltap嵌入式逻辑分析器观察分析输入输出数据,如图6,输入sin是设定的一段连续快速变化的信号,输出信号yout是被控对象的反馈信号。PID控制器经过非常小一段时间的跟踪,输出信号yout马上就定位到输入设定值,基本无振荡过程,数据反映出系统精度指标高,且反应速度快,测试通过,本模块正常工作。

图5 在PID控制模块测试图

网络模块最重要的是能正常、稳定的传输数据,经过循环发送测试数据,网络模块工作符合要求。

综上所述,系统各模块均测试通过,设计达到预期效果。

4 结束语

设计一种以ALTEAR公司FPGA芯片EP2C35F484C8为核心处理器,使用W5300模块实现网络通信,PID算法实现闭环反馈控制,配以高精度数模、模数转换器件的系统。通过以太网能实现多平台组网,可以实现位置参数远距离设置、位置数据远距离获取,解决了现有多通道定位控制装置组网能力、远程控制能力十分有限的问题,大大提高现场使用的灵活性和便利性,非常适合大型、复杂平台的组网和远距离定位控制,有较强的实际运用价值。

[1] 唐惠玲,刘学军.基于以太网控制系统的实时性分析[J].铁道通信信号,2004,40(8):13-14.

[2] 宋绍剑,朱庆华,林小峰.基于以太网的神经网络自适应PID控制系统[J].工业控制计算机,2004,17(7):64-65.

[3] High-performance Internet Connectivity Solution W5300 ,WIZnet Co.Inc[Z].2008.

[4] 张勇,甄国涌,王丽莉,等.基于W5300的以太网数据传输硬件设计及优化[J].化工自动化及仪表,2011,38(8):989-991.

[5] 谭开洪.基于W5300的嵌入式以太网接口设计[J].中国西部科技,2010,9(9):49-50.

[6] 陈嫣然,张会新,郑燕露.基于以太网的高精度测试系统设计[J].仪器仪表装置,2012,(2):12-15.

[7] 李剑,刘渭苗,徐长安,等.模糊PID方法用于液压比例阀的高精度定位控制[J].重型机械,2012,(1):14-16.

[8] 段彬,孙同景,李振华,等.快速浮定点PID控制器FPGA的研究与实现[J].计算机工程与应用,2009,45(36):202-206.

[9] 段嫦娥.变参数PID控制器的探讨[J].重工与起重技术,2008,(4):18-20.

[10] 陈晋炜,周玉洁.数字PID控制器的FPGA实现及软硬件协同仿真[J].信息技术,2005,(9):38-40.

[11] 陈昭明,白向林,龚晓宏.基于FPGA的数字PID控制器设计[J].重庆科技学院学报,2010,12(2):149-151.

[12] Ming-Tzu Ho,Chia-Yi Lin.PID controller design for robust performance[J].IEEE Transactions on Automatic Control,2003,48(8):1404-1409.

[13] 信美华,肖宪东,周洪军,等.基于AD7634的多道脉冲幅度分析器设计[J].仪器仪表装置,2013,(1):158-159.

[14] Analog Device Inc..AD7634:18-Bit,670 kSPS,Differential Programmable Input PulSARADC Data Sheet[Z].2013.

[15] Analog Device Inc..AD5764:Complete Quad,16-Bit,High Accuracy,Serial Input,Bipolar Voltage Output DAC Data Sheet[Z].2011.

猜你喜欢
高精度以太网嵌入式
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
TS系列红外传感器在嵌入式控制系统中的应用
基于Niosll高精度超声波流量计的研究
高精度PWM式DAC开发与设计
高精度PWM式DAC开发与设计
搭建基于Qt的嵌入式开发平台
高抗扰高精度无人机着舰纵向飞行控制
谈实时以太网EtherCAT技术在变电站自动化中的应用
嵌入式软PLC在电镀生产流程控制系统中的应用
船载高精度星敏感器安装角的标定