基于FPGA的光柵尺信號智能接口模塊
關(guān)鍵詞:光柵尺 四倍頻細分 辨向 EDA FPGA EPF10K10
將光源、兩塊長(cháng)光柵(動(dòng)尺和定尺)、光電檢測器件等組合在一起構成的光柵傳感器通常稱(chēng)為光柵尺。光柵尺輸出的是電信號,動(dòng)尺移動(dòng)一個(gè)柵距,輸出電信號便變化一個(gè)周期,它是通過(guò)對信號變化周期的測量來(lái)測出動(dòng)就與定就職相對位移。目前使用的光柵尺的輸出信號一般有兩種形式,一是相位角相差90o的2路方波信號,二是相位依次相差90o的4路正弦信號。這些信號的空間位置周期為W。本文針對輸出方波信號的光柵尺進(jìn)行了討論,而對于輸出正弦波信號的光柵尺,經(jīng)過(guò)整形可變?yōu)榉讲ㄐ盘栞敵觥?/P>
輸出方波的光柵尺有A相、B相和Z相三個(gè)電信號,A相信號為主信號,B相為副信號,兩個(gè)信號周期相同,均為W,相位差90o。Z信號可以作為較準信號以消除累積誤差。
圖1給出了動(dòng)尺移動(dòng)時(shí)A、B信號的變化情況。在A(yíng)信號的下降沿采集B信號,就可以判斷出運動(dòng)方向。圖中前半部分為正向運動(dòng),A信號的上升沿及下降沿均比B信號超前1/4W,在A(yíng)信號下降沿采集的B信號為“1”;后半部分為反向運動(dòng),A信號的上升沿及下降沿均比B信號滯后1/4W,在A(yíng)信號下降沿采集到的B信號為“0”。根據采集到的運動(dòng)信號方向和A信號變化的周期數用計數器進(jìn)行曲計數(正向計數或逆向計數),就可以測算出總位移。
在上述信號處理、測量電路中,用到了觸發(fā)器、計數器等多種數字集成電路,測量分辨率為光柵柵距W。目前,計量用光柵尺的刻線(xiàn)一般為每毫米50~250線(xiàn),對應的柵距W為20~4μm ,在精密測量中往往不能滿(mǎn)足要求,需要進(jìn)行曲細分。如果同時(shí)考慮A、90o信號上升沿和下降沿的各種情況,就可以實(shí)現信號四細分,其主要電路有:細分辨向、計數和接口電路等。以上功能可以由通用數字集成電路來(lái)完成,但這種設計方法所用芯片多,結構復雜。當然也可以通過(guò)單片機以及一些外圍芯片來(lái)完成,只是這種方法通用性差,編程復雜,而且增大了單片機的負擔,使單片機響應其它事件的實(shí)時(shí)性變差。
隨著(zhù)大規??删幊踢壿嬈骷–PLD:復雜可編程邏輯器件;FPGA:現場(chǎng)可編程門(mén)陣列)的飛速發(fā)展,傳統的電路設計方法已大為改觀(guān)。許多傳統的邏輯電路完全可以用可編程邏輯器件來(lái)代替,并且可提高系統的可靠性,減小PCB的面積,使產(chǎn)品小型化,還有利于保護知識產(chǎn)權。利用EDA(電子設計自動(dòng)化)技術(shù)設計可編程邏輯器件已成為現代電子設計的一種必然趨勢。本文所介紹電路的接口模塊就是基于FPGA芯片完成的。
該電路設計有如下要求:利用FPGA芯片完成雙路光柵尺信號處理(考慮到2維X-Y平臺的應用場(chǎng)合)、四細分及辨向功能、24位可逆計數器、與微處理品器及各種單片機的并行接口電路(包括鎖存、譯碼、清零電路等)。其對外接口信號如圖2所示。
INA1、INB1、INA2、INB2分別為兩路A、B信號。作為處理電路 輸入信號,這2路信號經(jīng)四細分、辨向后,可為兩路24信可逆計數器提供計數脈沖和方向信號。接口電路包括鎖存、譯碼、清零電路等,通過(guò)數據線(xiàn)D0~D7、地址線(xiàn)A0~A4、片選信號線(xiàn)CS來(lái)讀寫(xiě)控制與外部微控制器接口。接口采用8位數據總線(xiàn),計數值(48位,占6個(gè)讀口)及清零命令等數據交換均通過(guò)不同口地址的讀寫(xiě)完成。該模塊的操作與其它智能接口器件(如8255、8253等)相類(lèi)似。
2 FPGA器件的選擇
根據設計要求和綜合估算整個(gè)電路所需要的管腳和宏單元的個(gè)數,本設計選用EPF10K10。它是ALTERA公司FLEX10K系列產(chǎn)品之一,是一種嵌入式可編程邏輯器件。EPF10K10采用CMOS SRAM制靠工藝,使用權SRAM來(lái)存儲編程數據,具有在系統可編程特性。具體的配置方式有被動(dòng)型和主動(dòng)型兩種,其中被動(dòng)型配置是在上電后由計算機通過(guò)編譯后產(chǎn)生的后綴為SOF的文件利用專(zhuān)門(mén)的下載電纜配置芯片。而主動(dòng)型配置是在上電后由專(zhuān)門(mén)的可編程配置芯片(如EPC1441)自動(dòng)對EPF10K10芯片進(jìn)行配置。EPF10K10具有高密度(可用邏輯門(mén)1萬(wàn)~25萬(wàn);RAM;6114~4096位,512個(gè)宏單元)、高速度、低功耗等特點(diǎn)。芯片內含有專(zhuān)用進(jìn)位鏈和級聯(lián)鏈及快速通道,故其互連方式十分靈活。
3 電路設計
本電路采用Altera公司的Max -plus 開(kāi)發(fā)平臺進(jìn)行設計。Max -plus 為Altera公司的專(zhuān)門(mén)開(kāi)發(fā)平臺,它包括設計輸入、編譯、仿真、器件編程等功能。該平臺使用方便,允許用戶(hù)用原理圖、VHDL語(yǔ)言、波形圖等多種輸入方法進(jìn)行設計。下面介紹系統主要電路的設計。
3.1 細分辨向電路
光柵尺信號的細分與辨向是提高光柵尺測量精度的關(guān)鍵性一步。在筆者所參考的關(guān)于光柵辨向和細分電路的資料中,很多設計者都沒(méi)有綜合考慮辨向和細分的復雜性,而是把辨向和細分電路分開(kāi),辨向電路只對光柵尺的輸出信號進(jìn)行辨向,而不是對細分后的脈沖信號進(jìn)行辨向,這樣實(shí)現測量誤差仍是光柵尺的柵距。在考慮辨向功能時(shí),應對細分后的信號進(jìn)行辨向設計,否則不能提高測量精度。
細分辨向電路的原理圖如圖3所示,光柵尺輸出的相差為90 o的方波信號INA、INB經(jīng)RC濾波和施密特整形后(芯片外處理)輸出信號A、B,然后經(jīng)第一級D觸發(fā)器后變?yōu)锳’、B’信號,再經(jīng)過(guò)第二級D觸發(fā)器變?yōu)锳”、B”信號。通過(guò)D觸發(fā)器可以對信號進(jìn)行整形,從而消除了輸入信號中尖脈沖帶來(lái)的影響,這樣在后續倍頻電路中不再使用權原始信號A、B,因此提高了系統的抗干擾性能。D觸發(fā)器的時(shí)鐘由外部有源晶振提供,其頻率為1MHz,遠高于A(yíng)、B波形變化的頻率,因而可以認為,D觸發(fā)器的輸出端Q能跟蹤輸入端D的變化。在四倍頻辨向電路中,采用組合、時(shí)序邏輯實(shí)現A’、A”、B’、B”信號進(jìn)行的邏輯組合。
當光柵尺正向運動(dòng)時(shí),從CLKADD信號端輸出四倍頻脈沖,而CLKSUBB端無(wú)信號輸出。當光柵尺反向運動(dòng)時(shí),從CLKSUBB信號端輸出四倍頻脈沖,而CLKADD端無(wú)信號輸出。CLKADD和CLKSUBB相與后作為可逆計數器的計數脈沖CLK,讀出該計數器的值便可得出光柵移動(dòng)的位置。CLKADD和CLKSUBB信號組成的RS觸發(fā)器電路可產(chǎn)生ENADD,ENSUBB。ENADD可作為可逆計數器的方向信號。其仿真波形如圖4所示。
3.2 計數電路
本系統中的24位計數器采用VHDL語(yǔ)言進(jìn)行設計。輸入信號定義為時(shí)鐘CLK、方向信號fx =ENADD ,清零信號CLR(后面有介紹)。輸出信號定義為24位的計數結果COUNT(23:0)。用VHDL語(yǔ)言來(lái)編寫(xiě)實(shí)現24位可逆計數器功能。其仿真信號如圖5所示。
3.3 接口電路
接口電路用原理圖法設計,電路包括以下部分:
(1)地址譯碼電路:輸入信號為外部(微處理器、單片機等)的地址線(xiàn)A0~ A4、片選信號線(xiàn)CS、讀寫(xiě)控制信號,通過(guò)邏輯門(mén)電路的連接構成組合邏輯,給每一個(gè)內部單元提供使能信號。
(2)鎖存接口電路:由于內部各計數單元工作屬于動(dòng)態(tài)過(guò)程,因此外部微處理器(或單片機等)在讀取數據時(shí),應該先給其發(fā)出鎖存信號然后再讀取數據,以保證讀出穩定的數據。鎖存器輸出設計為三態(tài)門(mén)輸出,與外部數據線(xiàn)連接,三態(tài)門(mén)的使能信號由譯碼電路提供。
(3)清零電路:電路中設計了清零電路。清零脈沖是通過(guò)外部寫(xiě)命令(8位)內部進(jìn)行譯碼的方式進(jìn)行的,而不是使用一根信號線(xiàn)進(jìn)行清零,這樣可以有效地防止在只使用一根信號線(xiàn)時(shí)受干擾等原因而引起的誤清零現象。
4 結束語(yǔ)
本設計經(jīng)過(guò)仿真、編譯實(shí)現后,將代碼下載到EPC1441可編程配置芯片,屬于主動(dòng)配置模式。在接口模塊上電后由EPC1441自動(dòng)對EPF10K10芯片進(jìn)行配置。該接口模塊已成功應用于于筆者設計的運動(dòng)控制系統中,成功地完成了對光柵尺(運動(dòng)控制系統中的位置反饋部件)信號的四細分處理功能,性能穩定可靠。如果在此設計的基礎上再加上譯碼驅動(dòng)和顯示電路,就可作為位移測量和顯示電路獨立使用。
評論