科技創(chuàng)新結(jié)題報(bào)告-《基于FPGA多功能實(shí)驗(yàn)測(cè)試開發(fā)板》_第1頁
科技創(chuàng)新結(jié)題報(bào)告-《基于FPGA多功能實(shí)驗(yàn)測(cè)試開發(fā)板》_第2頁
科技創(chuàng)新結(jié)題報(bào)告-《基于FPGA多功能實(shí)驗(yàn)測(cè)試開發(fā)板》_第3頁
科技創(chuàng)新結(jié)題報(bào)告-《基于FPGA多功能實(shí)驗(yàn)測(cè)試開發(fā)板》_第4頁
科技創(chuàng)新結(jié)題報(bào)告-《基于FPGA多功能實(shí)驗(yàn)測(cè)試開發(fā)板》_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1課題研究目的基于FPGA多功能試驗(yàn)開發(fā)板,主要功能是利用FPGA處理模塊實(shí)現(xiàn)對(duì)邏輯門電路的調(diào)試。本項(xiàng)目能提供I/O接口的多組輸入輸出端,應(yīng)用AD轉(zhuǎn)換器實(shí)現(xiàn)模擬信號(hào)向數(shù)字信號(hào)的轉(zhuǎn)換、同時(shí)具有調(diào)整輸入頻率、差分信號(hào)的處理等等輔助功能。FPGA即現(xiàn)場(chǎng)可編程邏輯門陣列,他是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路有限的缺點(diǎn)。FPGA采用了邏輯單元陣列LCA這樣一個(gè)新概念,內(nèi)部包括可配置邏輯模塊CLB、輸出輸入模塊IOB和內(nèi)部連線(Internetconect)三個(gè)部分??梢灾С忠黄琍ROM編輯多片F(xiàn)PGA;串行模式可以采用串行PROM編程FPGA;外設(shè)模式可以將FPGA作為微處理器的外設(shè),由微處理器對(duì)其編程。FPGA具有體系結(jié)構(gòu)和邏輯單元靈活、集成度高以及使用范圍寬等優(yōu)點(diǎn),兼容了PLD和通用門陣列優(yōu)點(diǎn),可以實(shí)現(xiàn)較大規(guī)模的電路,編程也很靈活。2課題背景本項(xiàng)目主要針對(duì)在校大學(xué)生在邏輯門電路的設(shè)計(jì)過程中所遇到的問題而設(shè),經(jīng)調(diào)查得知市場(chǎng)上現(xiàn)有的FPGA學(xué)習(xí)板不是功能過于單一,就是將FPGA與實(shí)驗(yàn)電路集成一體,當(dāng)學(xué)習(xí)遇到一定程度并初步具備自主設(shè)計(jì)能力的時(shí)候,這樣的學(xué)習(xí)板顯然已經(jīng)不能滿足進(jìn)一步學(xué)習(xí)的要求。本項(xiàng)目將采用FPGA核心板與實(shí)驗(yàn)板相分離的結(jié)構(gòu),核心板主要FPGA芯片和電源、配置芯片和計(jì)數(shù)器組成,即FPGA的最小系統(tǒng)組成,配有多組的空閑的輸入輸出端子,并都以核心板的插針引出。當(dāng)學(xué)生初步具備自主設(shè)計(jì)能力的時(shí)候,可以自主設(shè)計(jì)實(shí)現(xiàn)更復(fù)雜功能的實(shí)驗(yàn)板,并將核心板插接到自主設(shè)計(jì)的實(shí)驗(yàn)板插座上,即可利用FPGA的所有I/O來組裝自己的電路。3課題研究主要內(nèi)容3.1數(shù)據(jù)采集系統(tǒng)總體設(shè)計(jì)本實(shí)驗(yàn)板能對(duì)三路模擬信號(hào)和四路光柵信號(hào)進(jìn)行高速同步數(shù)據(jù)采集,同時(shí)預(yù)留了20路可擴(kuò)展I/O接口,并且預(yù)留了與計(jì)算機(jī)可進(jìn)行通訊的PCI總線接口,方便擴(kuò)展。其數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)如圖1所示。本實(shí)驗(yàn)開發(fā)板主要包括A/D轉(zhuǎn)換模塊、光柵信號(hào)接收模塊、FPGA模塊、PCI總線接口模塊和FIFO數(shù)據(jù)緩存模塊。以下是各個(gè)模塊的簡(jiǎn)單介紹:圖1數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)框圖(1)A/D轉(zhuǎn)換模塊。將模擬信號(hào)經(jīng)過A/D轉(zhuǎn)換器件轉(zhuǎn)換成能夠被計(jì)算機(jī)識(shí)別的數(shù)字信號(hào),根據(jù)采樣速率、轉(zhuǎn)換精度、設(shè)計(jì)通用性等方面的考慮,本系統(tǒng)采用三片MAXIM公司的16位串行模數(shù)轉(zhuǎn)換器件MAX195實(shí)現(xiàn)對(duì)三路測(cè)頭信號(hào)的模數(shù)轉(zhuǎn)換。(2)光柵信號(hào)接收模塊。主要處理光柵信號(hào),光柵信號(hào)為四路差分信號(hào),因此在設(shè)計(jì)時(shí)利用差分信號(hào)接收器將四路差分信號(hào)轉(zhuǎn)換為相差90°的正交方波信號(hào)。本實(shí)驗(yàn)開發(fā)板選用MC3486實(shí)現(xiàn)光柵差分信號(hào)的接收功能。(3)FPGA模塊。FPGA作為本系統(tǒng)的控制核心,實(shí)現(xiàn)對(duì)A/D轉(zhuǎn)換器控制;光柵信號(hào)的數(shù)字濾波、四細(xì)分辨相和可逆計(jì)數(shù)控制;數(shù)據(jù)采樣控制;地址譯碼;FIFO讀寫控制;與PCI接口芯片通信控制等功能。FPGA時(shí)鐘頻率高,內(nèi)部延時(shí)小,運(yùn)行速度快,全部控制邏輯由硬件完成,其內(nèi)部寄存器資源比較豐富。FPGA可以克服單片機(jī)時(shí)鐘頻率低和DSP對(duì)外圍設(shè)備復(fù)雜邏輯控制能力不強(qiáng)的不足,滿足用戶使用時(shí)對(duì)實(shí)時(shí)性和同步性的需求。綜合系統(tǒng)成本等方面考慮,本系統(tǒng)選用Altera公司Cyclone系列的EP1C3T144C6型FPGA芯片。(4)PCI總線接口模塊。數(shù)據(jù)采集系統(tǒng)與計(jì)算機(jī)之間的數(shù)據(jù)傳遞是采DS1233對(duì)RESET信號(hào)延時(shí)約為350ms,即系統(tǒng)上電350ms后RESET信號(hào)才由低電平變?yōu)楦唠娖?,此時(shí)才開始進(jìn)行自動(dòng)校準(zhǔn),保證了自動(dòng)校準(zhǔn)的正確性。圖2中,CS信號(hào)為片選信號(hào),輸入低電平時(shí)選通,選通后才能使串行數(shù)據(jù)輸出口有數(shù)據(jù)輸出,在本系統(tǒng)中直接接地即可。DOUT,EOC信號(hào)經(jīng)過光電耦器后與FPGA相連。其中,DOUT是MAX195串行數(shù)據(jù)輸出口,將轉(zhuǎn)換完成的16位二進(jìn)制數(shù)碼串行輸出,輸出時(shí)高位在前。EOC為MAX195輸出的轉(zhuǎn)換結(jié)束信號(hào),低電平有效,在轉(zhuǎn)換開始后一個(gè)時(shí)鐘周期上升為高電平,并在轉(zhuǎn)換結(jié)束后一個(gè)時(shí)鐘周期變?yōu)楦唠娖?。FPGA通過檢測(cè)此信號(hào)的變化判定何時(shí)讀取串行數(shù)字信號(hào)。FPGA輸出的信號(hào)ADCCONV,ADCCLK_D經(jīng)過光電耦合器件后,用以控制MAX195進(jìn)行A/D轉(zhuǎn)換。CLK信號(hào)是MAX195工作時(shí)鐘信號(hào),由FPGA對(duì)其時(shí)鐘信號(hào)分頻得到,大小為1.7MHz。信號(hào)用以控制MAX195開始轉(zhuǎn)換,在FPGA內(nèi)由控制邏輯實(shí)現(xiàn)。信號(hào)為低電平時(shí),開始A/D轉(zhuǎn)換。在本部分電路設(shè)計(jì)中還有一個(gè)重要信號(hào)REF,作為MAX195的基準(zhǔn)電源,精度不高的電壓基準(zhǔn)源將直接影響模數(shù)轉(zhuǎn)換器的精度。以MAX195為例,采用+5V基準(zhǔn)電壓,電壓信號(hào)分辨力為:當(dāng)+5V基準(zhǔn)電壓有0.125%的變化時(shí)產(chǎn)生的誤差為: 由此可得16位A/D轉(zhuǎn)換器的實(shí)際精度為:位如前面所述,為保證A/D的精度和穩(wěn)定性,本實(shí)驗(yàn)開發(fā)板選用REF198提供穩(wěn)定的基準(zhǔn)電壓,如圖3所示。圖3基準(zhǔn)電壓產(chǎn)生電路3.3光柵信號(hào)數(shù)據(jù)采集電路設(shè)計(jì)光柵傳感器輸出的信號(hào)是四路差分信號(hào),這樣能提高信號(hào)的抗干擾性。在實(shí)驗(yàn)開發(fā)板中采用MC3486差分信號(hào)接收器將四路差分信號(hào)轉(zhuǎn)換為相差為90°的正交方波信號(hào),正交方波信號(hào)傳輸?shù)紽PGA內(nèi)進(jìn)行數(shù)字濾波、細(xì)分辨向和可逆計(jì)數(shù)等處理,最后將數(shù)據(jù)傳輸給計(jì)算機(jī)。其中X,Y軸光柵傳感器信號(hào)接收電路如圖4所示。由圖中可以看出,X軸的四路差分信號(hào)-xUa1,xUa1,xUa2,-xUa2經(jīng)過MC3486后轉(zhuǎn)換為XA,XB兩路正交方波信號(hào)。圖4光柵傳感器信號(hào)接收電路3.4FIFO數(shù)據(jù)緩存電路設(shè)計(jì)為了滿足用戶對(duì)高速采集的需求,采用了大容量的數(shù)據(jù)緩沖器將數(shù)據(jù)緩存,之后采用高效的方式進(jìn)行傳輸,這樣可以提高數(shù)據(jù)傳輸?shù)男屎驼麄€(gè)系統(tǒng)的性能。本系統(tǒng)采用FIFO對(duì)高速采集的數(shù)據(jù)緩存。3.4.1FIFO芯片選擇為了能最大限度的利用PCI接口,選擇的FIFO的處理速度應(yīng)小于15ns(1/66M);為了能連續(xù)的采集信號(hào),要求FIFO有FH標(biāo)志(半滿標(biāo)志);為了檢測(cè)采集卡是否有丟失數(shù)據(jù)的現(xiàn)象(當(dāng)計(jì)算機(jī)的處理速度小于采集卡的采集速度,F(xiàn)IFO很快就存滿了,再采集的數(shù)據(jù)就會(huì)丟失),還要求FIFO有FE(空標(biāo)志)和FF標(biāo)志(滿標(biāo)志)。根據(jù)上面的三點(diǎn),本系統(tǒng)選用IDT公司推出的IDT72XX系列FIFO存儲(chǔ)器芯片。3.4.2IDT7206控制電路IDT7206容量為16K×9位,用兩片IDT7206進(jìn)行位擴(kuò)展可構(gòu)成一個(gè)具有16K×16位容量的高速FIFO緩沖器。如圖5為IDT7206接口示意圖。由圖中可以看出,在數(shù)據(jù)采集過程中,F(xiàn)PGA通過控制兩片IDT7026的寫信號(hào)F_W#,將采集的數(shù)據(jù)通過16位數(shù)據(jù)總線按順序存入兩片IDT7206中(分別存儲(chǔ)16位數(shù)據(jù)的低8位和高8位)。同時(shí),F(xiàn)PGA檢測(cè)IDT7206的半滿信號(hào)HF#是否有效,如果此信號(hào)有效,表示FIFO已經(jīng)處于半滿狀態(tài),F(xiàn)PGA觸發(fā)中斷信號(hào),上位機(jī)響應(yīng)中斷,開始讀取數(shù)據(jù),防止FIFO內(nèi)數(shù)據(jù)存滿后造成數(shù)據(jù)丟失。FPGA通過控制IDT7206的F_R#信號(hào),將FIFO內(nèi)的數(shù)據(jù)按順序傳輸?shù)綌?shù)據(jù)總線上,供上位機(jī)讀取。數(shù)據(jù)的讀取過程不影響FPGA繼續(xù)向FIFO內(nèi)寫入數(shù)據(jù),保證了數(shù)據(jù)采集的連續(xù)性。圖5IDT7206接口示意圖3.5FPGA控制邏輯設(shè)計(jì)及實(shí)現(xiàn)本系統(tǒng)選用了Altera公司的Cyclone系列的EP1C3T144C6型號(hào)的FPGA,Cyclone系列FPGA是Altera公司推出的目前成本最低的FPGA器件系列產(chǎn)品。能有效降低本數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)成本。EP1C3T144C8是基于1.5V、0.13μm、SRAM工藝的FPGA,它集成度高,內(nèi)部邏輯資源豐富,共有2910個(gè)邏輯單元,59904位RAM,最大可用管腳為104,能夠滿足本系統(tǒng)使用。工作時(shí)需要提供+1.5V和+3.3V兩種工作電壓,支持LVTTL、LVCMOS、PCI、LVDS、RSDS等接口。本數(shù)據(jù)采集系統(tǒng)中FPGA作為控制核心,主要實(shí)現(xiàn)光柵數(shù)據(jù)采集、模擬信號(hào)采集、FIFO讀寫控制等功能。FPGA選用40MHz工作時(shí)鐘,選用EPCS1低成本串行配置芯片。其邏輯控制框圖如圖6所示。圖6FPGA邏輯控制框圖3.5.1AD數(shù)據(jù)采集模塊A/D轉(zhuǎn)換器件MAX195有兩種數(shù)據(jù)轉(zhuǎn)換傳輸方式,本系統(tǒng)中采用同步數(shù)據(jù)轉(zhuǎn)換傳輸方式,其轉(zhuǎn)換時(shí)序圖如圖7所示。由時(shí)序圖可以看出,MAX195通過檢測(cè)信號(hào)為低電平后啟動(dòng)一次轉(zhuǎn)換,從上次轉(zhuǎn)換結(jié)束到本次轉(zhuǎn)換開始至少需要四個(gè)時(shí)鐘周期,如果從上次轉(zhuǎn)換結(jié)束到新一次信號(hào)變低的時(shí)間大于或等于三個(gè)時(shí)鐘周期,MAX195會(huì)在信號(hào)變低后的下一個(gè)時(shí)鐘周期開始轉(zhuǎn)換,如果從上次轉(zhuǎn)換結(jié)束到新一次信號(hào)變低的時(shí)間小于三個(gè)時(shí)鐘周期,MAX195會(huì)在上次轉(zhuǎn)換結(jié)束后的第四個(gè)時(shí)鐘周期開始下一次轉(zhuǎn)換。因此,MAX195完成一次A/D轉(zhuǎn)換的時(shí)間至少為20個(gè)時(shí)鐘周期。當(dāng)MAX195有串行數(shù)據(jù)輸出時(shí),信號(hào)是高電平狀態(tài),可以在FPGA內(nèi)通過檢測(cè)信號(hào)高電平狀態(tài)來讀取數(shù)據(jù)。數(shù)據(jù)可以在時(shí)鐘上升沿時(shí)讀取,也可以在時(shí)鐘下降沿讀取。圖7MAX195轉(zhuǎn)換時(shí)序圖在FPGA內(nèi)采用VerilogHDL語言設(shè)計(jì)實(shí)現(xiàn)MAX195的A/D轉(zhuǎn)換控制及串行數(shù)據(jù)接收,并進(jìn)行串并轉(zhuǎn)換,將16位串行數(shù)據(jù)轉(zhuǎn)換為16位并行數(shù)據(jù)。其FPGA內(nèi)部實(shí)現(xiàn)過程如圖8所示。圖8MAX195A/D轉(zhuǎn)換控制模塊由于FPGA系統(tǒng)時(shí)鐘是40MHz,而MAX195工作時(shí)鐘最大為1.7MHz,需要對(duì)40MHz系統(tǒng)時(shí)鐘分頻為1.7MHz,用Verilog實(shí)現(xiàn)此種小數(shù)分頻很麻煩,為實(shí)現(xiàn)這種分頻,在此模塊中先利用EP1C3T144C6內(nèi)部的鎖相環(huán)將40MHz系統(tǒng)時(shí)鐘(clk_400)分頻為34MHz(clk_340)時(shí)鐘信號(hào),再將clk_340時(shí)鐘信號(hào)20分頻即得到MAX195所需要的1.7MHz工作時(shí)鐘(clkout_17)。圖9為時(shí)鐘分頻功能仿真圖。圖9時(shí)鐘分頻功能仿真圖要實(shí)現(xiàn)MAX195轉(zhuǎn)換控制,需要FPGA產(chǎn)生控制信號(hào),信號(hào)要和時(shí)鐘信號(hào)clkout_17同步,并確保在時(shí)鐘信號(hào)為低電平時(shí)出現(xiàn),且需要保持至少40ns。因此,AD_CONV模塊產(chǎn)生的conv信號(hào)與時(shí)鐘信號(hào)通過“或”門,達(dá)到信號(hào)同步的目的,輸出最終用于控制MAX195轉(zhuǎn)換的信號(hào)。圖10為信號(hào)功能仿真圖。由圖中可以看出,設(shè)計(jì)能夠?qū)崿F(xiàn)每隔20個(gè)時(shí)鐘周期將信號(hào)置低一次,控制一次A/D轉(zhuǎn)換。圖10信號(hào)功能仿真圖在本控制模塊中,還實(shí)現(xiàn)了數(shù)據(jù)串并轉(zhuǎn)換功能,在A/D轉(zhuǎn)換過程中,AD_CONV模塊根據(jù)MAX195產(chǎn)生的eoc信號(hào)采集數(shù)據(jù),當(dāng)檢測(cè)到eoc信號(hào)為高電平時(shí),在每個(gè)時(shí)鐘下降沿將Din輸入接口的二進(jìn)制數(shù)據(jù)按順序存入內(nèi)部的16位寄存器,并以data[15..0]的方式輸出,實(shí)現(xiàn)串并轉(zhuǎn)換。3.5.2光柵數(shù)據(jù)采集模塊為了提高光柵信號(hào)抗干擾能力,需要在FPGA內(nèi)部對(duì)四路正交光柵信號(hào)進(jìn)行數(shù)字濾波、細(xì)分與辨向、可逆計(jì)數(shù)等處理。(1)光柵信號(hào)數(shù)字濾波由光柵傳感器輸出的信號(hào)雖然經(jīng)過了預(yù)處理,但在現(xiàn)場(chǎng)環(huán)境中仍會(huì)受噪聲信號(hào)的影響。為了消除噪聲信號(hào),在FPGA內(nèi)部設(shè)計(jì)數(shù)字濾波器,可以有效的防止計(jì)數(shù)器產(chǎn)生誤計(jì)數(shù)。圖11是光柵信號(hào)數(shù)字濾波器的邏輯示意圖。其基本工作原理是將輸入的方波信號(hào)通過四個(gè)時(shí)鐘周期的延遲來克服毛刺和噪聲信號(hào)。圖中,CLK是系統(tǒng)工作時(shí)鐘,A是方波信號(hào),F(xiàn)A是濾波器輸出信號(hào)。圖11光柵信號(hào)數(shù)字濾波邏輯實(shí)現(xiàn)對(duì)光柵信號(hào)數(shù)字濾波器的功能仿真如圖12所示,帶有毛刺的光柵信號(hào)A,經(jīng)過濾波器后,信號(hào)中的毛刺消除,而光柵信號(hào)只是延時(shí)了一段時(shí)間,其它都未改變,達(dá)到了濾波器設(shè)計(jì)的目的。并不是任何大小的毛刺信號(hào)通過此濾波器都能消除的,如果毛刺信號(hào)的寬度大于濾波器的延時(shí)寬度,濾波器將對(duì)此信號(hào)不起作用。但在濾波器設(shè)計(jì)時(shí)不能為了濾掉低頻的毛刺信號(hào)而增加濾波器的延時(shí),這有可能將光柵信號(hào)也濾掉。圖12光柵信號(hào)數(shù)字濾波器的功能仿真(2)光柵信號(hào)細(xì)分、辨向與可逆計(jì)數(shù)根據(jù)光柵傳感器測(cè)位移原理,若直接對(duì)光柵信號(hào)進(jìn)行計(jì)數(shù),其分辨力就是一個(gè)信號(hào)周期所對(duì)應(yīng)的位移量。為了提高測(cè)量系統(tǒng)的分辨力,需要對(duì)正交光柵信號(hào)進(jìn)行細(xì)分。本系統(tǒng)中在FPGA內(nèi)部對(duì)光柵信號(hào)進(jìn)行了四細(xì)分。光柵四細(xì)分原理如圖13所示。在FPGA內(nèi)通過CLK信號(hào)檢測(cè)每路光柵的上升沿和下降沿,當(dāng)檢測(cè)到光柵信號(hào)上升沿或下降沿到來時(shí),輸出一個(gè)脈沖信號(hào),最后將兩路光柵分別在上升沿和下降沿產(chǎn)生的脈沖信號(hào)通過“或”門組合,便實(shí)現(xiàn)了兩路光柵信號(hào)的四細(xì)分功能。需要注意的是如果光柵信號(hào)頻率太高,而時(shí)鐘頻率太低,則會(huì)使最終輸出的脈沖信號(hào)在經(jīng)過“或”門時(shí)重疊,不能實(shí)現(xiàn)兩路正交光柵信號(hào)的四細(xì)分。同時(shí),由于光柵位移傳感器的指示光柵一般允許在正、反兩個(gè)方向移動(dòng),故需對(duì)信號(hào)進(jìn)行辨向處理。如果指示光柵往正方向運(yùn)動(dòng),計(jì)數(shù)器就進(jìn)行加計(jì)數(shù),反之,計(jì)數(shù)器進(jìn)行減計(jì)數(shù)。如圖14所示光柵辨向計(jì)數(shù)的狀態(tài)轉(zhuǎn)換圖,正向運(yùn)動(dòng)時(shí),狀態(tài)轉(zhuǎn)換為00→10→11→01→00,此時(shí),每變換一個(gè)狀態(tài),F(xiàn)PGA內(nèi)部32位可逆計(jì)數(shù)器則進(jìn)行加1計(jì)數(shù);反向運(yùn)動(dòng)時(shí),狀態(tài)轉(zhuǎn)換為00→01→11→10→00,此時(shí),每變換一個(gè)狀態(tài),F(xiàn)PGA內(nèi)部32位可逆計(jì)數(shù)器則進(jìn)行加減1計(jì)數(shù)。圖13正交光柵信號(hào)四細(xì)分原理圖圖14可逆計(jì)數(shù)器的辨向狀態(tài)轉(zhuǎn)換圖正交光柵信號(hào)四細(xì)分、辨向和可逆計(jì)數(shù)模塊仿真圖如圖15和圖16所示。由圖中可以看出FPGA內(nèi)32位可逆計(jì)數(shù)器是通過判定兩路正交光柵的狀態(tài)對(duì)細(xì)分后的脈沖信號(hào)進(jìn)行加減計(jì)數(shù)的。由于FPGA內(nèi)邏輯實(shí)現(xiàn)存在延時(shí),細(xì)分脈沖信號(hào)的產(chǎn)生不是剛好出現(xiàn)在光柵信號(hào)的上升沿或下降沿,而是存在一定的時(shí)間延時(shí),但這不影響對(duì)光柵信號(hào)細(xì)分、辨向和可逆計(jì)數(shù)功能的實(shí)現(xiàn)。圖15正交光柵正向運(yùn)動(dòng)四細(xì)分計(jì)數(shù)仿真圖圖16正交光柵正向運(yùn)動(dòng)四細(xì)分計(jì)數(shù)仿真圖3.6PCI總線接口設(shè)計(jì)PCI9052是PLX公司推出的一種簡(jiǎn)單、高效的PCI從設(shè)備接口,可實(shí)現(xiàn)多種外設(shè)局部總線和PCI的互連。它的局部總線可以通過編程設(shè)置為8/16/32位的(非)復(fù)用總線,使局部總線快速轉(zhuǎn)換到PCI總線上。在本系統(tǒng)中利用PCI9052實(shí)現(xiàn)PCI接口功能的示意圖如圖16所示。圖16PCI9052接口示意圖由圖中可以看出,PCI9052接口分三部分:與PCI總線接口;與局部總線接口和串行EEPROM的接口。在此種實(shí)現(xiàn)方式中,PCI9052作為PCI總線的從設(shè)備,局部總線的主設(shè)備,實(shí)現(xiàn)了PCI總線和局部總線之間的數(shù)據(jù)傳輸。PCI9052從PCI總線側(cè)獲得傳輸命令和讀寫數(shù)據(jù)的地址后,一方面對(duì)這個(gè)操作命令做出反應(yīng),將其傳達(dá)給局部總線,另一方面將PCI總線傳送過來的數(shù)據(jù)地址映射為局部總線可識(shí)別的地址。當(dāng)局部總線準(zhǔn)備好后,PCI9052會(huì)收到局部總線側(cè)做出的響應(yīng)信號(hào)。如果是讀周期,PCI9052會(huì)將指定地址的數(shù)據(jù)由PCI總線讀到用戶側(cè);如果是寫周期,PCI9052會(huì)將事先由PCI總線側(cè)的數(shù)據(jù)寫到局部總線地址指定的存儲(chǔ)區(qū)域。圖16中所給出的主要是局部總線部分關(guān)鍵信號(hào)的連接及EEPROM的接口實(shí)現(xiàn)。LINTi1是PCI9052局部總線側(cè)的中斷信號(hào)引腳,F(xiàn)PGA通過控制此信號(hào)有效可以在PCI總線側(cè)產(chǎn)生中斷信號(hào)INTA#,即PCI中斷發(fā)生。Windows操作系統(tǒng)收到這一信息,并傳遞給驅(qū)動(dòng)程序處理。RD#,WR#,LW/R是局部總線的讀寫信號(hào),當(dāng)LW/R信號(hào)為高電平,WR#信號(hào)為低電平時(shí),表示PCI9052向數(shù)據(jù)總線LAD[0..15]上寫入數(shù)據(jù),當(dāng)LW/R信號(hào)為低電平,RD#信號(hào)為低電平時(shí),表示PCI9052將LAD[0..15]上數(shù)據(jù)讀入PCI總線上。LRDYi#是局部總線準(zhǔn)備就緒信號(hào),在讀數(shù)據(jù)時(shí)有效表示數(shù)據(jù)已經(jīng)在數(shù)據(jù)總線上,在寫數(shù)據(jù)時(shí)有效表示數(shù)據(jù)已經(jīng)被FPGA取走。LBE0,LBE1,LBE3,LA[2..6]共同組成了局部總線的8位地址線。TEST為測(cè)試信號(hào),測(cè)試時(shí)需要接電源或拉高,正常工作時(shí)接地或拉低。LHOLD是局部總線請(qǐng)求信號(hào),由于PCI9052不支持局部總線的設(shè)備的直接主控能力,通過此信號(hào)接地使PCI9052一直擁有局部總線控制權(quán)。PCI9052支持?jǐn)?shù)據(jù)/地址總線(非)復(fù)用模式,通過MODE信號(hào)接地,表示地址和數(shù)據(jù)總線為非復(fù)用的。93CS46作為PCI9052的EEPROM,存儲(chǔ)了PCI9052的重要信息。在系統(tǒng)上電時(shí)PCI總線的RST#信號(hào)將PCI9052的內(nèi)部寄存器設(shè)置為缺省值,同時(shí),PCI9052輸出局部復(fù)位信號(hào)LRESET#,并檢查EEPROM是否存在。如果設(shè)備上有EEPROM,并且EEPROM的第一個(gè)16字節(jié)非空,PCI9052將根據(jù)EEPROM內(nèi)容設(shè)置內(nèi)部寄存器,否則設(shè)為缺省值。PCI總線是一種高性能、與CPU無關(guān)的32/64位地址數(shù)據(jù)復(fù)用的總線,它支持突發(fā)傳輸、即插即用、電源管理等功能,不但能滿足現(xiàn)在的應(yīng)用需要,而且能夠適應(yīng)未來的需求。PCI總線支持硬件資源動(dòng)態(tài)自動(dòng)配置,以支持即插即用。在PCI設(shè)備插入PCI插槽或上電后,PCI總線配置機(jī)構(gòu)自動(dòng)根據(jù)PCI設(shè)備的要求實(shí)現(xiàn)配置。PCI總線支持內(nèi)存讀寫、I/O端口讀寫、中斷機(jī)制和DMA功能。由于這些硬件特點(diǎn)使PCI設(shè)備的WDM驅(qū)動(dòng)程序的設(shè)計(jì)變得很復(fù)雜。開發(fā)PCI設(shè)備的驅(qū)動(dòng)程序最好的方案是WDM驅(qū)動(dòng)程序。在一個(gè)系統(tǒng)中開發(fā)出WDM驅(qū)動(dòng)程序,稍加修改即可在其他系統(tǒng)中編譯運(yùn)行。3.7上位機(jī)應(yīng)用程序開發(fā)應(yīng)用程序通過DeviceIoControl函數(shù)實(shí)現(xiàn)數(shù)據(jù)采集,為驗(yàn)證數(shù)據(jù)能否進(jìn)行正確讀出,設(shè)計(jì)應(yīng)用程序如圖17所示。為了驗(yàn)證數(shù)據(jù)的正確性,在讀取數(shù)據(jù)采集系統(tǒng)數(shù)據(jù)時(shí),也用PMAC進(jìn)行了讀取光柵值,數(shù)據(jù)采集卡采集的光柵數(shù)據(jù)通過與PMAC卡采集的數(shù)據(jù)進(jìn)行對(duì)比,驗(yàn)證了數(shù)據(jù)能夠正確讀出,同時(shí)驗(yàn)證了數(shù)據(jù)采集系統(tǒng)對(duì)光柵信號(hào)的采集是正確的。在應(yīng)用程序中同時(shí)讀出了測(cè)頭數(shù)據(jù),此時(shí)測(cè)頭處于懸空狀態(tài),通過計(jì)算數(shù)據(jù)所代表的實(shí)際電壓值為2V左右,與測(cè)頭信號(hào)在懸空狀態(tài)下經(jīng)過信號(hào)調(diào)理電路后數(shù)據(jù)的實(shí)際電壓值相同,表明測(cè)頭數(shù)據(jù)讀數(shù)正確。圖17上位機(jī)程序讀數(shù)據(jù)界面圖為驗(yàn)證數(shù)據(jù)能否正確寫入到FPGA內(nèi),可以在應(yīng)用程序中對(duì)FPGA內(nèi)定義的某個(gè)寄存器寫入一個(gè)數(shù)據(jù),然后對(duì)此寄存器進(jìn)行讀操作,如果讀出的數(shù)據(jù)值跟寫入的數(shù)據(jù)值相同,則證明數(shù)據(jù)已經(jīng)寫入。經(jīng)過驗(yàn)證,應(yīng)用程序能對(duì)FPGA內(nèi)寄存器寫入數(shù)據(jù)。4、結(jié)論(成果介紹)本創(chuàng)新課題是以FPGA為核心研制的一套數(shù)據(jù)采集系統(tǒng),通過硬件設(shè)計(jì)實(shí)現(xiàn)對(duì)A/D信號(hào)和四路光柵信號(hào)的高速采集,并能實(shí)現(xiàn)單點(diǎn)數(shù)據(jù)采集和連續(xù)數(shù)據(jù)采集兩種不同的數(shù)據(jù)采集方式。同時(shí),通過軟件設(shè)計(jì),實(shí)現(xiàn)數(shù)據(jù)的等間隔處理。主要完成的工作包括:(1)完成了以FPGA為控制核心的數(shù)據(jù)采集系統(tǒng)整體方案的設(shè)計(jì);(2)硬件部分完成了A/D信號(hào)和光柵信號(hào)處理電路,數(shù)據(jù)傳輸接口電路,F(xiàn)PGA控制邏輯的開發(fā);(3)在PROTEL環(huán)境下完成了原理圖的設(shè)計(jì),生成了PCB電路板;(4)完成了實(shí)驗(yàn)開發(fā)板的焊接,并進(jìn)行調(diào)試;(5)學(xué)習(xí)了相關(guān)軟件和編程語言verilog等的學(xué)習(xí);(6)軟件部分完成了PCI總線驅(qū)動(dòng)程序和應(yīng)用程序的開發(fā),并在應(yīng)用程序中完成了數(shù)據(jù)采集;(7)用Verilog語言開發(fā)了實(shí)驗(yàn)板部分功能,并進(jìn)行了仿真;(8)通過實(shí)驗(yàn)對(duì)A/D信號(hào)穩(wěn)定性,光柵信號(hào)等間隔效果,數(shù)據(jù)采集效果等方面進(jìn)行驗(yàn)證與分析。為驗(yàn)證本數(shù)據(jù)采集系統(tǒng)能否滿足需求,需要驗(yàn)證數(shù)據(jù)采集系統(tǒng)采集的A/D信號(hào)的穩(wěn)定性、光柵信號(hào)是否丟失數(shù)據(jù)及能否實(shí)現(xiàn)高速實(shí)時(shí)的數(shù)據(jù)采集。A/D數(shù)據(jù)穩(wěn)定性實(shí)驗(yàn)本實(shí)驗(yàn)主要驗(yàn)證在長(zhǎng)時(shí)間工作的情況下,數(shù)據(jù)采集系統(tǒng)采集的情。每隔30秒采集一次AD數(shù)據(jù),采集100分鐘內(nèi)數(shù)據(jù)。如圖18為采集的某一路AD數(shù)據(jù)波動(dòng)曲線圖。圖18A/D穩(wěn)定性實(shí)驗(yàn)曲線圖實(shí)驗(yàn)驗(yàn)證,能夠滿足穩(wěn)定性的需求。光柵信號(hào)采集實(shí)驗(yàn)通過與標(biāo)準(zhǔn)模塊比對(duì),發(fā)現(xiàn)不存在丟數(shù)現(xiàn)象,同時(shí)滿足能高速的采集數(shù)據(jù),滿足了數(shù)據(jù)采集的實(shí)時(shí)性。5、經(jīng)費(fèi)使用情況(1)電子元件672元(2)制版728元(3)資料檢索費(fèi)100元6、問題、體會(huì)與收獲在制版的過程中,調(diào)試過程占據(jù)了我們很大一部分時(shí)間,我們發(fā)現(xiàn)了很多問題,例如光柵數(shù)據(jù)采集不穩(wěn)地,有丟數(shù)現(xiàn)象,系統(tǒng)通訊不可靠。通過本次課題研究,我們完成了實(shí)驗(yàn)開發(fā)板,在PROTEL環(huán)境下完成了原理圖的設(shè)計(jì),生成了PCB電路板,我們掌握了電路設(shè)計(jì)的基本流程,學(xué)會(huì)了verilog語言,學(xué)會(huì)使用仿真軟件對(duì)電路進(jìn)行仿真;加深了對(duì)于一個(gè)系統(tǒng)的理解,學(xué)會(huì)構(gòu)建系統(tǒng)。項(xiàng)目的順利實(shí)施與我們組團(tuán)結(jié)協(xié)作是分不開的,組員間的密切配合使我們獲益很多。 增強(qiáng)了我們的動(dòng)手操作能力,豐富了理論知識(shí)。研究是要與理論相結(jié)合的,在研究的過程中必須時(shí)刻與理論結(jié)合。通過實(shí)驗(yàn),加深了對(duì)理論知識(shí)的理解。提高了我們的創(chuàng)新能力,本次創(chuàng)新給了我們自由設(shè)計(jì)的機(jī)會(huì),使我們的創(chuàng)新能力有了發(fā)揮的空間,提高了我們的創(chuàng)新能力。7、建議在研制和調(diào)試過程中,我們基本完成了預(yù)期各模塊的功能實(shí)現(xiàn),但在通訊接口方面比較單一,可在后續(xù)工作中增加更多通訊接口模式。同時(shí)建議學(xué)校能夠組織更多這樣創(chuàng)新實(shí)踐機(jī)會(huì)。8、結(jié)束語與致謝我們?cè)谘芯康倪^程中遇到了很多困難,有些通過檢索資料可以解決,但是由于其中涉及的問題,很多都超出了我們所學(xué)的知識(shí)范圍,在這些問題上,老師給予了我們很大的幫助。中期答辯時(shí),答辯老師提出的建議和意見,對(duì)我們?cè)诤笃谥瓢娴倪^程中,有很強(qiáng)的指導(dǎo)意義。感謝學(xué)校給予我們足夠的經(jīng)費(fèi)支持,讓我們的課題得以順利完成。9、參考文獻(xiàn)昌明.基于PCI總線的高速數(shù)據(jù)采集卡的研制.國(guó)防科學(xué)技術(shù)大學(xué)碩士學(xué)位論文.2003:1~2王虎和.基于USB接口的多路數(shù)據(jù)采集系統(tǒng).哈爾濱工程大學(xué)碩士學(xué)位論文.2007:1~2汪步江.基于PCI總線的高速數(shù)據(jù)采集系統(tǒng).南京理工大學(xué)碩士學(xué)位論文.2004:10~1117~18孫肖子.電子設(shè)計(jì)指南.高等教育出版社.2006:228~254崔亦飛,黃瑩,張婭莉.MAX195A/D轉(zhuǎn)換器與單片機(jī)接口.集成電路.2002(12):74~75張艷秋,高瑋.MAX19516位A/D轉(zhuǎn)換器的原理及應(yīng)用.本溪冶金高等??茖W(xué)校學(xué)報(bào).2002(1):12~13TomShanleyDonAnderson.PCISystemArehitecture.MindshareIne.2000王天雄,嚴(yán)利民,高輝.FPGA在智能儀表中的應(yīng)用.電子技術(shù).2007,(2):52~55Altera.CyeloneFPGAFamilyDataSheet.Altera.2006梁軍杰,林芳.用匯編與VC++混合編程實(shí)現(xiàn)對(duì)硬件資源的訪問.電子技術(shù)應(yīng)用.1999(11):32~34WenbanAlan,BrownGeoffrey.SoftwaredevelopmentsystemforFPGA-baseddataacquisitionsystems.IEEESymposiumonFPGAsforCustomComputingMachines,Proceedings.1996:28~37熊清平.數(shù)控系統(tǒng)技術(shù)的發(fā)展趨勢(shì).機(jī)電工程技術(shù).2004(9):91~94七、附件(專利、發(fā)表論文及其它成果支撐材料)實(shí)物相片F(xiàn)PGA硬件程序PCI驅(qū)動(dòng)程序NTSTATUSPnpStartDevice(INPDEVICE_OBJECTfdo,INPIRPpIrp){NTSTATUSstatus;PIO_STACK_LOCATIONstack;pIrp->IoStatus.Status=STATUS_SUCCESS;//先由低層驅(qū)動(dòng)程序處理,并等待KeInitializeEvent(&event,NotificationEvent,FALSE);IoCopyCurrentIrpStackLocationToNext(pIrp);IoSetCompletionRoutine(pIrp,(PIO_COMPLETION_ROUTINE)OnRequestComplete, (PVOID)&event,TRUE,TRUE,TRUE);status=IoCallDriver(((DEVICE_EXTENSION*)fdo->DeviceExtension)->pLowerDeviceObject,pIrp);if(status==STATUS_PENDING){KeWaitForSingleObject((PVOID)&event,Executive,KernelMode,FALSE,NULL);}if(!NT_SUCCESS(status)){returnCompleteRequest(pIrp,status);}stack=IoGetCurrentIrpStackLocation(pIrp);ResourceRaw=stack->Parameters.StartDevice.AllocatedResources->List[0].PartialResourceList->PartialDescriptors;Resource=stack->Parameters.StartDevice.AllocatedResourcesTranslated->List[0].PartialResourceList->PartialDescriptors;for(i=0;i<ResourceListRaw->Count;++i,++Resource,++ResourceRaw){switch(ResourceRaw->Type){caseCmResourceTypeInterrupt: //中斷資源 IrqL=(KIRQL)Resource->u.Interrupt.Level;//中斷IRQL vector=Resource->u.Interrupt.Vector;//中斷向量affinity=Resource-

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論