基于并行流水線結(jié)構(gòu)的可重配FIR濾波器的FPGA實(shí)現(xiàn)_第1頁(yè)
基于并行流水線結(jié)構(gòu)的可重配FIR濾波器的FPGA實(shí)現(xiàn)_第2頁(yè)
基于并行流水線結(jié)構(gòu)的可重配FIR濾波器的FPGA實(shí)現(xiàn)_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、    基于并行流水線結(jié)構(gòu)的可重配FIR濾波器的FPGA實(shí)現(xiàn)    基于并行流水線結(jié)構(gòu)的可重配FIR濾波器的FPGA實(shí)現(xiàn)    類別:測(cè)試儀表                             

2、 &nbsp來(lái)源:微計(jì)算機(jī)信息 作者:黃麗薇 喻強(qiáng) 王靜        &nbsp摘 要: 可編程邏輯器件CPLD體積小功能強(qiáng)大, Verilog HDL語(yǔ)言簡(jiǎn)練,設(shè)計(jì)思想、電路結(jié)構(gòu)和邏輯關(guān)系清晰,本文著重介紹使用Verilog設(shè)計(jì)CPLD實(shí)現(xiàn)雙屏顯示液晶控制器的功能。         &nbsp關(guān)鍵詞: Verilog CPLD 液晶控制器        

3、60;&nbsp1.引言        &nbsp隨著集成電路技術(shù)的發(fā)展, 在現(xiàn)代電子設(shè)計(jì)中,可編程邏輯器件的運(yùn)用越來(lái)越多,原因在于其規(guī)模大,體積小,功能強(qiáng),價(jià)格便宜。CPLD可擦寫上萬(wàn)次,使得硬件設(shè)計(jì)像軟件設(shè)計(jì)一樣靈活方便。Verilog HDL語(yǔ)言作為硬件描述語(yǔ)言有其獨(dú)特的優(yōu)勢(shì):在門級(jí)描述的底層,描述的設(shè)計(jì)思想、電路結(jié)構(gòu)和邏輯關(guān)系清晰明了,設(shè)計(jì)語(yǔ)言簡(jiǎn)練、易學(xué)易用,模塊化分層結(jié)構(gòu)在大規(guī)模設(shè)計(jì)時(shí)具有優(yōu)勢(shì)。如果使用Verilog把控制功能集成在一片CPLD芯片里,整個(gè)電路將會(huì)變得更簡(jiǎn)潔、實(shí)用。  &#

4、160;      &nbsp2.液晶控制器原理        &nbsp液晶控制器用于單片機(jī)和液晶屏的接口,一方面不斷地把顯存的數(shù)據(jù)刷新到液晶屏上,另一方面控制單片機(jī)對(duì)顯存數(shù)據(jù)的更新。        &nbsp雙屏結(jié)構(gòu)液晶控制器內(nèi)部主要的計(jì)數(shù)器,分別是4bit時(shí)鐘同步字符計(jì)數(shù)器、行計(jì)數(shù)器和幀計(jì)數(shù)器,它們?cè)谙到y(tǒng)時(shí)鐘FCLK的控制下同時(shí)計(jì)數(shù),主要是用來(lái)產(chǎn)生行同步信號(hào)LP 和幀同步信號(hào)F

5、P ,分別用來(lái)控制液晶屏換行和換頁(yè)。液晶屏就是在這三個(gè)信號(hào)的控制下反復(fù)地把顯存里的數(shù)據(jù)刷新到屏幕上。        &nbsp本設(shè)計(jì)采用Altera 公司生產(chǎn)的EPM7128SCPLD芯片來(lái)實(shí)現(xiàn)LCD 控制器以及它的外圍邏輯時(shí)序的全部功能,使用的液晶屏為640×480雙屏顯示結(jié)構(gòu),即上半屏和下半屏同時(shí)顯示,RAM為一片SRM20512LLTM78(62512)。      液晶屏刷新速度的計(jì)算公式為FFRP = FCLK/ ( Hn×Nx )。 &

6、#160;   其中,F(xiàn)FRP為液晶屏顯示幀掃描頻率,一般要大于70 Hz ,Hn為一行顯示的4bit同步字符數(shù)640/4=160,Nx為一屏幀掃描的行數(shù)480/2=240,F(xiàn)CLK為系統(tǒng)的工作時(shí)鐘頻率,采用晶振提供頻率11.05926MHz,將其四分頻得到2.764815MHz即可作為系統(tǒng)時(shí)鐘FCLK。     系統(tǒng)構(gòu)成如下圖所示:                  &nbsp

7、3.實(shí)現(xiàn)過(guò)程        &nbsp1) 液晶刷新時(shí)序產(chǎn)生        &nbsp此部分主要產(chǎn)生行同步和幀同步信號(hào),完成行和幀同步。        &nbsp由于雙屏結(jié)構(gòu)液晶屏以4bit為單位上下同時(shí)顯示,可以在CPLD內(nèi)定義兩個(gè)寄存器,行含4bit字符寄存器scp_reg,值為640/4=160, 幀含行寄存器lp_reg,值為480/2=240。字符時(shí)鐘同

8、步計(jì)數(shù)器scp_count為4bit字符的計(jì)數(shù)器,在系統(tǒng)時(shí)鐘scp_clk作用下計(jì)數(shù)加一,與行含字符寄存器內(nèi)容比較,若等,表示一行結(jié)束,開(kāi)始下一行,scp_count清零,行計(jì)數(shù)器lp_count加一,lp_flag置一,產(chǎn)生行同步信號(hào)LP。行計(jì)數(shù)器lp_count與幀含行寄存器內(nèi)容比較,若等,表示一幀結(jié)束,開(kāi)始下一幀,scp_count, lp_count 清零,fp_flag置一,產(chǎn)生幀同步信號(hào)FP。實(shí)現(xiàn)的程序如下:        &nbspalways(posedge scp_clk)  &

9、#160;       begin          scp_count=scp_count+1;        &nbspif(scp_count=scp_reg)        &nbspbegin          lp_cou

10、nt=lp_count+1;        &nbsplp_flag=1;        &nbspscp_count=0;        &nbspif(lp_count=lp_reg)          begin      

11、60;      fp_flag=1;        &nbsplp_count=0;          scp_count=0;          end        &nbspelse fp_flag=0; 

12、            end          else lp_flag=0;        &nbspend        &nbsp操作lcd時(shí),scp_reg=160,lp_reg=240。仿真時(shí)取scp_reg=3,lp_reg=4,如下:&#

13、160;                     &nbsp2) 單片機(jī)寫數(shù)據(jù)至RAM        &nbsp此部分為單片機(jī)通過(guò)CPLD更新RAM數(shù)據(jù)。        &nbsp單片機(jī)寫信號(hào)WR有效,CPLD判斷數(shù)據(jù)線上內(nèi)容為指令還是數(shù)據(jù),若為指令,則將

14、DB內(nèi)容存入指令寄存器CMDREG,若為數(shù)據(jù),判斷指令寄存器CMDREG內(nèi)容以指示狀態(tài)。若CMDREG為8h00或8h02,表示DB為低或高八位地址,分別存入低高八位地址寄存器addl和addh,若為8h04,表示DB為要寫入RAM的數(shù)據(jù),存入數(shù)據(jù)寄存器ioreg。                                 

15、;&nbspCMDREG             &nbspDB內(nèi)容                  &nbsp8h00             &nbsp低八位地址  

16、60;               &nbsp8h02             &nbsp高八位地址                  &nbsp8h04   

17、60;         &nbsp數(shù)據(jù)        &nbspif(a0=1) cmdreg=db;        &nbspelse begin             if(cmdreg=8'h00) addl=db; &

18、#160;           else if(cmdreg=8'h02)             begin             addh=db;         &

19、#160;   p=addh,addl;             end             else if(cmdreg=8'h04) ioreg=db;          end     

20、60;  &nbsp3) 顯存的數(shù)據(jù)刷新到液晶屏        &nbsp此部分完成RAM數(shù)據(jù)到LCD的正確映射。        &nbspRAM存儲(chǔ)和LCD對(duì)應(yīng)關(guān)系如下圖所示:                      &a

21、mp;nbsp正確的將RAM中的數(shù)據(jù)送入LCD,使液晶屏上下半屏隨著時(shí)鐘同時(shí)顯示,必須理清RAM存儲(chǔ)和LCD顯示間的地址關(guān)系。LCD為640×480,所以下半屏起始地址對(duì)應(yīng)的內(nèi)容應(yīng)為640×240/8=19200,即RAM0x4b00中的內(nèi)容。        &nbsp由于4bit字符同步時(shí)鐘scp_clk內(nèi)含四個(gè)周期computerclk,可以在computerclk的二三周期,分別將RAM地址0x0000的內(nèi)容AB和0x4b00的內(nèi)容EF傳至八位寄存器reg1和reg2,在余下的第四周期,將r

22、eg1和reg2的高四位即A和E傳至上下半屏數(shù)據(jù)寄存器ud_reg和ld_reg,lcd將同時(shí)顯示上半屏A下半屏E。下一個(gè)scp_clk時(shí),只需將reg1和reg2的低四位即B和F傳至ud_reg和ld_reg,則lcd將同時(shí)顯示上半屏B下半屏F。以后每?jī)蓚€(gè)scp_clk,RAM地址加一,同樣的方式取數(shù)據(jù)刷新lcd。        &nbsp仿真圖中藍(lán)線指示為RAM地址加一后上述一個(gè)循環(huán)的開(kāi)始。           &

23、#160;          &nbsp4) 數(shù)據(jù)選擇器        &nbsp單片機(jī)對(duì)RAM數(shù)據(jù)的更新,CPLD刷新LCD對(duì)RAM的讀取,可以通過(guò)一個(gè)二選一數(shù)據(jù)選擇器完成。                      &nbsp當(dāng)單片機(jī)寫時(shí),置選擇信號(hào)sel為1,存放MCU操作的地址寄存器addl、addh和數(shù)據(jù)寄存器ioreg與RAM地址數(shù)據(jù)總線連接,完成MCU對(duì)R

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論