微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 工业电子 > 利用Xilinx FPGA和分解器数字转换器简化角度测量

利用Xilinx FPGA和分解器数字转换器简化角度测量

时间:07-09 来源:互联网 点击:
VIRTEX-5 FX30T FPGA与RDC接口

我们在设计中采用赛灵思Virtex-5 FX30T FPGA [6]。FPGA的I/O电压为3.3V,而RDC的电压为5V。因此我们采用电压收发器来实现这两个器件之间的电压兼容。通过赛灵思提供的GPIO IP核与FPGA建立内部连接,如图5所示。

为了简单起见,图5仅显示一条具有一个分解器接口的信道。您可以在本文件随附的赛灵思开发板描述(XBD)文件找到RDC的引脚详情以及FPGA对应的专用引脚。详情见该文件第一部分。


图5 – RDC与Virtex-5 FPGA的接口(单信道)
图中文字如下:
TRANSCEIVER:收发器
RESOLVER:分解器
REF SIGNAL:基准信号
POWER OSCILLATOR (OSC-15802):功耗振荡器
SIGNAL CHAIN:信号链

器件驱动程序详细说明

在本例中,FPGA采用20MHz的外部输入时钟。此FPGA具有一个运行频率为200MHz的PowerPC 440硬核。RDC的时序图见图6与图7。


图6 – INHIBIT时序


图7 – ENABLE时序

根据RDC的时序图,我们开发、测试并验证了实际硬件的功能是否正确 [4]。器件驱动程序的实际编码包含在单独的XBD文件中。根据时序图,我们生成了用于回路的所需延迟。在200MHz运行速率下进行处理时,每个计数都对应5纳秒的延迟。

器件驱动程序有三部分编码:RDC初始化、控制信号的生成及从RDC信道A的读取、以及控制信号的生成及从RDC信道B的读取。RDC初始化是设置信号方向和缺省值的阶段。例如,利用以下语句,信号方向将设置为从FPGA“输出”到RDC。

XGpio_WriteReg(XPAR_RESOLUTION_CNTRL_CH_A_
BASEADDR,XGPIO_TRI_OFFSET,0x000);

下一个语句通过写入“0x3”来设置16位分辨率(即:拉高):

XGpio_WriteReg(XPAR_RESOLUTION_CNTRL_CH_A_
BASEADDR,XGPIO_DATA_OFFSET,0x03);

图8为编码截屏。注:为了简化,我们仅提供一条信道的编码。

我们已经看到,角度传感器可以帮助工程师创造更好的转轮,进而设计出众多更高效的机械装置。分解器是一种尤为有用的角度传感器,只要能够与FPGA正确配合和控制,其就能够帮助工程师打造出无与伦比的机械装置。

参考资料
1. 数据设备公司“同步器/分解器转换手册”。
2. John Gasking, “分解器数字转换器:光电轴角编码器简单低成本替代方案” AN-263,美国模拟器件公司
3. Walt Kester, “分解器数字转换器” MT-030, 美国模拟器件公司
4. 数据设备公司SD-14620 系列数据手册。
5. 数据设备公司OSC-15802数据手册。
6. 赛灵思Virtex-5系列简介


图8- RDC器件驱动程序编码截屏

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top