微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 工业电子 > 基于ARM数控系统的PC/104总线设计

基于ARM数控系统的PC/104总线设计

时间:04-28 来源:互联网 点击:
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处理器能够更广泛的应用于数控领域。

作者:高伟,何方,李锁      来源:《微计算机信息》(嵌入式与SOC)2009年第6-2期

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top