亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA的三態(tài)總線設(shè)計(jì)

        2014-10-21 11:36:46韓躍強(qiáng)
        關(guān)鍵詞:三態(tài)雙向端口

        韓躍強(qiáng)

        摘要:本文對(duì)MCU與FPGA組成系統(tǒng)的結(jié)構(gòu)進(jìn)行了分析,并以ALTERAFPGA的結(jié)構(gòu)為基礎(chǔ),進(jìn)行了總線互連的設(shè)計(jì)。

        關(guān)鍵詞:可編程邏輯器件三態(tài)總線FPGA

        引言

        近年來(lái),隨著可編程邏輯器件的迅速發(fā)展,越來(lái)越多的系統(tǒng)設(shè)計(jì)開(kāi)始采用這種半定制的ASIC(專(zhuān)用集成電路)。PLD(可編程邏輯器件)及整套EDA(電子設(shè)計(jì)自動(dòng)化)工具的使用,為開(kāi)發(fā)人員提供了自上而下設(shè)計(jì)系統(tǒng)的途徑。這種系統(tǒng)可以簡(jiǎn)化系統(tǒng)設(shè)計(jì)、優(yōu)化系統(tǒng)結(jié)構(gòu)與電氣特性、便于系統(tǒng)的調(diào)試與維護(hù)、縮短設(shè)計(jì)周期以及降低成本。尤其是在數(shù)字系統(tǒng)的研制階段或中小批量生產(chǎn)中,上述優(yōu)點(diǎn)更為明顯。

        1、FPGA可重構(gòu)系統(tǒng)結(jié)構(gòu)分析

        在高速系統(tǒng)中實(shí)現(xiàn)人機(jī)界面以及參數(shù)設(shè)置等非高速操作,往往使用具有良好接口功能的通用MCU(微控制器)來(lái)實(shí)現(xiàn)。因此,這種由MCU和FPGA(FieldProgrammableGateArray)構(gòu)成的系統(tǒng)使用更為廣泛。按照MCU與FPGA之間的相互關(guān)系以及在系統(tǒng)中所起的作用,主要可以分為兩類(lèi):MCU控制FPGA工作的系統(tǒng)和MCU協(xié)同F(xiàn)PGA工作的系統(tǒng)。

        1.1MCU控制FPGA工作的系統(tǒng)

        這類(lèi)系統(tǒng)采用MCU作為系統(tǒng)的主要控制器件,在FPGA中實(shí)現(xiàn)控制器的外設(shè)電路功能。實(shí)質(zhì)上,這是傳統(tǒng)MCU控制系統(tǒng)的繼承發(fā)展,它把各個(gè)分立的外部設(shè)備與接口,根據(jù)系統(tǒng)需要,在FPGA中定制實(shí)現(xiàn)。比如在FPGA中實(shí)現(xiàn)SRAM(靜態(tài)隨機(jī)存儲(chǔ)器)、鍵盤(pán)與顯示接口以及總線的擴(kuò)展等應(yīng)用。

        由于主要控制任務(wù)在MCU上實(shí)現(xiàn),系統(tǒng)邏輯實(shí)現(xiàn)的重點(diǎn)在編制MCU程序上,而FPGA則更多的使用IP(IntellectualProperty)核實(shí)現(xiàn)基本功能模塊。因此,在整個(gè)系統(tǒng)設(shè)計(jì)過(guò)程中,軟件開(kāi)發(fā)所占比重較大。

        1.2MCU協(xié)同F(xiàn)PGA工作的系統(tǒng)

        這類(lèi)系統(tǒng)通常以可編程邏輯器件為核心,在其內(nèi)部實(shí)現(xiàn)面向應(yīng)用的邏輯功能,而MCU則占據(jù)次要地位。應(yīng)該說(shuō),這類(lèi)系統(tǒng)充分利用了可編程邏輯器件和MCU的特點(diǎn),實(shí)現(xiàn)了優(yōu)勢(shì)互補(bǔ)。它主要應(yīng)用在面向應(yīng)用、并行處理以及高速等環(huán)境中。例如,使用高密度的FPGA進(jìn)行高速的多路A/D采樣,經(jīng)內(nèi)部處理模塊處理后,并行輸出結(jié)果,整個(gè)過(guò)程的時(shí)序控制在FPGA內(nèi)部實(shí)現(xiàn);而MCU只負(fù)責(zé)對(duì)FPGA各功能模塊的參數(shù)裝載,發(fā)送啟動(dòng)命令以及監(jiān)控FPGA工作狀態(tài)等任務(wù)。這類(lèi)系統(tǒng)的開(kāi)發(fā)重點(diǎn)主要在FPGA邏輯功能的硬件實(shí)現(xiàn)上,而MCU的控制軟件就比較簡(jiǎn)單了。

        在實(shí)際應(yīng)用中,系統(tǒng)的特點(diǎn)并不像以上兩種類(lèi)型這么明顯,普遍存在的是兼具以上特點(diǎn)的系統(tǒng),只是所占比重不同而已。

        2、MCU結(jié)合可編程邏輯器件系統(tǒng)的互連接口

        MCU與可編程邏輯器件互連,有直接連接和總線連接兩種方式。直接連接只需把MCU與FPGA的I/O引腳相連即可。而總線連接可分為單向總線和雙向總線兩種類(lèi)型。對(duì)于單向總線,實(shí)質(zhì)上是一組以直接方式互連的I/O。而實(shí)現(xiàn)雙向總線,就需要使用可編程邏輯器件的雙向口構(gòu)造三態(tài)總線了。

        三態(tài)總線的實(shí)現(xiàn),需要使用三態(tài)緩沖器,實(shí)現(xiàn)高、低電平和高阻三個(gè)狀態(tài)。在FPGA上可有內(nèi)部和外部?jī)煞N三態(tài)總線的實(shí)現(xiàn)方式。

        內(nèi)部三態(tài)總線是在器件內(nèi)部的各邏輯部分之間互連的總線。由于不同廠商采用不同的技術(shù),因此內(nèi)部三態(tài)主要有兩種方法實(shí)現(xiàn)。一種是使用三態(tài)門(mén)實(shí)現(xiàn)真實(shí)的三態(tài)總線,這需要器件內(nèi)部具有三態(tài)邏輯支持。比如XILINX公司的FPGA產(chǎn)品,在其內(nèi)部CLB(可編程邏輯塊)中,有三態(tài)緩沖器。另一種是把三態(tài)邏輯轉(zhuǎn)化為MUX(多路選擇器)實(shí)現(xiàn),這樣內(nèi)部邏輯不需要三態(tài)門(mén)的支持。這種器件以ALTERA公司的FPGA為代表。雖然這一方法是模擬三態(tài)邏輯,但是具有降低成本和消除信號(hào)競(jìng)爭(zhēng)的特點(diǎn)。

        外部三態(tài)總線是器件在端口上實(shí)現(xiàn)的,用來(lái)與其它芯片互連,這對(duì)于大量的系統(tǒng)設(shè)計(jì)是必須的。因此,所有的可編程邏輯器件都在I/O端口上實(shí)現(xiàn)了真實(shí)的三態(tài)緩沖。同時(shí),由于大量雙向總線的存在,所以三態(tài)總線往往與雙向端口聯(lián)系在一起,形成雙向的三態(tài)總線。

        在含F(xiàn)PGA的MCU系統(tǒng)中,F(xiàn)PGA通過(guò)外部三態(tài)總線與MCU的總線端口互連。而且,一片F(xiàn)PGA通常實(shí)現(xiàn)多個(gè)功能模塊,所以?xún)?nèi)部三態(tài)總線是外部系統(tǒng)總線在FPGA器件內(nèi)部的延伸。因此,外部和內(nèi)部的三態(tài)總線共同構(gòu)成了連接MCU與FPGA的系統(tǒng)總線。本文以ALTERA公司的CYCLONE系列器件為例,來(lái)闡述雙向三態(tài)總線的設(shè)計(jì)方法。

        ALTERA公司的ACEX1K系列器件是2003年推出的面向低成本、高容量以及低功耗等網(wǎng)絡(luò)通信及控制應(yīng)用的中密度可編程器件。它依然采用了ALTERA傳統(tǒng)的LUT(查找表)結(jié)合EAB(嵌入式陣列塊)結(jié)構(gòu),因此內(nèi)部沒(méi)有三態(tài)緩沖器,而是采用MUX模擬三態(tài)邏輯。這一轉(zhuǎn)換過(guò)程,由QuartusII軟件在編譯時(shí)自動(dòng)完成。

        在器件的I/O端口,每個(gè)IOE(輸入輸出元件)都包含一個(gè)I/O緩沖,以及一個(gè)既可做輸入又可做輸出的寄存器。由圖1可見(jiàn),在I/O引腳上實(shí)現(xiàn)了三態(tài)緩沖結(jié)構(gòu)。當(dāng)引腳作雙向口使用時(shí),IOE中的寄存器作為輸出數(shù)據(jù)寄存器連接到三態(tài)門(mén)的輸入端。輸入數(shù)據(jù)和輸出允許寄存器分別使用相鄰LE(邏輯單元,是LAB的組成元素)中的寄存器,即雙向三態(tài)的實(shí)現(xiàn)既使用了IOE,有使用了內(nèi)部邏輯資源。

        3、基于ALTERA可編程邏輯器件實(shí)現(xiàn)三態(tài)總線的方法

        3.1內(nèi)部三態(tài)總線的實(shí)現(xiàn)

        內(nèi)部三態(tài)總線是外部三態(tài)總線在FPGA器件內(nèi)部的延伸,用來(lái)連接可編程邏輯器件片內(nèi)的各功能模塊。

        ALTERACYCLONE器件使用MUX代替內(nèi)部三態(tài)總線。使用ALTERA公司的集成編譯環(huán)境QuartusII,在圖形輸入和AHDL語(yǔ)言輸入方式下,可以自動(dòng)進(jìn)行這種轉(zhuǎn)換。例如,下面是采用圖形方式輸入的內(nèi)部三態(tài)邏輯(如圖2),(a)、(b)兩種情況為三態(tài)門(mén)驅(qū)動(dòng)輸出引腳和三態(tài)門(mén)驅(qū)動(dòng)內(nèi)部邏輯。

        QuartusII將自動(dòng)進(jìn)行MUX轉(zhuǎn)換(如圖3),分別對(duì)應(yīng)有無(wú)輸出引腳。并且一個(gè)三態(tài)門(mén)只能驅(qū)動(dòng)一個(gè)引腳,這是由器件的硬件結(jié)構(gòu)決定的。可見(jiàn)三態(tài)門(mén)只能在I/O引腳上實(shí)現(xiàn)。

        3.2外部三態(tài)總線的實(shí)現(xiàn)

        3.2.1與其它芯片相連的外部三態(tài)總線

        MCU與FPGA采用總線方式互連,在MCU端有現(xiàn)成的總線接口,而在FPGA端,需要自行設(shè)計(jì)總線端口,即外部總線的實(shí)現(xiàn)就是總線端口的設(shè)計(jì)。此外,總線通常連接多個(gè)設(shè)備,因此需要實(shí)現(xiàn)雙向三態(tài)總線。在ALTERA的FPGA中實(shí)現(xiàn)雙向三態(tài)端口,QuartusII既支持語(yǔ)言方式輸入,又支持圖形方式輸入,分別討論如下。

        (1)雙向三態(tài)總線的VHDL語(yǔ)言描述。

        下面一段VHDL代碼描述了一個(gè)雙向三態(tài)總線的端口。

        這段程序可以作為FPGA器件的對(duì)外端口邏輯模塊。ext_data作為器件對(duì)外部的雙向口,它的輸出實(shí)現(xiàn)了三態(tài),而它的輸入,只要按正確時(shí)序讀取外部信號(hào),是不需要實(shí)現(xiàn)三態(tài)的。輸入口in_data和輸出口out_data是對(duì)FPGA內(nèi)部的接口,這是由于內(nèi)部邏輯不必實(shí)現(xiàn)雙向,所以是輸入和輸出分開(kāi)的。這一點(diǎn)在后面的圖形表示中將更加直觀。

        (2)雙向三態(tài)總線的圖形描述。

        依然以上述模塊為例,采用QuartusII的圖形方式輸入,利用參數(shù)化模塊庫(kù)(LPM)實(shí)現(xiàn)(如圖4)。這種方法尤為清晰簡(jiǎn)便。

        圖中out_data為模塊輸出,實(shí)際對(duì)應(yīng)FPGA的輸入功能,所以與其相連的三態(tài)門(mén)保持常通狀態(tài)以實(shí)現(xiàn)內(nèi)部連接。這也是由于三態(tài)門(mén)不能直接驅(qū)動(dòng)內(nèi)部邏輯決定的。

        3.2.2用外部雙向三態(tài)總線實(shí)現(xiàn)內(nèi)部邏輯塊的互連

        雖然ALTERA器件不支持內(nèi)部三態(tài),但是通過(guò)上面的圖形描述,啟發(fā)我們通過(guò)引腳上的三態(tài)門(mén)實(shí)現(xiàn)器件內(nèi)部邏輯塊之間的雙向三態(tài)總線互連,當(dāng)然,也可以使用MUX技術(shù)實(shí)現(xiàn)。

        圖5為需要實(shí)現(xiàn)的內(nèi)部邏輯互連,但是這種情況在ALTERA的FPGA上無(wú)法實(shí)現(xiàn),需要轉(zhuǎn)換成MUX。而通過(guò)使用兩組雙向引腳,利用I/O口上的三態(tài)門(mén)轉(zhuǎn)化為外部總線,就可以實(shí)現(xiàn)了(如圖6)。需要注意的是,圖6中引腳間的互連需在PCB(PrintedCircuitBoard)板上實(shí)現(xiàn),這里所用的BIDIRC端口只是對(duì)連接進(jìn)行了表示,在FPGA器件內(nèi)部不能實(shí)現(xiàn)。

        這種使用I/O端口實(shí)現(xiàn)的內(nèi)部總線可以連接內(nèi)部各個(gè)模塊實(shí)現(xiàn)雙向三態(tài)連接,但是是以占用I/O端口資源為代價(jià)的,所以如無(wú)特別要求,對(duì)內(nèi)部三態(tài)總線應(yīng)采用MUX邏輯實(shí)現(xiàn)。而對(duì)于如與MCU連接的外部雙向三態(tài)端口,可直接使用圖4所示方法實(shí)現(xiàn),F(xiàn)PGA對(duì)外的輸出實(shí)現(xiàn)三態(tài)控制,而輸入不需三態(tài)控制,由內(nèi)部邏輯保證輸入正確性。

        4、結(jié)束語(yǔ)

        MCU與FPGA相結(jié)合的系統(tǒng),由于其可重構(gòu)、靈活的優(yōu)點(diǎn),十分適合工控系統(tǒng)的應(yīng)用。而總線式系統(tǒng)結(jié)構(gòu)是這一系統(tǒng)的主要特點(diǎn)之一,是實(shí)現(xiàn)系統(tǒng)邏輯功能的基礎(chǔ)結(jié)構(gòu)。

        參考文獻(xiàn):

        [1]AlteraCorp.ACEXCYCLONEProgrammableLogicDeviceFamilyDataSheet.Ver.1.1,2003.

        [2]曾凡泰,陳美金.VHDL程序設(shè)計(jì).北京:人民郵電出版社,2000.

        [3]蔣璇.數(shù)字系統(tǒng)設(shè)計(jì)與PLD應(yīng)用技術(shù).北京:電子工業(yè)出版社,2001.

        猜你喜歡
        三態(tài)雙向端口
        雙向度的成長(zhǎng)與自我實(shí)現(xiàn)
        出版人(2022年11期)2022-11-15 04:30:18
        一種端口故障的解決方案
        直線上空間非齊次三態(tài)量子游蕩的平穩(wěn)測(cè)度
        端口阻塞與優(yōu)先級(jí)
        群文閱讀理念支撐下的課堂形態(tài)
        心律失常有“三態(tài)” 自我監(jiān)測(cè)要“三看”
        中老年健康(2016年5期)2016-06-13 01:54:49
        一種軟開(kāi)關(guān)的交錯(cuò)并聯(lián)Buck/Boost雙向DC/DC變換器
        一種工作頻率可變的雙向DC-DC變換器
        初識(shí)電腦端口
        電腦迷(2015年6期)2015-05-30 08:52:42
        生成樹(shù)協(xié)議實(shí)例探討
        免费观看又色又爽又黄的| 加勒比久草免费在线观看| 国产激情小视频在线观看的| 少妇被按摩出高潮了一区二区| av天堂午夜精品一区| 鸭子tv国产在线永久播放| 激情偷乱人伦小说视频在线| 国产真实伦视频在线视频| 国产香蕉尹人综合在线观| 波多野结衣爽到高潮大喷| 91精品国产闺蜜国产在线| 亚洲无线码1区| 色噜噜色哟哟一区二区三区| 国产精品一区二区三区免费视频| 亚洲av无码久久精品色欲| 亚洲精品无码成人片久久不卡 | 欧美伦费免费全部午夜最新| 丰满人妻熟妇乱又伦精品软件| 精品国产a∨无码一区二区三区| 久久精品女人天堂AV一个| 国产一区二区熟女精品免费| 日韩性爱视频| 精品深夜av无码一区二区| 日本高清中文字幕一区二区三区| 美女一区二区三区在线观看视频| 论理视频二区三区四区在线观看| 国产亚洲精品成人aa片新蒲金| 无码人妻丰满熟妇区毛片| 四虎国产精品免费久久麻豆| 日本在线一区二区三区视频| 夜夜爽夜夜叫夜夜高潮| 55夜色66夜色国产精品视频| 久久精品国产亚洲婷婷| 一本之道加勒比在线观看| 久久一本日韩精品中文字幕屁孩 | 中文字幕一区二区三区在线不卡 | 亚洲av五月天天堂网| 久久麻传媒亚洲av国产| 欧美精品videosse精子| 国产自国产在线观看免费观看| 狠狠色欧美亚洲综合色黑a|