当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于ARM和CPLD的开放式数控系统设计

 随着工业自动化技术和数控技术的飞速发展,数控系统的功能得到了极大的扩展。用户对数控系统提出可联网、开放性等更高的要求。开放性是数控系统未来的发展趋势。开放式数控系统的核心是建立一种对数控系统的软硬件开发商、机床制造商和最终用户都开放的体系结构和标准,使数控系统不依赖于特定的厂家,达到可互联、可互操作、可重组和可互换的目的[1]。基于工业PC的开放式数控系统已得到广泛运用,它能够快速开发出独具特色的软件系统,具有良好的人机界面,但资源利用率不高、体积较大、携带不方便。ARMCPLD和DSP等微处理器的快速发展,为开放式数控系统的发展提供了新的实现方法[2]。
    ARM具有较强的事务管理功能,可以运行具有良好人机界面的多线程应用程序,其优势主要体现在程序控制上。CPLD具有较强的逻辑运算能力,可用于进行插补运算及运动控制等。Windows CE是嵌入式实时操作系统,其独特体系结构和运行机制使其能够快速响应外部中断,并调度相关程序进行处理[3],可以满足数控系统的实时性要求。本文提出一种基于ARM9和CPLD的开放式数控系统。该系统中ARM9移植了Windows CE嵌入式操作系统,通过开发应用程序实现信息输入、运动显示和粗插补等功能; CPLD实现精插补和运动控制。整个系统具有结构紧凑、集成度高、可靠性强和友好人机交互等特点。
1 系统设计
1.1 系统硬件设计

    本系统ARM采用SAMSUNG公司的S3C2410,CPLD采用ALTERA公司FLEX6000系列的EPF6016。系统硬件结构如图1所示。


    S3C2410内部资源丰富,可嵌入Windows CE操作系统,并进行复杂的信息处理。系统以LCD和触摸屏为人机交互装置,采用10 MB的以太网接口芯片CS8900A,可连接到Internet或局域网。在PC机上生成的CAD文件通过以太网或SD卡输入到处理器中。系统采用NANDFLASH存储数据和程序。
    EPF6016是ALTERA公司为大容量设计提供的一种低成本可编程交织式门阵列,共有16 000个可用门、1 320个逻辑单元、117个I/O引脚,每个I/O引脚都有独立的三态输出使能控制。EPF6016接收ARM的插补指令进行精插补,输出控制信号,并采集编码器的反馈信号和限位开关零点开关的状态信号。
    本系统将EPF6016直接连接到S3C2410的存储总线上。S3C2410与EPF6016之间依靠24位数据总线和8位地址总线进行指令和数据的传输,提高了通信效率。S3C2410与EPF6016之间的总线还包括了片选信号线、读写控制信号线和中断信号线。
1.2 系统软件开发
    本系统软件开发包括Windows CE应用程序开发和CPLD程序开发。采用C#语言开发Windows CE应用程序,采用VHDL语言开发CPLD程序。系统软件结构如图2所示。


    Windows CE应用程序是基于多线程的。应用程序包括信息输入、译码、运动显示、故障管理、电机启动停止和插补等功能模块,每个功能模块都是一个独立的线程。信息输入、译码是非实时任务,线程优先级设为默认值251;故障管理、电机启动停止是实时非周期性任务,属于弱实时任务,线程优先级设为247,即用户态实时级别;插补、运动显示是实时周期性任务,属于强实时任务,线程优先级设为3,即核心态实时级别。[!--empirenews.page--]
    CPLD外接40 MHz时钟,程序中使用的所有时序均由该时钟分频而得。本系统采用基于数据采样法的粗精两级插补结构,插补周期为8 ms,采样周期为4 ms。因此中断程序和精插补程序基于125 Hz时序运行;数据采样、故障监测和速度位置控制基于250 Hz时序运行。
    系统数据传递如图3所示。插补是本系统的一个重要环节,因为插补直接影响系统的实时性、运动控制和加工精度。从图3可见粗插补计算结果从应用程序传递到操作系统内核,再由内核发送到CPLD进行精插补运算。由于插补是一项硬实时任务,因此数据传递必须实时准确。ARM与CPLD之间以中断方式保证通信的实时性。而应用程序和操作系统内核通信的实时性则由操作系统的实时性保证。


2 系统中断控制
    本系统采用基于数据采样法的粗精两级插补结构,插补周期为8 ms,采用中断方式保证通信的实时性。中断信号由CPLD每隔8 ms定时产生。当接收到CPLD的中断信号时,ARM把粗插补计算结果写入CPLD的固定地址。CPLD从固定地址读取数据计算脉冲数,输出脉冲信号,完成运动控制。本系统的中断控制分成3部分:Windows CE中断服务、应用程序中断响应程序和CPLD程序。
2.1 Windows CE中断服务
    Windows CE是实时操作系统,其实时性体现在6个方面:(1)具有256个线程优先级;(2)应用程序可以控制提供给每个线程的时间片,计时器精确到1 ms;(3)优先级倒置处理机制;(4)支持嵌套中断;(5)中断延迟时间短;(6)更细粒度的内存管理控制[4-5]。Windows CE以上机制特别是中断体系保证了数控系统的实时性。
    Windows CE的中断体系包括核心态的中断例程ISR和用户态的中断线程IST两部分。ISR主要响应中断请求,识别中断源,给操作系统内核返回相应的中断标识。ISR具有最高的优先级。本系统采用ISR完成中断服务。进入ISR以后,系统中所有的同级或下级中断均被屏蔽。为了不降低系统执行多任务的性能,ISR应非常短小精干,以使其他中断也能够获得及时的服务。
    定制Windows CE中断服务程序步骤如下:
    (1)在操作系统内核中注册事件hMotor,用于操作系统和应用程序中断响应的同步。
    (2)在操作系统内核中注册插补中断标识号SYSINTR_PWM_READY。
    (3)调用函数InterruptInitialize,使中断请求和hMotor事件挂钩,当接收到中断请求时操作系统自动将事件置为有信号,退出ISR时将事件置为无信号。
    (4)编写ISR程序。ISR程序框架如下:
    if(IntPendVal==INTSRC_EINT1)//判断中断是否来自CPLD
    {
        s2410INT|=BIT_EINT1;//清除中断请求
        if(PWM_FINISH==TRUE)
            return(SYSINTR_PWM_READY);
//向内核返回中断标识号
        rADDR=*pulse_buf;//向CPLD写数据
    }
    当ARM接收到由CPLD发出的中断请求,操作系统将调用ISR,并将hMotor事件置为有信号。在ISR中将粗插补计算结果写入CPLD,并向操作系统内核返回中断标识号。退出ISR时,操作系统将hMotor事件置为无信号。整个ISR程序非常精短,保证了系统其他程序的正常运行。
2.2 应用程序中断响应程序
    应用程序无法直接获知是否有中断请求。利用hMotor事件使操作系统中断服务与应用程序中断响应程序达到同步。通过调用WaitForSingleObject函数查询该事件状态,应用程序可获知是否有中断请求并及时响应中断。中断响应程序框架结构如下:
    while(!IsEnd)//判断插补是否结束
    {
        ……//粗插补计算
        WaitForSingleObject(hMotor,INFINITE);//无限期等待
//hMotor事件状态变为有信号
          DeviceIoControl();//向操作系统传递
//粗插补计算结果,即位置增量
    }
    插补线程启动后进行插补计算,调用WaitForSingleObject函数阻塞插补线程,等待hMotor事件状态变为有信号。当操作系统接收到中断请求后调度ISR,将事件置为有信号。此时WaitForSingleObject函数被返回,插补线程阻塞状态解除。通过调用DeviceIoControl函数将插补结果传递到驱动层,再由操作系统将数据发送到CPLD。插补运算时间远小于插补周期,因此插补线程经常处于阻塞状态。WaitForSingleObject函数虽然会阻塞当前线程,但是不会占用任何CPU资源,因此即使插补线程优先级较高,当其被阻塞时也不会影响其他线程的正常运行。[!--empirenews.page--]
2.3 CPLD程序
    CPLD程序的逻辑如图4所示。


    通过40 MHz时钟分频,CPLD内部产生125 Hz(周期8 ms)的脉冲序列。当接收到启动指令时,CPLD将该脉冲序列发送到ARM作为中断信号。ARM的中断触发模式为沿触发,上升沿为有效中断请求。ARM接收到中断请求后,向CPLD传送数据。CPLD内部建立2个数据缓冲区,设置标志FLAG。当FLAG为0时,CPLD将ARM传送的数据写入缓冲区1,读取缓冲区2的数据进行计算输出;当FLAG为1时则反之。设定2个数据缓冲区可以保证数据读写的准确性和运动控制的连续性。CPLD接收到结束指令后,不再向ARM发送中断信号,整个系统的中断控制停止。
3 实验
    本系统已经运用于激光沉积焊接机,并成功进行了实物加工。图5是该系统的激光焊接图。该焊接轨迹由
正方形和圆形组成。在操作系统ISR中写入检测程序,记录中断情况。在实验中,所有中断信号均被正确处理,hMotor事件状态切换正常,没有丢失中断和事件的情况,即应用程序与操作系统、ARM与CPLD的通信状态良好。该系统的中断控制能保证系统实时性,直线加工和圆弧加工均能很好地满足加工精度。


    本系统充分利用了Windows CE的良好实时性、ARM的管理能力和CPLD的逻辑计算能力,硬件组成简单,软件开发方便,具有开放性强、实时性好、稳定性高、人机交互友好和性价比高等优点,可满足高速度和高精度的加工要求。本系统设计方案已实际运用于激光沉积焊接数控系统中,运行状态良好,加工精度较高。本系统可运用于各种机床数控系统,具有广泛使用价值。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭