新闻中心

EEPW首页>嵌入式系统>设计应用> 基于FPGA的绝对式编码器通信接口设计

基于FPGA的绝对式编码器通信接口设计

作者: 时间:2010-04-21 来源:网络 收藏

2接口的实现

  全数字化交流伺服系统中采用TMS320X2812作为控制器,用以实现位置环、速度环和电流环以及SVPWM、电压和电流采样等功能。此外,采用Altera公司的型号为FP1C6的~Cyclone系列,用以实现与绝对式码盘接口、译码逻辑等功能。同时,在内部实现了256字节的双口RAM,用来与DSP之间通过总线实现数据传输。部分的功能框图如图2P所示。

  码盘接口部分分为发送模块、接收模块、双口RAM模块、主程序模块四部分。由于每次通信时间是严格固定的,设系统时钟为2MHz。FPGA为主叫,向编码器发送"请求数据"控制字共6位,需时3 μs,编码器向FPGA共发送1个起始位、两个"错误位"、26位位置值和5位CRC校验位,共34位的数据共需时17 μs,所以每次通信需要20 μs的时间,并且每个时刻具体需要传递哪一位数据也是严格确定的。因此采用基于时基的设计方法。

  FPGA内部设计了一个时基为20ns的计数器,每20ns加1,作为整个电路的时基,根据这个时基来确定每一时刻收到的数据具体属于哪个位。在FPGA 内部实现了256bytes的双口RAM空问,A口具有8位数据线,8位地址线,用于与编码器通信,B口具有16位数据线,8位地址线,用于与DSP通信,因为TMS320X2812为16位DSP,所以与FPGA中RAM的数据传递极为方便。

  DSP在每个电流环周期发送一个有效的"begin"信号,20μs之后,码盘信号接收模块将接收到的数据存入FPGA内部双口RAM的A口中,并按顺序排列成16位数据的形式,然后向DSP发送end信号,表示一次通信结束,DSP接收到中断之后从FPGA的双口RAM的B口中读取数据,完成一次通信, DSP的连接如图3所示。



评论


相关推荐

技术专区

关闭