智能小車基于FPGA信號的產(chǎn)生最終版本_第1頁
智能小車基于FPGA信號的產(chǎn)生最終版本_第2頁
智能小車基于FPGA信號的產(chǎn)生最終版本_第3頁
智能小車基于FPGA信號的產(chǎn)生最終版本_第4頁
智能小車基于FPGA信號的產(chǎn)生最終版本_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、HEFEI UNIVERSITY智能小車控制信號的FPGA實(shí)現(xiàn)課程 名稱 現(xiàn)代電子技術(shù)課程實(shí)踐 指導(dǎo) 教師 班 級 11電子二班 姓 名 學(xué) 號 日 期 2014/12/23 摘要本次設(shè)計(jì)是基于飛思卡爾智能車的設(shè)計(jì)思路和方法,之前我們用的是單片機(jī)芯片KL25控制智能車,當(dāng)時(shí)由于我們是剛出來的一款新的芯片,所以資料不全,也沒有上一屆的資料,沒有人咨詢,通過將近一年的努力最終還是將這個(gè)做出來了。而在本學(xué)期上SOPC的課程中,通過老師的講解,讓我認(rèn)識到FPGA的芯片能做單片機(jī)所有能實(shí)現(xiàn)的功能,所以在課程設(shè)計(jì)前兩個(gè)月我們組成員就向老師提出了想做這個(gè)課程設(shè)計(jì)的想法,就是將FPGA芯片取代單片機(jī)來控制智能

2、小車,如果成功了就會實(shí)現(xiàn)單片機(jī)向FPGA芯片的轉(zhuǎn)換的第一步,這樣對于以后學(xué)習(xí)單片機(jī)和FPGA芯片的融會貫通有很大的幫助。本次設(shè)計(jì)主要是圍繞著CCD,電機(jī)驅(qū)動(dòng),舵機(jī)信號來做的,而這兩個(gè)部分只有PWM波信號的控制,最核心的詩CCD信號的處理,這部分如果解決就基本解決總的問題了。關(guān)鍵詞:CCD, FPGA,PWM波ABSTRACTThis design is based on Freescales Smart car design ideas and methods, before we use single chip KL25 control smart car, but because we a

3、re just out of a new chip, so incomplete information, nor the last information, no one consulting, through the efforts of nearly a year will eventually do this out. And in the course of this semester SOPC through their lessons, so I do realize that the FPGA chip microcontroller to achieve all the fu

4、nctions, so in the course design team members two months before we made it to the teacher wanted to do this curriculum design idea is to replace the single-chip FPGA chip to control the smart car, if successful, would be the first step towards single-chip FPGA chip to convert, so for future learning

5、 microcontroller and FPGA chip mastery of great help.The design is mainly around the CCD, motor drives, servo signal to do, and these two parts only control PWM wave signal, the core of the poem CCD signal processing, which is part of the total if solving the basic problem solving a.Keyword: acousto

6、-optic signal, CCD, FPGA,PWM目錄HEFEI UNIVERSITY1一、 緒論51.1 課題背景51.2 基于FPGA的CCD光信號采集系統(tǒng)概述61.3 課題系統(tǒng)框圖7二、 課程設(shè)計(jì)任務(wù)及要求72.1 設(shè)計(jì)任務(wù)72.2 設(shè)計(jì)要求72.3 功能設(shè)計(jì)8三、 整體設(shè)計(jì)思想83.1設(shè)計(jì)細(xì)化框圖8四、 詳細(xì)設(shè)計(jì)94.1 TSL1401 CCD工作原理94.1.1 TSL1401引腳描述94.1.2 功能描述94.1.3 積分時(shí)間or曝光時(shí)間104.1.4 自頂向下設(shè)計(jì)分割圖124.2 設(shè)計(jì)思路124.2.1 舵機(jī)124.2.2 驅(qū)動(dòng)134.2.3 CCD154.3 設(shè)計(jì)步驟15

7、4.3.1 工程建立及存盤154.3.2 工程項(xiàng)目的編譯154.3.3 目標(biāo)芯片的選擇16五、時(shí)序仿真波形175.1 時(shí)序仿真175.1.1 舵機(jī)PWM1仿真圖175.1.2 CCD PWM2仿真圖185.1.3 電機(jī)驅(qū)動(dòng)PWM3仿真圖185.1.4 電機(jī)驅(qū)動(dòng)PWM4仿真圖185.1.5 AD驅(qū)動(dòng)仿真波形195.2 引腳鎖定19六、 設(shè)計(jì)總結(jié)20七、 參考文獻(xiàn)目錄20八、 附錄(源程序)218.1 CCD驅(qū)動(dòng)程序218.2 電機(jī)驅(qū)動(dòng)程序228.3 舵機(jī)驅(qū)動(dòng)程序23一、 緒論1.1 課題背景聲光學(xué)(Acousto_ Optic)是一門新興的學(xué)科,主要是研究光與聲相互作用的物理效應(yīng)及其規(guī)律和應(yīng)用。

8、20世紀(jì)30年代初,科學(xué)家通過實(shí)驗(yàn)證明了聲光互作用現(xiàn)象存在。20世紀(jì)60年代激光出現(xiàn),由于其具有方向性和單色性好等特點(diǎn),使用聲光器件就可以對激光束的方向、頻率和強(qiáng)度等各種參數(shù)進(jìn)行有效的控制,因此,被廣泛應(yīng)用于聲光相關(guān)領(lǐng)域,聲光信號處理成為實(shí)用性的學(xué)科。聲光器件是聲光信號處理系統(tǒng)的重要基礎(chǔ)。如圖1-1所示為聲光器件原理結(jié)構(gòu),它是根據(jù)聲光互作用原理制成的器件。傳輸超聲波的聲光介質(zhì)與壓電換能器是聲光器件的主要組成部分。聲光效應(yīng)是光波在介質(zhì)中傳播時(shí)受到超聲波衍射而形成的。聲波為彈性波,所以在本質(zhì)上聲光效應(yīng)是光彈性效應(yīng)引起的。作用到換能器的電信號被轉(zhuǎn)換為超聲波,反映了其振幅和相位信息。聲波在傳播過程中是

9、一個(gè)密度波,由于其光彈性效應(yīng)將導(dǎo)致聲光介質(zhì)中的折射率發(fā)生規(guī)律變化。介質(zhì)折射率變化反映了聲波的振幅和相位信息,等效于折射光柵的效果,其間隔為聲波的波長,正比于接收的EZF信號的波長??芍晒鈻判?yīng)得到的衍射光的振幅和相位與輸入的電信號成正比。由于超聲波頻率隨接收信號的頻率而變化,光柵間隔也與之相應(yīng)變化。因?yàn)楣鈻诺拈g隔與光束偏折角成正比,所以偏折角與EZF信號的頻率也成正比。偏折角隨頻率變化的特性就是進(jìn)行聲光信號處理的基本理論。圖1-1 聲光器件由于以聲光器件為核心的聲光信號處理系統(tǒng)具有動(dòng)態(tài)范圍大、處理增益高、瞬時(shí)帶寬大和高速并行處理能力等優(yōu)點(diǎn),因此在電子對抗中的信號的實(shí)時(shí)檢測與分析、電子欺騙及干

10、擾、擴(kuò)頻通信和雷達(dá)側(cè)向測距等多方面有著廣闊的應(yīng)用空間。20世紀(jì)80年代起,西方各國以及俄羅斯都投入了大量的科研經(jīng)費(fèi)及人力,特別是美國三軍和各大公司及其所屬的研究所在這個(gè)方向上做了大量科研工作,并取得了突破性的進(jìn)展。國內(nèi)的一些高校和研究所在這方面也做了很多研究工作,但是與國際一流水平還有一定距離。聲光信號處理的關(guān)鍵技術(shù)是聲光頻譜分析技術(shù)和聲光相關(guān)技術(shù)。其核心是布喇格聲光器件(Bragg cell的性能。在整個(gè)聲光信號處理技術(shù)中,聲光信號的檢測及采集存儲是后處理技術(shù)的重要基礎(chǔ)。本課題提出了一種基于FPGA和USB2.0的高速CCD聲光信號采集方案,通過分析測試的實(shí)驗(yàn)數(shù)據(jù)證明該方案是可行的。聲光系統(tǒng)

11、實(shí)驗(yàn)平臺如圖1-2所示。圖1-2 聲光信號實(shí)驗(yàn)平臺1.2 基于FPGA的CCD光信號采集系統(tǒng)概述本系統(tǒng)實(shí)現(xiàn)的功能是對聲光系統(tǒng)前端處理的聲光信號進(jìn)行采集及存儲,通過分析采集數(shù)據(jù)可以確定聲光信號峰值的相對位置(根據(jù)相對位置數(shù)據(jù)就可以推算出聲光系統(tǒng)前端信號的參數(shù))。由于采用FPGA和USB相結(jié)合的技術(shù),系統(tǒng)具有高傳輸速度、高分辨率、穩(wěn)定可靠和靈活易擴(kuò)展等特點(diǎn)。實(shí)際測試數(shù)據(jù)滿足系統(tǒng)的高要求。CCD聲光信號采集模塊。CCD傳感器是系統(tǒng)聲光信號采集的重要器件,完成光信號向電信號的轉(zhuǎn)換。由于聲光信號采集具有高分辨率、高工作頻率、高靈敏度等特點(diǎn),選用線陣CCD器件TCD 1209D。它具有重量輕、體積小、信噪

12、比高、工作頻率高、動(dòng)態(tài)范圍大、分辨率高、“掃描”線性理想,行像元可尋址等特點(diǎn),滿足聲光信號采集系統(tǒng)的需求。A/D模數(shù)轉(zhuǎn)換模塊,是CCD信號處理的關(guān)鍵環(huán)節(jié)。CCD輸出信號包含交流信號、直流分量和各種噪聲,必須要對噪聲進(jìn)行抑制。另外,為了方便對CCD輸出信號存儲和處理,還必須對其進(jìn)行數(shù)字化處理即A/D模數(shù)轉(zhuǎn)換。針對聲光信號采集具有分辨率高、工作頻率高、噪聲低等特點(diǎn),對選擇信號采集芯片、預(yù)處理電路設(shè)計(jì)、數(shù)據(jù)緩存及傳輸?shù)忍岢龈咭?。在本系統(tǒng)中,使用ADI公司研制的專用CCD模數(shù)轉(zhuǎn)換芯片AD9822,由于其在片內(nèi)集成多種功能電路,提高了信號預(yù)處理的質(zhì)量,系統(tǒng)功耗、設(shè)計(jì)難度大大降低了,是CCD信號處理的重

13、要環(huán)節(jié)。FPGA(現(xiàn)場可編程邏輯陣列)驅(qū)動(dòng)及控制模塊,是聲光信號采集系統(tǒng)核心。由于數(shù)據(jù)采集時(shí)序的高要求和高速數(shù)據(jù)緩存及傳輸,本課題選用了Cyclone II系列FPGA芯片EP2C8Q208C8 o FPGA驅(qū)動(dòng)線陣TCD 1209D和控制AD9822模數(shù)轉(zhuǎn)換,并在內(nèi)部配置同步FIFO來緩存數(shù)據(jù),最后與USB接口通信,把數(shù)據(jù)傳入PC上位機(jī)中。提高了設(shè)計(jì)的精度,而且系統(tǒng)更穩(wěn)定、更靈活易擴(kuò)展。1.3 課題系統(tǒng)框圖本系統(tǒng)框圖如圖1-3所示,主要分為四個(gè)模塊:CCD聲光信號采集模塊、A/D模數(shù)轉(zhuǎn)換模塊、FPGA驅(qū)動(dòng)及控制模塊和USB接口傳輸模塊。軟件主要包VerilogHDL硬件語言設(shè)計(jì)、SLAVE

14、FIFO模式的固件程序編寫、系統(tǒng)USB驅(qū)動(dòng)程序和PC機(jī)界面應(yīng)用程序開發(fā)設(shè)計(jì)等。聲光前端系統(tǒng)CCD聲光信號采集模塊TCD1209DA/D轉(zhuǎn)換模塊AD0809USB通信接口模塊CY7C68013FPGA驅(qū)動(dòng)及控制模塊EP2C8Q208PC上位機(jī)圖1-3 系統(tǒng)框圖二、 課程設(shè)計(jì)任務(wù)及要求2.1 設(shè)計(jì)任務(wù) 用Quartus 寫出設(shè)計(jì)的源程序; 用SignalTap 嵌入式邏輯分析儀測試所產(chǎn)生信號的波形; 使用邏輯分析儀或者示波器測試所產(chǎn)生信號的波形; 心得體會本次在實(shí)踐課程中你的感受;你從實(shí)踐課程中獲得了哪些收益;本次實(shí)實(shí)踐課程的成功之處;本次實(shí)踐課程中還有待改進(jìn)的地方;2.2 設(shè)計(jì)要求 熟練地運(yùn)用數(shù)

15、字系統(tǒng)的設(shè)計(jì)方法進(jìn)行數(shù)字系統(tǒng)設(shè)計(jì); 能使用FPGA芯片產(chǎn)生智能小車所需要的各路信號。2.3 功能設(shè)計(jì) 舵機(jī)的PWM波產(chǎn)生; 驅(qū)動(dòng)的PWM波產(chǎn)生,使能端高電平; 線性CCD的PWM波產(chǎn)生,使能端高電平。三、 整體設(shè)計(jì)思想3.1設(shè)計(jì)細(xì)化框圖:舵機(jī)的PWM波產(chǎn)生FPGA芯片產(chǎn)生PWM1波舵機(jī)圖3-1:驅(qū)動(dòng)的PWM波產(chǎn)生;FPGA芯片產(chǎn)生PWM2波驅(qū)動(dòng)產(chǎn)生PWM3波圖3-2:CCD的PWM波產(chǎn)生;A/D轉(zhuǎn)換模塊AD0809FPGA芯片SI信號CLOCKA0信號CCD圖3-3四、 詳細(xì)設(shè)計(jì)4.1 TSL1401 CCD工作原理4.1.1 TSL1401引腳描述TSL1401引腳如下表4-1所示:引腳名編

16、號描述VCC1供電電源GND2地CLK3時(shí)鐘輸入GND4地SI5串行輸入GND6地A07模擬電壓輸出GND8地表4-14.1.2 功能描述TSL1401線性CCD傳感器包含128個(gè)線性排列的光電二極管。每個(gè)光電二極管都有各自的積分電路,以下我們將此電路統(tǒng)稱為像素。每個(gè)像素所采集的圖像灰度值與它所感知的光強(qiáng)和積分時(shí)間成正比。以上名詞所對應(yīng)的物理量綱為:(1)灰度值:輸出電壓Vout;(2)光強(qiáng):器件對給定光波長在電壓上的反應(yīng)Ve;(Ve=V/(J/cm2)*W/cm2)(3)積分時(shí)間:即曝光時(shí)間,tint。那么這128個(gè)像素是怎么進(jìn)行采集并輸出的呢,這就用到了SI和CLK信號。根據(jù)表1可以簡單的

17、了解它們的功能。在128個(gè)像素之外,還有一個(gè)開關(guān)邏輯控制和移位寄存器電路。SI通過該電路,控制每一個(gè)像素的積分和復(fù)位操作;CLK通過該電路控制每一個(gè)像素電壓的依次輸出。TSL1401內(nèi)部的模塊圖如圖4-1所示。圖4-1圖中可以看到上面提到的像素電路、開關(guān)邏輯控制和位移寄存器電路。從圖中我們還可以看到一個(gè)GainTrim,該模塊對傳感器輸出的電壓進(jìn)行增益調(diào)整,因此從AO引腳輸出的電壓無需再接其他運(yùn)放,直接接入單片機(jī)的AD輸入引腳即可。每個(gè)像素的值可以在CLK的下降沿時(shí)從AO采集。4.1.3 積分時(shí)間or曝光時(shí)間如果你閱讀了TSL1401的英文技術(shù)文檔,經(jīng)常會看到積分(integration)這個(gè)

18、詞,而上一節(jié)我們也說了,像素的輸出值與積分時(shí)間成正比,其實(shí)這里所說的積分時(shí)間就是我們熟知的曝光時(shí)間。這個(gè)曝光時(shí)間的概念和相機(jī)中膠片的曝光時(shí)間是一樣的。曝光時(shí)間是指底片的感光時(shí)間,曝光時(shí)間越長底片上生成的相片越亮,相反越暗。線性CCD的曝光時(shí)間也是這個(gè)原理。 TSL1401曝光時(shí)間圖4-2TSL1401技術(shù)文檔中關(guān)于積分時(shí)間做了大量說明,其實(shí)歸根結(jié)底可以由圖4-2表示。圖中第19個(gè)CLK到下一個(gè)SI開始的這段時(shí)間,就是CCD的積分時(shí)間,即曝光時(shí)間。之前的18個(gè)CLK的時(shí)間為積分器的復(fù)位時(shí)間。 關(guān)于曝光時(shí)間長短討論根據(jù)TSL1401技術(shù)文檔的提供的數(shù)據(jù),該器件的最大曝光時(shí)間為100ms,即無論你實(shí)

19、際曝光多長時(shí)間,只要超過100ms,其圖像效果和100ms是一樣的。那么如何選擇合適的曝光時(shí)間,就成了需要面對的問題。即使是相同的物體,在不同的光線環(huán)境下得到的圖像是不一樣的。從理論上講,在光線較暗的環(huán)境中,應(yīng)該增加曝光時(shí)間,以換取亮度合適的圖像;在光線較強(qiáng)的環(huán)境中,應(yīng)該減少曝光時(shí)間,以防止圖像出現(xiàn)飽和現(xiàn)象。但是對于采集變化較快的圖像,例如在智能車的應(yīng)用中,應(yīng)該避免增加曝光時(shí)間。原因有兩個(gè):一、增加曝光時(shí)間意味著圖像采集周期變長,不利于系統(tǒng)的控制。說白了就是采集周期變長,系統(tǒng)控制的反應(yīng)能力就變?nèi)?;二、增加曝光時(shí)間會使圖像變模糊,不利于圖像處理。這個(gè)道理也和相機(jī)一樣,相機(jī)的快門越快,越適合捕捉高

20、速運(yùn)動(dòng)的圖像,反之則捕捉的圖像很模糊!當(dāng)然如果你用來采集變化較慢的圖像,或者是靜止的圖像,則沒有曝光時(shí)間長短的問題。 像素采集方法不管采用哪種曝光方法,其針對像素輸出值A(chǔ)O的采集方法是一樣的,如圖4-3所示。使用者需要在SI持續(xù)高電平20ns后產(chǎn)生第1個(gè)CLK信號,并在每個(gè)CLK信號的下降沿時(shí)采集AO引腳的輸出的電壓值。在采集了128個(gè)像素后,還必須生成第129個(gè)CLK以結(jié)束本次采集。在第129個(gè)CLK之后到下一個(gè)SI信號之間的時(shí)間就是下次采集的曝光時(shí)間(這里說的曝光時(shí)間是忽略了第19到129個(gè)CLK之間的時(shí)間)。圖4-34.1.4 自頂向下設(shè)計(jì)分割圖圖4-4PWM1FPGA芯片PWM2PWM

21、3舵機(jī)SICLKCCDPWM4驅(qū)動(dòng)4.2 設(shè)計(jì)思路根據(jù)智能小車所需要的模塊,系統(tǒng)設(shè)計(jì)采用自頂向下設(shè)計(jì)方法,由舵機(jī)部分、驅(qū)動(dòng)部分、CCD部分三個(gè)部分組成,然后把每個(gè)模塊的所需要的信號逐一仿真出來。4.2.1 舵機(jī) 舵機(jī)是一個(gè)微型的伺服控制系統(tǒng),具體的控制原理可以用下圖表示: 圖4-5工作原理是控制電路接收信號源的控制脈沖,并驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng);齒輪組將電機(jī)的速度成大倍數(shù)縮小,并將電機(jī)的輸出扭矩放大響應(yīng)倍數(shù),然后輸出;電位器和齒輪組的末級一起轉(zhuǎn)動(dòng),測量舵機(jī)軸轉(zhuǎn)動(dòng)角度;電路板檢測并根據(jù)電位器判斷舵機(jī)轉(zhuǎn)動(dòng)角度,然后控制舵機(jī)轉(zhuǎn)動(dòng)到目標(biāo)角度或保持在目標(biāo)角度。模擬舵機(jī)需要一個(gè)外部控制器(遙控器的接收機(jī))產(chǎn)生脈寬調(diào)

22、制信號來告訴舵機(jī)轉(zhuǎn)動(dòng)角度,脈沖寬度是舵機(jī)控制器所需的編碼信息。舵機(jī)的控制脈沖周期20ms,脈寬從0.5ms-2.5ms,分別對應(yīng)-90度到+90度的位置。如下圖所示: 圖4-6由上圖可以看出,可以給適合的PWM波信號就可以控制打角。4.2.2 驅(qū)動(dòng)模塊特性 :一路電機(jī)驅(qū)動(dòng)輸出,單板典型最大電流68A,最小在50A; 增加總線驅(qū)動(dòng)芯片74LVC245,提高信號驅(qū)動(dòng)能力,同時(shí)隔離BTN7961和單片機(jī),保護(hù)BTN7961和單片機(jī)芯片,防止BTN7961損壞后將電池電壓直接輸入到單片機(jī),進(jìn)而燒壞單片機(jī)控制引腳; 增加MIC5219電源芯片,為總線驅(qū)動(dòng)芯片74LVC245提供電源,實(shí)現(xiàn)驅(qū)動(dòng)芯片和單片機(jī)

23、電平匹配。電流采樣電路增加濾波電路,電流信號經(jīng)過濾波處理后輸入單片機(jī),采集信號更精確; 電機(jī)輸出端增加壓敏電阻,防止電機(jī)瞬間換向產(chǎn)生峰值電壓進(jìn)而損壞其它芯片; 板子布線進(jìn)過優(yōu)化,過電流能力強(qiáng);同時(shí)也更有利于散熱; 驅(qū)動(dòng)板工作電壓范圍:7V14V;最大不能超過16V;電機(jī)工作頻率范圍:025KHz;推薦驅(qū)動(dòng)頻率范圍:3KHz8KHz;原裝進(jìn)口英飛凌芯片,該驅(qū)動(dòng)模塊貼片默認(rèn)為BTN7971,兼容BTS7960B(默認(rèn))、 BTN7960B、BTS7970B、BTN7970B、BTN7971B;性能比其它芯片更優(yōu)秀。 圖4-7圖4-8信號對應(yīng)關(guān)系: Motor_In1對應(yīng)IN1、Motor_In2對

24、應(yīng)IN2、Motor_Inh對應(yīng)INH.其中INH作為芯片的使能信號使用。INH使能引腳,IN1PWM3,IN2PWM4,3.3V輔助電源:所以在驅(qū)動(dòng)這一塊主要是通過FPGA芯片上輸出兩路PWM波就可以了,外加上一個(gè)使能端口高電平。4.2.3 CCD主要是CCD這一塊的處理,本次設(shè)計(jì)所用的CCD是TSL1401,CCD在驅(qū)動(dòng)信號的作用下進(jìn)行曝光,將采集到的模擬電壓輸出,其中在白色賽道的電壓值要明顯大于黑色賽道部分,本次設(shè)計(jì)是將所得的模擬電壓經(jīng)過A/D芯片得到相應(yīng)的數(shù)字量,即0(黑)和1(白),最后通過處理這些信號控制小車軌跡。這里有曝光量、曝光時(shí)間和曝光周期三個(gè)概念,曝光量由曝光時(shí)間和曝光周期

25、確定,曝光量越大,CCD輸出的電壓值越高,但電壓太高就會導(dǎo)致CCD輸出出現(xiàn)飽和,即在黑線和白線所得的電壓一樣,這種情況不利于賽道辨別。相反曝光時(shí)間太短,CCD輸出的電壓又很低,幾乎接近于零,所以控制好曝光量對小車控制很重要。曝光周期就相當(dāng)于CCD什么時(shí)候采集一次賽道信息,并將所得的信息轉(zhuǎn)換為模擬電壓,所以曝光周期不能太大,否則小車的反映速度會降低,本次設(shè)計(jì)我們?nèi)テ毓庵芷谠?0ms左右,這樣在程序中通過控制曝光時(shí)間就可以很好的控制曝光量,我們這次采用的是動(dòng)態(tài)的曝光時(shí)間,當(dāng)在光線強(qiáng)的時(shí)候是曝光時(shí)間較小,光線較弱的時(shí)候是曝光時(shí)間大,這樣就可以很好的控制曝光量了。4.3 設(shè)計(jì)步驟4.3.1 工程建立及

26、存盤打開 Quartus,單擊“File”菜單,選擇 FileNew Project Wizard,對話框如下:分別輸入項(xiàng)目的工作路徑、項(xiàng)目名和實(shí)體名,單擊Finish。單擊“File”菜單,選擇New,彈出小對話框,雙擊“VHDL File,即選中了文本編輯方式。在出現(xiàn)的“Vhdl1.vhd”文本編輯窗中鍵入VHDL程序,輸入完畢后,選擇FileSave As,即出現(xiàn)“Save As”對話框。選擇自己建立好的存放本文件的目錄,然后在文件名框中鍵入文件名,按“Save”按鈕。建立工程項(xiàng)目,在保存VHDL文件時(shí)會彈出是否建立項(xiàng)目的小窗口,點(diǎn)擊“Yes”確定。即出現(xiàn)建立工程項(xiàng)目的導(dǎo)航窗口,點(diǎn)擊“N

27、ext”,最后在出現(xiàn)的屏幕中分別鍵入新項(xiàng)目的工作路徑、項(xiàng)目名和實(shí)體名。注意,原理圖輸入設(shè)計(jì)方法中,存盤的原理圖文件名可以是任意的,但VHDL程序文本存盤的文件名必須與文件的實(shí)體名一致,輸入后,單擊“Finish”按鈕。4.3.2 工程項(xiàng)目的編譯單擊工具條上的編譯符號開始編譯,并隨著進(jìn)度不斷變化屏幕,編譯完成后的屏幕如圖4-10所示:圖4-94.3.3 目標(biāo)芯片的選擇選擇菜單 Assignments 選項(xiàng)的下拉菜單中選擇器件 Device ,如圖4-11所示:圖4-10在彈出的對話框中的 Family(器件序列欄)對應(yīng)的序列名,EP1C3 對應(yīng)的是 Cyclone 系列。在 Available

28、Devices里選擇 EP1C3T144-C8 (有時(shí)需要把 Show advanced devices的勾消去,以便顯示出所有速度級別的器件)。注意:所選器件必須與目標(biāo)板的器件型號完全一致。在圖中,單擊“Device and Pin Options”,在彈出的“Device and Pin Options”窗口中,單擊“Unused Pins”標(biāo)簽。選擇“As output driving an unspecified signal ”(由于學(xué)習(xí)機(jī)的“FPGA”具有很多功能,為了避免使用引腳對其它器件造成影響,保證本系統(tǒng)可靠工作,將未使用引腳設(shè)定為輸出不定狀態(tài))后,單擊確定后,無誤后單擊“O

29、K”。五、時(shí)序仿真波形5.1 時(shí)序仿真建立波形文件:選擇 FileNew,在New窗中選中“Other File”標(biāo)簽。在出現(xiàn)的屏幕中選擇“Vector Waveform File”項(xiàng)出現(xiàn)一新的屏幕。在出現(xiàn)的新屏幕中,雙擊“Name”下方的空白處,彈出“Insert Nod or Bus”對話框,單擊該對話框的“Node Finder”。在屏幕中的 Filter 中選擇 Pins,單擊“List”。而后,單擊“”,所有輸入/輸出都被拷貝到右邊的一側(cè),這些正是我們希望的各個(gè)引腳,也可以只選其中的的一部分,根據(jù)實(shí)際情況決定。然后單擊屏幕右上腳的 “OK”。在出現(xiàn)的小屏幕上單擊“OK”。 設(shè)定仿真時(shí)

30、間寬度。選擇 Edit End time選項(xiàng),在End time選擇窗中選擇適當(dāng)?shù)姆抡鏁r(shí)間域,以便有足夠長的觀察時(shí)間。波形文件存盤。選擇FileSave as 選項(xiàng),直接存盤即可。運(yùn)行仿真器。在菜單中選擇項(xiàng),直到出現(xiàn),仿真結(jié)束。5.1.1 舵機(jī)PWM1仿真圖圖5-15.1.2 CCD PWM2仿真圖圖5-25.1.3 電機(jī)驅(qū)動(dòng)PWM3仿真圖圖5-35.1.4 電機(jī)驅(qū)動(dòng)PWM4仿真圖PWM4可以直接給低電平接地。5.1.5 AD驅(qū)動(dòng)仿真波形圖5-45.2 引腳鎖定將設(shè)計(jì)編程下載進(jìn)選定的目標(biāo)器件中,如EPF10K10,作進(jìn)一步的硬件測試,將設(shè)計(jì)的所有輸入輸出引腳分別與目標(biāo)器件的EPF10K10的部

31、分引腳相接,操作如下:選擇 Assignments Assignments Editor ,即進(jìn)入 Assignments Editor編輯器。在Category 欄選擇 Pin,或直接單擊右上側(cè)的 Pin 按鈕。圖5-5雙擊 TO 欄的new,在出現(xiàn)的的下拉欄中選擇對應(yīng)的端口信號名(如 D0);然后雙擊對應(yīng)的欄的new,在出現(xiàn)的下拉欄中選擇對應(yīng)的端口信號名的期間引腳號。最后存儲這些引腳鎖定信息后,必須再編譯(啟動(dòng) )一次,才能將引腳鎖定信息編譯進(jìn)編程下載文件中。此后就可以準(zhǔn)備將編譯好的 SOF 文件下載到試驗(yàn)系統(tǒng)的FPGA中去了。六、 設(shè)計(jì)總結(jié)本次課程設(shè)計(jì)是用FPGA產(chǎn)生智能小車的各種控制信

32、號,和單片機(jī)相比,F(xiàn)PGA有著更快的時(shí)鐘和運(yùn)算速度,處理數(shù)據(jù)也變得更快,更精確。當(dāng)然FPGA主要是應(yīng)用于運(yùn)算的,本次利用其控制智能車的驅(qū)動(dòng)信號主要是為了從單片機(jī)到FPGA的一個(gè)過渡。通過我們組的努力,最終按要求產(chǎn)生了電機(jī)驅(qū)動(dòng)信號,舵機(jī)驅(qū)動(dòng)信號,CCD驅(qū)動(dòng)信號,驅(qū)動(dòng)信號,并用quartus 2軟件仿真出各個(gè)波形。在這過程中,我學(xué)到了很多知識,了解了FPGA的強(qiáng)大,因?yàn)槲野l(fā)現(xiàn)用FPGA幾乎可以完成單片機(jī)的所有功能,并且我們所懂的還只是鳳毛麟角,很多FPGA的功能我們都還不知道。不僅如此,本次的課程設(shè)計(jì)同時(shí)提高了我們對智能車控制方面的了解。之前有些不懂得地方這次從新學(xué)習(xí)后又明白了很多,對各個(gè)信號的作

33、用有了更多的了解。在設(shè)計(jì)的過程中難免會遇到了一些問題,尤其是在CCD驅(qū)動(dòng)信號的產(chǎn)生中起初并沒有什么思路,后來在隊(duì)友和老師的幫助下得到了解決,我在老師給予我的關(guān)于CCD的論文中得到了很多的啟發(fā),并最終得到我們所需的驅(qū)動(dòng)信號。雖然本次課程設(shè)計(jì)將要結(jié)束,但是我對FPGA的學(xué)習(xí)會一直堅(jiān)持下去,本次課程設(shè)計(jì)的也會對我今后的學(xué)習(xí)之路有著很大的幫助。七、 參考文獻(xiàn)目錄10 康光華,電子技術(shù)基礎(chǔ) 數(shù)字部分M.北京.高教出版社.2006.111 潘松,EDA實(shí)用教程M.北京.科學(xué)出版社,2002.1012 潘松,EDA技術(shù)與VHDLM.北京.清華大學(xué)出版社,2005.713 候建軍,郭勇.SOPC技術(shù)基礎(chǔ)教程

34、M.北京.清華大學(xué)出版社,201314 周立功,SOPC嵌入式系統(tǒng)基礎(chǔ)教程 M.北京.北京航空航天大學(xué)出版社,200615 盧杰,賴毅.VHDL與數(shù)字電路設(shè)計(jì).北京:科學(xué)出版社,200116 王金明,楊吉斌.數(shù)字系統(tǒng)設(shè)計(jì)與Verilog HDL.北京:電子工業(yè)出版社,2002 17 張明.Verilog HDL實(shí)用教程.成都:電子科技大學(xué)出版社,199919 J.Bhasker著,徐振林等譯.Verilog HDL硬件描述語言.北京:機(jī)械工業(yè)出版社,200020 劉明業(yè),將敬旗,刁嵐松等譯.硬件描述語言Verilog.北京:清華大學(xué)出版社,2001八、 附錄(源程序)8.1 CCD驅(qū)動(dòng)程序mo

35、dule ccd (clk,/sysclk_50M clk_500, si,CP);input clk;output si,CP,clk_500;parameter cntr_max=8d127, DIV= 3;reg si,CP,clk_500; /500ns reg 14:0 cntr=0;reg 24:0 count;always (posedge clk)beginif( count = DIV)begincount = 0;clk_500= clk_500;endelsecount = count + 1b1;endalways(posedge clk_500 )if(cntr=cn

36、tr_max)begincntr=1;si=1;endelsebeginsi=0;cntr=cntr+1;/狀態(tài)計(jì)數(shù)endendmodule8.2 電機(jī)驅(qū)動(dòng)程序module duoji(clk,out,m,clk_1000);input clk;/clk=50M=50 000 000input 7:0 m;output out,clk_1000; /ledreg 15:0 pwm,count; /PMW脈寬計(jì)數(shù),周期計(jì)數(shù)reg out;reg clk_1000;/50khzreg 24:0 count1; parameter z=8d100, / m= 8d10, div=10d50;alwa

37、ys (posedge clk)beginif( count1 = div)begincount1 = 0;clk_1000= clk_1000;endelse count1 z) /打到周期預(yù)設(shè)定的數(shù)值,就清零 begin count=0; end if(countm) /如果本周期中,周期小于PWM脈寬計(jì)數(shù),那么LED就=1 out=1; else out=0; /PWM的低脈沖時(shí)候,就為0 end /*always (posedge count14) /一個(gè)周期前面一點(diǎn),產(chǎn)生PWM加/減 信號 begin pwm=pwm+1b1; /PWM 在一個(gè)周期完成之前加1,用于下一個(gè)周期的信號寬

38、度 if(pwm13=1) /脈寬達(dá)到預(yù)設(shè)定的數(shù)值 pwm=0; end */endmodule 8.3 舵機(jī)驅(qū)動(dòng)程序module duoji(clk,out,m,clk_1000);input clk;/clk=50M=50 000 000input 7:0 m;output out,clk_1000; /ledreg 15:0 pwm,count; /PMW脈寬計(jì)數(shù),周期計(jì)數(shù)reg out;reg clk_1000;/50khzreg 24:0 count1; parameter z=8d100, / m= 8d10, div=10d50;always (posedge clk)beginif( count1 = div)begi

溫馨提示

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

最新文檔

評論

0/150

提交評論