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