鞋柜厂家
免费服务热线

Free service

hotline

010-00000000
鞋柜厂家
热门搜索:
成功案例
当前位置:首页 > 成功案例

五金网--嵌入式数控系统中基于FPGA模块的接口扩展

发布时间:2021-11-18 18:18:48 阅读: 来源:鞋柜厂家

数控系统是数控机床的核心部件,是数控机床性能及可靠性的关键所在。近年来随着嵌入式控制器和基于SOpC的可编程器件的广泛应用,基于ARM+FpGA结构的嵌入式数控系统得到较大的发展。本文基于ARM+FpGA的控制结构构建出嵌入式数控系统,通过FpGA将外围I/0端口内嵌入到数控系统中,数控系统的内嵌I/0端口可以轻松实现对机床辅助功能的扩展和控制。基于ARM+FpGA控制结构的嵌入式数控系统以较低的成本实现异I/0端口的扩展与控制。

1控制系统结构概述

基于ARM+FpGA的控制模块中采用ARM9控制器S3C2410,FpGA则用Altera的CycloneII系列中的Ep2CSQ208。如图l所示,ARM9主要负责数控机床总体的控制和人机交互,包括对FpGA进行数据的读写控制,ARM9和FpGA之间的连接采用并行通信,其中地址总线是A0~A7、数据总线D0~D7及4条控制总线分别是读写控制线和2条片选控制线。ARM9控制器通过FpGA实现对扩展的RAM模块进行读写控制,以及对FpGA中的AID、D/A、数字I/O和pWM模块的进行数据操作。FpGA负责信号输入聚集、信号存储、和输出信号的响应。ARM微控制器通过FpGA实现数控机床辅助信号的控制,此外通过FpGA可以方便的实现数控机床辅助接口扩展和应用。

2FpGA模块设计

FpGA器件中要实现的模块有:A/D、D/A、pWM、数字量的输入和输出以及RAM模块,其中RAM作为ARM9访问FpGA的通道。

2.1AfD模块

本模块的外围硬件采用8位串行A/D转换器芯”TLC549。TLC549是美国德州仪器公司,上产的8位串行A/D转换器芯”,该芯”可与通用微处理器、控制器通过CLK、CS、DATAOUT三条口线进行串行接口,具有4MHz”内系统时钟和软、硬件控制电路,转换时间最长为l7μs。TLC548允许的最高转换速率为45500次/s,TLC549为40000次/s。总失调误差最大为土0.5LSB,典型功耗值为6mW。采用差分参考电坼高阻输入,抗干扰,可按比例量程校准转换范围,VREF接地,VREF+一VREF≥lV,可用于较小信号的采样。

如图2所示,FpGA板上的A/D模块电路主要是通过FpGA的3条控制线ADCS、ADDATA、AD_CLK,以串行方式对A/D采样数据进行读写控制。当CS变为低电半后,TLC549芯片破选中,同时前次转换结果的最高有效位MSB(A7)白DATAOUT端输出,之后白I/OCLOCK端输入8个外部时钟信号,前7个I/OCLOCK信号用于配合TLC549输出前次转换结果A6一A0共7位,并为本次转换做好准备。在第4个I/OCLOCK信号由高至低的跳变之后,片内采样/保持电路对输入模拟量采样开始,第8个I/OCLOCK信号的下降沿使片内采样/保持电路进入保持状态并启动A/D开始转换。转换时间为36个系统时钟周期,CS保持高电平,或I/OCLOCK时钟端保持36个系统时钟周蝴的低电平。由此可见,在自TLC549的I/OCLOCK端输入8个外部时钟信号期间需要完成以下工作:读入前次A/D转换结果;对本次转换的输入模拟信号采样并保持;启动本次A/D转换开始。

2.2D/A模块

D/A模块的外闱硬件是4路串行8位电压输出型D/A芯片TLC5620。该芯片是Tl公司推出的具有高阻抗基准输入的4路串行8位电压输出型数/模转换芯片,建立时间为10μs,每一路均具有两级缓冲器,即输入锁存器和DAC锁存器,一个输出量程开关、一个8位DAC电路以及一个电压输出电路,输出电压的计算公式为:

式中,D0255表示需要转换的数字量,RNG等于0或1表示量程切换。当负载电阻大于10k时,具有很好的恒胩作用。陔芯片采用简单4线串行总线接口方式,因而与异种处理器和微控制器的接口十分简单。且数模转换后的电压幅度可编程调节。TLC5620工作时采用11位串行通信,最高两位控制通道选择,低8位是要进行数模转换的数字量,LOAD和LDAC是控制信号。

如图3所示,FpGA板上的D/A模块电路中有4条输入控制线,DAC_DATA是串行数据线,DAC_CLK是串行时钟线,DAC_LDAC和

DAC_LODA是输入控制信号,以及dac_clk、dac_data、dac_load、dac_ldac输出控制线。

2.3RAM模块、和I/O接口

如图4所示,RAMl6*8模块包括4位地址线address[3..0],8位数据线data[7..0]以及四条控制线,它们分别是CS、ng_CS、oebar、webar。此外八位数字量输入datain[7..0]是由TLC549芯片经过串并转换后的八位数据输入信号,q_data8[7..0]是八位数字量输出信号端子。q_datall[10..0]是用于数字量输出控制的包含有ll根数据线离婚律师在线,该ll位的D/A转换值送入到DAC_TLC5620模块中。8位数字量输出q_datapwm[7.离婚律师咨询费用.0]连接pWM模块。clk是时钟信号,系统在时钟周蝴的控制下进行读取地址。

本模块中的数据总线是三态总线,由控制总线决定。CS,ng_CS低电平有效,webar低电平时,数据总线为输入状态,webar是高电平且oebar为低电平时,数据总线是输出状态。其余情况,数据总线生现高阻态。CS,ng_CS均为低电平且oebar,webar均为低电平时,进行写数据的时序;oebar,webar均非低电平时,数据总线生现高组态,符合RAM的设计要求。

pWM脉冲宽度训制(pulseWidthModulation),简称脉宽调制。本模块产生同定频率10kHz,占空比可设置。浚模块包括clk时钟线,CS控制信号,pwm_dc[7..0]占空比控制数据输入,pwm_qpWM波形输出。

3FpGA总体模块的连接和仿真调试

如图5所示,FpGA的总体模块图实现异模块组合和连接,在前面异模块都完成后,通过原理图连接,作为顶层设计模块,完成相应的管脚分配,通过RAM模块实现对相关模块的控制。

如图6所示,对FpGA总体模块进行仿真得到时序图。从图中可知该模块读写操作正确。之后将生成的.sof文件下载到开发板中进行测试,得到的结果与时序仿真结果相同,表明FpGA总体模块工作正常。

4ARM+FpGA联机调试

将raml6*8.sof通过USB.Blaster下载到FpGA上,之后运行ARM9微控制器。ARM驱动程序中,在ram_open()加入了对ram模块数据的读写操作,ARM9控制系统通过动态加载相应的驱动程序实现对FpGA模块的连接和控制。ARM9微控制器对FpGA中的各个控制模块进行操作,包括对RAM进行循环写及回读显示测试。如图7所示,在minicom终端打即测试结果,以分析对RAM_DATA、pWM_DATA、DAC_ABCD和DAC_DATA写数据和读数据,表明可通过ARM写四个寄存器值,将此数据输出至pWM模块与DA模块。IN_DATA、ADC_DATA的数据会被外围模块的输入数据改写,故这ARM控制器只能读取曲个寄存器的值。如图7所示,测试结果和设计要求一致,表明各模块工作正常,满足系统的控制要求

5结论

本文基于ARM+FpGA实现嵌入式数控系统外围辅助功能接口的扩展和控制。仿真和实验结果表叫嵌入式数控系统通过大规模的可编程逻辑器件FpGA可以轻松实现数控系统的外围功能扩展。FpGA的并行处理机制,大大提高数控机床对外围控制部件的响应速度,提高系统的可靠性和使用范围,降低了系统的硬件件成本,提高的性价比。