《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的新型絕對式編碼器
基于FPGA的新型絕對式編碼器
《電子技術應用》
邱 成, 薛寒光, 朱衡君
摘要: 介紹了一種基于FPGA的新型絕對式編碼器。利用FPGA和硬件描述語言,采用自頂向下的設計方法,實現了辨向模塊、串/并轉換模塊、查表譯碼模塊以及NiosⅡ軟核CPU等功能模塊的設計,以及絕對位置的準確測量。該編碼器具有結構緊湊、集成度高的優點,以適應工程上對絕對式編碼器小型化的要求。
Abstract:
Key words :

  摘 要: 介紹了一種基于FPGA" title="FPGA">FPGA的新型絕對式編碼器" title="絕對式編碼器">絕對式編碼器。利用FPGA和硬件描述語言" title="硬件描述語言">硬件描述語言,采用自頂向下的設計方法,實現了辨向模塊、串/并轉換模塊、查表譯碼模塊以及NiosⅡ軟核CPU等功能模塊的設計,以及絕對位置的準確測量。該編碼器具有結構緊湊、集成度高的優點,以適應工程上對絕對式編碼器小型化的要求。
  關鍵詞: 絕對式編碼器 FPGA 硬件描述語言


  隨著制造業和自動化技術的迅速發展,編碼器作為一種融合數字技術的精密測角裝置已被廣泛應用于數控機床、機器人、自動化儀表等領域。編碼器將機械運動中的角度、位移、轉速等物理量轉變成數字信號輸出,因此將它與數字信號處理技術、計算機技術相結合,可實現快速、及時、準確的位置檢測與控制。根據形成代碼方式的不同,編碼器可分為增量式和絕對式兩類。傳統絕對式編碼器如果要反映2n精度,其碼盤上至少要有n道碼道,每道對應于一個讀碼元件。這種結構比較復雜,制作困難,碼盤徑向尺寸較大,難以實現小型化、集成化,成為絕對式編碼器進一步發展的障礙[1~4]。本文介紹一種新型絕對式編碼器,采用一個光敏元件讀取單圈串行編碼碼道,采用兩個光敏元件讀取同步碼道獲得辨向信息,并且利用FPGA器件來實現辨向和譯碼,從而獲得位置信息。該編碼器可以實現絕對位置的準確測量,具有結構緊湊、集成度高的優點,為絕對式編碼器的小型化開辟了一條有效的途徑。
1 基于FPGA的系統總體方案設計
  本文實現了10位絕對式編碼器,在碼盤的圓周上有1024個編碼位置。與傳統絕對式編碼器不同,碼盤上只有兩個碼道。內圈為編碼碼道,由1024個透光或遮光的窗口組成,透光窗口用1來表示,遮光窗口用0來表示;采用一個光敏元件串行讀取編碼碼道來獲得惟一的絕對位置編碼,絕對位置編碼由相鄰的10個編碼位置上的二值信息組成;編碼碼道的布置方式既可以通過計算機編程的方法尋找,也可以通過對m序列進行適當的處理來獲得。碼盤的外圈為同步碼道,由相對于每一個編碼位置的透光窗口組成;在同步碼道上設置兩個光敏元件,其中一路作為同步信號觸發編碼碼道上的光敏元件讀碼,兩路信號結合起來用于判斷碼盤的旋轉方向。


  新型絕對式編碼器系統結構如圖1所示。編碼碼道上的二值信息經光敏元件串行讀入后,送入串/并轉換模塊中的10位雙向移位寄存器,移位寄存器根據編碼器的旋轉方向進行移位,串/并轉換模塊輸出的絕對位置編碼經過譯碼后就可以實現絕對位置測量。圖1中虛線框起來的部分在一片FPGA芯片上實現,選擇了Altera公司Cyclone" title="Cyclone">Cyclone系列的EP1C12Q240C8" title="EP1C12Q240C8">EP1C12Q240C8芯片。
  根據編碼器絕對位置測量的需要,在FPGA系統電路總體設計時,主要考慮完成辨向、串/并轉換、譯碼和顯示等功能。系統頂層原理圖如圖2所示,分為辨向、串/并轉換、譯碼和NiosⅡ處理器軟核四大模塊,其中每個模塊又由一系列功能單元和子模塊組成。

 


2 FPGA內部各功能模塊設計
2.1 辨向模塊

  在碼盤同步碼道上設置的兩個光敏元件輸出兩路方波信號(a信號和b信號),周期均為T,在安裝時保證相位差為90°。圖3給出了碼盤在換向旋轉時a、b信號的波形圖,在a信號的上升沿采集b信號,就可以判斷碼盤的旋轉方向。當碼盤按逆時針方向旋轉時,a信號比b信號超前,在a信號的上升沿時b信號為0;當碼盤按順時針方向旋轉時,a信號比b信號滯后,在a信號的上升沿時b信號為1。利用VHDL編程實現辨向模塊的設計。
2.2 串/并轉換模塊
  編碼碼道上光敏元件串行輸出包含絕對位置編碼信息的信號,而譯碼模塊需要的是10位并行絕對位置二進制碼,利用VHDL語言設計了10位雙向移位寄存器實現串/并轉換,具有清零、左移、右移、并行置數等功能。如圖2所示,移位寄存器的時鐘信號CLK采用同步碼道上光敏元件輸出的a信號,串行輸入信號SI是編碼碼道上光敏元件輸出信號incode;方向信號DIR是辨向模塊的輸出信號DIROUT,碼盤逆時針旋轉時DIR為高電平,移位寄存器右移,碼盤順時針旋轉時DIR為低電平,移位寄存器左移;其他控制信號CE、CLR、SET和LOAD均由NiosⅡ處理器軟核控制,均設置為高電平有效;串/并轉換模塊的輸出信號DATAOUT[9..0]將用作下一步查表的地址信號。
2.3 FIFO模塊
  利用雙口RAM和讀寫地址模塊來實現FIFO模塊,其內部模塊圖和接口信號如圖4所示。FIFO的接口信號包括寫時鐘(wr_clk)和讀時鐘(rd_clk)、與寫時鐘同步的寫有效(wen)和寫數據(wr_data)、與讀時鐘同步的讀有效(rden)和讀數據(rd_data)。為了實現準確的讀寫和避免FIFO上溢或下溢,還應給出與讀時鐘和寫時鐘同步的空標志(empty)和滿標志(full),以禁止讀寫操作。寫地址產生模塊根據寫時鐘和寫有效信號產生遞增的寫地址,讀地址產生模塊根據讀時鐘和讀有效信號產生遞增的讀地址。FIFO的操作如下:在寫時鐘wr_clk的上升沿,當wren有效時,將wr_data寫入雙口RAM中與寫地址對應的單元;始終將雙口RAM中與讀地址對應的數據讀到數據總線上。
2.4 譯碼模塊
  將串/并轉換模塊輸出信號DATAOUT[9..0] 作為查表地址,通過查找絕對位置編碼與角度對應表實現絕對位置測量。配置了256KB的SRAM及2M的Flash,SRAM用來為NiosⅡ運行程序和存儲相關數據,Flash用來存儲絕對位置編碼與角度對應表。譯碼時先以串/并轉換模塊輸出信號DATAOUT[9..0]作為地址訪問Flash,通過查表獲得所需要的那一列數據,然后將它讀出并寫入FPGA的塊RAM中。存儲在Flash中的表格為10×1024×1024bit,即占用1M×10bit的空間,當讀出其中的一列時,其大小為10×1024bit。FPGA中有專門的雙口讀/寫同步片內塊RAM,每個RAM有4096個存儲單元,本文將讀出的10×1024bit數據寫入四個塊內RAM中,并配置成16×256bit。利用VHDL語言實現查表譯碼程序。


2.5 NiosⅡ軟核CPU
  為了縮短開發周期且高效利用FPGA資源,系統采用了NiosⅡ軟核處理器。它是Altera公司推出的一款32/16位精簡指令處理器軟核,可以實現SOPC(System On a Programmable Chip)集成[5]。根據實際需要,考慮到系統的穩定性和可擴展性,NiosⅡ軟核CPU主要包括以下幾部分:FIFO采集控制信號接口、辨向控制信號接口、譯碼控制信號接口、Flash控制器和LCD控制接口。
  本文實現了一種基于FPGA的新型10位絕對式編碼器,應用于直流牽引電動機下刻機自動定位系統中。實驗結果表明:在換向器圓周上定位精度達到1mm,較好地滿足了工程實際需要。
參考文獻
1 董莉莉,熊經武,萬秋華. 光電軸角編碼器的發展動態[J]. 光學精密工程,2000;8(2):198~202
2 湯天瑾,曹向群,林 斌. 光電軸角編碼器發展現狀分析及展望[J]. 光學儀器,2005;27(1):90~96
3 郁有文,常 健. 絕對碼編碼器中一種新型的編碼方法[J].儀器儀表學報,2004;25(4):541~544
4 蘇海冰,劉恩海. 單圈絕對式編碼器的研制[J]. 光學精密工程,2002;10(1):74~77
5 傅豐林. Nios軟核心嵌入式處理器設計大賽優秀作品精選[M]. 西安:西安電子科技大學出版社,2005

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 狠狠干欧美 | 成人国产精品免费网站 | 日本特级淫片免费看 | 一级特黄特色的免费大片视频 | www伊人| 欧美中文字幕一区二区三区 | 99精品在线播放 | 嫩草影院永久一二三入口 | 在线三区 | 欧美午夜激情影院 | 国产亚洲精品综合在线网址 | 美女视频黄a全部免费专区一 | 涩涩视频在线观看入口 | a级日本片在线观看 | 殴美在线| 成人观看视频又黄又免费 | 网站免费黄色 | avtt国产 | 国产一级特黄一级毛片 | 日韩美女影院 | 欧美xxxx成人免费网站 | 午夜精品久久久久久久 | 成人一级毛片 | 天堂网视频 | 日韩在线高清 | 国产无遮挡男女羞羞影院在线播放 | 国产综合色香蕉精品五月婷 | 欧美日韩亚洲第一页 | 国内精品久久久久久久久野战 | 欧美一级视频免费观看 | 久久这里只有精品免费播放 | 性欧洲黑人巨大videos | 欧美日韩第一页 | 久久久久久国产精品视频 | 欧美viideos极品另类 | 中文字幕 制服诱惑 | 草草操| 免费久草视频 | 国产伦精品一区二区免费 | 亚州人成网在线播放 | 污宅男666在线永久免费观看 |