前言
目前的arm处理器已经适合应用于数控系统。arm处理器的成本低而且种类多。主频能够满足数控领域需求而且功耗比较低,无需使用风扇,提高了系统的可靠性。带有mmu的arm处理器支持数控软件所需要的linux操作系统,能够充分利用现有的数控软件资源。随着arm处理器和fpga的快速发展.给数控系统的设计提供了新的解决方案。arm处理器用作系统的核心,可编程fpga器件作为运动控制器。同时fpga器件提供数控系统i/o等其它辅助电路。
随着pc/104成为工业控制领域的标准,已经被ieee协会定义为ieee-p996.1,pc/104总线提供的信号跟isa总线一样,但是前者的机械规格不仅易于扩充而且更加坚同,适合应用于数控系统。但是这种总线结构是在intel的x86体系结构上发展而来,目前x86对pc/104的支持比较好,而arm对pc/104的支持还不完全统一,主要由于arm和x86在体系结构、总线时序、电气特性以及指令集等方面的差异。而且不同的数控系统所需要的总线信号也不完全一样。本文将提出一种基于arm处理器的数控系统上支持p0104总线的方案。
1 系统总体设计
数控系统中的arm处理器采用cirrus logic的ep9315处理器,用ep9315的一个片选(ngcs3_phbase 0x30000000)作为pc104的地址范围,用地址addr24来控制memory和10的方式的读写;用另一个片选(ngcs1_phbase 0x10000000)来查询pc104的中断号,当pc104有中断的时候,用一个中断通知cpu,然后cpu通过ngcs1这个地址来读中断号,判断出11个pcil04中断源中来自哪个中断。由于ep9315和cpld在制作工艺、电气性能上与pc/104总线有比较大的差别.因此需要使用74lvth16245作为3.3-5v电气转换buffer用来调整电平模式。cpld是基于乘积项的可编程逻辑器件.cpld内部采用固定长度线连接各个逻辑块,因此具有较大的时间可预测性,引脚到引脚的延迟几乎是固定的,与逻辑设计无关,因此适合作为pc/104总线控制器。这里使用altera的epm7032用作pc/104总线控制器,用来完成ep9315读写时序向pc/104总线读写时序的转换。ep9315的数据总线和地址总线连到电平转换buffer,输出到pc/104总线上。因此pc/104总线设计的核心是保证epm7032有正确的读写时序。原理图如图1所示:
图1 原理框图
2 pc/104总线控制器的实现
pc/104 总线介绍
pc/104采用模块化设计方法.通过自堆叠总线,省去了对底板或板卡插槽的要求。通过将多数信号的总线驱动电流减小至4ma.将元件数量和功耗降到最低。模块的104个信号线分布在两个总线连接器上,p1连接器有64个信号引脚,p2连接器有40个信号引脚。与isa总线相比,pc/104总线将板卡的长宽比降至3.775英寸比3.550英寸(即96mm比90mm),克服了isa总线机械规格的缺点。pc/104总线与pc/at总线兼容,也定义了两种工作模式一8位和16位数据模式。对于8位数据模式,总线信号由板上的64引脚双排插座p1/j1提供,对于16位模式,增加了40引脚双排插座p2/j2。
arm ep9315处理器介绍
ep9315处理器是cirrus logic推出的一款基于arm920t内核的risc处理器,主要面向工业计算机和手持设备等等。arm920t是harvard体系结构处理器,由arm920tdmi、存储管理单元(mmu)和高速缓存3部分组成。有独立的16位指令cache和数据cache。arm920t有5级流水线。ep9315工作频率为200m hz,集成了2d图形加速器和协处理器,以及丰富的外设接口例如ide控制器和pcmcla控制器等,即使不使用额外的dsp芯片也能够支持相当多的外设。ep9315支持linux。microsofi windows ce等操作系统。
pc/104总线控制器的设计
控制器的cpld设计采用altera公司的epm7032.属于max7000可编程器件系列。max7000系列是高密度、高性能的cpld,采用了altera的第二代max架构,采用浮栅eeprom设计。结构如图2所示:
图2 epm7032的结构
结构中包括逻辑阵列模块(lab)组成的阵列、可编程互连阵列口(pla)和可编程i/o模块阵列。每个lab包括36个输入端、16个输出端和16个宏单元,每个宏单元包括处理组合和时序运算的组合逻辑和触发器。pia作为全局总线提供了多重lab、专用输入端和i/o引脚之间的连接。pia为逻辑单元的输出和lab的输入提供了包括预计定时的完整连接。器件可以工作在3.3v。pin—to—pin的延迟tpd=6ms,工作频率可达151.5mhz,能够与ep9315的amba总线时钟频率相匹配。epm7032支持多种设计输入,除原理图外还可以通过vhdl veriiog hdl和altera hardware description language (ahdl)。verilog hdl语言是一种硬件描述语言,能形式化地抽象描述电路的结构和行为,支持逻辑设计中层次与领域的描述,具有电路仿真与验证机制以保证设计的正确性,用于算法级、门级和开关级的建模。开发环境使用altera的max+plus。
总线控制器的实现与仿真
在pc/104总线内部,用一个信号int1查询相关的中断信号,使用片选信号cs3和地址信号laddr24和读写信号wr、rd选择mem或者10的读写方式。相关代码如下:
assign int1=(irq[3] || irq[4] || rq[5] || irq[6] || irq[7] || irq[9] || irq[10] || irq[11] || irq[12] || irq[14] || irq[15]);
assign memw=(cs3 || wr || laddr24);
assign memr=(cs3 || rd || laddr24);
assign iow=(cs3 || wr) || (~laddr24);
assign ior=(cs3 || rd) || (~laddr24);
使用max+plus部分仿真结果如图3所示。从波形上可以看出inti能够检测出中断产生,能够检测到mem和i/o读写请求。总线控制器把这些信号输入到arm处理器,完成对pc/109总线读写的控制。
图3 读写时序仿真波形
3 linux下的pc/104总线驱动程序的设计
在linux中,由于有设备文件,所以才能使得用户非常方便的访问外部设备,linux系统为外部设备提供一种标准接口,将外部设备视为一种特殊文件,可以像访问文件一样访问一个外部设备。linux通常将设备分为i种基本类型:字符设备、块设备和网络设备。在基于arm处理器的数控系统中把pc/104总线看作块设备。下面是pc/104代码的说明:
ngcs1_vbase=ioremap((ngcs1_phbase).2);
ngcs3_vbase=ioremap((ngcs3_phbase+baseaddr+laddr24),256);
config=inl(smcbcr1);
config &=0xcfffffff; //set ngcsi 8-bit
outl(config,smcbcr1);
config=inl(smcbcr1);
config=inl(smcbcr3);
config &=0xcfffffff; //set ngcs3 8-bit
eonfig 1=0x0000fbe0;
outl(config,smcbcr3);
config=ini(smcbcr3);
两部分比较主要一部分是初始化smcbcr1和smcbcr3。另一部分是:一个是pc/104的基地址,另一个是读pc/104中断的基地址。这两个要在初始化时就要给定:
ngcs1_vbase=ioremap((ngcs_phbase),2);
ngcs3_vbase=ioremap((ngcs3_phbase+baseaddr+laddr24),256);
其中ugcs1_vbase为读中数的ngcs3_vbase为pc/104mem的基地址。用操作系统担供的函数outl、inl可操作寄存器。
4 结语
本文创新点:提出一种基于arm ep9315处理器的数控系统上支持pc/104总线的方案.主要描述了arm数控系统中的pc/104总线控制器的设计与实现,使用cpld和verilog hdl语言。实现了ep9315对pc/104总线读写信号的控制和中断处理。完成了linux下的pc/104总线控制器的驱动程序.提供了基于arm处理器的数控系统的pc/104总线解决方法.弥补了arm处理器对于pc/104总线的支持不足缺点,使得arm处理器能够更广泛的应用于数控领域。
太阳能无人机:太阳能助力无人机,推动无人机的发展
磁场的一些奇妙之处
北京联通携手华为开启了茶产业博览会信息化服务的5G新模式
远程水位监测系统的详细介绍
CMX638与PCM3500接口电路设计
采用ARM EP9315处理器实现P0104总线的应用方案
开学季换一台新手机,iQOOPro5G版让你做校园里最靓的仔
通过物联网的各种功能来提升产品功效、降低成本,使设备更具备易用性
5G将开启万物广泛互联人机深度交互的新时代
PP磁翻板液位计工作原理
以电子产品设计全过程统领分析应用电子技术专业课程
vivo X30搭载双模5G终端支持60倍超级变焦
LED封装厂商依然对是否批量进入Mini LED背光市场犹豫不决
用可控硅制作的红外遥控开关电路的工作原理
骨传导蓝牙耳机什么牌子好、好的骨传导耳机推荐
测量4通道解串器上的偏斜裕量
什么是智能控制器_智能控制器图解
台湾成功大学研发出气体传感器拥有不输人类的触觉与视觉功能
轻薄小巧,商务时尚--海能达TD370商业数字对讲机
浅谈嵌入式Linux下的C语言编程知识要点