第12章數(shù)字設(shè)計實例_第1頁
第12章數(shù)字設(shè)計實例_第2頁
第12章數(shù)字設(shè)計實例_第3頁
第12章數(shù)字設(shè)計實例_第4頁
第12章數(shù)字設(shè)計實例_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第12章數(shù)字設(shè)計實例12.1基于FPGA實現(xiàn)點陣式液晶顯示控制12.2基于CPLD實現(xiàn)字符液晶顯示控制12.3VGA彩條信號發(fā)生器12.4VGA圖像顯示控制器設(shè)計12.5異步串行接口(UART)設(shè)計12.6直接數(shù)字頻率合成器(DDS)12.7等精度頻率計12.8FIR數(shù)字濾波器12.9CRC校驗碼內(nèi)容數(shù)字設(shè)計實例12.1基于FPGA實現(xiàn)點陣式液晶顯示控制GDM12864的結(jié)構(gòu)及指令

GDM12864A原理簡圖

“寫數(shù)據(jù)”時序圖

指令名稱控制信號控制代碼RSR/WD7D6D5D4D3D2D1D0顯示開關(guān)設(shè)置000011111D顯示起始行設(shè)置0011L5L4L3L2L1L0頁面地址設(shè)置0010111P2P1P0列地址設(shè)置0001C5C4C3C2C1C0讀取狀態(tài)字01busy0on/offreset0000寫顯示數(shù)據(jù)10數(shù)

據(jù)控制指令功能表頂層設(shè)計及狀態(tài)分配

頂層設(shè)計

用狀態(tài)機來進(jìn)行設(shè)計。設(shè)置5個狀態(tài),分別是空閑狀態(tài)“Idle”,寫頁面地址狀態(tài)“Xpage”,寫列地址狀態(tài)“Yline”,寫數(shù)據(jù)狀態(tài)“Data”,顯示狀態(tài)“Display”。當(dāng)處于Xpage狀態(tài)時,rs=0,rw=0,按照前面介紹的命令格式“10111P2P1P0”將頁面地址送上數(shù)據(jù)總線(P2P1P0表示頁面地址)。當(dāng)處于Yline狀態(tài)時,rs=0,rw=0,將列地址“01C5C4C3C2C1C0”送上數(shù)據(jù)總線(C5C4C3C2C1C0代表0至63的列地址)。當(dāng)處于Data狀態(tài)時,rs=1,rw=0,依次將ROM中的顯示數(shù)據(jù)送上數(shù)據(jù)總線。將8個頁面全部掃描過一遍后,進(jìn)入Display狀態(tài),rs=0,rw=0,將命令“00111111”送上數(shù)據(jù)總線。

液晶控制

字符液晶由點陣字符液晶顯示器件和專用的行、列驅(qū)動器、控制器及必要的連接件裝配而成,可顯示數(shù)字和英文字符。字符液晶本身具有字符發(fā)生器,顯示容量大,功能豐富,一般最少可顯示1行8個或l行16個字符,每個字符由5×7、5×8或5×11的一組像素點陣排列構(gòu)成,每個字符間有一點的間隔,每行間也有一行的間隔12.2基于CPLD實現(xiàn)字符液晶顯示控制

CPLD與字符液晶HS162的接口典型電路HS162讀寫控制

狀態(tài)機設(shè)計及源代碼HS162-4液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實現(xiàn)的,為了方便控制,可以采用狀態(tài)機進(jìn)行設(shè)計。在設(shè)計中設(shè)置8個狀態(tài),分別是空閑狀態(tài)“IDLE”,設(shè)置CGRAM狀態(tài)“SETCGRAM”,工作方式設(shè)置狀態(tài)“SETFUNCTION”,輸入方式設(shè)置狀態(tài)“SWITCHMODE”,光標(biāo)歸位狀態(tài)“RETURNCURSOR”,字符移位狀態(tài)“SHIFT”,寫RAM狀態(tài)“WRITERAM”。12.3VGA彩條信號發(fā)生器

VGA顯示器采用光柵掃描方式,即轟擊熒光屏的電子束在CRT顯示器上從左到右、從上到下做有規(guī)律的移動,其水平移動受水平同步信號HSYNC控制,垂直移動受垂直同步信號VSYNC控制。掃描方式一般分為逐行掃描和隔行掃描,這里采用逐行掃描。完成一行掃描的時間稱為水平掃描時間,其倒數(shù)稱為行頻率,完成一幀(整屏)掃描的時間稱為垂直掃描時間,其倒數(shù)稱為場頻,又稱刷新率。VGA工業(yè)標(biāo)準(zhǔn)要求的時鐘頻率如下:時鐘頻率(Clockfrequency) 25.175MHz(像素輸出的頻率)行頻(Linefrequency) 31469Hz場頻(Fieldfrequency) 59.94Hz顏色黑藍(lán)綠品紅青黃白R00001111G00110011B01010101顏色編碼

一個象素點可有多種顏色,由表示該象素點的二進(jìn)數(shù)確定,這里每個象素點我們采用3位二進(jìn)制數(shù)表示:分別為三基色信號R、G、B。因此只可表示8種顏色,如表所示。顏色編碼VGA行掃描時序VGA場掃描時序VGA時序行掃描時序要求(單位:像素,即輸出一個像素Pixel的時間間隔)場掃描時序要求(單位:行,即輸出一行Line的時間間隔)場同步頭場圖像場周期對應(yīng)位置V_TfV_TaV_TbV_TcV_TdV_TeV_Tg時間(Lines)222584808525行同步頭行圖像行周期對應(yīng)位置H_TfH_TaH_TbH_TcH_TdH_TeH_Tg時間(Pixels)8964086408800根據(jù)以上的行、場掃描時序要求,可設(shè)置兩個計數(shù)器,一個是行掃描計數(shù)器hcnt,進(jìn)行模800計數(shù);另一個是場掃描計數(shù)器vcnt,進(jìn)行模525計數(shù)。行掃描計數(shù)器的驅(qū)動時鐘頻率(像素輸出的頻率)按照VGA工業(yè)標(biāo)準(zhǔn)為25.175MHz。場掃描計數(shù)器以行同步信號HS為驅(qū)動時鐘,當(dāng)HS的下降沿到來時進(jìn)行計數(shù)。設(shè)置完計數(shù)器后,就可對行圖像H_Td和場圖像V_Td所對應(yīng)的640×480個點賦值。12.4VGA圖像顯示控制器設(shè)計VGA圖像顯示控制器結(jié)構(gòu)框圖

本例在VGA顯示器上顯示了一幅128×128點的圖像,每個像素點依然使用3比特量化。因此ROM的存儲單元數(shù)目為16384,即地址線寬度為14比特,數(shù)據(jù)線寬度為3比特。增加了一個圖像位置移動控制部分,使得圖像在屏幕范圍內(nèi)成45度角移動,撞到邊緣后變向,類似于屏保。很顯然,由于量化的比特數(shù)較少,顯示出的圖像只能看出大體的形狀輪廓,若想提高圖像的質(zhì)量,必須增加對三基色R、G、B分別量化的比特數(shù),而后再分別通過D/A轉(zhuǎn)換器輸出。三基色分別采用8比特表示

三基色分別采用1比特表示

VGA圖像顯示控制器頂層設(shè)計

12.5異步串行接口(UART)設(shè)計

基本的UART通信只需要兩條信號線:RXD和TXD,TXD是UART的發(fā)送端,RXD是UART的接收端,接收與發(fā)送全雙工工作。UART是異步通信方式,發(fā)送方和接收方分別有各自獨立的時鐘,傳輸?shù)乃俾视呻p方約定,使用起至式異步協(xié)議。起止式異步協(xié)議起止式異步協(xié)議的特點是一個字符一個字符地進(jìn)行傳輸,字符之間沒有固定的時間間隔要求,每個字符都以起始位開始,以停止符結(jié)束。每一個字符的前面都有一位起始位(低電平,邏輯值0),字符本身有5到8比特數(shù)據(jù)位組成,接著是一位校驗位(也可以沒有校驗位),最后是一位(或一位半、二位)停止位,停止位后面是不定長度的空閑位。停止位和空閑位都規(guī)定為高電平,這樣就保證起始位開始處一定有一個下降沿。數(shù)據(jù)接收數(shù)據(jù)接收:接收的首要任務(wù)是能夠正確找到數(shù)據(jù)的位置。這主要靠檢測數(shù)據(jù)的起始位和停止位來實現(xiàn)。起始位是一位0,它作為聯(lián)絡(luò)信號附加進(jìn)發(fā)送信息,因為空閑位都為高電平,所以當(dāng)接收數(shù)據(jù)線的信號突然變?yōu)榈碗娖綍r,告訴接收端數(shù)據(jù)的到來。一個字符接收完畢后,對數(shù)據(jù)進(jìn)行校驗(若數(shù)據(jù)包含奇偶校驗位),最后檢測停止位,以確認(rèn)數(shù)據(jù)接收完畢。

UART接收示意圖

由于傳輸中有可能會產(chǎn)生毛刺,接收端極有可能將毛刺誤認(rèn)為是起始位,所以要對檢測到的下降沿進(jìn)行判別。一般采用如下的方法:取接收端的時鐘頻率是發(fā)送頻率的16倍頻,當(dāng)檢測到一個下降沿后,在接下來的16個周期內(nèi)檢測數(shù)據(jù)線上“0”的個數(shù),若“0”的個數(shù)超過8個或者10(根據(jù)具體情況設(shè)置),則認(rèn)為是起始位到來,否則認(rèn)為起始位沒有到來,繼續(xù)檢測傳輸線,等待起始位。起始位的檢測數(shù)據(jù)發(fā)送:數(shù)據(jù)的發(fā)送實際上就是按照幀格式將寄存器中的并行數(shù)據(jù)轉(zhuǎn)為串行數(shù)據(jù),為其加上起始位和停止位,以一定的波特率進(jìn)行傳輸。波特率可以有多種選擇,如9600bits/s,14400bits/s,19200bits/s,38400bits/s等數(shù)據(jù)發(fā)送12.6直接數(shù)字頻率合成器

1、DDS原理與頂層設(shè)計

DDS的基本結(jié)構(gòu)如圖所示,主要由相位累加器、加法器、波形存儲ROM、D/A轉(zhuǎn)換器組成。DDS結(jié)構(gòu)圖

其中K為頻率控制字,P為相位控制字。設(shè)fc為參考時鐘頻率,N為相位累加器的字長,M為ROM數(shù)據(jù)位和D/A轉(zhuǎn)換器的字長。相位累加器在時鐘fc的控制下以步長K累加,輸出的N位二進(jìn)制碼經(jīng)過處理(截斷處理)后與相位控制字相加,結(jié)果作為ROM的輸入地址,對波形ROM尋址。ROM中輸出的M位的幅度碼經(jīng)D/A轉(zhuǎn)換后就可得到合成波形。合成信號的波形取決于ROM中存儲的幅度碼,因此可以用DDS產(chǎn)生任意波形。DDS頂層設(shè)計

圖中加法器add32和寄存器reg32構(gòu)成了相位累加器,加法器add12和寄存器reg12構(gòu)成了相位調(diào)制器。乘法器mult用于調(diào)節(jié)DDS的步進(jìn)頻率,頻率控制字和相位控制字分別由單片機控制鍵盤輸入,鎖相環(huán)輸出40MHz的頻率。波形存儲器sin_rom的輸出和D/A轉(zhuǎn)換器相連。2、ROM初始化數(shù)據(jù)文件生成

初始化數(shù)據(jù)文件格式有2種:MemoryInitializationFile(.mif)格式文件,或Hexadecimal(Intel-Format)File(.hex)格式文件。生成初始化數(shù)據(jù)文件的方法通常有下面幾種。(1)建立.mif格式文件(2)建立hex格式文件(3)其他方法3、宏功能模塊的定制

選擇ROM數(shù)據(jù)線地址線寬度添加數(shù)據(jù)文件4、使用嵌入式邏輯分析儀在線測試

QuartusII軟件具有SignalTapII嵌入式邏輯分析儀,它提供了一種對器件進(jìn)行

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論