色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于PLD與AVR總線通信接口VHDL設(shè)計(jì)與實(shí)現(xiàn)

          基于PLD與AVR總線通信接口VHDL設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2012-04-09 來源:網(wǎng)絡(luò) 收藏

          1、引言

          嵌入式系統(tǒng)在日常生活中的大量使用,人們也對(duì)其性能和速度提出了更高的要求。微控制器和可編程邏輯器件的結(jié)合,更能充分發(fā)揮嵌入式系統(tǒng)的優(yōu)勢(shì)。本文設(shè)計(jì)和實(shí)現(xiàn)的微控制器與可編程邏輯器件之間總線讀寫方式通信比傳統(tǒng)的串行通信更可靠、速度更快。下面是一些相關(guān)術(shù)語的說明。

          總線:任何一個(gè)微處理器都要與一定數(shù)量的部件和外圍設(shè)備連接,但如果將各部件和每一種外圍設(shè)備都分別用一組線路與CPU直接連接,那么連線將會(huì)錯(cuò)綜復(fù)雜,甚至難以實(shí)現(xiàn)。為了簡化硬件電路設(shè)計(jì)、簡化系統(tǒng)結(jié)構(gòu),常用一組線路,配置以適當(dāng)?shù)慕涌陔娐罚c各部件和外圍設(shè)備連接,這組共用的連接線路被稱為總線[2]。采用總線結(jié)構(gòu)便于部件和設(shè)備的擴(kuò)充,尤其制定了統(tǒng)一的總線標(biāo)準(zhǔn)則容易使不同設(shè)備間實(shí)現(xiàn)互連。

          :ATMEL公司的單片機(jī),是增強(qiáng)型RISC內(nèi)載FLASH的單片機(jī),芯片上的FLASH存儲(chǔ)器附在用戶的產(chǎn)品中,可隨時(shí)編程,再編程,使用戶的產(chǎn)品設(shè)計(jì)容易,更新?lián)Q代方便。單片機(jī)采用增強(qiáng)的RISC結(jié)構(gòu) ,使其具有高速處理能力,在一個(gè)時(shí)鐘周期內(nèi)可執(zhí)行復(fù)雜的指令。本系統(tǒng)采用的AVR Mega64L還具有:用32個(gè)通用工作寄存器代替累加器,從而可以避免傳統(tǒng)的累加器和存儲(chǔ)器之間的數(shù)據(jù)傳送造成的瓶頸現(xiàn)象;一個(gè)時(shí)鐘周期執(zhí)行一條指令;可直接訪問8M字節(jié)程序存儲(chǔ)器和8M字節(jié)數(shù)據(jù)存儲(chǔ)器寄存器等特點(diǎn)[3]。

          (Programmable Logic Device):分為C(Complex Programmable Logic Device)復(fù)雜的可編程邏輯器件和FPGA(Field Programmable Gate Array)現(xiàn)場(chǎng)可編程門陣列兩大類[2、3]。

          兩者的功能基本相同,只是實(shí)現(xiàn)原理略有不同,所以我們有時(shí)可以忽略這兩者的區(qū)別,統(tǒng)稱為可編程邏輯器件或CPLD/FPGA。PLD是一種具有豐富的可編程I/O引腳的可編程邏輯器件,具有在系統(tǒng)可編程、使用方便靈活的特點(diǎn);不但可實(shí)現(xiàn)常規(guī)的邏輯器件功能,還可實(shí)現(xiàn)復(fù)雜的時(shí)序邏輯功能。把PLD應(yīng)用于嵌入式應(yīng)用系統(tǒng),同單片機(jī)結(jié)合起來更能體現(xiàn)其在系統(tǒng)可編程、使用方便靈活的特點(diǎn)。PLD同單片機(jī)接口,可以作為單片機(jī)的一個(gè)外設(shè),實(shí)現(xiàn)單片機(jī)所要求的功能。實(shí)現(xiàn)了嵌入式應(yīng)用系統(tǒng)的靈活性,可以大大縮短設(shè)計(jì)時(shí)間,減少PCB面積,也提高了嵌入式應(yīng)用系統(tǒng)的性能。

          VHLD:的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,一種被IEEE和美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言。主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口。的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱可視部分)和內(nèi)部(或稱不可視部分),涉及實(shí)體的內(nèi)部功能和算法完成部分[4,5]。在對(duì)一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。

          2、PLD同單片機(jī)接口設(shè)計(jì)

          系統(tǒng)中采用的MAX II EPM570 芯片有邏輯單元數(shù)(LE)570個(gè),等效典型宏單元數(shù)440個(gè),最大用戶I/O管腳數(shù)160個(gè),用戶FLASH存儲(chǔ)器比特?cái)?shù)8192,tPD1 角對(duì)角性能5.5 ns,tPD2最快性能3.7 ns。采用100-pin TQFP封裝。

          EPM570同單片機(jī)接口原理如圖1所示。

          圖1 ATmega64L與EPM570接口示意圖

          EPM570同單片機(jī)接口設(shè)計(jì)中,單片機(jī)采用Atmel公司的AVR系列的ATmega64L。ATmega64L通過ALE、CS、RD、WE、P0口(數(shù)據(jù)地址復(fù)用)同EPM570芯片相連接。ALE:地址鎖存信號(hào);CS:片選信號(hào);RD:讀信號(hào);WR:寫信號(hào);AD0~AD7:數(shù)據(jù)地址信號(hào)復(fù)用數(shù)據(jù)線。

          本系統(tǒng)的設(shè)計(jì)思想是:在EPM570設(shè)置兩個(gè)內(nèi)部控制寄存器,通過單片機(jī)對(duì)兩個(gè)控制寄存器的讀寫來完成對(duì)其它通信過程的控制。EPM570設(shè)置的兩個(gè)控制寄存器,可以作內(nèi)部寄存器,也可以直接映射為I/O口,根據(jù)實(shí)際需要而進(jìn)行設(shè)置。

          本系統(tǒng)設(shè)計(jì)的關(guān)鍵是:在EMP570 上實(shí)現(xiàn)的存儲(chǔ)器的讀寫時(shí)序要滿足ATmega64L對(duì)外部讀寫時(shí)序的需要,有關(guān)ATmega64L對(duì)外部讀寫時(shí)序請(qǐng)參考相關(guān)資料和ATmega64L的數(shù)據(jù)手冊(cè)。

          3、PLD同單片機(jī)AVR讀寫接口VHDL實(shí)現(xiàn)

          PLD的設(shè)計(jì)流程[6,7]一般應(yīng)包括以下幾部分:

          ① 設(shè)計(jì)輸入??梢圆捎迷韴D輸入、DHL語言描述、EDIF網(wǎng)表讀入或波形輸入等方式。

          ② 功能仿真。此時(shí)為零延時(shí)模式,主要檢驗(yàn)輸入是否有誤。

          ③ 編譯。主要完成器件的選取及適配,邏輯的綜合及器件的裝入,延時(shí)信息的提取。

          ④ 后仿真。將編譯產(chǎn)生的延時(shí)信息加入到設(shè)計(jì)中,進(jìn)行布局布線后的仿真,是與實(shí)際器件工作時(shí)的情況基本相同的仿真。

          ⑤ 編程驗(yàn)證。有后仿真確認(rèn)的配置文件下載到PLD相關(guān)配置器件中,加入實(shí)際激勵(lì),進(jìn)行測(cè)試,以檢查是否完成預(yù)定功能。

          以上各步驟若出現(xiàn)錯(cuò)誤現(xiàn)象,則需要重新回到設(shè)計(jì)階段,修正錯(cuò)誤輸入或調(diào)整電路,在重復(fù)上述過程直到其完全滿足電子系統(tǒng)需要。

          本系統(tǒng)中,使用Altera公司提供的集成開發(fā)軟件Quartus II 6.0 進(jìn)行設(shè)計(jì),在進(jìn)行模塊實(shí)現(xiàn)時(shí)請(qǐng)參考ATmega64L的數(shù)據(jù)手冊(cè)中關(guān)于ATmega64L對(duì)外部存儲(chǔ)器的讀寫時(shí)序。

          本設(shè)計(jì)實(shí)現(xiàn) 的VHDL部分源碼如下:

          地址鎖存:

          寫數(shù)據(jù)進(jìn)程:

          讀數(shù)據(jù)進(jìn)程:


          上一頁 1 2 下一頁

          關(guān)鍵詞: PLD AVR 總線通信 VHDL

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉