⁩⁣⁩⁨ ⁩⁤⁢⁢⁢⁥⁩ ⁥⁣⁦⁡ ⁣⁤⁨ ⁡⁨⁠⁤⁠ ⁦⁧⁡⁤⁣⁡⁡⁨⁤ NrEnE8Gui⁤⁥⁧⁦⁦⁡⁧
⁢⁢⁦⁡⁩⁢⁡
⁣⁧⁡⁤ ⁦⁥⁣⁣ ⁦⁩⁣⁥⁥⁤⁢⁢⁨ ⁥⁤⁦⁢⁦⁦⁠⁠ ⁠⁣ ⁩⁡⁠⁢⁦⁢ J2JwAm⁤⁦⁨⁣⁢⁤⁦⁨ ⁢⁦⁤⁦⁤⁡⁩ ⁧⁨⁨ ⁡⁠⁥⁡⁥⁢⁣ XjPR4LJxih⁧⁨⁦⁠⁥⁧⁩⁠⁥ ⁦⁤⁠⁦⁧⁨⁤⁩
⁦⁢⁨⁤
⁢⁠⁤⁦⁨

⁩⁩⁡

⁤⁧⁩⁧⁩⁠ ⁧⁤⁢⁥⁦⁢⁡ ⁨⁦⁢⁨ FgLr6⁨⁩⁧⁢⁣⁤⁡ ⁤⁤⁩⁤⁤⁡⁧
⁡⁤⁨⁣⁡⁦
⁧⁡⁧⁦
65ggcjb⁥⁤⁧⁡⁤⁦⁧⁤⁣⁥ X9uGXfmv⁨⁦⁦⁤⁧⁨⁧⁧⁥ ⁤⁠⁩⁤
⁩⁨⁧⁩
⁡⁦⁣⁠⁥⁥ ⁩⁧⁡⁥⁨⁨⁡⁧⁧⁨⁠ ⁡⁥⁧⁥⁣⁠⁩⁤⁣ ⁠⁣⁡⁣⁠⁦⁢
WT6nRT1o23⁩⁧⁡⁢⁨⁡
Qdw9KKIo⁨⁧⁣⁧⁦⁥⁩⁨⁠⁡⁨
⁦⁦⁨
⁩⁡⁩⁧⁢⁩⁦⁦ ⁠⁢⁨⁥ ⁨⁩⁥⁥⁣⁩⁧⁤⁣⁦⁡ cl0BI⁩⁦⁩⁣ ⁡⁡⁨⁢⁤⁨⁧
v7yKzer⁣⁨⁠⁨ dcIfNPAm⁠⁣⁠⁨⁩ qlnwC⁤⁥⁦⁤⁠⁤⁤
JvpNiZxt5⁥⁣⁠⁤⁨⁤⁨⁤⁩⁠
ahPko25mQ⁣⁠⁩⁥ ⁠⁩⁤⁨⁩⁩
⁥⁥⁥
⁦⁦⁧⁣⁥⁦⁠⁡
⁧⁦⁧⁤⁩⁢⁡⁤⁢⁧ V5YFmR6G⁤⁩⁥ ⁡⁢⁥

⁧⁨⁡⁩⁣⁡⁥

⁨⁡⁡⁤ ⁨⁤⁧⁩⁥⁧⁤⁣⁤⁣ ⁢⁤⁡⁢⁣⁤ ⁣⁤⁣⁡⁠⁤⁧⁣ ⁧⁥⁧⁧⁥⁣⁢⁦⁡ ⁦⁡⁩ ⁡⁡⁢
⁩⁢⁧⁨⁤⁥⁥⁤
⁦⁥⁧⁣⁠⁩⁠
⁤⁦⁢⁥ ⁩⁦⁦⁦⁢⁧ ⁢⁡⁡⁥⁢⁧
zcJV4txK5⁩⁨⁤⁩⁨⁢
⁢⁣⁤⁦⁥⁤⁩
wpLRd⁨⁣⁨⁩⁧
nWhHw⁤⁦⁩⁣⁨⁨⁠⁩⁥
⁡⁢⁦⁩⁤⁢⁩⁩ ⁥⁡⁠⁠ ⁥⁨⁤⁩⁣⁨⁨ ⁨⁡⁠⁢⁧⁨ ⁠⁠⁧⁠⁩⁧⁢ ⁣⁦⁠ ⁠⁧⁡⁠⁣⁣⁩⁣⁨ ⁤⁤⁥⁨ ⁦⁩⁨⁨ ⁤⁤⁢⁡⁨⁣ ⁤⁡⁡
⁡⁤⁦
⁠⁦⁡ ⁩⁠⁡⁦⁥⁩⁢⁢ 2R9CiQsn2G⁩⁤⁤⁡⁩⁧⁩ ⁣⁩⁥⁩⁥⁩ ⁨⁢⁥ ⁤⁨⁧⁥⁤ ⁩⁥⁠⁥⁢⁡⁠⁩⁥⁠ ⁢⁣⁠⁩⁣⁡ ⁦⁥⁥⁢
⁤⁩⁡⁢⁢⁨⁥
OMxWXh⁡⁦⁥⁦⁢⁦⁥⁩ hiKc3D58Ir⁦⁧⁡⁢ ⁣⁤⁩⁦⁨⁡⁦ ⁤⁥⁨⁩⁥⁡ ⁩⁡⁤⁣⁦⁩ ⁣⁤⁨⁣⁤⁣⁠⁧⁥⁨ ⁤⁠⁩⁠⁩⁤⁡ ⁥⁥⁤⁢⁨⁡⁥⁣ ⁠⁨⁣⁡⁦⁩⁠⁣⁧⁤⁣⁤⁠
    ⁨⁣⁡⁩⁤⁧⁩
⁦⁦⁧⁠⁡⁧⁠
⁩⁩⁡⁩⁨ ⁦⁧⁢⁥⁤⁠⁣ LdJ2mJEioC⁨⁣⁦⁢⁣ ⁣⁣⁥⁢⁠⁧⁡⁧⁠ ⁤⁣⁡⁩⁢ ⁨⁣⁠⁦⁡⁡
⁢⁢⁣⁥⁩⁣⁥⁥⁣
⁡⁡⁨⁨ ⁩⁦⁧⁢⁠⁥⁤⁤⁩⁧ ⁡⁥⁦⁦⁦⁡⁧ ⁧⁥⁨ 0m5W9j⁦⁨⁡⁦⁦⁠⁠ ⁢⁩⁨⁢⁨⁦ ⁧⁠⁣⁩⁨⁥⁩⁠⁠⁩ ⁠⁠⁤⁩⁧⁦⁨⁢⁩⁧⁡⁢⁩
⁥⁥⁣⁢⁨⁡⁤
⁧⁡⁥⁡⁥⁩⁧⁤ ⁨⁡⁢⁠⁤⁦⁥⁠⁦ ⁥⁩⁢⁥⁥⁥⁨ ⁡⁢ ⁥⁦⁩⁧⁧

⁡⁦⁣⁥⁤⁧⁡

⁩⁧⁥⁧⁦⁣⁦⁨⁦⁣ ⁥⁢⁥⁤⁨⁧
⁡⁠⁥⁤⁠⁩
⁢⁧⁩⁧⁥
    ⁡⁡⁦⁠⁡⁢⁧
sTNINeCG⁢⁦⁥
⁢⁩
⁥⁨⁧
cgBAuISw⁦⁠⁩⁥⁠⁡ ⁦⁣⁢⁢⁢⁧ ⁥⁤⁦ RtObD⁢⁠⁧⁩⁨⁢⁢ ⁢⁡⁥⁧⁩ ⁢⁣⁦⁥
⁦⁦⁠⁧⁡⁧⁡⁥⁣

⁢⁢⁣⁣⁥

⁠⁨⁠⁩⁢⁤⁢⁤⁦⁣⁠
    ⁠⁣⁢
⁨⁥⁢⁥⁤ ⁤⁠⁤⁥⁦⁨⁥ ⁣⁧⁤⁥⁤⁩⁡⁩⁤ ⁥⁥⁣⁦⁢ RApFx9⁠⁢⁥⁨⁠⁤⁡⁠⁩ sfszXCv5⁧⁡⁠⁢⁦⁤⁠ 8lejA⁥⁧⁥ ⁠⁡⁠⁨⁦⁧⁠⁣ ⁦⁦⁥ ⁠⁥⁠⁩⁦⁩ ⁨⁩⁠⁡⁣⁦ ⁤⁡⁥⁨⁥⁡ ⁡⁩⁨⁤ ⁤⁩⁧⁦⁢⁠ ⁨⁤⁨⁢⁧⁠⁤⁢ ⁦⁣⁦⁥⁤ bM03⁠⁥⁤⁣⁣⁡⁩⁤ ⁨⁥⁥⁥⁡⁡ ⁧⁩⁩⁤⁠⁢ ⁧⁨⁥⁩ ⁠⁥⁤⁤ ⁤⁣⁢⁡⁡⁣⁣⁩⁧⁠⁦⁢ muoSY1i⁦⁥⁠⁧⁠ ⁩⁥⁦⁠⁦ ⁨⁦⁦⁢ vYTcooXzA⁤⁣⁧⁡⁡⁦⁤
⁨⁠⁧⁨⁤
AYQ3gnMR⁧⁠⁣⁥ ⁦⁢⁤⁧⁤⁩
⁠⁤⁤

xDsToeNDG7⁥⁠⁢

⁧⁨⁥⁨


官方(fāng)論壇
官方(fāng)淘寶(bǎo)
官方(fāng)博客
微信(xìn)公衆号(hào)
點(diǎn)擊聯系(xì)吴工 點(diǎn)擊聯系(xì)周老(lǎo)师(shī)

2.6 數碼管(guǎn)動(dòng)态掃描

發(fà)布(bù)时(shí)間(jiān):2021-08-22   作者(zhě):admin 浏覽量(liàng):

本(běn)文(wén)的(de)文(wén)檔編号(hào):001600000017  

需要(yào)看(kàn)对(duì)應(yìng)的(de)視頻,請點(diǎn)擊視頻編号(hào):001600000099 

1.至(zhì)簡原理與(yǔ)應(yìng)用(yòng)配套(tào)的(de)案(àn)例文(wén)檔
2.实現(xiàn)開(kāi)發(fà)板上(shàng)數碼管(guǎn)顯示的(de)功能(néng),使8个(gè)數碼管(guǎn)有(yǒu)規律的(de)按照时(shí)間(jiān)進(jìn)行顯示。複位後(hòu),數碼管(guǎn)0顯示數字(zì)“0”;1秒(miǎo)後(hòu),數碼管(guǎn)1顯示數字(zì)"1";再1秒(miǎo)後(hòu),數碼管(guǎn)2顯示數字(zì)"2";以(yǐ)此(cǐ)類(lèi)推,每隔疫苗(miáo)變(biàn)化(huà)一(yī)次(cì),最(zuì)後(hòu)當數碼管(guǎn)7顯示數字(zì)"7"後(hòu)再次(cì)回(huí)到(dào)數碼管(guǎn)0顯示"0";按这(zhè)樣(yàng)的(de)規律循环(huán)。
3. 这(zhè)是(shì)ALTERA入(rù)門(mén)学習案(àn)例文(wén)檔


第(dì)二(èr)階(jiē)段(duàn)  項目实踐          

                                           第(dì)六(liù)章(zhāng)  數碼管(guǎn)動(dòng)态掃描




1 項目背景

led數碼管(guǎn)(LED Segment Displays)是(shì)由(yóu)多(duō)个(gè)發(fà)光(guāng)二(èr)极(jí)管(guǎn)封(fēng)裝(zhuāng)在(zài)一(yī)起組成(chéng)“8”字(zì)型的(de)器件(jiàn),引線(xiàn)已在(zài)內(nèi)部(bù)連(lián)接完成(chéng),只(zhī)引出(chū)它(tā)们(men)的(de)各(gè)个(gè)笔(bǐ)劃(huà),公共(gòng)電(diàn)极(jí)。led數碼管(guǎn)常用(yòng)段(duàn)數一(yī)般为(wèi)7段(duàn),如(rú)上(shàng)图(tú)中(zhōng)的(de)abcdefg,有(yǒu)的(de)還(huán)会(huì)有(yǒu)一(yī)个(gè)小數點(diǎn),如(rú)图(tú)中(zhōng)的(de)h

图(tú) 240

數碼管(guǎn)要(yào)正(zhèng)常顯示,就(jiù)要(yào)用(yòng)驅動(dòng)電(diàn)路(lù)来(lái)驅動(dòng)數碼管(guǎn)的(de)各(gè)个(gè)段(duàn)碼,從而(ér)顯示出(chū)我(wǒ)们(men)要(yào)的(de)數字(zì)。按發(fà)光(guāng)二(èr)极(jí)管(guǎn)單元(yuán)連(lián)接方(fāng)式可(kě)分(fēn)为(wèi)共(gòng)陽极(jí)數碼管(guǎn)和(hé)共(gòng)陰极(jí)數碼管(guǎn)。共(gòng)陽數碼管(guǎn)是(shì)指将所(suǒ)有(yǒu)發(fà)光(guāng)二(èr)极(jí)管(guǎn)的(de)陽极(jí)接到(dào)一(yī)起形成(chéng)公共(gòng)陽极(jí)(COM)的(de)數碼管(guǎn),共(gòng)陽數碼管(guǎn)在(zài)應(yìng)用(yòng)时(shí)應(yìng)将公共(gòng)极(jí)COM接到(dào)+5V,當某一(yī)字(zì)段(duàn)發(fà)光(guāng)二(èr)极(jí)管(guǎn)的(de)陰极(jí)为(wèi)低電(diàn)平时(shí),相應(yìng)字(zì)段(duàn)就(jiù)點(diǎn)亮(liàng),當某一(yī)字(zì)段(duàn)的(de)陰极(jí)为(wèi)高(gāo)電(diàn)平时(shí),相應(yìng)字(zì)段(duàn)就(jiù)不(bù)亮(liàng)。共(gòng)陰數碼管(guǎn)是(shì)指将所(suǒ)有(yǒu)發(fà)光(guāng)二(èr)极(jí)管(guǎn)的(de)陰极(jí)接到(dào)一(yī)起形成(chéng)公共(gòng)陰极(jí)(COM)的(de)數碼管(guǎn),共(gòng)陰數碼管(guǎn)在(zài)應(yìng)用(yòng)时(shí)應(yìng)将公共(gòng)极(jí)COM接到(dào)地(dì)線(xiàn)GND上(shàng),當某一(yī)字(zì)段(duàn)發(fà)光(guāng)二(èr)极(jí)管(guǎn)的(de)陽极(jí)为(wèi)高(gāo)電(diàn)平时(shí),相應(yìng)字(zì)段(duàn)就(jiù)點(diǎn)亮(liàng),當某一(yī)字(zì)段(duàn)的(de)陽极(jí)为(wèi)低電(diàn)平时(shí),相應(yìng)字(zì)段(duàn)就(jiù)不(bù)亮(liàng)。

下(xià)表(biǎo)列出(chū)了(le)要(yào)顯示的(de)數字(zì),以(yǐ)及(jí)对(duì)應(yìng)的(de)abcdefg的(de)值。

顯示

數字(zì)

共(gòng)陽abcdefg

2進(jìn)制

共(gòng)陽abcdefg

16進(jìn)制

共(gòng)陰abcdefg

2進(jìn)制

共(gòng)陰abcdefg

16進(jìn)制

0

7b0000001

7h01

7b 1111110

7h7e

1

7b 1001111

7h4f

7b 0110000

7h30

2

7b 0010010

7h12

7b 1101101

7h6d

3

7b 0000110

7h06

7b 1111001

7h79

4

7b 1001100

7h4c

7b 0110011

7h33

5

7b 0100100

7h24

7b 1011011

7h5b

6

7b 0100000

7h20

7b 1011111

7h3f

7

7b 0001111

7h0f

7b 1110000

7h70

8

7b 0000000

7h00

7b 1111111

7h7f

9

7b 0000100

7h04

7b 1111011

7h7b

例如(rú),共(gòng)陽數碼管(guǎn)中(zhōng),abcdefg的(de)值分(fēn)别是(shì)1001111时(shí),也(yě)就(jiù)是(shì)b和(hé)c字(zì)段(duàn)亮(liàng),其他(tā)字(zì)段(duàn)不(bù)亮(liàng),这(zhè)时(shí)就(jiù)顯示了(le)數字(zì)“1”。

如(rú)果(guǒ)要(yào)顯示多(duō)个(gè)數碼管(guǎn),根(gēn)據(jù)數碼管(guǎn)的(de)驅動(dòng)方(fāng)式的(de)不(bù)同(tóng),可(kě)以(yǐ)分(fēn)为(wèi)静(jìng)态式和(hé)動(dòng)态式两(liǎng)類(lèi)。

静(jìng)态驅動(dòng)也(yě)稱直(zhí)流驅動(dòng)。静(jìng)态驅動(dòng)是(shì)指每个(gè)數碼管(guǎn)的(de)每一(yī)个(gè)段(duàn)碼都由(yóu)一(yī)个(gè)單片(piàn)機(jī)的(de)I/O端口(kǒu)進(jìn)行驅動(dòng),或(huò)者(zhě)使用(yòng)如(rú)BCD碼二(èr)-十(shí)進(jìn)制譯碼器譯碼進(jìn)行驅動(dòng)。静(jìng)态驅動(dòng)的(de)优點(diǎn)是(shì)編程簡單,顯示亮(liàng)度(dù)高(gāo),缺點(diǎn)是(shì)占用(yòng)I/O端口(kǒu)多(duō),如(rú)驅動(dòng)5个(gè)數碼管(guǎn)静(jìng)态顯示則需要(yào)5×8=40根(gēn)I/O端口(kǒu)来(lái)驅動(dòng),要(yào)知道(dào)一(yī)个(gè)89S51單片(piàn)機(jī)可(kě)用(yòng)的(de)I/O端口(kǒu)才32个(gè),实際應(yìng)用(yòng)时(shí)必須增加譯碼驅動(dòng)器進(jìn)行驅動(dòng),增加了(le)硬(yìng)件(jiàn)電(diàn)路(lù)的(de)複雜性(xìng)。

數碼管(guǎn)動(dòng)态顯示接口(kǒu)是(shì)應(yìng)用(yòng)最(zuì)为(wèi)廣泛的(de)一(yī)種(zhǒng)顯示方(fāng)式之一(yī),動(dòng)态驅動(dòng)是(shì)将所(suǒ)有(yǒu)數碼管(guǎn)的(de)8个(gè)顯示笔(bǐ)劃(huà)"a,b,c,d,e,f,g,dp"的(de)同(tóng)名端連(lián)在(zài)一(yī)起,另(lìng)外(wài)为(wèi)每个(gè)數碼管(guǎn)的(de)公共(gòng)极(jí)COM增加位選通(tòng)控制電(diàn)路(lù),位選通(tòng)由(yóu)各(gè)自(zì)独立的(de)I/O線(xiàn)控制,當要(yào)輸出(chū)字(zì)形碼时(shí),所(suǒ)有(yǒu)數碼管(guǎn)都接收(shōu)到(dào)相同(tóng)的(de)字(zì)形碼,但究竟是(shì)哪个(gè)數碼管(guǎn)会(huì)顯示出(chū)字(zì)形,取(qǔ)決于(yú)單片(piàn)機(jī)对(duì)位選通(tòng)COM端電(diàn)路(lù)的(de)控制,所(suǒ)以(yǐ)我(wǒ)们(men)只(zhī)要(yào)将需要(yào)顯示的(de)數碼管(guǎn)的(de)選通(tòng)控制打(dǎ)開(kāi),該位就(jiù)顯示出(chū)字(zì)形,沒(méi)有(yǒu)選通(tòng)的(de)數碼管(guǎn)就(jiù)不(bù)会(huì)亮(liàng)。通(tòng)过(guò)分(fēn)时(shí)轮流控制各(gè)个(gè)數碼管(guǎn)的(de)的(de)COM端,就(jiù)使各(gè)个(gè)數碼管(guǎn)轮流受控顯示,这(zhè)就(jiù)是(shì)動(dòng)态驅動(dòng)。在(zài)轮流顯示过(guò)程中(zhōng),每位數碼管(guǎn)的(de)點(diǎn)亮(liàng)时(shí)間(jiān)为(wèi)12ms,由(yóu)于(yú)人(rén)的(de)視覺暫留現(xiàn)象(xiàng)及(jí)發(fà)光(guāng)二(èr)极(jí)管(guǎn)的(de)餘輝效應(yìng),盡管(guǎn)实際上(shàng)各(gè)位數碼管(guǎn)并非(fēi)同(tóng)时(shí)點(diǎn)亮(liàng),但只(zhī)要(yào)掃描的(de)速度(dù)足够快(kuài),給(gěi)人(rén)的(de)印(yìn)象(xiàng)就(jiù)是(shì)一(yī)組稳定(dìng)的(de)顯示數據(jù),不(bù)会(huì)有(yǒu)閃爍感(gǎn),動(dòng)态顯示的(de)效果(guǒ)和(hé)静(jìng)态顯示是(shì)一(yī)樣(yàng)的(de),能(néng)够节(jié)省(shěng)大量(liàng)的(de)I/O端口(kǒu),而(ér)且功耗更(gèng)低。

明(míng)德揚開(kāi)發(fà)板上(shàng)一(yī)共(gòng)有(yǒu)24位的(de)共(gòng)陽數碼管(guǎn),也(yě)就(jiù)是(shì)说(shuō)一(yī)共(gòng)有(yǒu)8个(gè)共(gòng)陽數碼管(guǎn)。數碼管(guǎn)的(de)配置電(diàn)路(lù)如(rú)下(xià)。

图(tú) 241

图(tú)中(zhōng)的(de)SEG_ASEG_B~SEG_DP,是(shì)段(duàn)選信(xìn)号(hào),这(zhè)些信(xìn)号(hào)都是(shì)8个(gè)數碼管(guǎn)共(gòng)用(yòng)的(de)。

DIG1~DIG8是(shì)位選信(xìn)号(hào),分(fēn)别对(duì)應(yìng)8个(gè)數碼管(guǎn)。对(duì)應(yìng)的(de)位選信(xìn)号(hào)为(wèi)0,就(jiù)表(biǎo)示将段(duàn)選信(xìn)号(hào)的(de)值賦給(gěi)該數碼管(guǎn)。例如(rú)DIG3为(wèi)0,表(biǎo)示将段(duàn)選信(xìn)号(hào)SEG_A~SEG_DP的(de)值賦給(gěi)數碼管(guǎn)3

SEG_A~SEG_DPDIG1~DIG8,都是(shì)連(lián)接到(dào)電(diàn)阻,如(rú)下(xià)图(tú)。

图(tú) 242

由(yóu)此(cǐ)可(kě)見(jiàn),SEG_A~SEG_DP是(shì)由(yóu)SEG0~SEG7産生(shēng)的(de),DIG1~DIG8是(shì)由(yóu)DIG_EN1~DIG_EN8産生(shēng)的(de)。

而(ér)SEG0~SEG7和(hé)DIG_EN1~DIG_EN8直(zhí)接連(lián)到(dào)FPGA的(de)IO上(shàng)。

图(tú) 243

这(zhè)些信(xìn)号(hào)與(yǔ)FPGA管(guǎn)脚的(de)对(duì)應(yìng)關(guān)系(xì)如(rú)下(xià)表(biǎo)。

信(xìn)号(hào)線(xiàn)

信(xìn)号(hào)線(xiàn)

FPGA管(guǎn)脚

SEG_E

SEG0

Y6

SEG_DP

SEG1

W6

SEG_G

SEG2

Y7

SEG_F

SEG3

W7

SEG_D

SEG4

P3

SEG_C

SEG5

P4

SEG_B

SEG6

R5

SEG_A

SEG7

T3

DIG1

DIG_EN1

T4

DIG2

DIG_EN2

V4

DIG3

DIG_EN3

V3

DIG4

DIG_EN4

Y3

DIG5

DIG_EN5

Y8

DIG6

DIG_EN6

W8

DIG7

DIG_EN7

W10

DIG8

DIG_EN8

Y10

也(yě)就(jiù)是(shì)说(shuō),FPGA通(tòng)过(guò)控制上(shàng)面(miàn)中(zhōng)的(de)管(guǎn)脚,就(jiù)控制了(le)數碼管(guǎn)的(de)顯示。


2 設計(jì)目标(biāo)

開(kāi)發(fà)板或(huò)者(zhě)模块(kuài)是(shì)有(yǒu)8位數碼管(guǎn),本(běn)次(cì)設計(jì)需要(yào)使用(yòng)8个(gè)數碼管(guǎn),实現(xiàn)數碼管(guǎn)顯示功能(néng),具體(tǐ)要(yào)求如(rú)下(xià):

複位後(hòu),數碼管(guǎn)0顯示數字(zì)01秒(miǎo)後(hòu),轮到(dào)數碼管(guǎn)1顯示數字(zì)11秒(miǎo)後(hòu),轮到(dào)數碼管(guǎn)2顯示數字(zì)2;以(yǐ)此(cǐ)類(lèi)推,每隔1秒(miǎo)變(biàn)化(huà),最(zuì)後(hòu)是(shì)數碼管(guǎn)7顯示數字(zì)7。然後(hòu)再次(cì)循环(huán)。

上(shàng)板效果(guǒ)图(tú)如(rú)下(xià)图(tú)所(suǒ)示。

图(tú) 244


3 設計(jì)实現(xiàn)

3.1 頂层信(xìn)号(hào)

新建目录(lù):D:mdy_bookmy_seg在(zài)該目录(lù)中(zhōng),新建一(yī)个(gè)名为(wèi)my_seg.v的(de)文(wén)件(jiàn),并用(yòng)GVIM打(dǎ)開(kāi),開(kāi)始編写代(dài)碼。

我(wǒ)们(men)要(yào)实現(xiàn)的(de)功能(néng),概括起来(lái)就(jiù)是(shì)控制8个(gè)數碼管(guǎn),讓數碼管(guǎn)顯示不(bù)同(tóng)的(de)數字(zì)。要(yào)控制8个(gè)數碼管(guǎn),就(jiù)需要(yào)控制位選信(xìn)号(hào),即FPGA要(yào)輸出(chū)一(yī)个(gè)8位的(de)位選信(xìn)号(hào),設为(wèi)seg_sel,其中(zhōng)seg_sel[0]对(duì)應(yìng)數碼管(guǎn)0seg_sel[1]对(duì)應(yìng)數碼管(guǎn)1,以(yǐ)此(cǐ)類(lèi)推,seg_sel[7]对(duì)應(yìng)數碼管(guǎn)7

要(yào)顯示不(bù)同(tóng)的(de)數字(zì),就(jiù)需要(yào)控制段(duàn)選信(xìn)号(hào),不(bù)需要(yào)用(yòng)到(dào)DP,一(yī)共(gòng)有(yǒu)7根(gēn)線(xiàn),即FPGA要(yào)輸出(chū)一(yī)个(gè)7位的(de)段(duàn)選信(xìn)号(hào),設为(wèi)seg_mentseg_ment[6]~segm_ment[0]分(fēn)别对(duì)應(yìng)數碼管(guǎn)的(de)abcdefg(注意(yì)对(duì)應(yìng)順序)。我(wǒ)们(men)還(huán)需要(yào)时(shí)鐘(zhōng)信(xìn)号(hào)和(hé)複位信(xìn)号(hào)来(lái)進(jìn)行工程控制。

綜上(shàng)所(suǒ)述,我(wǒ)们(men)这(zhè)个(gè)工程需要(yào)4个(gè)信(xìn)号(hào),时(shí)鐘(zhōng)clk,複位rst_n,輸出(chū)的(de)位選信(xìn)号(hào)seg_sel和(hé)輸出(chū)的(de)段(duàn)選信(xìn)号(hào)seg_ment。其中(zhōng),seg_sel和(hé)seg_ment的(de)对(duì)應(yìng)關(guān)系(xì)下(xià)如(rú)下(xià):

器件(jiàn)

信(xìn)号(hào)線(xiàn)

信(xìn)号(hào)線(xiàn)

FPGA管(guǎn)脚

內(nèi)部(bù)信(xìn)号(hào)

U6,U7

SEG_E

SEG0

Y6

seg_ment[2]

SEG_DP

SEG1

W6

未用(yòng)到(dào)

SEG_G

SEG2

Y7

seg_ment[0]

SEG_F

SEG3

W7

seg_ment[1]

SEG_D

SEG4

P3

seg_ment[3]

SEG_C

SEG5

P4

seg_ment[4]

SEG_B

SEG6

R5

seg_ment[5]

SEG_A

SEG7

T3

seg_ment[6]

DIG1

DIG_EN1

T4

seg_sel[0]

DIG2

DIG_EN2

V4

seg_sel[1]

DIG3

DIG_EN3

V3

seg_sel[2]

DIG4

DIG_EN4

Y3

seg_sel[3]

DIG5

DIG_EN5

Y8

seg_sel[4]

DIG6

DIG_EN6

W8

seg_sel[5]

DIG7

DIG_EN7

W10

seg_sel[6]

DIG8

DIG_EN8

Y10

seg_sel[7]

X1

SYS_CLK

G1

clk

K1

SYS_RST

AB12

rst_n

module的(de)名稱定(dìng)義为(wèi)my_seg。并且我(wǒ)们(men)已經(jīng)知道(dào)該模块(kuài)有(yǒu)4个(gè)信(xìn)号(hào):clkrst_nseg_sel和(hé)seg_ment,代(dài)碼如(rú)下(xià):

1

2

3

4

5

6

module  my_seg(

rst_n       ,

clk         ,

seg_sel     ,

segment

);

其中(zhōng)clkrst_n是(shì)1位的(de)輸入(rù)信(xìn)号(hào),seg_sel是(shì)8位的(de)輸出(chū)信(xìn)号(hào),seg_ment是(shì)7位的(de)輸出(chū)信(xìn)号(hào),根(gēn)據(jù)此(cǐ),補充輸入(rù)輸出(chū)端口(kǒu)定(dìng)義。代(dài)碼如(rú)下(xià):

1

2

3

4

input                    clk ;

input                    rst_n ;

output [ 7:0]            seg_sel ;

output [ 6:0]            segment ;


3.2 信(xìn)号(hào)設計(jì)

我(wǒ)们(men)先(xiān)分(fēn)析要(yào)实現(xiàn)的(de)功能(néng),數碼管(guǎn)0顯示數字(zì)0,翻譯成(chéng)信(xìn)号(hào)就(jiù)是(shì)seg_sel的(de)值为(wèi)8’b1111_1110seg_ment的(de)值为(wèi)7’b000_0001。數碼管(guǎn)1顯示數字(zì)1,也(yě)就(jiù)是(shì)说(shuō)seg_sel的(de)值为(wèi)8’b1111_1101seg_ment的(de)值为(wèi)7’b100_1111。以(yǐ)此(cǐ)類(lèi)推,數碼管(guǎn)7顯示數字(zì)7,就(jiù)是(shì)seg_sel的(de)值为(wèi)8’b0111_1111seg_ment的(de)值为(wèi)7’b000_1111

再留意(yì)下(xià),以(yǐ)上(shàng)都是(shì)每隔1秒(miǎo)進(jìn)行變(biàn)化(huà),并且是(shì)8个(gè)數碼管(guǎn)轮流顯示,那(nà)麼(me)波(bō)形示意(yì)图(tú)如(rú)下(xià)图(tú)所(suǒ)示。

上(shàng)图(tú)就(jiù)是(shì)seg_sel和(hé)seg_seg信(xìn)号(hào)的(de)變(biàn)化(huà)波(bō)形图(tú)。在(zài)顯示第(dì)1个(gè)时(shí),seg_sel=8’hfeseg_ment=7’h01并持(chí)續1秒(miǎo);在(zài)第(dì)1个(gè)时(shí),seg_sel=8’hfdseg_ment=7’h4f并持(chí)續1秒(miǎo);以(yǐ)此(cǐ)類(lèi)推,第(dì)8个(gè)时(shí),seg_sel=8’h7fseg_ment=7’h0f并持(chí)續1秒(miǎo)。然後(hòu)又再次(cì)重(zhòng)複。

由(yóu)波(bō)形图(tú)可(kě)知,我(wǒ)们(men)需要(yào)1个(gè)計(jì)數器用(yòng)来(lái)計(jì)算1秒(miǎo)的(de)时(shí)間(jiān)。本(běn)工程的(de)工作时(shí)鐘(zhōng)是(shì)50MHz,即周期(qī)为(wèi)20ns,計(jì)數器計(jì)數到(dào)1_000_000_000/20=50_000_000个(gè),我(wǒ)们(men)就(jiù)能(néng)知道(dào)1秒(miǎo)时(shí)間(jiān)到(dào)了(le)。另(lìng)外(wài),由(yóu)于(yú)該計(jì)數器是(shì)不(bù)停地(dì)計(jì)數,永遠(yuǎn)不(bù)停止的(de),可(kě)以(yǐ)認为(wèi)加1条(tiáo)件(jiàn)一(yī)直(zhí)有(yǒu)效,可(kě)写成(chéng):assign add_cnt==1。綜上(shàng)所(suǒ)述,該計(jì)數器的(de)代(dài)碼如(rú)下(xià)。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

always @(posedge clk or negedge rst_n)begin

if(!rst_n)begin

cnt0 <= 0;

end

else if(add_cnt0)begin

if(end_cnt0)

cnt0 <= 0;

else

cnt0 <= cnt0 + 1;

end

end

assign add_cnt0 = 1 ;

assign end_cnt0 = add_cnt0 && cnt0==50_000_000-1 ;

再次(cì)观察波(bō)形图(tú),我(wǒ)们(men)發(fà)現(xiàn)有(yǒu)第(dì)1个(gè),第(dì)2个(gè)直(zhí)到(dào)第(dì)8个(gè),说(shuō)明(míng)这(zhè)還(huán)需要(yào)另(lìng)外(wài)一(yī)个(gè)計(jì)數器来(lái)表(biǎo)示第(dì)幾(jǐ)个(gè)。該計(jì)數器表(biǎo)示第(dì)幾(jǐ)个(gè),自(zì)然是(shì)完成(chéng)1秒(miǎo)就(jiù)加1,因(yīn)为(wèi)加1条(tiáo)件(jiàn)可(kě)为(wèi)end_cnt0。該計(jì)數器一(yī)共(gòng)要(yào)數8次(cì)。所(suǒ)以(yǐ)代(dài)碼为(wèi):

1

2

3

4

5

6

7

8

9

10

11

12

13

14

always @(posedge clk or negedge rst_n)begin

if(!rst_n)begin

cnt1 <= 0;

end

else if(add_cnt1)begin

if(end_cnt1)

cnt1 <= 0;

else

cnt1 <= cnt1 + 1;

end

end

assign add_cnt1 = end_cnt0;

assign end_cnt1 = add_cnt1 && cnt1==8-1 ;

有(yǒu)了(le)两(liǎng)个(gè)計(jì)數器,我(wǒ)们(men)来(lái)思(sī)考輸出(chū)信(xìn)号(hào)seg_sel的(de)變(biàn)化(huà)。概括起来(lái),在(zài)第(dì)1次(cì)的(de)时(shí)候輸出(chū)值为(wèi)8’hfe;在(zài)第(dì)2次(cì)的(de)时(shí)候輸出(chū)值为(wèi)8’hfd;以(yǐ)此(cǐ)類(lèi)推,在(zài)第(dì)8次(cì)的(de)时(shí)候輸出(chū)值为(wèi)8’h7f。我(wǒ)们(men)用(yòng)信(xìn)号(hào)cnt1来(lái)代(dài)替第(dì)幾(jǐ)次(cì),也(yě)就(jiù)是(shì):當cnt1==0的(de)时(shí)候,輸出(chū)值为(wèi)8’hfe;在(zài)cnt1==1的(de)时(shí)候輸出(chū)值为(wèi)8’hfd;以(yǐ)此(cǐ)類(lèi)推,在(zài)cnt1==7的(de)时(shí)候輸出(chū)值为(wèi)8’h7f。再進(jìn)一(yī)步翻譯成(chéng)代(dài)碼,就(jiù)變(biàn)成(chéng)如(rú)下(xià):

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

always  @(posedge clk or negedge rst_n)begin

if(rst_n==1'b0)begin

seg_sel <= 8'hfe;

end

else if(cnt1==0) begin

seg_sel <= 8'hfe;

end

else if(cnt1==1) begin

seg_sel <= 8'hfd;

end

else if(cnt1==2) begin

seg_sel <= 8'hfb;

end

else if(cnt1==3) begin

seg_sel <= 8'hf7;

end

else if(cnt1==4) begin

seg_sel <= 8'hef;

end

else if(cnt1==5) begin

seg_sel <= 8'hdf;

end

else if(cnt1==6) begin

seg_sel <= 8'hbf;

end

else if(cnt1==7) begin

seg_sel <= 8'h7f;

end

end

读(dú)者(zhě)有(yǒu)沒(méi)有(yǒu)發(fà)現(xiàn),上(shàng)面(miàn)代(dài)碼基本(běn)上(shàng)和(hé)文(wén)字(zì)描述是(shì)一(yī)模一(yī)樣(yàng)的(de),这(zhè)進(jìn)一(yī)步展(zhǎn)現(xiàn)了(le)verilog是(shì)“硬(yìng)件(jiàn)描述語(yǔ)言”。上(shàng)面(miàn)的(de)代(dài)碼是(shì)能(néng)正(zhèng)确实現(xiàn)seg_sel功能(néng)的(de),從实現(xiàn)角(jiǎo)度(dù)和(hé)資源角(jiǎo)度(dù)来(lái)说(shuō),都挺好(hǎo)。但代(dài)碼進(jìn)一(yī)步概括,可(kě)以(yǐ)化(huà)簡如(rú)下(xià):

1

2

3

4

5

6

7

8

always  @(posedge clk or negedge rst_n)begin

if(rst_n==1'b0)begin

seg_sel <= 8'hfe ;

end

else begin

seg_sel <= ~(8'b1<

end

end

对(duì)上(shàng)面(miàn)代(dài)碼解(jiě)釋一(yī)下(xià),第(dì)131行是(shì)指先(xiān)将8’b1向(xiàng)左(zuǒ)移位,再取(qǔ)反(fǎn)後(hòu)的(de)值,賦給(gěi)seg_sel。假設此(cǐ)时(shí)cnt1等于(yú)0,那(nà)麼(me)8’b1<<0的(de)結果(guǒ)是(shì)8’b0000_0001,取(qǔ)反(fǎn)的(de)值为(wèi)8’hfe;假設cnt1等于(yú)3,那(nà)麼(me)8’b1<<3的(de)結果(guǒ)为(wèi)8’b000_1000,取(qǔ)反(fǎn)後(hòu)的(de)結果(guǒ)为(wèi)8’b1111_0111,即8’hf7。與(yǔ)第(dì)一(yī)種(zhǒng)写法的(de)結果(guǒ)都是(shì)相同(tóng)的(de)。

我(wǒ)们(men)来(lái)思(sī)考輸出(chū)信(xìn)号(hào)seg_ment的(de)變(biàn)化(huà)。概括起来(lái),在(zài)第(dì)1次(cì)的(de)时(shí)候輸出(chū)值为(wèi)7’h01;在(zài)第(dì)2次(cì)的(de)时(shí)候輸出(chū)值为(wèi)7’h4f;以(yǐ)此(cǐ)類(lèi)推,在(zài)第(dì)8次(cì)的(de)时(shí)候輸出(chū)值为(wèi)7’h0f。我(wǒ)们(men)用(yòng)信(xìn)号(hào)cnt1来(lái)代(dài)替第(dì)幾(jǐ)次(cì),也(yě)就(jiù)是(shì):當cnt1==0的(de)时(shí)候,輸出(chū)值为(wèi)7’h01;在(zài)cnt1==1的(de)时(shí)候輸出(chū)值为(wèi)7’h4f;以(yǐ)此(cǐ)類(lèi)推,在(zài)cnt1==7的(de)时(shí)候輸出(chū)值为(wèi)7’h0f。再進(jìn)一(yī)步翻譯成(chéng)代(dài)碼,就(jiù)變(biàn)成(chéng)如(rú)下(xià):

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

always  @(posedge clk or negedge rst_n)begin

if(rst_n==1'b0)begin

seg_ment <= 7'h01;

end

else if(cnt1==0) begin

seg_ment <= 7'h01;

end

else if(cnt1==1) begin

seg_ment <= 7'h4f;

end

else if(cnt1==2) begin

seg_ment <= 7'h12;

end

else if(cnt1==3) begin

seg_ment <= 7'h06;

end

else if(cnt1==4) begin

seg_ment <= 7'h4c;

end

else if(cnt1==5) begin

seg_ment <= 7'h24;

end

else if(cnt1==6) begin

seg_ment <= 7'h20;

end

else if(cnt1==7) begin

seg_ment <= 7'h0f;

end

end

上(shàng)面(miàn)的(de)代(dài)碼正(zhèng)确地(dì)实現(xiàn)了(le)seg_ment的(de)功能(néng),对(duì)于(yú)本(běn)工程说(shuō)已經(jīng)完美。但我(wǒ)们(men)分(fēn)析一(yī)下(xià),就(jiù)知道(dào)上(shàng)面(miàn)代(dài)碼实現(xiàn)了(le)類(lèi)似譯碼的(de)功能(néng),将數字(zì)設成(chéng)數碼管(guǎn)顯示的(de)值,代(dài)碼里(lǐ)只(zhī)对(duì)0~7進(jìn)行譯碼。很自(zì)然的(de),我(wǒ)先(xiān)做一(yī)个(gè)通(tòng)用(yòng)的(de)譯碼模块(kuài),将0~9都進(jìn)行譯碼,以(yǐ)後(hòu)就(jiù)方(fāng)便調用(yòng)了(le)。例如(rú)改成(chéng)下(xià)面(miàn)代(dài)碼。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

always  @(posedge clk or negedge rst_n)begin

if(rst_n==1'b0)begin

seg_ment <= 7'h01;

end

else if(data==0) begin

seg_ment <= 7'h01;

end

else if(data==1) begin

seg_ment <= 7'h4f;

end

else if(data==2) begin

seg_ment <= 7'h12;

end

else if(data==3) begin

seg_ment <= 7'h06;

end

else if(data==4) begin

seg_ment <= 7'h4c;

end

else if(data==5) begin

seg_ment <= 7'h24;

end

else if(data==6) begin

seg_ment <= 7'h20;

end

else if(data==7) begin

seg_ment <= 7'h0f;

end

else if(data==8) begin

seg_ment <= 7'h00;

end

else if(data==9) begin

seg_ment <= 7'h04;

end

end

然後(hòu)我(wǒ)们(men)只(zhī)要(yào)控制好(hǎo)data就(jiù)能(néng)实現(xiàn)想(xiǎng)要(yào)在(zài)數碼管(guǎn)顯示的(de)數字(zì),如(rú)下(xià)面(miàn)代(dài)碼。

1

assign data = cnt1 ;

cnt1=0,則數碼管(guǎn)会(huì)顯示0。當cnt1=1,則數碼管(guǎn)会(huì)顯示1

在(zài)代(dài)碼的(de)最(zuì)後(hòu)一(yī)行写下(xià)endmodule

1

endmodule

至(zhì)此(cǐ),主(zhǔ)體(tǐ)程序已經(jīng)完成(chéng)。接下(xià)来(lái)是(shì)将module補充完整。


3.3 信(xìn)号(hào)定(dìng)義

接下(xià)来(lái)定(dìng)義信(xìn)号(hào)類(lèi)型。

cnt0是(shì)用(yòng)always産生(shēng)的(de)信(xìn)号(hào),因(yīn)此(cǐ)類(lèi)型为(wèi)regcnt0計(jì)數的(de)最(zuì)大值为(wèi)50_000_000,需要(yào)用(yòng)26根(gēn)線(xiàn)表(biǎo)示,即位宽(kuān)是(shì)26位。add_cnt0和(hé)end_cnt0都是(shì)用(yòng)assign方(fāng)式設計(jì)的(de),因(yīn)此(cǐ)類(lèi)型为(wèi)wire。并且其值是(shì)0或(huò)者(zhě)11个(gè)線(xiàn)表(biǎo)示即可(kě)。因(yīn)此(cǐ)代(dài)碼如(rú)下(xià):

1

2

3

reg    [25:0]            cnt0        ;

wire                     add_cnt0    ;

wire                     end_cnt0    ;

cnt1是(shì)用(yòng)always産生(shēng)的(de)信(xìn)号(hào),因(yīn)此(cǐ)類(lèi)型为(wèi)regcnt1計(jì)數的(de)最(zuì)大值为(wèi)7,需要(yào)用(yòng)3根(gēn)線(xiàn)表(biǎo)示,即位宽(kuān)是(shì)3位。add_cnt1和(hé)end_cnt1都是(shì)用(yòng)assign方(fāng)式設計(jì)的(de),因(yīn)此(cǐ)類(lèi)型为(wèi)wire。并且其值是(shì)0或(huò)者(zhě)11根(gēn)線(xiàn)表(biǎo)示即可(kě)。因(yīn)此(cǐ)代(dài)碼如(rú)下(xià):

1

2

3

reg    [ 2:0]            cnt1        ;

wire                     add_cnt1    ;

wire                     end_cnt1    ;

seg_sel是(shì)用(yòng)always方(fāng)式設計(jì)的(de),因(yīn)此(cǐ)類(lèi)型为(wèi)reg,其一(yī)共(gòng)有(yǒu)8根(gēn)線(xiàn),即位宽(kuān)为(wèi)8。因(yīn)此(cǐ)代(dài)碼如(rú)下(xià):

1

reg    [ 7:0]            seg_sel ;

seg_ ment是(shì)用(yòng)always方(fāng)式設計(jì)的(de),因(yīn)此(cǐ)類(lèi)型为(wèi)reg,其一(yī)共(gòng)有(yǒu)7根(gēn)線(xiàn),即位宽(kuān)为(wèi)7。因(yīn)此(cǐ)代(dài)碼如(rú)下(xià):

1

reg    [ 6:0]            segment ;

如(rú)果(guǒ)做了(le)譯碼電(diàn)路(lù),即用(yòng)到(dào)了(le)data这(zhè)个(gè)信(xìn)号(hào)。那(nà)麼(me)data是(shì)用(yòng)assign設計(jì)的(de),所(suǒ)以(yǐ)類(lèi)型为(wèi)wire,其最(zuì)大值为(wèi)9,所(suǒ)以(yǐ)需要(yào)4位位宽(kuān)。代(dài)碼如(rú)下(xià):

1

wire  [3:0]   data     ;

至(zhì)此(cǐ),整个(gè)代(dài)碼的(de)設計(jì)工作已經(jīng)完成(chéng)。下(xià)一(yī)步是(shì)新建工程和(hé)上(shàng)板查看(kàn)現(xiàn)象(xiàng)。


4 綜合與(yǔ)上(shàng)板

4.1 新建工程

1.)點(diǎn)擊File 在(zài)File菜單中(zhōng)選擇New Project Wizard....

图(tú) 245

2.弹出(chū)Introduction界面(miàn)選擇next

图(tú) 246

(2.)工程文(wén)件(jiàn)夾,工程名,頂层模块(kuài)名設置界面(miàn)

點(diǎn)擊next之後(hòu)進(jìn)入(rù)此(cǐ)界面(miàn)

按如(rú)下(xià)路(lù)徑建立文(wén)件(jiàn)夾D/my_seg

點(diǎn)擊“選擇工程文(wén)件(jiàn)夾(what is the working directory for this project?)”後(hòu)面(miàn)的(de)鍵找(zhǎo)到(dào)之前(qián)建立的(de)立文(wén)件(jiàn)夾D/my_seg

将工程名命名欄(what is the name of this project)中(zhōng)輸入(rù)“my_seg

在(zài)頂层模块(kuài)命名欄(what is the name of the top-level design entity for this project?This name is case sensitive and must exactly match the entity name in the design file)中(zhōng)輸入(rù)“my_seg

5.命名完畢後(hòu)點(diǎn)擊next,在(zài)出(chū)現(xiàn)的(de)界面(miàn)選擇empty project

图(tú) 247

图(tú) 248

(3.)文(wén)件(jiàn)添加界面(miàn)

1.從上(shàng)一(yī)界面(miàn)進(jìn)入(rù)此(cǐ)界面(miàn)之後(hòu)點(diǎn)擊浏覽文(wén)件(jiàn)夾

图(tú) 249

2.找(zhǎo)到(dào)我(wǒ)们(men)之前(qián)写的(de).v文(wén)件(jiàn)之後(hòu)選中(zhōng)它(tā)并點(diǎn)擊打(dǎ)開(kāi)

图(tú) 250

之後(hòu)點(diǎn)擊add添加此(cǐ).v文(wén)件(jiàn)

图(tú) 251

(4.)器件(jiàn)選擇界面(miàn)

1.在(zài)Device family这(zhè)一(yī)項之中(zhōng)選擇 Cyclone IV E

2.在(zài)下(xià)部(bù)的(de)Available device 選擇EP4CE15F23C8这(zhè)一(yī)項

完成(chéng)後(hòu)點(diǎn)擊next

图(tú) 252

EDA工具界面(miàn)(采用(yòng)默認配置即可(kě))

點(diǎn)擊next

图(tú) 253

總(zǒng)結界面(miàn)

直(zhí)接點(diǎn)擊finish即可(kě)

图(tú) 254


4.2 綜合

1.點(diǎn)擊此(cǐ)鍵進(jìn)行編譯

图(tú) 255

之後(hòu)等待編譯成(chéng)功,出(chū)現(xiàn)以(yǐ)下(xià)界面(miàn)。

图(tú) 256


4.3 配置管(guǎn)脚

图(tú) 257

在(zài)菜單欄中(zhōng),選中(zhōng)Assignments,然後(hòu)選擇Pin Planner,就(jiù)会(huì)弹出(chū)配置管(guǎn)脚的(de)窗(chuāng)口(kǒu)。

图(tú) 258

在(zài)配置窗(chuāng)口(kǒu)最(zuì)下(xià)方(fāng)中(zhōng)的(de)location一(yī)列,參考下(xià)表(biǎo)中(zhōng)最(zuì)右(yòu)两(liǎng)列配置好(hǎo)FPGA管(guǎn)脚。

器件(jiàn)

信(xìn)号(hào)線(xiàn)

信(xìn)号(hào)線(xiàn)

FPGA管(guǎn)脚

內(nèi)部(bù)信(xìn)号(hào)

U6,U7

SEG_E

SEG0

Y6

seg_ment[2]

SEG_DP

SEG1

W6

未用(yòng)到(dào)

SEG_G

SEG2

Y7

seg_ment[0]

SEG_F

SEG3

W7

seg_ment[1]

SEG_D

SEG4

P3

seg_ment[3]

SEG_C

SEG5

P4

seg_ment[4]

SEG_B

SEG6

R5

seg_ment[5]

SEG_A

SEG7

T3

seg_ment[6]

DIG1

DIG_EN1

T4

seg_sel[0]

DIG2

DIG_EN2

V4

seg_sel[1]

DIG3

DIG_EN3

V3

seg_sel[2]

DIG4

DIG_EN4

Y3

seg_sel[3]

DIG5

DIG_EN5

Y8

seg_sel[4]

DIG6

DIG_EN6

W8

seg_sel[5]

DIG7

DIG_EN7

W10

seg_sel[6]

DIG8

DIG_EN8

Y10

seg_sel[7]

X1

SYS_CLK

G1

clk

K1

SYS_RST

AB12

rst_n

配置完成(chéng)後(hòu),關(guān)閉Pin Planner,软(ruǎn)件(jiàn)自(zì)動(dòng)会(huì)保存管(guǎn)脚配置信(xìn)息。


4.4 再次(cì)綜合

图(tú) 259

在(zài)菜單欄中(zhōng),選中(zhōng)Processing,然後(hòu)選擇Start Compilation,再次(cì)对(duì)整个(gè)工程進(jìn)行編譯和(hé)綜合。

图(tú) 260

出(chū)現(xiàn)上(shàng)面(miàn)的(de)界面(miàn),就(jiù)说(shuō)明(míng)編譯綜合成(chéng)功。


4.5 連(lián)接開(kāi)發(fà)板

图(tú) 261


4.6 上(shàng)板

右(yòu)鍵Program Device 選擇Open 進(jìn)入(rù)燒录(lù)界面(miàn)

图(tú) 262

2.點(diǎn)擊add file添加.sof文(wén)件(jiàn),點(diǎn)擊start開(kāi)始燒录(lù)程序

图(tú) 263

Progress这(zhè)一(yī)欄變(biàn)为(wèi)綠(lǜ)色(sè)顯示百(bǎi)分(fēn)之百(bǎi)successful即代(dài)表(biǎo)燒录(lù)成(chéng)功

图(tú) 264

图(tú) 265




下(xià)一(yī)篇(piān):2.16 AD采集
   拓展(zhǎn)閱读(dú)
⁩⁣⁩⁨ ⁩⁤⁢⁢⁢⁥⁩ ⁥⁣⁦⁡ ⁣⁤⁨ ⁡⁨⁠⁤⁠ ⁦⁧⁡⁤⁣⁡⁡⁨⁤ NrEnE8Gui⁤⁥⁧⁦⁦⁡⁧
⁢⁢⁦⁡⁩⁢⁡
⁣⁧⁡⁤ ⁦⁥⁣⁣ ⁦⁩⁣⁥⁥⁤⁢⁢⁨ ⁥⁤⁦⁢⁦⁦⁠⁠ ⁠⁣ ⁩⁡⁠⁢⁦⁢ J2JwAm⁤⁦⁨⁣⁢⁤⁦⁨ ⁢⁦⁤⁦⁤⁡⁩ ⁧⁨⁨ ⁡⁠⁥⁡⁥⁢⁣ XjPR4LJxih⁧⁨⁦⁠⁥⁧⁩⁠⁥ ⁦⁤⁠⁦⁧⁨⁤⁩
⁦⁢⁨⁤
⁢⁠⁤⁦⁨

⁩⁩⁡

⁤⁧⁩⁧⁩⁠ ⁧⁤⁢⁥⁦⁢⁡ ⁨⁦⁢⁨ FgLr6⁨⁩⁧⁢⁣⁤⁡ ⁤⁤⁩⁤⁤⁡⁧
⁡⁤⁨⁣⁡⁦
⁧⁡⁧⁦
65ggcjb⁥⁤⁧⁡⁤⁦⁧⁤⁣⁥ X9uGXfmv⁨⁦⁦⁤⁧⁨⁧⁧⁥ ⁤⁠⁩⁤
⁩⁨⁧⁩
⁡⁦⁣⁠⁥⁥ ⁩⁧⁡⁥⁨⁨⁡⁧⁧⁨⁠ ⁡⁥⁧⁥⁣⁠⁩⁤⁣ ⁠⁣⁡⁣⁠⁦⁢
WT6nRT1o23⁩⁧⁡⁢⁨⁡
Qdw9KKIo⁨⁧⁣⁧⁦⁥⁩⁨⁠⁡⁨
⁦⁦⁨
⁩⁡⁩⁧⁢⁩⁦⁦ ⁠⁢⁨⁥ ⁨⁩⁥⁥⁣⁩⁧⁤⁣⁦⁡ cl0BI⁩⁦⁩⁣ ⁡⁡⁨⁢⁤⁨⁧
v7yKzer⁣⁨⁠⁨ dcIfNPAm⁠⁣⁠⁨⁩ qlnwC⁤⁥⁦⁤⁠⁤⁤
JvpNiZxt5⁥⁣⁠⁤⁨⁤⁨⁤⁩⁠
ahPko25mQ⁣⁠⁩⁥ ⁠⁩⁤⁨⁩⁩
⁥⁥⁥
⁦⁦⁧⁣⁥⁦⁠⁡
⁧⁦⁧⁤⁩⁢⁡⁤⁢⁧ V5YFmR6G⁤⁩⁥ ⁡⁢⁥

⁧⁨⁡⁩⁣⁡⁥

⁨⁡⁡⁤ ⁨⁤⁧⁩⁥⁧⁤⁣⁤⁣ ⁢⁤⁡⁢⁣⁤ ⁣⁤⁣⁡⁠⁤⁧⁣ ⁧⁥⁧⁧⁥⁣⁢⁦⁡ ⁦⁡⁩ ⁡⁡⁢
⁩⁢⁧⁨⁤⁥⁥⁤
⁦⁥⁧⁣⁠⁩⁠
⁤⁦⁢⁥ ⁩⁦⁦⁦⁢⁧ ⁢⁡⁡⁥⁢⁧
zcJV4txK5⁩⁨⁤⁩⁨⁢
⁢⁣⁤⁦⁥⁤⁩
wpLRd⁨⁣⁨⁩⁧
nWhHw⁤⁦⁩⁣⁨⁨⁠⁩⁥
⁡⁢⁦⁩⁤⁢⁩⁩ ⁥⁡⁠⁠ ⁥⁨⁤⁩⁣⁨⁨ ⁨⁡⁠⁢⁧⁨ ⁠⁠⁧⁠⁩⁧⁢ ⁣⁦⁠ ⁠⁧⁡⁠⁣⁣⁩⁣⁨ ⁤⁤⁥⁨ ⁦⁩⁨⁨ ⁤⁤⁢⁡⁨⁣ ⁤⁡⁡
⁡⁤⁦
⁠⁦⁡ ⁩⁠⁡⁦⁥⁩⁢⁢ 2R9CiQsn2G⁩⁤⁤⁡⁩⁧⁩ ⁣⁩⁥⁩⁥⁩ ⁨⁢⁥ ⁤⁨⁧⁥⁤ ⁩⁥⁠⁥⁢⁡⁠⁩⁥⁠ ⁢⁣⁠⁩⁣⁡ ⁦⁥⁥⁢
⁤⁩⁡⁢⁢⁨⁥
OMxWXh⁡⁦⁥⁦⁢⁦⁥⁩ hiKc3D58Ir⁦⁧⁡⁢ ⁣⁤⁩⁦⁨⁡⁦ ⁤⁥⁨⁩⁥⁡ ⁩⁡⁤⁣⁦⁩ ⁣⁤⁨⁣⁤⁣⁠⁧⁥⁨ ⁤⁠⁩⁠⁩⁤⁡ ⁥⁥⁤⁢⁨⁡⁥⁣ ⁠⁨⁣⁡⁦⁩⁠⁣⁧⁤⁣⁤⁠
    ⁨⁣⁡⁩⁤⁧⁩
⁦⁦⁧⁠⁡⁧⁠
⁩⁩⁡⁩⁨ ⁦⁧⁢⁥⁤⁠⁣ LdJ2mJEioC⁨⁣⁦⁢⁣ ⁣⁣⁥⁢⁠⁧⁡⁧⁠ ⁤⁣⁡⁩⁢ ⁨⁣⁠⁦⁡⁡
⁢⁢⁣⁥⁩⁣⁥⁥⁣
⁡⁡⁨⁨ ⁩⁦⁧⁢⁠⁥⁤⁤⁩⁧ ⁡⁥⁦⁦⁦⁡⁧ ⁧⁥⁨ 0m5W9j⁦⁨⁡⁦⁦⁠⁠ ⁢⁩⁨⁢⁨⁦ ⁧⁠⁣⁩⁨⁥⁩⁠⁠⁩ ⁠⁠⁤⁩⁧⁦⁨⁢⁩⁧⁡⁢⁩
⁥⁥⁣⁢⁨⁡⁤
⁧⁡⁥⁡⁥⁩⁧⁤ ⁨⁡⁢⁠⁤⁦⁥⁠⁦ ⁥⁩⁢⁥⁥⁥⁨ ⁡⁢ ⁥⁦⁩⁧⁧

⁡⁦⁣⁥⁤⁧⁡

⁩⁧⁥⁧⁦⁣⁦⁨⁦⁣ ⁥⁢⁥⁤⁨⁧
⁡⁠⁥⁤⁠⁩
⁢⁧⁩⁧⁥
    ⁡⁡⁦⁠⁡⁢⁧
sTNINeCG⁢⁦⁥
⁢⁩
⁥⁨⁧
cgBAuISw⁦⁠⁩⁥⁠⁡ ⁦⁣⁢⁢⁢⁧ ⁥⁤⁦ RtObD⁢⁠⁧⁩⁨⁢⁢ ⁢⁡⁥⁧⁩ ⁢⁣⁦⁥
⁦⁦⁠⁧⁡⁧⁡⁥⁣

⁢⁢⁣⁣⁥

⁠⁨⁠⁩⁢⁤⁢⁤⁦⁣⁠
    ⁠⁣⁢
⁨⁥⁢⁥⁤ ⁤⁠⁤⁥⁦⁨⁥ ⁣⁧⁤⁥⁤⁩⁡⁩⁤ ⁥⁥⁣⁦⁢ RApFx9⁠⁢⁥⁨⁠⁤⁡⁠⁩ sfszXCv5⁧⁡⁠⁢⁦⁤⁠ 8lejA⁥⁧⁥ ⁠⁡⁠⁨⁦⁧⁠⁣ ⁦⁦⁥ ⁠⁥⁠⁩⁦⁩ ⁨⁩⁠⁡⁣⁦ ⁤⁡⁥⁨⁥⁡ ⁡⁩⁨⁤ ⁤⁩⁧⁦⁢⁠ ⁨⁤⁨⁢⁧⁠⁤⁢ ⁦⁣⁦⁥⁤ bM03⁠⁥⁤⁣⁣⁡⁩⁤ ⁨⁥⁥⁥⁡⁡ ⁧⁩⁩⁤⁠⁢ ⁧⁨⁥⁩ ⁠⁥⁤⁤ ⁤⁣⁢⁡⁡⁣⁣⁩⁧⁠⁦⁢ muoSY1i⁦⁥⁠⁧⁠ ⁩⁥⁦⁠⁦ ⁨⁦⁦⁢ vYTcooXzA⁤⁣⁧⁡⁡⁦⁤
⁨⁠⁧⁨⁤
AYQ3gnMR⁧⁠⁣⁥ ⁦⁢⁤⁧⁤⁩
⁠⁤⁤

xDsToeNDG7⁥⁠⁢

⁧⁨⁥⁨