资源描述:
第 1 2期 2 0 1 4年 1 2月 组 合 机 床 与 自 动 化 加 工 技 术 M o du l a r M a c h i n e To o l Au t o m a t i c M a n uf a c t ur i n g Te c hn i q ue NO . 1 2 De c .2 01 4 文章编号 1 0 0 1 2 2 6 5 2 0 1 4 1 2- 0 1 0 9 0 4 D O I 1 0 . 1 3 4 6 2 / j . e n k i . m m t a m t . 2 0 1 4 . 1 2 . 0 2 9 基于 F P G A的机床数控系统主从控制器通信研究 李剑伟, 周晨钟 , 皮佑国 华南理工大学 自主系统与网络控制教育部重点实验室, 广州 5 1 0 6 4 0 摘要 针对机床数控 系统主从式控制结构的 串行通信需求 , 文章基于现场可编程逻辑阵列 F P G A 设 计 了实现 R S 4 2 2串行通信协议的通信接 口。由 F P G A完成双通道异步收发器 U A R T , 双缓 冲先进 先 出 F I F O 存储 器等通信接 口功能, 在此基础上完成主控制器和从控制器的 串行通信软件设计。通 信实验结果表 明, 文 中提 出的解决方案, 实现 了机床数控 系统主从控制器间的 串行通信。 关键词 F P G A; 串行通信; 主从式控制 ; 通信协议 中图分类号 T H1 6 6 ; T G 6 5 文献标识码 A Re s e a r c h o f NC M a c hine To o l s S y s t e m M a s t e r - s l a v e Co nt r o l l e r Co n nn uulc a t i o n Ba s e d o n FPGA L I J i a n . w e i , Z HOU C h e n z h o n g , P I Y o u . g u o K e y L a b o r a t o r y o f Au t o n o mo u s S y s t e ms a n d Ne t w o r k C o n t r o l Mi n i s t r y o f E d u c a t i o n, S o u t h C h i n a Un i v e r s i t y o f T e c h n o l o g y ,Gu a n g z h o u 5 1 0 6 4 0.C h i n a Ab s t r a c t Co n s i d e ring o f t h e C O 1 T I I B U n i c a ti o n n e e d s o f NC ma c h i n e t o o l s s ys t e m ma s t e r . s l a v e c o n t r o l s t r u c . t u r e , t h i s p a p e r b a s e d o n fi e l d p r o g r a mma b l e l o g i c a r r a y F P GAd e s i g n t o i m p l e me n t R S 4 2 2 s e ri a l c O I n l T I U ni c a t i o n pr o t o c o l c ommu mi c a t i o n i n t e rfa c e . F PGA c o mp l e t e the e x t e n d e d c o mmu n i c a ti o n i n t e rfa c e f u n c tio n o f d u a l c h a n n e l a s y n c h r o n o u s t r a n s c e i v e r u AR T , d o u b l e b u f f e ri n g fi r s t i n fi r s t - o u t F I F O me m o r y , o n th i s ba s i s c o mp l e t e d d e s i g n the s e r i a l c o mmu n i c a ti o n s o f t wa r e o f ma s t e r s l a v e c o n t r o l l e r s . Commu n i c a t i o n e x p e r i . me n t a l r e s u l t s s h o w t h a t the p r o p o s e d s o l u t i o n i mp l e me n t the s e ria l c o mmu n i c a t i o n b e t we e n NC ma c hi n e t o o l s s y s t e m ma s t e r s l a v e c o n t r o l l e r s. Ke y wo r d sH ’ GA ;s e r i a 1 c o mmu n i c a ti o n;ma s t e r s l a v e c o n tro l l e r ;c o mm u n i c a tio n p r o t o c o l 0 引言 制造业现代化 的重要基础是数控技术和数控装 备, 数控技术是当今先进制造技术和装备的核心技术。 数控机床是工作母机 , 是装备制造业的基础 , 反映一个 国家制造业的基础实力。数控机床的核心功能部件是 数控系统 , 数控系统由给进伺服驱动、 运动控制器和人 机接口组成。现今 , 给进伺服驱动 、 运动控制器和人机 接口的控制器多采用微控制器 , 并按照一定 的结构将 它们连接起来。主从式控制结构是数控系统的一个重 要的发展方向, 在控制精度上使系统能满足较高的要 求⋯。在主从式控制系统 中, 主控制器承担着协调整 个系统的工作, 如加工程序译码、 刀具补偿 、 主轴和现 场连锁 、 系统检测 、 保护、 与上级计算机和与下级运动 控制器之间的通信 、 以及系统显示、 操作等人机接 口功 能 以下 将 主控 制 器 简称 为人 机 接 口 。运 动控 制 器 作为从控制器则实现多轴速度和位置设定计算和控 制 、 机床和驱动状态实时监测等任务。由上可知 , 主从 控制器间通信的数据量较大, 连锁保护等信息实时性 要求较高 , 如果只利用微控制器本身的串行通信功能 , 将消耗较多的资源甚至降低系统的实时性。现场可编 程 门阵列 F P G A基 于 门阵 列方 式 提供 可 编 程资 源 , 用 户可据需要灵活制定 电路 , 该 电路可以与 C P U并行工 作而不 消耗 C P U资 源 。本 文 用 F P G A实 现 数 控 机 床主从控制器的通信 , 在对数控机床主从控制器之间 通信的硬件平台进行简要介绍 的基础上, 详细讨论 了 主从控制器间的通信方案设计 , 并通过通信实验验证 了设计方案 的有效性 。 1 控制器硬件选型及 其通信 需求 主控制器选用 A R M 三星的 3 C 2 4 4 0 为控制器 , 运动控制器选用 D S P T I 的 T MS 3 2 0 C 6 7 1 3 为控制器。 主控 制 器 的通 信 功 能 由 A c t e l公 司 的 A 3 P 0 6 0 和 MA X 4 9 3 0实现 , 从控制器的通信功能 由 A c t e l 公 司的 A 3 P 4 0 0和 MA X 4 9 3 0实现。主从控制器之间采用传输 速率高、 抗干扰能力强的 R S - 4 2 2串行通信 , 利用 F P G A 实现传输数据的并/ 串、 串/ 并转换。主控制发送的信 息主要包括 解析后 的 G代码 , 伺服驱动调试指令 , 伺 收稿 日期 2 0 1 4 0 4 0 3 修 回日期 2 0 1 4 0 5 0 5 作者简介 李 剑伟 1 9 8 9 一 , 男 , 南 昌人 , 华 南理 工大学 硕士研 究生 , 研 究方 向为嵌入 式技 术与应 用, Ema i l l j w h e r o 1 6 3 . e o m; 皮佑 国 1 9 5 3 一 , 男, 重庆开县人, 华南理工大学教授 , 博士生导师 , 研究方向工业 自动化和数控系统 , Em a il a u y g p i s c u t . e d u . C R 。 1 1 0 组合机床与 自动化加工技术 第 1 2期 服驱动配置指令等数据。从控制器主要返回的信息包 括 机床故障信息, 伺服驱动监测信息等数据 。 2 主从控制器通信方案 2 . 1 主从控制器硬件接口电路 A R M与 F P G A之间采用 E B I E x t e r n a l B u s I n t e r f a c e 静态存储器接 口 S R A M 与 F P G A进行通信和外 部总线控制方式进行通信, 通信双方统一按照异步 R A M时序进行读写操作, 采用 8位并行数据传输。其 中 D A T A[ 7 0] 为数据 总线 , A D D R[ 1 1 0] 为地址总 线, n G C S 5为片选信号 , n O E和 n WE分别为读、 写使能 信号线 , C L K O U T 0作为 A R M对 F P G A的时钟信号输 出, 时钟 频 率 为 1 0 0 MH z 。G P G 8 、 G P G 9 、 G P G 1 2和 E I N T 1 7分别接上 F P G A上的 E MP R、 F U L R、 E M P T、 F UL T信号, 分别接收模块 中 F I F O的数据空和数据 满 , 发 送模 块 中 F I F O的数 据 空和数 据 满 。A R M 与 F P G A接线 图如 图 1所示 。 C LK A D D R [ 1 1 O l _l Ⅺ】 D A T A [ 1 5 0 l H Ⅺ】 c s l ks e l AR M W R I 】 E FP CA GP G1 2 I M P R GP G 9 兀 几 R GP 硎P T EJ 盯1 7 F ULT 圈 1 ARM 与 F P GA 接线 图 D S P通过片外存储器接 口 E x t e rna l Me mo r y I n t e r f a c e , E MI F 访问 F P G A, 实现存储器地址连续 的无缝 连接。这种方式具有寻址空间大, 异步时序配置方便 等优点。D S P为主 C P U, 其中 D A T A [ 1 5 0 ]为数据总 线, E A[ 1 7 2 ]为地址 总线 的一部份, T S D R A S 、 T S D C A S和 T S D WE作 为控 制总线 , 控 制 F P G A的操作 , E C L K O U T为 D S P提供 给 F P G A 的时钟输 出 , 时钟频率 为 1 0 0 MH z 。由 T C E 2和 D S P的 E A 2 一 E A1 7地址 线 组 合译码产生地址的读写。D S P的 G P I O口连接到 F P . G A数据缓 冲区的状态标志信号。G P 1 、 G P 4 、 G P G 1 0 和 G P 1 1 分别接上 F P G A上的 E MP R、 F U L R、 E MP T 、 F u LT信号。分别接收模块中 F I F O的数据空和数 据满, 发送模块中 F I F O的数据空和数据满 J 。D S P与 F P G A接 线 图如 图 2 所 示 。 衄J r r T S 隗 A S 强 D C A S r C L K_T T SD WE DA T A T MAX 3 49 0 D A TA 【 1 5 0 ] 卜 \ D A T A R L J C I X _ R - DS P E A【 1 7 2 】 F PC A 卜 \ TCE 2 一 cn Gp 1 0 - bm T ● 刚T Pl 0 一 且 l l 1 Fu l l R 图 2 D S P与 F P G A接线图 2 . 2 F P GA异步 串行通信模块设计 F P G A通信模块 , 主要实现如下功能 主控器 A R M 或从控制器 D S P的接 口; 缓存收发的数据; 数据 的并 串/ 串并转换 ; 时钟逻辑。因此 , 其 内部的结构 由地址 译码模块 , 发送 模 块, 接 收模 块 , 时钟 分 频模 块 组 成 。四个模块 连接 图, 如 图 3 所 示 。 图3 F P GA内部模块 结构图 本文使用的串行通信采用标准异步通信模式 , 每 帧数据 由 1 位起始位 , 8位数据位 , 1位停止位, 共 l 0 位数据组成。数据格式如图4所示。 图 4标准 异 步 通信 结构 2 . 2 . 1 地 址译码模块 地址译码模块的引脚包括地址总线、 读使能信号 、 写使能信号 、 片选信号。地址总线通过 F P G A内部编 程实现的4 - l 6译码器 , 加上片选信号实现地址译码 , 唯一的选中发送模块或接收模块 。读或写使能信号实 现控制器对发送或接收模块数据的传输 。 2 . 2 . 2 发 送模 块 发送模块由 F I F O和传送移位寄存器组成, 外部引 脚包括数据总线 、 串行数据传输线、 发送模块数据满信 号和时钟信号。具体结构如图5所示。本文采用 A c . t e l L i b e r o I D E下 的 F I F O 内核来实 现数据缓 冲的功能 , 用 于克服 A R M数据 读写 速率 远高 于 串行 通信 速 率 的 问题 。移位寄存器 由状态机 构成 , 共有 五个状态 组成 X I D L E 空闲 、 X S T A R T 起始 、 X WA I T 移位 等 待 、 X S H I F T 移位 、 X S T O P 停止 。数据从并行 变为串行, 分为起始位、 数据位 、 校验位 、 停止位的发送 顺 序 。 图 5发送 模 块 内部 结构 2 . 2 . 3 接 收模 块 接收模块由 F I F O和接收移位寄存器组成 , 外部引 脚包括 数据总线 、 串行数据传输线 、 接收模块 数据 空信 号、 接收模块数据满信号、 复位信号和时钟信号。具体 结构如图 6所示。具体实现原理同发送模块相似。 图 6接收模块 内部结构 2 0 1 4年 1 2月 李剑伟, 等 基于 F P G A的机床数控系统主从控制器通信研究 1 1 1 2 . 2 . 4 时钟分频模块 本文采用 A c t e l L i b e r o I D E下的 P L L来产生分频 模块, P L L输入端接人 1 0 0 MH z的时钟信号 , 对输入信 号进行 2分频获得 5 0 MH z的时钟频率 , 然后再 通过 F P G A内部设置的分频器 , 对 5 0 M H z的时钟频率进一 步分频 , 并将获得的时钟频率供 给 F I F O和移位寄存 器 , 实现数据的传输 。 2 . 3主 从控 制器通 讯协 议 和流程 根据数控机床控制要求 , 设计了6种通信帧 , 分别 为 D E B U G、 C N C 、 C N C E R R、 S Y S E R R、 F D B K、 R S P 。 帧的帧结构如表 1 所示。 表 1 通信帧结构 包头定义 为 0 x A A, 地址 可 定 义 为 O x O 1到 0 x ff的 2 5 5个数中的任意一个 , 表明运动控制器最多可同时 控制 2 5 5 个伺服驱动器。紧急标志码有 N O N E ME R G E N C Y和 E ME R G E N C Y两种类型, 用 于区分通信数 据是否为急需处理的类型, 如果是, 通信数据将被控制 器立即处理。帧类型码分别对应六种通信帧 D E B U G 为 0 x C 1 , C N C为 0 x C 2 , C N C E R R 为 O x C 3 、 S Y S E R R 为0 x C 4 、 F D B K为 O x C 5 、 R S P为 O x C 6 。结束码定义为 0 x BB。 六种通信帧的作用分别为 D B U G帧为人机接 口 发给运动控 制器 的通信 帧 , 用 于 实现 对伺 服 驱动 的调 试控制 ; C N C帧为人 机接 口发给运动控制器 的通信 帧, 用于发送人机接 口解析后 的 G代码和伺服驱动配 置指令等数据信息 ; C N C E R R为运动控制器反馈给人 机接 口的通信帧 , 用于当接收到的 C N C帧代码脚本错 误时 , 运动控制器将把 C N C错误类型、 错误段号、 备注 信息等数据反馈给人机接 口; S Y S E R R为运动控制器 发送给人机接口的通信帧 , 用于发送系统故障和系统 报警等信息; F D B K为运动控制器发送给人机接 口的 通信帧, 内容为驱动和电机的实时状态信息, 以便人机 接 口实现对数控机床实时状态的监控 ; R S P为运动控 制器反馈给人机接 口的通信帧 , 用于告知人机接 口是 否接 收成功其发送 来的数据 。 发送队列、 接收队列和紧急队列等 3个通信缓 冲 循环队列用于缓冲发送和接收到的通信数据 , 以保证 足够的通信能力 。 。 。同时设计了通信管理器数据结 构用于管理通信队列 , 需处理信息指向队列的当前 队 头, 并在处理完后指向队列的下一个数据, 新的通信数 据进入队列将被安排在 队列 的当前队尾, 具体如图 7 所示 。发送队列为人机接 口或运动控制器发送通信数 据时的缓冲队列, 接收队列为人机接 口或运动控制器 接收通信数据时的缓冲队列, 紧急队列 , 用于缓冲接收 到的需要紧急处理的通信数据, 仅用于人机接 口使用 , 人机接 口会实时查询紧急队列的是否有数据 收到, 如 果有会 立 即处理 。 图7通信管理器数据队列 人机界面向运动控制器发送信息的通信软件流程 如图8所示。当人机界面需要向运动控制器发送 D E . B U G和 C N C帧时, 通信数据首先进人通信发送队列的 当前队尾 , 通信管理器随后处理到这条通信数据 , 然后 按通信类型打包处理, 形成结构完整通信帧, 通过 F P . G A发送出去, 并等待运动控制器反馈接收成功的反馈 信号后处理发送队列中的下一条通信数据。再处理并 发送下一条通信帧。 A R M 向D S P 发送 数据 J 数 据入 队 二二二]二二二 通 信帧 打包 二二二二工二二二 发送 通信 帧 , , ,................... ... I[. ....。. . , 一 l 等待D S P 反馈信号 T一 l 队头指针下移一位 通信帧发 送完成 图 8通信 帧 发 送过 程 人机接 口接收运动控制器发送过来数据的通信软 件流程如图9所示。人机接口接收到运动控制器发过 来的一帧通信 帧, 通信帧解压, 并判 断是否是紧急状 态, 若是 , 通信数据进入紧急队列 , 并记录帧的类型, 若 不是 , 通信数据进入接收队列 , 并记录帧的类型。运动 控制器的收发按照类似的流程进行。 A R M接收通信帧从 O x A A 开始到mB B . . . . . . . . 。 . . . . . .. . . . . . . . . . 。. .. . . . I . . , . . . . . . . . . . . . 一 解压接 收的通信帧 j 蕊 图 9 通信帧接收过程 岔/ 型 紧 / Y一 / \ 一 数
展开阅读全文