前言
目前的ARM处理器已经适合应用于数控系统。ARM处理器的成本低而且种类多。主频能够满足数控领域需求而且功耗比较低,无需使用风扇,提高了系统的可靠性。带有MMU的ARM处理器支持数控软件所需要的Linux操作系统,能够充分利用现有的数控软件资源。随着ARM处理器和FPGA的快速发展,给数控系统的设计提供了新的解决方案。ARM处理器用作系统的核心,可编程FPGA器件作为运动控制器。同时 FPGA器件提供数控系统vo等其它辅助电路。
随着PC/104成为工业控制领域的标准,已经被IEEE协会定义为IEEE-P996.1, PC/104总线提供的信号跟ISA总线一样,但是前者的机械规格不仅易于扩充而且更加坚固,适合应用于数控系统。但是这种总线结构是在Intel的x86体系结构上发展而来,目前x86对PC/104的支持比较好,而ARM对PG/104的支持还不完全统一,主要由于ARM和x86在体系结构、总线时序、电气特性以及指令集等方面的差异。而且不同的数控系统所需要的总线信号也不完全一样。本文将提出一种基于ARM处理器的数控系统上支持PC/104总线的方案。
1 系统总体设计
数控系统中的ARM处理器采用Cirrus Logi。的EP9315处理器,用EP9315的一个片选(nGCS3_PHBASE 0X30000000)作为PC104的地址范围,用地址ADDR24来控制MEMORY和IO的方式的读写;用另一个片选(nGCSI PHBASEoxiooooo00)来查询PC/104的中断号,当Pcioa有中断的时候,用一个中断通知CPU,然后CPU通过nGCSI这个地址来读中断号,判断出11个PC/104中断源中来自哪个中断。由于EP9315和CPLD在制作工艺、电气性能上与PC/104总线有比较大的差别,因此需要使用74LVTH 16245作为3.3-5V电气转换buffer用来调整电平模式。CPLD是基于乘积项的可编程逻辑器件,CPLD内部采用固定长度线连接各个逻辑块,因此具有较大的时间可预测性,引脚到引脚的延迟几乎是固定的,与逻辑设计无关,因此适合作为PCJ104总线控制器。这里使用赶-to,的EPM7032用作PC/ 104总线控制器,用来完成EP9315读写时序向PC/104总线读写时序的转换。EP9315的数据总线和地址总线连到电平转换buffer,输出到PCJ104总线上。因此PClioa总线设计的核心是保证EPM7032有正确的读写时序。原理图如图1所示:
2 PC/ 104总线控制器的实现
PC/104总线介绍
PC/104采用模块化设计方法,通过自堆叠总线,省去了对底板或板卡插槽的要求。通过将多数信号的总线驱动电流减小至4mA,将元件数量和功耗降到最低。模块的104个信号线分布在两个总线连接器上,P1连接器有64个信号引脚,P2连接器有40个信号引脚。与ISA总线相比,PC/104总线将板卡的长宽比降至3.775英寸比3.550英寸(即9bmrn比90mm ),克服了ISA总线机械规格的缺点。PC/104总线与PC/AT总线兼容,也定义了两种工作模式一8位和16位数据模式。对于8位数据模式,总线信号由板上的64引脚双排插座Pl/J1提供,对于16位模式,增加了40引脚双排插座P2JJ2。
ARM EP9315处理器介绍
EP9315处理器是Cirrus Logi。推出的一款基于ARM920T内核的R1SC处理器,主要面向工业计算机和手持设备等等。ARM920T是H award体系结构处理器,由ARM920TDMI、存储管理单元(MMU)和高速缓存3部分组成。有独立的16位指令cache和数据cache。ARM920T有5级流水线。EP9315工作频率为200M Hz,集成了2D图形加速器和协处理器,以及丰富的外设接口例如IDE控制器和PC MCIA控制器等,即使不使用额外的DSP芯片也能够支持相当多的外设。EP9315支持LinxuMicrosoft lindawg CE等操作系统。