基于嵌入式ARM CPU实现并行总线外部扩展的方法 【技术领域】
本发明涉及一种基于嵌入式ARM CPU实现并行总线外部扩展的方法,使ARM系列CPU应用于工控领域的开发平台,可广泛应用于测控、通讯等工控领域的应用。
背景技术
在工控领域,由于工程现场设备的接口类型繁多。不是一种总线接口可以满足要求。通常为了满足现场的需求,设计人员会选择几种不同的CPU平台作为产品开发的基础。为了避免这一现象,就需要设计一种通用的平台,在外部接口变化时,不影响平台的设计和应用。基于嵌入式ARM CPU实现并行总线外部扩展其实是将总线接口进行统一,这样在设计时,可以不修改CPU平台,只修改接口电路。或将接口电路设计成可以插拔的。这样就可以满足工程现场通讯多样性的要求。
【发明内容】
本发明所要解决的技术问题是提供一种CPU平台的总线外部扩展方法,在外部接口变化时,不影响平台的设计和应用。
为解决上述技术问题,本发明提供一种基于嵌入式ARM CPU实现并行总线外部扩展的方法,其特征在于,包括以下步骤:
1)将ARM的数据总线、地址总线和控制总线都引入到CPLD的管脚上,同时将输出总线也引入到CPLD的管脚上;
2)对CPLD各个管脚进行定义;
3)控制CPLD各输出信号的时顺,使输出的时序与输出总线时序相吻合。
前述的基于嵌入式ARM CPU实现并行总线外部扩展的方法,其特征在于:所述输出总线为ISA总线。
术语定义:
ARM:ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。适用于多种领域。
CPLD:CPLD是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。
ISA总线:即工业标准结构总线。总线有8位和16位两种工作模式。ISA总线频率为8MHz左右。它的应用范围很广,几乎所有的主板都保留了ISA总线的扩展槽。
时序:总线上的数据总线、地址总线和控制总线之间的时间顺序。
本发明所达到的有益效果:
本发明针对以ARM为典型代表的高档嵌入式微处理器应用中,设计出基于ARM+CPLD的并行总线外部扩展方法。可以根据具体应用的接口不同,通过修改CPLD的程序,实现不同的总线接口规范,以满足多种产品的设计需求。以ISA总线的实现为例,通过对CPLD编程,实现ARM总线的时序与外部接口时序的转换。模拟出ISA总线的时序,从而可以将外部标准的ISA总线设备方便的接入到本系统中,便于整个装置的扩展应用。
【附图说明】
图1是本发明的硬件组成示意图;
图2是本发明的程序功能图;
图3是本发明中的ISA总线时序图;
图4是本发明中的双向总线实现原理图。
【具体实施方式】
图1是本发明的硬件组成示意图。在硬件设计上,将ARM的数据总线、地址总线和控制总线都引入到CPLD的管脚上,同时将输出的ISA总线也引入到CPLD的管脚上。通过这样的连接后,不管扩展出来的ISA总线上接有多少个设备,对ARM来说他只负责与对应的CPLD进行数据交互,可以有效地降低ARM总线的负载。避免了因总线上设备过多而驱动不了地现象,增强了ARM对外围设备的驱动能力。CPLD在这里相当于一个ISA总线桥,实现ISA总线与ARM内部总线的桥接功能。
图2是本发明的程序功能图,在硬件平台的基础上,通过软件对他们各个管脚进行定义。然后对照ISA总线的时序进行相应的编程。严格控制各信号的时间顺序使输出的时序与ISA总线时序相吻合。
在对CPLD编程的过程中,需要特别注意对数据总线的处理,由于数据总线是个双向总线,这就决定了对它的控制要比对地址总线和控制总线的处理更加复杂。
图4是本发明中的双向总线实现原理图,图中A_OUT_OE,A_OUT,A_IN均为CPLD内部信号,A则是CPLD的引脚信号名。显然,A_IN始终反映了A的实际状态,即引脚输入,A_OUT受A_OUT_OE控制,当A_OUT_OE为高的时候A_OUT可以通过三态缓冲器输出到引脚上,即引脚输出。因此,在CPLD/FPGA内部定义A_IN(实际上A_IN就是A),A_OUT,A_OUT_OE三个信号用于内部逻辑,并合适地产生A_OUT_OE信号,就可以实现双向引脚,从而实现数据总线的控制。
与原来使用的基于X86的PC104平台相比,使用该方案后,原来的产品中的相应功能模块都可以直接在ARM平台上使用,大大地降低了产品成本和备品的数量。
以上仅以最佳实施例对本发明做进一步的说明,然其并非对本发明的限定,本发明的保护范围以表示在权利要求的内容为准。