专业的微特电机产品发布平台
用户名: 密码: 注册
设为首页 加入收藏 联系我们
免费注册 企业免费建站
新技术论坛 会员产品发布
TB6600QQ群:70241714   步进电机论文   六轴工业机器人解决方案  
步进电机     驱动器     控制器     马达IC     伺服电机     无刷直流电动机     微特电机文献     工控器件     运动控制新产品     六轴工业机器人    
首 页   |   行业资讯   |   业内搜索   |   网站介绍   |   超级服务   |   新技术论坛
论坛公告: 中国步进电机应用网:http://using.zgbjdj.com/
  文章标题:基于FPGA的步进电动机伺服控制器通信系统设计
回复文章
作者:jialincy  发表时间:2010-1-24 11:20:29
基于FPGA的步进电动机伺服控制器通信系统设计
    吴喜桥,刘景林
    (西北工业大学自动化学院,西安710129)
摘要:为实现某扫描机构伺服控制器与上位机的串行通信,提出了应用于该系统的专用异步
串行通信和同步串行通信的FPGA设计方法。介绍了扫描机构伺服控制系统的构成;详述了异步
串行通信各个功能模块及光电编码器脉冲计数值同步串行发送到上位机的FPGA设计与仿真实
现。分析证明该设计时序正确,实现了功能指标,确保了伺服控制器与上位机的通信。
关键词:FPGA;异步串行通信;同步串行通信;伺服控制系统;步进电动机
O 引  言
    步进电机伺服控制器是扫描机构的核心,而通信系统是伺服控制器的关键。本系统采用霍尔传感器和光电编码器采集步进电机的速度和角度信息,伺服控制器传统的设计方法是利用单片机或DsP和上位机进行通信。本文采用FPGA作为下位机、采用硬件描述语言Verilog HDL,设计了扫描机构伺服控制器通信系统。FPGA可移植性强,只需要简单地修改硬件接口和串口通信格式即可实现FPGA和不同的上位机的高速串行通信。
l伺服控制系统构成
某扫描机构系统框图如图l所示。本系统采用闭环控制方式驱动步进电机做变速的连续圆周扫描,带动扫描机构实现精确扫描定位。
    根据不同时刻的速度,由FPGA设计的细分驱动模块(EP2c5T144c6)产生不同频率的脉冲。此脉冲控翩输出存储在FPGA内的细分数据,功率驱动芯片根据细分数据进行斩波控制步进电机转动,从而控制扫描机构按照预定方式转动1。霍尔传感器作为伺服控制器位置基准,输出的信号与光电编码器的零位信号来确定机械零点。配置芯片选用EPcS4,掉电后、上电时对FPGA进行配置。
    FPGA对光电编码器输出的脉冲信号进行4细分计数,按照要求通过同步串口发送给Pc机。FPGA在接收到Pc机指令后通过异步串口返回遥测数据包。Pc机根据返回的数据包和光电编码器计数值,通过异步串口向FPGA发出指令来控制步进电机。
本系统中异步串行通信的物理接口为RS485、半双工主从应答式,波特率为9 600 bps。采用Verilog语言编写程序,完成数据的接收与发送。电平转换采用MAⅪM公司生产的MAX3160。这是一款高性能的多协议收发器件,可编程控制半双工或全双工Rs一485/422,RS232模式。
2 FPGA异步串行通信模块
异步串行通信模块在FPGA芯片内部的硬件逻辑设计包括波特率发生器、Rs一485接收器和Rs一485发送器3-5,如图2所示。
2.1波特率发生器
    波特率发生器产生的分频时钟,不是波特率时钟,而是波特率时钟频率的16倍,对输入rxd不断进行采样,保持接收器与Pc机同步,目的是为了在接收时进行精确地采样,以提取异步的串行数据。波特率发生器根据给定的系统时钟频率和要求的波特率计算出波特率分频因子,已算出的波特率分频因子作为分频器的分频数。计算公式为:分频数=全局时钟/(16×期望波特率)一1。
2.2 Rs-485接收器
    RS一485接收器接收Pc机发送的指令,并将其转化为并行数据。FPGA控制单元根据此数据来控制步进电机的转动。Pc机发送信号字符格式为:1位起始位,8位数据位,1位可程控位(标识地址帧),1位停止位。
    由于串行数据帧和接收时钟是异步的,由逻辑l转化为逻辑O可以被视为一个数据帧的起始位。为了避免毛刺影响,需要至少4个连续bclk的逻辑O被接收到,才认为起始位接收到。
Rs.485接收器的接收状态机流程图如图3(a)所示。状态机一共有6个状态:sO(等待起始位)、s1(求出位的中点)、s2(等待采样数据位和程控位)、s3(数据位采样)、s4(程控位采样)、s5(存储数据和停止位接收)。
    sO状态:接收器异步复位后,接收状态机将处于这一状态,一旦确定起始位到来,状态机将转入sl状态。图4(a)中的rxd—syne O、Ⅸd—syncl、rxd—sync信号是rxd的同步信号。为了排除干扰信号,检测经过同步后的rxd—sync信号。
    s1状态:对于异步串行信号,在每位的中点检测位信号,能保证在较后的数据位检测的时累计误差较小。在本状态,就是由起始

 

  共有记录条,共页,条/页  转至页
回复此文章主题
  用户名: 密码: 注册新用户
回复内容:
 
设为首页   |   加入收藏   |   联系我们   |   站长留言   |   广告服务   |   友情链接   |   免费展示
网站实名:步进电机网 步进电机驱动器网 微特电机网 网站地图 新闻中心
版权所有:北京时代四维科技有限公司
© Copyright By www.zgbjdj.com
京ICP备11042559号-1