0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于LPC2214和S3C44B0X实现PCB钻床控制器的设计

电子设计 来源:微计算机信息 作者:殷苏民,张春树, 2020-12-20 12:24 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者:殷苏民,张春树,田涛,李占发

1.引言

印刷电路板钻床是印刷电路板生产中的重要装备,随着电子产品加工要求的提高,低档的基于单片机PCB 钻床控制器已经很难满足要求。ARM7TDMI 是20 世纪末ARM 公司提出的一种32 位的RISC 微控制器结构, 基于该内核的芯片种类丰富,具有运行速度高,功耗小和价格低的特点。本文介绍了一种基于双ARM 结构的PCB 钻床控制器,它既解决传统低档钻床控制系统性能不高的缺点,同时又具有很高的经济性,是高档PCB 钻床理想的控制器。

数控系统按结构分,一般有单 CPU 和多CPU 之分。单CPU 一般采用集中控制分时处理的方式完成数控系统的各项任务。它具有结构紧凑的特点,但是功能相对比较简单。多CPU 结构的数控系统采用多CPU 并行处理,可以使系统达到更高的性能。多CPU 一般采用共享总线或共享存储器方式进行通信。钻床控制器的控制对象比较复杂:需要控制4套松下MINAS交流伺服系统,4个主轴电机以及9路开关量输入,11路继电器输出。如果控制器采用单CPU结构,控制器需要扩展较多硬件,增加系统成本,降低了系统可靠性;如果控制器采用双CPU结构,控制器可以根据功能进行分层设计:将信息处理量大的人机交互系统任务交由一个CPU负责,而机床运动控制交由另一个CPU来处理。这样减少了外扩硬件的数量,降低了成本,提高了可靠性。具体是指:控制器用三星公司生产的S3C44B0X作为人机交互系统的CPU,用飞利浦公司生产的LPC2214作为机床运动控制系统的CPU。

2.控制器的硬件设计

控制器由系统板和接口板组成:系统板是由LPC2214 和S3C44B0X 及其相关外围电路构成的,是控制器的核心;接口电路板主要负责系统板和机床电器之间的驱动,电平匹配。系统的硬件结构参考图1。

基于LPC2214和S3C44B0X实现PCB钻床控制器的设计

图1 控制器硬件结构图

2.1 控制器系统板硬件设计

控制器系统板由两个子系统组成:人机交互系统和机床运动控制系统。人机交互系统和机床运动控制系统通过I2C 总线进行数据交换。I2C 总线是飞利浦公司提出的串行总线,具有速度较高,硬件连接十分简单,无需增加硬件的特点。

2.1.1 控制器人机交互系统的硬件设计

控制器人机交互系统采用 S3C44B0X 为核心,扩展一系列硬件,构成一个具有完善的人机交互功能的系统。系统扩展了一片具有16 位数据宽度,2MB 的存储空间的NOR 型Flash 存储器芯片SST39VF1601 作为系统程序存储器。为了提高系统程序的执行速度,我们扩展了一片1M*4Bank*16I/O 的HY57V641620 型SDRAM。系统一上电,系统初始化程序就把SST39VF1601 中存储的系统程序拷贝到HY57V641620 中,同时,系统程序的数据存储区也在HY57V641620 中,这样系统程序可以完全在SDRAM 中运行。为了保证机床钻孔文件在机床停电后仍然能够保存,系统扩展了一片16MB Nandflash 芯片K9F2808 作为系统的电子硬盘。由于S3C44B0X 自带液晶显示控制器,所以系统选用三菱公司生产的不带液晶显示控制器的STN 型256 色640x480 像素的EDMGRB8KHF 液晶显示模块作为机床信息的输出。系统操作信息的输入采用PS/2 键盘。系统通过RS232 串口从PC 机上下载钻孔文件。为了方便系统调试程序,人机交互系统设计了一个JTAG 口。

机床的一些重要的参数例如像机床进给轴丝杠的螺距,交流伺服系统的脉冲当量等数据需要永久保存,所以系统扩展了一片512B 的基于I2C 总线的EEPROM 芯片AT24C04 。机床人机交互系统电路结构如图1 控制器系统板中以S3C44B0X 为中心的硬件结构。

2.1.2 机床运动控制系统硬件设计

机床运动控制系统的核心是 LPC2214 微控制器。LPC2214 内部自带256KB 的flash存储器和16KB 的SRAM,无需外扩程序存储器和数据存储器。系统设计了一个RS232串口,用于LPC2214 系统程序的ISP 下载。为了便于调试程序,运动控制系统设计了一个JTAG 口。机床运动控制系统电路结构如图1 控制器系统板中以LPC2214 为中心的硬件结构。机床电器都通过接口电路直接与LPC2214 相连。其引脚分配如下所示:

2.1.3 人机交互系统和机床运动控制系统的通信

数控系统的加工指令经过S3C44B0X 的处理后要传给LPC2214 进行执行,而LPC2214执行的结果要返回给S3C44B0X 进行处理和显示。系统采用I2C 总线进行通信。S3C44B0X工作在主器件模式,而AT24C04 和LPC2214 工作在从模式。AT24C04 的从地址是0xa0,LPC2214 的从地址是0x50,I2C 的速率为400KHz。S3C44B0X 和LPC2214 各自建立一个24 字节的全局数组进行通信。

3.软件设计

软件部分主要由人机交互系统软件和机床运动控制系统软件组成。人机交互系统软件结构比较复杂,所以软件移植了μC/OS-II 操作系统。机床运动控制系统软件结构比较简单,但是这部分软件有很强的实时性要求,所以软件没有移植操作系统,而是采用时间触发模式编写。

3.1 人机交互系统软件设计

人机交互系统软件采用分层方式进行编写。软件分为系统层和应用层。系统层设计的主要任务是首先进行嵌入式操作系统μC/OS-II 移植,然后再对操作系统内核进行扩展,形成一个简单高效的平台。应用层设计是在这个平台的基础上实现加工文件的操作,机床手动加工,机床自动加工,机床参数设置等任务。

系统层以μC/OS-II 操作系统内核为基础进行移植和扩展。所谓移植,是指通过编写一定代码,使得操作系统能够在特定的处理器平台上运行。根据μC/OS-II 的说明,移植包括对与处理器相关的OS_CPU.H,OS_CPU_A..ASM,OS_CPU_C.C 三个文件中的代码进行移植[4]。在μC/OS-II 提供的内核基础上,通过设计驱动程序模块,系统任务,操作系统的API 函数和任务调度模块等对操作系统内核进行扩展。通过设计实现LCD,键盘,K9F2808,I2C 总线和串口通信等的接口函数,建立驱动程序模块,使操作系统API 函数和底层硬件分开。系统任务部分设计了LCD 刷新任务,键盘读取任务,I2C 总线读写任务这三个基本任务,并随着操作系统的启动而运行。

应用层在系统层提供的 API 函数的基础上,设计了主任务和机床手动加工,自动加工,文件传输,参数设置等任务。系统的入口函数Main 函数流程如图2 所示。主任务函数结构如图3 所示:

3.2.LPC2214 程序设计

机床运动控制系统控制程序结构比较简单,程序模块间相对独立,但是实时性要求很高。由于嵌入式实时操作系统会占用一部分系统资源,影响系统的实时性,增加系统设计难度,所以,我们没有移植嵌入式实时操作系统,而是使用简单时间调度方式。使用该调度方式可以使程序具有较好的健壮性和稳定性。系统采用定时器来产生系统调度的节拍,利用定时器中断程序进行调度。系统使用定时器0 产生系统的节拍,定时周期为1ms。系统利用PWM控制器的中断和四个比较寄存器控制交流伺服系统进给脉冲的生成。我们把任务分成两类:一类为周期任务,另一类为非周期任务。每一个任务都有一个任务控制块,任务控制块的数据结构如下:

typedef data struct

{void (*P_task)(void); //指向任务的指针

unsigned int Delay; //延时时间

unsigned int Period; //任务再次运行的间隔时间

unsigned int run; //任务需要运行的次数

}task;

任务控制块包含了任务被调度的重要信息:任务是周期任务还是非周期任务,以及任务在何时运行,任务准备就绪的标志等。控制系统的主要任务有:X 进给轴脉冲发送任务,Y 进给轴控制任务,Z1 进给轴控制任务,Z2 进给轴控制任务,主轴电机控制任务,换刀任务等。

4.结束语

在控制器方案考虑和设计中,我们充分考虑了嵌入式系统对功耗,成本和尺寸的敏感性。基于I2C 的双ARM 结构的钻床控制器具有性能优良,系统集成度高,性能可靠,人机交互友好,可扩展性好的特点,相对于传统的基于单片机的钻床控制器在性能上有很大的提高。本设计为嵌入式系统在印刷电路板控制器中的应用提供了新的思路,具有较好的应用价值。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • pcb
    pcb
    +关注

    关注

    4391

    文章

    23740

    浏览量

    420590
  • 控制器
    +关注

    关注

    114

    文章

    17638

    浏览量

    190165
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11216

    浏览量

    222858
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于S3C44B0X的WAVE音频文件播放

    采用S3C44B0X内置IIS总线和音频数模转换芯片CS4334,本文搭建了以二者为核心的工作平台,并详细讨论了基于此平台实现播放WAVE音频文件的方法.由于S3C44B0X及CS4334模块具有较强的通用性
    发表于 11-09 17:08 2066次阅读
    基于<b class='flag-5'>S3C44B0X</b>的WAVE音频文件播放

    S3C44B0X pdf

    S3C44B0X p
    发表于 06-27 09:37 76次下载

    s3c44b0x中文资料,s3c44b0x中文数据手册

    S3C44B0X 中文数据手册...........................................................116 IIC 总线接口
    发表于 06-27 09:40 152次下载

    S3C44B0X lcd控制器

    S3C44B0X内置LCD控制器可以支持规格为每像素2位(4级灰度)或每像素4位(16级灰度)的黑白LCD。也可以支持每像素8位(256级颜色)的彩色LCD屏。LCD控制器可以通过编程支持不同LC
    发表于 09-11 16:51 1次下载

    S3C44B0X的培训资料及源代码程序

    S3C44B0X的培
    发表于 12-25 22:08 37次下载
    <b class='flag-5'>S3C44B0X</b>的培训资料及源代码程序

    基于S3C44B0X微处理的JFFS2件系统的实现

    基于S3C44B0X微处理的JFFS2件系统的实现
    发表于 03-28 09:50 16次下载

    三星S3C44B0X目标板的μClinux Bootload

    三星S3C44B0X目标板的μClinux Bootloader详细说明。
    发表于 03-28 09:51 35次下载

    S3C44B0X与LM2028的接口及其编程

    简要描述了S3C44B0X 内置的LCD 控制器和图形点阵式液晶显示模块LM2028的主要特性,给出了S3C44B0X 与LM2028 的硬件电路连接图。并在此基础之上,详细介绍了基本图形、图像、中英文字符
    发表于 06-11 10:01 18次下载

    μC/OS-Ⅱ在S3C44B0X上的移植

    本文简介了一种实时多任务内核μC/OS-Ⅱ。并根据S3C44B0X 芯片的硬件特性,给出了一种把μC/OS-Ⅱ移植到S3C44B0X 上的方案。关键词:实时多任务内核;μ
    发表于 08-31 11:46 18次下载

    基于S3C44B0X处理的VxWorks中断设计

    通过基于立宇泰S3C44B0X 开发板的BSP 移植调试,阐述了VxWorks 的异常中断处理机制,实现了VxWorks 基于S3C44B0X 处理的中断处理,并以外部中断EINT4
    发表于 09-03 11:25 17次下载

    S3C44B0X中文手册 pdf

    S3C44B0X中文数据 三星的S3C44B0X 16/32位RISC处理被设计来为手持设
    发表于 02-10 12:07 254次下载

    S3C44B0X datasheet, RISC MICRO

    S3C44B0X d
    发表于 03-09 09:47 35次下载

    微处理S3C44B0X音频文件播放

    微处理S3C44B0X音频文件播放 S3C44B0X是三星公司针对嵌入式系统推出高性价比微处理,它是基于ARM7TDMI内核的16/32位RISC处理
    发表于 03-16 11:46 865次阅读
    微处理<b class='flag-5'>器</b><b class='flag-5'>S3C44B0X</b>音频文件播放

    S3C44B0X微处理内置LCD控制器

      引言   S3C44B0X微处理是三星公司专为手持设备和一般应用提供的高性价比和高性能的微控制器解决方案。它使用ARM7TDMI核,工作在66MHz,集成了LCD控制器等外围器
    发表于 08-30 10:18 1883次阅读
    <b class='flag-5'>S3C44B0X</b>微处理<b class='flag-5'>器</b>内置LCD<b class='flag-5'>控制器</b>

    S3C44B0X原理图

    S3C44B0X原理图:
    发表于 09-14 15:28 167次下载
    <b class='flag-5'>S3C44B0X</b>原理图