1、2023 年第 5 期仪 表 技 术 与 传 感 器InstrumentTechniqueandSensor2023No 5基金项目:国家自然科学基金项目(51905107,51875108);广东省自然科学基金项目(2019A1515012004)收稿日期:20220703基于 FPGA+AM 的位置双反馈数据采集装置设计阳志林1,2,杨志军1,2,柯帮维1,2,邓亚雄1,2(1 广东工业大学,精密电子制造技术与装备国家重点实验室,广东广州510006;2 佛山市华道超精科技有限公司,广东佛山528225)摘要:为实现精密运动平台定位的双回路控制,解决位置双反馈采样不同步的问题,基于 FPG
2、A 设计了软硬件解码模块和上位机,实现对电机编码器多摩川协议和平台光栅尺 BISS 协议同步读取,并通过 FMC 总线将数据传输至 AM,数据统一单位后再由上位机显示平台位移。实验表明:该采集装置能够快速准确地同步采集数据,能在上位机实时显示位移,具有良好的可移植性和拓展性。关键词:FPGA;AM;多摩川协议;BISS 协议;FMC;双反馈中图分类号:TP274文献标识码:A文章编号:10021841(2023)05003006Design of Position Double Feedback Data Acquisition DeviceBased on FPGA+AMYANG Zhi-l
3、in1,2,YANG Zhi-jun1,2,KE Bang-wei1,2,DENG Ya-xiong1,2(1 Guangdong University of Technology,State Key Laboratory of Precision Electronics Manufacturing Technologyand Equipment,Guangzhou 510006,China;2 Foshan Huadao Ultra Precision Tech LTD,Foshan 528225,China)Abstract:In order to realize the double-l
4、oop control of precise motion platform positioning and solve the problem of unsyn-chronized position double feedback sampling based on FPGA,the hardware and software decoding module and the upper comput-er were designed,which can synchronously read the motor encoders Tamagawa protocol and platform g
5、rating rulers BISS proto-col The data was transmitted to AM through FMC bus After the data was unified,the upper computer displayed the platformdisplacement The experiment shows that the acquisition device can quickly and accurately collect data synchronously,and candisplay the displacement on the u
6、pper computer in real time It has good portability and expansibilityKeywords:FPGA;AM;Tamagawa agreement;BISS protocol;FMC;double feedback0引言随着集成电路制造、精密电子封装等领域的快速发展,该行业对高速、超精密定位运动平台的需求越来越高12,同时对平台的电机伺服控制也要求越高。单回路控制已不能满足部分超精密运动平台的需求,如传统大行程宏微复合平台以双驱动宏微切换满足宏和微的定位控制3、刚柔耦合平台用以微带宏单驱动双反馈控制获取柔性铰链弹性变形来补偿摩擦死区,
7、需要对电机编码器和平台光栅尺的同步采集才能满足控制要求45。绝对式多摩川协议和 BISS 协议都有着抗干扰能力强、通信速率高等优点,在位置传感器领域得到广泛的应用6。电机伺服系统通常以 AM 或 DSP 为计算核心,对获取的位置反馈做闭环运算。但单独用AM 实现对编码器和光栅尺的双反馈采样会因 MCU串行执行而出现采样延时,不能获取它们同一时刻位置信息。故可利用 FPGA 并行性、快速性的特点对多编码器 并 行 实 时 采 样,满 足 系 统 双 回 路 控 制 的需求7。本文介绍了多摩川和 BISS 协议的数据结构,以同时采集刚柔耦合滚珠丝杆平台的电机编码器和平台光栅尺为背景,设计了该采集装
8、置的通讯接口电路和软件模块,并设计上位机显示平台的位移。1通信协议介绍FPGA 基于多摩川协议和 BISS 协议设计解码模块,分别对电机绝对式编码器和绝对式直线光栅尺进行同步采集。同时 FPGA 还需要通过 FMC 总线完成与 AM 之间的数据传输。第 5 期阳志林等:基于 FPGA+AM 的位置双反馈数据采集装置设计311 1多摩川通信协议多摩川协议采用“一问一答”的通讯方式8,在读取编码器模式下,以波特率为 2 5 Mbit/s,按照协议的时序细节、通信指令、数据格式进行异步串行通信。每次需向编码器发送位置请求命令,编码器接收无误后按照协议格式返回对应信息,完成一次数据交换。1 1 1向编
9、码器发送控制命令FPGA 向编码器发送一个控制命令字段 CF 作为读取位置请求信号。控制字段构成如图 1 所示。图 1控制字段数据组成字段含有串口通讯固定的起始位、引导码、4 位数据 ID 码、校验位、停止位,改变 4 位数据 ID 码可对应不同的命令字段。编码器根据接收的不同命令返回不同的数据,在不包含起始停止位的情况下,常用的控制命令从高位到低位的命令如下:单圈值命令 ID1(00000010);多圈值加单圈值为 ID3(00011010)。本文以使用 ID3 控制命令为主,对返回的位置信息提取多圈和单圈值。1 1 2接收编码器应答数据编码器接受到 FPGA 发送的 CF 字节后,经过大概
10、 3 s 开始按照协议数据格式串行返回信息。返回数据格式如图 2 所示,首先原样返回第 1 个接收到的CF 字段。图 2编码器返回数据组成第 2 个为状态字段 SF,包含编码器的状态信息,判断编码器工作状态是否正常。DF0 至 DF7 为数据字段,根据发送的 CF 控制字段不同,返回不同的位置信息数据。如发送 CF 为 ID3,则DF0DF2 为单圈值信息,DF4DF6 为多圈值信息。CC 为校验字段,对从 CF 到 DF7 字段进行校验,用于检测接收的数据是否出错。采用 CC8 校验算法,生成 8 个 bit 的校验码,校验多项式对应校验字段为 100000001。1 2BISS 通讯协议B
11、ISS 协议是一种全双工同步串行总线通信协议,能满足实时、双向、高速的传感器通信9。目前通信协议版本为 BISSC,带有 CC 校验功能,可保证数据传输的可靠性。BISSC 协议根据工作模式可分为寄存器模式和传感器模式。虽然传感器模式相对寄存器模式获取的状态信息少,但是具有更高的位置采样频率10。传感器模式下控制器作为主机向从机光栅尺发送频率为 5 MHz 的 MA 时钟作为位置请求,就能快速获取相应的信息。协议返回数据结构及时序如图 3 所示。图 3BISSC 协议数据格式MA 是由主机 FPGA 发送至从机光栅尺的时钟,空闲时为高电平,开始采集数据才发送时钟。SLO 为数据信号,空闲时为高
12、电平,由从机将数据发送给主机。开始采集数据时,当从机接受到 MA 时钟第 2 个上升沿时,将 SLO 信号拉低,代表进入 ACK 应答状态。等待从机信号将 SLO 再次拉高,进入下一个开始Start 状态。此时光栅尺开始将位置信息通过二进制传输,第1 位为 0 位,随后 Position 为 32 bit 位置信息,Error 位为 1 bit、Warn 位 1 bit、CC 校验位 6 bit。随后将 MA时钟信号拉高进入超时 Timeout 状态,等待下一次读取时钟的到来。所有数据接收完成后,对 32 bit 位置数据,1 位错误位,1 位警告位共 34 bit 进行校验。本次实现的BIS
13、SC 的 CC 校验多项式为 1000011。1 3FMC 总线通信FMC 是一种总线通信,该总线称为灵活存储控制器(flexible memory controller),是 STM32 针对各种存储器外设推出的一种总线控制器,可以配置多种存储器接口用来通信,根据需求设置传输的数据位宽,是一种并行通讯11。其相对于串行通信,极大地提高了传输速度。总线控制的存储器类型可以是 NO/PSAM、32Instrument Technique and SensorMay 2023SAM、SDAM 等。因此可以把 FPGA 看作是 AM 的一块外接SAM 型存储器,用对SAM 的读写方式从而对 FPGA
14、 进行读写操作12。通过片选信号 CS 选中存储器,其对应 FMC 控制 SAM 存储区地址如图 4 所示。图 4FMC 存储块 SAM 地址映像通信选用 16 位地址线 A0 A15 和数据线 D0 D15,读使能 D 和写使能 W 信号。FMC 外设支持输出多种不同的时序以便控制不同的存储器,共有 4种模式(A、B、C、D),选用 A 模式对 FPGA 进行读操作,图 5 为 FMC 读时序。图 5FMC 模式 A 读时序2硬件模块设计硬 件 系 统 由 AM(STM32H743)和 FPGA(EP4CE6E22C8)、伺服电机编码器、平台绝对式光栅尺构成。硬件电路设计主要包括 2 部分:
15、FPGA 与多摩川绝对式编码器及绝对式光栅尺的电气连接;FPGA 与 AM 控制器之间的电气连接。FPGA 与编码器多摩川协议通讯和光栅尺的 BISS协议通讯均为 S485 差分线信号驱动。多摩川协议为异步串口通信的方式,只需要对数据线差分。而BISS 协议为同步时钟通信,需要对时钟线 MA 和数据线 SLO 差分。因此采用 3 个差分芯片 SP3485 对S485 信号处理。该 SP3485 芯片的接收与发送通过E 和 D 引脚控制。对 E 与 DE 引脚共接,当共接为低电平,芯片处于接收状态,高电平时为发送状态。FPGA 通过 2 个 DB9 接口与编码器和光栅尺连接,数据传输速率可达到
16、10 Mbit/s,满足多摩川和 BISS 协议的通信速率传输要求。电路采集接口原理图如图 6所示。而 AM 与 FPGA 之间的 FMC 总线通讯使用线连接相关 IO 引脚即可。3软件模块设计双反馈数据采集装置内部系统框图如图7 所示,主要由FPGA 实现对编码器和光栅尺的解码读取及校验,再通过FMC 总线传输数据至AM,最后数据通过上位机显示。3 1sync_gen 模块产生 80 s 一次的 sys_sync 采样使能信号,开始对编码器和光栅尺采样。3 2多摩川模块3 2 1串口发送接收到采样使能信号,开始发送 CF 控制字段,如多圈值获取命令 ID3。通信波特率为 2 5 MHz,即一个控制字段发送完成需要 4 s。3 2 2串口接收发送完成等待 3 s 左右,编码器会以同样波特率开始返回数据。按位接收包含起始停止位共 110 bit数据完成后,去掉起始停止位后将接收数据给 CC 模块校验,并等待下次接收开始。3 2 3CC 校验多摩川协议 CC 对应校验字段 10000001。采用并行 CC 校验在一个时钟周期生成 8 个位数的校验码,与接收的 CC 校验字段进行对比1314