对CORTEX-A8处理器的嵌入式数控系统实时平台的设计研究
2017-12-01徐巧格
徐巧格
(陕西能源职业技术学院陕西咸阳712000)
对CORTEX-A8处理器的嵌入式数控系统实时平台的设计研究
徐巧格
(陕西能源职业技术学院陕西咸阳712000)
本文对实时系统和嵌入式实时系统进行了介绍,冰对这两种系统的实现方法进行了分析,重点介绍了基于CORTEX-A8处理器的嵌入式数控系统硬件平台的设计,对该系统的计算能力进行了实验测试,提出了基于CORTEX-A8处理器的嵌入式能够满足数控系统的要求,运行该系统可以实现实时加工,能够提高低端数控系统的计算能力。
CORTEX-A8处理器;嵌入式数控系统;实时;设计
数控系统是根据设计要求,利用计算机来对产品的加工进行数字化的处理及控制。本文根据数控系统对操作系统的实时性的要求,通过对现有的Linux的方案的分析,结合高性能的OMAP3530,来实现基于OMAP3530处理器的嵌入式实时系统,然后在此基础上完成基于实时嵌入式的数控系统的设计。
1 实时系统和嵌入式实时系统
1.1 实时Linux系统的实现方法
标准的Linux内核当中,中断处理机制会加设一定的延迟程序,从而使得系统无法达到实施响应的要求。通过对标准的Linux系统进行改造,在中断响应以及调度抖动降低到微秒级,这样就可以更好的响应外部事物,达到了实时性的要求。对Linux系统进行实时改造的方法有四种包括:使用微内核实现实时、利用可抢占的内核实现实时、采用ADEOS技术以及修改内核的办法。所谓的改善为内核的方式实现实时,则是在Linux系统内核与硬件平台间插入微内核,其中插入的微内核独立于Linux内核运行,插入的微内核通过中断的接管,达到了最小的延迟效果,从而实现了实时的特性。Linux系统内核当中2.6版本以后的系统加设了可抢占机制,所谓可抢占机制,则是低优先级的任务可以被高优先级的任务挂起,而且高优先级可以获取更多资源,所以可以通过给实时任务分配一个高的优先级,从而使得在切换任务时不断地抢占低优先级,从而实现任务的实时特性[1-3]。ADEOS技术则是提供一种达到工业级实时性的实施框架。通过修改内核的时钟系统、共享内存等来达到实时Linux的目的,再加入微秒级的时钟精度就可以满足实时性比较严格的场合。
1.2 嵌入式实时系统的实现方法
嵌入式的实时系统是通过硬件平台以及操作系统共同作用实现实时特性的。Omap3530处理器是以ARMcortex-a8处理器作为核心技术的嵌入式处理器,此项处理器的处理性能是传统ARM9的4倍,并且整个实时系统由操作系统决定实时性。在Linux系统实现实时改造的4种方法当中只有ADEOS技术综合各方面更为适合于嵌入式系统。将ADEOS引入嵌入式领域实现实时的结构是,在OMAP3530的处理器上构建Linux/Xenomai构架的嵌入式实时操作系统,这样就给数控系统建立了从用户空间再到内核空间的实施平台,以ADEOS技术实时扩展的XENOMAI是Linux内核的一个实施开发框架,此框架完全运行于ADEOS之上[4-6]。
2 系统设计
2.1 关键技术
1)对嵌入式数控系统的结构分析。数控机床是全机电一体化的技术产品,包含机床本体、数控装置、伺服驱动装置、PLC单元。数控机床控制数控系统,主要包含硬件和软件两部分。硬件部分及设备驱动是整个数控系统的基础支撑,软件部分是由设计者设计的表达,两者共同组合才可构成整个数控系统。数控系统的软硬件的具体组成如表1所示。
表1 数控系统的软硬件结构组成
2)对Cortex-A8处理器的具体介绍。目前Cortex-A8处理器是在RISC基础上建立起来的微处理器。处理器本身是采用32位的设计,不过有具备16位的所有指令,不仅和同等价位的节省了代码,而且还持有32位系统所有的优势。是一款在ARMv7之上的应用处理器,具有高性能、高效率的处理器。处理器内核的选择也极为重要,它决定的处理器的使用效率好坏。本次设计选取AM335X来作为数控系统硬件平台的核心处理器,其具备高频使用等特点。选取EP4CE10F17I8N来作为本次设计的协助处理器,其丰富的逻辑资源以及超低功耗等为数控系统实时设计的实现提供了基础。
3)基于Cortex-A8的数控系统硬件结构设计。Cortex-A8+FPGA的双处理器的构架,根据Cortex-A8核心处理器完成任务的调度等功能,以及FPGA的灵活性等特点,将其作为协助处理器,如图1所示的数控系统硬件平台结构的示意图。
图1 数控系统统硬件平台结构图
2.2 硬件电路开发
1)Cortex-A8采用最小系统的硬件电路。AM335X处理器使用的是目前最新系统的电路设计,内嵌176 K位的只读存储器,并且程序只能存储在片外的芯片当中,所以还需在设置读写的存储器以及显示系统,从而可以确保系统的正常运行,达到实时的目的。
2)Cortex-A8外部接口以及FPGA外部接口的内容。AM335X外部接口主要有LCD液晶显示接口、Ethernet、串行设计以及USB OTG 4个接口。只有做好Cortex-A8外围硬件的4个接口的完好设计才算完成外围硬件接口电路的设计[7-8]。其次是FPGA部分,其外围的电路设计分为3个部分,包括Cortex-A8-FPGA双处理器的通信电路、主轴控制电路和反馈电路以及基本的输入输出电路的设计与实现。
3)最后是对基于Cortex-A8嵌入式数控系统的硬件平台的板卡进行优化。首先就是对其表面的布局进行优化设计,使其更加清晰明了;其次是设计平台的可靠性以及稳定性。使得平台更具有使用价值。
2.3 FPGA固件程序开发
FPGA固件程序的模块设计。这是硬件设计的关键环节,此次设计采用从上到下的设计原则,尽量做到高内聚、低耦合。其内容简单分为4个模块的设计分别为:FPGA与AM335X处理器间的通信接口模块设计、FPGA时钟使能管理模块、多轴硬件精插补器模块以及接口功能模块,分别对这4个模块进行设计。其中插补技术是硬件部分设计的核心,其工作实质是利用有限的信息来完成数据密化的工作。接口功能模块的设计包括:精准脉宽脉冲模块设计、NC面板及MCP面板扫描模块等[9-11]。
3 实验与分析
3.1 试验测量方法
对时间数据的采集是对该系统进行评估的关键,直接影响着评估测量结果的精确性[12-13]。在CORTEX-A8处理器的内核中包含一个64位的硬件计数器,该计数器的作用是对处理器从上电到测量是的时钟周期数进行记录,并且外界因素不能对该计数器的值产生影响,故而通过读取该计时器的值就可以获得精确的时间,利用硬件计数器对程序执行时间进行测量的方法如图2所示。
图2 时间测量方法示意图
如图2所示,首先在时间测量的起始点A,连续两次读取硬件计数器的值得到t00-count和t01-count,在时间测量的结束点B读取硬件计数器的时间t1-count0,根据以下公式计算出执行时间T。
3.2 内核空间实时任务调度延迟测试与分析
分别对9中周期不同的实时任务的调度延迟进行测量,并且每组数据总共要进行20 000次采样,数据分布如图3所示,其中横坐标代表任务周期,每组数据左边的柱高表示的调度延迟的最小值,中间柱高表示的是调度延迟的平均值,右边的柱高表示的调度延迟的最大值。由图3可知,调度延迟的最小值和平均值均大于 15 μs,调度延迟的最大值小于 35 μs,这就说明该系统在用户和内核空间都具有体现出了较好的实时性,能够很好的满足实际生产加工的需要[14-15]。
图3 内核空间任务的调度延迟
4 结束语
通过对嵌入式实时系统实现方法的了解,文中设计了基于CORTEX-A8处理器的嵌入式数控系统的实时平台,最后通过实验与分析对设计进行性能检测,结果表明本次设计的嵌入式实时系统具有很好地实时特性,基本可以达到工业要求。
[1]数控技术.[EB/OL].http://baike.baidu.com/view/87747.htm,2013.
[2]侯凤媛.数控技术的研究现状与发展方向[J].机电技术,2012(3):167-168.
[3]宋春华.数控技术的现状及发展趋势[J].装备制造技术,2011(3):114-117.
[4]曹玉华,游有鹏.基于Xenomai的嵌入式数控系统实时性研究[J].制造技术与机床,2011(6):51-55.
[5]王延伟.基于Xenomai的实时Linux嵌入式机器人控制平台设计[D].山东:山东大学,2011.
[6]赵俊勋,唐厚君,钟溢原.基于Cortex-A8的仓库管理移动终端设计[J].微型电脑应用,2011(10):15-18.
[7]EDA先锋工作室.Altera FPGA/CPLD设计(基础篇)[M].2版.北京:人民邮电出版社,2011.
[8]EDA先锋工作室.Altera FPGA/CPLD设计(基础篇)[M].2版.北京:人民邮电出版社,2011.
[9]庹云凤,江先阳.基于ARM Cortex-A8平台的警务终端硬件设计[J].工业技术,2011(17):170-171.
[10]姜宁,刘华平.基于Cortex—A8多媒体编解码优化[J].工业技术,2012(13):162-163.
[11]孙延岭,赵雪飞,张红芳,等.基于ARM嵌入式系统的微型智能可编程控制器[J].电力系统自动化,2010(10):101-104.
[12]杨铸,唐攀.深入浅出嵌入式底层软件开发[M].北京:北京航空航天大学出版社,2011.
[13]华清远见嵌入式学院.从实践中学嵌入式Linux应用程序开发[M].北京:电子工业出版社,2012.
[14]华清远见嵌入式学院.从实践中学嵌入式LinuxC编程[M].北京:电子工业出版社,2012.
[15]韩守谦,裴海龙,王清阳.基于XENOMAI的实时嵌入式Linux操作系统的构建[J].计算机工程与设计,2011,32(1):96-98,102.
Design and research on CORTEX⁃A8 processor,real⁃time embedded CNC system platform
XU Qiao⁃ge
(Shaanxi Energy Institute,Xi’an712000,China)
In this paper,real⁃time systems and embedded real⁃time systems were introduced,these ice implementation of both systems is analyzed,focusing on the numerical control system based on embedded hardware platform CORTEX-A8 processor design,the computing capability of the system conducted experiments to test proposed CORTEX-A8 processor⁃based embedded numerical control system to meet the requirements to run the system can achieve real⁃time processing,computing power can be improved low⁃end CNC system.
CORTEX-A8 processor;embedded CNC system;real-time;design
TN99
A
1674-6236(2017)22-0136-03
2016-01-21稿件编号:201601178
徐巧格(1970—),女,陕西杨陵人,讲师。研究方向:计算机应用。