您的位置:控制工程论坛网论坛 » 嵌入式系统 » 基于ARM芯片的嵌入式运动控制系统设计

jshfq

jshfq   |   当前状态:在线

总积分:17995  2024年可用积分:0

注册时间: 2007-08-06

最后登录时间: 2013-11-04

空间 发短消息加为好友

基于ARM芯片的嵌入式运动控制系统设计

jshfq  发表于 2008/6/17 14:05:57      1885 查看 1 回复  [上一主题]  [下一主题]

手机阅读









基于ARM芯片的嵌入式运动控制系统设计

 
摘  要: 嵌入式智能运动控制技术包含了多个学科,它覆盖了嵌入式技术、计算机技术、智能控制技术、检测技术和运动控制技术等诸多方面。基于国内现状,本文设计了一套基于ARM和FPGA的嵌入式智能运动控制系统方案。文中讨论了工业运动控制器的主要组成结构,分析了在工业运动控制器中经常用到的关键技术,并给出了完整的软硬件结构设计。 


关键字: 运动控制; 嵌入式; ARM; FPGA


1 引言


  目前,运动控制技术已经由传统的数控加工技术,发展成为具有开放结构、能结合具体应用而快速重组的先进运动控制技术。而运动控制系统也从以单片机或微处理器作为核心部件发展到了以专用芯片(ASIC)和以DSP或FPGA作为核心部件的开放式运动控制系统。结合PC应用软件、总线技术以及嵌入式系统技术,运动控制作为自动化技术的一个重要分支,已经得到越发广泛而又重要的应用。在深入学习工业运动控制中的数控关键技术的基础上,比较了几种常用的运动控制方案,提出了一种新的基于ARM芯片的嵌入式运动控制系统,确定了基于ARM和FPGA运动控制的设计方案,并总体规划了控制器的设计结构。


2 控制电路硬件设计规划


  在本运动控制系统设计中,核心控制芯片选用Philips生产的专用工业应用ARM芯片LPC2132,外部扩展I2C存储芯片AT24C512存储FPGA配置代码及两路RS485通讯,构成核心控制单元。FPGA则作为硬件精插补器的主要器件同ARM芯片并行连接,以便在系统上电时完成高速精插补器的主并行配置。本系统的设计目标如图1所示:



点击看大图


图1系统设计目标框图


  基于嵌入式的运动控制系统,总体结构分为以下几个部分:


  (1) 电源电路设计。 (2) ARM主控电路外围扩展设计。


  (3) FPGA高速硬件精插补器设计。 (4) 控制板与I/O接口板之间的连接。


3 控制电路硬件设计


  3.1 LPC2132芯片简介


  LPC2132是基于一个实时仿真和嵌入式跟踪的32/16位ARM7TDMI-STMCPU的微控制器,并带有64KB的嵌入的高速Flash存储器。128位带宽的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行,对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。较小的封装和极低的功耗使LPC2132可理想地用于小型系统中。多个32位定时器、2个10位8路ADC、 1个10位ADC、 PWM通道和47个通用I/O口以及多达9个边沿或电平触发的外部中断使它们特别适用于工业控制和医疗系统。


  3.2电源电路设计


  由于在工业环境中经常用到的电压是+24V,而ARM、 FPGA等芯片需要3.3V、2.5V等低电压,因此本设计中主要完成电压转换以及分别给ARM、FPGA等芯片的内核电压、端口电压的供电。



点击看大图


图2电源电路设计原理图


  由设计原理图2可以看出,这里采用一片MORSUN隔离电源首先将24V直流电转变为+5V电压,然后分别供给两片AS1117-3.3和一片AS1117-2.5芯片。其中一片AS1117-3.3产生3.3V电压供给ARM芯片,而另一片则供给FPGA的I/O端口操作电压。AS1117-2.5芯片则产生2.5V电压给FPGA核心提供。由于在上电过程中需要将电源电压稳定的供给核心模块,所以在输入输出端均加入了电解电容或担电容进行稳压滤波。图中的LED发光二极管显示主要是用来检测上电过程。


  3.3外部存储电路设计


  在运动控制系统中FPGA担负着极其重要的作用,它是整个激光雕刻数控系统中实现精插补的关键,同时也是圆网印花运动控制系统中产生定位脉冲的核心部件。作为Spartan-II系列FPGA来说,由于其内部采用SRAM工艺,它的配置数据存储在SRAM中。由于SRAM的易失性,每次系统上电时必须重新配置数据即ICR,只有在数据配置正确的情况下系统才能正常工作。而在系统掉电之后器件又完全恢复“空白”状态。因此在这种情况下系统就需要外扩存储芯片以便将配置文件存储在其中。


  串行E2PROM是可在线电擦除和电写入的存储器,具有体积小、接口简单、数据保存可靠、可在线改写、功耗低等特点。串行EPROM常用的总线形式为I2C总线形式。这里采用的E2PROM芯片为Atmel公司生产的AT24C512芯片,该芯片可提供64K存储空间,具有非易失、体积小、可编程、可擦除等特点,


  并具有在低电压下工作的特性,而且在两线串行总线上最多可接4片AT24C5121331,所应用的LPC2132芯片中,有专门的引脚可扩展标准I2C器件。它与ARM进行连接的硬件电路图如图3所示。





图3 LPC2132与AT24C512连接图


  在图中可以看出,在I2C总线的数据线和时钟线上分别加了2K的上拉电阻,这是由ARM的I/O口自身结构的要求所决定的。在LPC2132中,由于具有I2C总线功能的I/O口为开漏输出,因此在用到I2C总线功能时需要加上1K~l0K的上拉电阻。在本次设计过程中,这里扩展了两片E2PROM存储芯片,其中一片用来作为运动控制系统的硬件精插补器;而另外一片则用来产生运动控制系统的精确定位脉冲。


  3.4 输入输出口设计


  在本设计中,共有8路输入开关量、8路输出开关量、4路编码器输入、4路变频脉冲输出和FPGA外扩的多路输入输出口,为了有效的防止干扰进入运动控制系统控制核心,这里统一采用了光耦隔离。光耦隔离具有以下优点:


  (1) 输入阻抗小,一般为100Ω-1KΩ之间,干扰源内阻一般会很大,因此分压到光耦的噪声很小。


  (2) 光耦的内部发光二极管是通过电流工作,而一般情况下干扰电流不能驱动。因此干扰噪声能被有效抑制。


  (3) 输入输出回路中的分布电容极小,一般为0.5-2pf,而且绝缘电阻很大,输入回路一边的干扰很难通过光耦馈送到输出端。


  通过光耦连接的输入输出口如图4-4所示:





(a) 低速开关量




(b) 高速开关量


图4 通过光耦连接的输入输出口


  在低速开关量中,由图4(a)可以看出,这里采用贴片低速光耦MOCD217-M它是Motorola公司的产品,是具有低输入电流的双路光耦。之所以这里在接六输入口之前加入电阻R3,是因为ARM中的部分I/O口是开漏式的,防止在输入输出过程中电流过大,将相应口烧坏。如图4(b)在高速开关量中,采用HCPL0661双路光耦进行扩展,它是Agilent Technologies公司的产品,其开关速率可达到l0M左右,可应用于各种高速脉冲输入输出的场合。


  4.2.5 FPGA配置方式


  在Xilinx公司Spartan-II系列FPGA的配置过程中,主要有三种配置方式:Boundary-Scan模式、Master/ Slave-Serial模式、Master/Slave-Parallel模式。下面将就这三种模式的配置过程做简单分析,并将其中的Slave-Parallel配置模式做详细介绍。


  (1) Boundary-Scan模式。边界扫描模式采用的是JTAG标准,因此有时也称为JTAG配置模式。该模式只有四个专用配置信号线,分别为TCK(时钟)、TDI(数据输入)、TDO(数据输出)、TMS(状态和控制)。该模式类似于从串模式。在配置过程中需要外部处理器的支持。


  (2) Master/ Slave-Serial模式。串行配置即每个时钟仅接受一位配置数据。串行配置可分为主串和从串两种模式。如果配置的时钟信号来自所需配置的FPGA器件,这种模式为主串模式。由外部器件提供配置时钟,这种配置模式为从串模式。


  (3) Master/Slave-Parallel模式。为了实现数据的快速加载,Xilinx在FPGA器件中增加了并行模式。该模式为8位配置数据宽度,需要8位数据线D7—DO。此外,还有低电平有效的芯片选择信号(/CS)、电平有效的写信号(WR)、高电平有效的忙信号(BUSY)。当BUSY信号为高时表示器件忙,不能执行下一步的写操作,需要等待直到该信号脚为低时止。对于50MHz以下的配置时钟,该控制信号可以不用。并行模式又可细分成主并行模式和从并行模式。当需要对多个器件进行并行配置时需选择从并行模式;当仅对单个器件进行配置时是主并行配置模式。


  在本运动控制系统中为了提高配置过程的速度,达到上电后的高速硬件精插补器的实时性,并且由于仅对单个的FPGA进行配置。这里就选择了主并行配置。ARM与FPGA连接示意图如图5所示。





图5 主并行配置模式


  由图5可以看出这里使用ARM的P0.2口和P0.3口外部扩展AT24C512的E2PROM存储芯片。而对于FPGA的连接则采用并行连接方式,根据FPGA并行配置规则,使用ARM的相应口连接FPGA。


本文作者创新点


  在本文中主要就所设计的运动控制系统的硬件进行了详细的介绍,首先提出了本运动控制系统的总体规划。根据规划,对其中的几个重要模块做了详细的设计说明。最后对系统中的硬件精插补器的开发流程做了简单介绍,并在此基础上做了详细的设计说明,接着对精插补器中的几个重要功能模块进行设计,并给出了详细的实现方式说明。

1楼 0 0 回复
  • ballone

    ballone   |   当前状态:离线

    总积分:148  2024年可用积分:0

    注册时间: 2007-01-12

    最后登录时间: 2008-07-10

    空间 发短消息加为好友

    ballone   发表于 2008/6/17 14:05:57

     



    按此在新窗口浏览图片
    DG931x-SBC-1.2主要包含以下组件
     EP9315(Cirrus Logic公司出品)处理器,基于ARM920T内核,内带MMU、16KB的指令cache和16KB的数据cache和Maverick Crunch数学协处理器;主频200MHz,系统总线100MHz,可提供工业级;
      两片Flash 共32 MB Nor Flash或单片16MB Nor Flash
      大存储量(使用Nand Flash):256M Byte
      64MB SDRAM
      三个USB HOST(USB2.0规范)接口,支持USB键盘、USB鼠标和U盘及多款无线网卡
      一个CF存储卡接口
      一个支持热插拔的PCMCIA接口,支持多种无线网卡及引出的PCMCIA引线
      一个38khz的红外遥控接口
      8*8键盘接口
      VGA输出,分辨率可达1024*768
      LCD和触摸屏接口,分辨率可达1024*768,带2D图形加速器
      一路专用高速EIDE接口,IDE接口(可同时接硬盘,CD,DVD任意两个
      Stereo (AC97)音频输入输出接口
      100M以太网口,带联接和传输指示灯
      RTC (real time clock)断电时钟保持
      一个9针串口
      二个3线串口
      引出的中断信号
      引出的16位GPIO
      引出的16位总线
      引出的SPI
      引出的IIC
      集成无线网卡(可选)
    软件资源
      支持Linux2.4.21
      支持Linux2.6.8,
      支持Wince.net 4.2
      支持Wince.net 5.0
      Linux,wince download 工具
      Linux,windows环境下Flash烧写工具
      Redboot,eboot bootload源代码
      提供驱动程序如下:
      1:VGA显示驱动
      2:AC97音频驱动
      3:网络接口驱动
      4:USB HOST 驱动
      5: IDE驱动
      6:flash驱动
      7:8* 8键盘接口驱动
      8:U盘驱动
      9:USB 键盘鼠标驱动串口驱动
      10:CF存储卡驱动
      11.PCMCIA驱动
      12.串口驱动 
      13. RTC驱动
      14.无线网卡驱动(Linux 系统)


    广州市联智电子科技有限公司
    专业的嵌入式系统开发,基于EP9302,EP9307,EP9315 ARM9开发板
    详细信息可访问:
    http://www.devicegate.com/arm9.htm
    也可电话咨询:020-82317785
    MSN:YUEREYE@Hotmail.com
    联系人:王先生

    2楼 回复本楼

    引用 ballone 2008/6/17 14:05:57 发表于2楼的内容

总共 , 当前 /