利用Xilinx FPGA和分解器數(shù)字轉(zhuǎn)換器簡(jiǎn)化角度測(cè)量
本文引用地址:http://www.ex-cimer.com/article/201702/338336.htm
圖5 – RDC與Virtex-5 FPGA的接口(單信道)
圖中文字如下:
TRANSCEIVER:收發(fā)器
RESOLVER:分解器
REF SIGNAL:基準(zhǔn)信號(hào)
POWER OSCILLATOR (OSC-15802):功耗振蕩器
SIGNAL CHAIN:信號(hào)鏈
器件驅(qū)動(dòng)程序詳細(xì)說(shuō)明
在本例中,F(xiàn)PGA采用20MHz的外部輸入時(shí)鐘。此FPGA具有一個(gè)運(yùn)行頻率為200MHz的PowerPC 440硬核。RDC的時(shí)序圖見(jiàn)圖6與圖7。
圖6 – INHIBIT時(shí)序
圖7 – ENABLE時(shí)序
根據(jù)RDC的時(shí)序圖,我們開(kāi)發(fā)、測(cè)試并驗(yàn)證了實(shí)際硬件的功能是否正確 [4]。器件驅(qū)動(dòng)程序的實(shí)際編碼包含在單獨(dú)的XBD文件中。根據(jù)時(shí)序圖,我們生成了用于回路的所需延遲。在200MHz運(yùn)行速率下進(jìn)行處理時(shí),每個(gè)計(jì)數(shù)都對(duì)應(yīng)5納秒的延遲。
器件驅(qū)動(dòng)程序有三部分編碼:RDC初始化、控制信號(hào)的生成及從RDC信道A的讀取、以及控制信號(hào)的生成及從RDC信道B的讀取。RDC初始化是設(shè)置信號(hào)方向和缺省值的階段。例如,利用以下語(yǔ)句,信號(hào)方向?qū)⒃O(shè)置為從FPGA“輸出”到RDC。
XGpio_WriteReg(XPAR_RESOLUTION_CNTRL_CH_A_
BASEADDR,XGPIO_TRI_OFFSET,0x000);
下一個(gè)語(yǔ)句通過(guò)寫(xiě)入“0x3”來(lái)設(shè)置16位分辨率(即:拉高):
XGpio_WriteReg(XPAR_RESOLUTION_CNTRL_CH_A_
BASEADDR,XGPIO_DATA_OFFSET,0x03);
圖8為編碼截屏。注:為了簡(jiǎn)化,我們僅提供一條信道的編碼。
我們已經(jīng)看到,角度傳感器可以幫助工程師創(chuàng)造更好的轉(zhuǎn)輪,進(jìn)而設(shè)計(jì)出眾多更高效的機(jī)械裝置。分解器是一種尤為有用的角度傳感器,只要能夠與FPGA正確配合和控制,其就能夠幫助工程師打造出無(wú)與倫比的機(jī)械裝置。
參考資料
1. 數(shù)據(jù)設(shè)備公司“同步器/分解器轉(zhuǎn)換手冊(cè)”。
2. John Gasking, “分解器數(shù)字轉(zhuǎn)換器:光電軸角編碼器簡(jiǎn)單低成本替代方案” AN-263,美國(guó)模擬器件公司
3. Walt Kester, “分解器數(shù)字轉(zhuǎn)換器” MT-030, 美國(guó)模擬器件公司
4. 數(shù)據(jù)設(shè)備公司SD-14620 系列數(shù)據(jù)手冊(cè)。
5. 數(shù)據(jù)設(shè)備公司OSC-15802數(shù)據(jù)手冊(cè)。
6. 賽靈思Virtex-5系列簡(jiǎn)介
圖8- RDC器件驅(qū)動(dòng)程序編碼截屏
評(píng)論