最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

基于S3C2410A嵌入式硬件平台与接口设计

来源:动视网 责编:小OO 时间:2025-10-01 02:05:14
文档

基于S3C2410A嵌入式硬件平台与接口设计

基于S3C2401A嵌入式硬件平台与接口设计摘要随着微型计算机技术,嵌入式系统,数控技术和集成电路的快速发展,功能强大的数控系统,可实现高速CPU芯片和RISC(精简指令集计算)芯片具有体积小,稳定性强。此外,实时操作系统也使得实现嵌入式系统成为可能。发展基于嵌入式技术的数控系统克服一些常见的基于PC的数控系统,如资源浪费,控制精度低的缺点,低频率和集成度低。本文讨论了电子海图的硬件平台(嵌入式数控)基于嵌入式处理器芯片ARM(高级RISC机)S3C2410与DSP(数字信号系处理器)MCX3
推荐度:
导读基于S3C2401A嵌入式硬件平台与接口设计摘要随着微型计算机技术,嵌入式系统,数控技术和集成电路的快速发展,功能强大的数控系统,可实现高速CPU芯片和RISC(精简指令集计算)芯片具有体积小,稳定性强。此外,实时操作系统也使得实现嵌入式系统成为可能。发展基于嵌入式技术的数控系统克服一些常见的基于PC的数控系统,如资源浪费,控制精度低的缺点,低频率和集成度低。本文讨论了电子海图的硬件平台(嵌入式数控)基于嵌入式处理器芯片ARM(高级RISC机)S3C2410与DSP(数字信号系处理器)MCX3
基于S3C2401A嵌入式硬件平台与接口设计

摘要

    随着微型计算机技术,嵌入式系统,数控技术和集成电路的快速发展,功能强大的数控系统,可实现高速CPU芯片和RISC(精简指令集计算)芯片具有体积小,稳定性强。此外,实时操作系统也使得实现嵌入式系统成为可能。发展基于嵌入式技术的数控系统克服一些常见的基于PC的数控系统,如资源浪费,控制精度低的缺点,低频率和集成度低。本文讨论了电子海图的硬件平台(嵌入式数控)基于嵌入式处理器芯片ARM(高级RISC机)S3C2410与DSP(数字信号系处理器)MCX314AL和介绍了电子海图系统的软件开发过程。最后写的MCX314AL下嵌入式Linux操作系统的驱动程序。嵌入式Linux操作系统,可以处理多任务以及此外,满足运动控制的实时性和可靠性。数控系统具有最佳利用资源优势嵌入式技术和紧凑的系统。它提供了丰富的功能和优越的性能与较低成本。可以肯定,ENC是未来的发展方向。

关键词:S3C2410; MCX314AL;数控系统;嵌入式Linux

1、引言

    本文提出了一种基于嵌入式微处理器的ARM9-S3C2410与DSP的数控系统的硬件设计运动控制MCX314AL。S3C2410是一个典型的32位RISC芯片,具有体积小的优势,低功耗,高速度和高集成芯片等。由日本新星公司介绍MCX314AL是4轴运动控制IC,可控制4轴步进电机驱动器或脉冲式伺服驱动器的位置,速度和插补控制。所有MCX314AL的职能是由特定的寄存器控制。有命令寄存器,数据寄存器,状态寄存器和模式寄存器。我们移植基于ARM的嵌入式Linux软件平台。正如我们所知,嵌入式Linux系统是稳定的,功能强大,更多的应用软件,方便,使用和成本低。S3C2410和MCX314AL设计的经济型数控系统为我们提供的高集成度,高可靠性,低成本等显着特点。

2、硬件设计

    硬件平台组成的ARM9 S3C2410的主板和MCX314AL的运动控制卡。单独设计有利于模块化和标准化的硬件架构和各个模块的接口,将带来巨大的方便维护和升级的模块或硬件。总线接口电路设计基于ARM9主板扩展了S3C2410的信号线,其中包括16数据线,12个地址线,片选信号和读写控制信号。这将是为用户更方便以扩大其应用电路。数据线,地址线,读写控制线,片选信号中断S3C2410和MCX314AL信号通过这个总线接口连接正确。在运动控制的过程中,实时控制和管理任务是由S3C2410的实现。某些功能完成MCX314AL如硬件插补,伺服控制和位置反馈等。thehardware硬件结构如图1所示。

图1。硬件结构

    MCX314AL有144针。我们可以建立最小的MCX314AL制度,只要确保16 MHz的晶体,使EXPLSN和TESTN高层次,连接电源VCC和GND,连接数据线,地址线,读写信号正确。因此MCX314AL可以正常运行。运动控制卡的组成如图2所示。

图2。运动控制卡的组成

    MCX314AL功能直接影响系统的整体性能。通过特定的寄存器控制,如命令寄存器,数据寄存器,状态寄存器和配置寄存器,它的所有功能。我们的地址A0〜A2的MCX314AL,来产生的MCX314AL的内部寄存器地址连接的S2C2410 A1-A3的地址。 MCX314AL可以自动计算的出发点和目的地之间的中间点的数量,当它接收从S3C2410的制造业信息化的基本数据,如出发点和目标线,进给速度和工具的参数等喜欢这一点,将描述工件的轮廓和提供的行驶速度和运动控制的运动轨迹,从而实现其插值函数。

为了使数控运动控制系统稳定,脉冲信号输出从MCX314AL外或反馈信号从机器到MCX314AL光电隔离。同时,我们使用RC电路,其中包括一些电阻和电容滤波电路的信号。总之,硬件的设计应满足在工业控制领域的高稳定性和高可靠性的要求。

3、嵌入式数控系统软件的研制

    开发电子海图系统软件的一般过程包括建立交叉编译环境,Bootloader的设计和移植,移植的操作系统内核,根文件系统的移植和数控应用程序的开发。

(1)建立交叉编译环境

    交叉编译器,它可以在一个平台上运行的代码生成另一个平台上。我们采取的交叉编译器,开发电子海图系统软件,因为ARM的编制过程中不能提供足够的资源。因此,我们要编译应用程序的高性能PC,那么我们就可以得到可在ARM上运行的代码。在电子海图系统软件的设计过程中,无论是设计或引导代码,建立操作系统和其他应用软件的设计必须设计并首先在PC上的交叉编译器所产生的各种代码文件。然后我们就可以运送到ARM这些代码文件。

下载软件包“cross-3.3.2.tar.bz2”,把它复制到目录“/usr/local/arm/”,然后运行命令“tar jvxf cross-3.3.2.tar.bz2”。

添加环境变量下“/etc/bashrc”,如下

“export PATH=$PATH:/usr/local/arm/3.3.2/bin” 

因此,在PC上的交叉编译环境已经建立。

(2)的Bootloader的设计与移植

    我们使用的Bootloader是VIVI。首先下载源代码包“vivi.tar.bz2”,其次解压并进入VIVI源代码目录,第三按照与ARM上运行命令“make menuconfig命令配置内核,并建立我们的配置文件。第四后,我们保存集和运行“make”,我们将看到在当前目录中的VIVI的二进制映像文件。最后这个二进制映像文件下载到ARM,然后进行测试,并执行这个Bootloader的。

(3)移植嵌入式Linux系统的内核

    下载源码包“linux2.4.20.tar.gz”,将它复制到目录“/ usr / src目录/”,然后运行命令:

# tar zxf linux2.4.20.tar.gz

# cd linux2.4.20

# make menuconfig

进入配置界面,配置内核根据自己的情况,然后保存并退出。运行命令:

# make dep

# make zImage

我们获得的文件“zImage”目录下的“/ usr/src/linux2.4.20”,然后和zImage文件可以加载到ARM板的闪光灯。现在,我们已经完成了移植嵌入式Linux系统的内核。

(4)移植(RFS)的根文件系统

    我们已获得在目录“/root/ FS/ren”RFS的。其格式是CRAMFS。运行命令“的mkcramfs任S3C2410.cramfs”创建CRAMFS RFS的图像文件。然后装入ARM板S3C2410.cramfs。现在我们已经完成了移植嵌入式Linux的RFS的。

(5)数控应用程序的发展

    数控应用程序只能完成一些工作,实时还不是很高的数控。然后根据该方案,我们可以实现复杂的运动控制以及其他NC功能,通过调用API函数较低。数控应用程序包括很多,如图形界面的管理模块,NC代码译码,刀具补偿,等等。图形界面模块包括状态显示,图形模拟,系统配置,数据管理,数控文件编辑和管理,还帮助信息。我们使用QT / Embedded的图形界面开发模块。

4、MCX314AL的驱动设计

    如果我们想以经营Linux操作系统MCX314AL的,我们必须对嵌入式Linux设计驱动的MCX314AL。

模块化的驱动程序的设计步骤和关键功能代码如下:

(1)编写的驱动程序,根据与MCX314AL和S3C2410之间的硬件接口。值得注意的是,在用户空间中运行的应用程序使用Linux中的虚拟地址。因此,当写驱动程序,我们还需要使用“的ioremap()”函数的虚拟地址转换成物理地址。

(2)定义设备的数量,数控设备在嵌入式Linux的独特的识别名称。司机被定义如下:

#define DEVICE_NAME “ARM_NC”

#define NC_DEVICE_NUMBER 252

(3)设计的初始化函数和实现注册和卸载驱动程序。当我们编写一个模块化的驱动程序,通常是进口功能“init_module()”模块。在这个函数中,我们应该完成的数控设备的登记,建立档案系统的连接和初始化一些的MCX314AL的寄存器。

/* Initialize the module */

static int init_module (void)

{

┉┉┉

   /*Register the device in the core*/

   result=register_chrdev (NC_DEVICE_NUMBER, DEVICE_NAME ,&NCdriver_fops);

if (result<0)

     {

       printk (“Can’t get NCdriver device number\\n”);

       return result;

      }

     printk ("Congraulation, NC drivers are successfully registed.\\n");

     ┉┉┉

    pLedData=ioremap(0x10000000,0x10);

    ┉┉┉

    iounmap(pLedData); /*Release the address*/

    return 0;

    }

调用函数“在cleanup_module()”当卸载模块和数控设备卸载后在自由状态。

static void cleanup_module(void)

{

   ┉┉┉

   if(unregister_chrdev(NC_DEVICE_NUMBER, DEVICE_NAME)!=0)

   {

   printk ("Can't stop reading NC module\\n");

   }

}

(4) Design the file operations and define the structure “file_operations”.

struct file_operations NCdriver_fops={

owner: THIS_MODULE,

    read:

    write:

    ioctl:

    open:

    release: NCdriver_release};

(5)实现调用的文件操作功能,如读,写等。在这些功能中,“IOCTL”包含MCX314AL的一些特殊功能。但是读写的实现是相似的,在这里我们只简单介绍功能写的:

int NCdriver_write(struct file *file, char *buf, size_t offset,loff_t *f_pos)

{

     ┉┉┉

if (verify_area(VERIFY_WRITE,buf,4) == -EFAULT )

return -EFAULT;

     ┉┉┉

copy_from_user(tmp1,buf,4);

nc_data=tmp1[0]|(tmp1[1]<<8)|(tmp1[2]<<16)|(tmp1[3]<<24);

     ┉┉┉

pLedData=ioremap(NC_base_addr,0x10); /*Get the virtual address, the device base address*/

pLedData1=(pLedData+offset);

writel((NC_data),pLedData1);

     ┉┉┉

iounmap(pLedData);

     return 0;

}

(6)实现突破服务和注册request_irq的内核。

(7)交叉编译器驱动程序和下载到ARM板。然后装入嵌入式Linux内核驱动模块和调试它,直到迎接挑战。

5、结论

    基于微处理器S3C2410的和MCX314AL数控系统的硬件设计,提供了一个更加方便,可靠的控制单元,简化了其丰富的功能,实现运动控制。它还可以显着降低研发任务,提高发展速度,轻松获得数控系统具有高速度,高精度,高效率,高可靠性,低成本,并在很短的时间。嵌入式Linux操作系统,可以很好地处理多任务,并确保系统的实时。电子海图系统克服一些常见的基于PC的数控系统的缺点,如资源浪费,控制精度低,低频率和低集成。我们相信,基于嵌入式技术的数控系统将迅速发展,并成为一个热点。

参考

1、孙吉坤,张小quan.The发展科技的嵌入式Linux系统的基础上,中国ARM.Beijing:人民邮电出版社,2006年8月。 (在中国)

2、叶朋清,王进song.Motion控制芯片MCX314数控系统Design.Beijing,中国:北京航空航天大学出版社2002年11月大学。 (在中国)

3、徐爱军,徐艺萍,周建中,张罗,平“的硬件4轴运动基于ARM的&MCX314控制器”,河南科技大学学报:自然科学版,28(1) 23-25日(2007年)。 (在中国)

4、朱四国,常江红,杨曦,黄砚秋“,MCX314As的运动控制芯片Basd的多轴运动控制器的设计”,工业控制计算机,20(3),67-68(2007)。 (在中国)

5、张金欢,“嵌入式数控系统的研究与发展”,数字化制造,2006年第一届研讨会。

6、新星电子。 MCX314As/AL用户手册Ver.1.02007-07-02。

7、三星ELECTRONICS.S3C2410A为200MHz及266MHz的32位RISC微处理器用户手册rEVISION1.0的2004年。

文档

基于S3C2410A嵌入式硬件平台与接口设计

基于S3C2401A嵌入式硬件平台与接口设计摘要随着微型计算机技术,嵌入式系统,数控技术和集成电路的快速发展,功能强大的数控系统,可实现高速CPU芯片和RISC(精简指令集计算)芯片具有体积小,稳定性强。此外,实时操作系统也使得实现嵌入式系统成为可能。发展基于嵌入式技术的数控系统克服一些常见的基于PC的数控系统,如资源浪费,控制精度低的缺点,低频率和集成度低。本文讨论了电子海图的硬件平台(嵌入式数控)基于嵌入式处理器芯片ARM(高级RISC机)S3C2410与DSP(数字信号系处理器)MCX3
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top