新聞中心

        EEPW首頁(yè) > 汽車(chē)電子 > 設(shè)計(jì)應(yīng)用 > MCS-51單片機(jī)與CPLD/FPGA接口邏輯設(shè)計(jì)

        MCS-51單片機(jī)與CPLD/FPGA接口邏輯設(shè)計(jì)

        ——
        作者:一葦 時(shí)間:2007-04-11 來(lái)源:21IC 收藏
        在功能上,與大規(guī)模CPLD有很強(qiáng)的互補(bǔ)性。具有性能價(jià)格比高、功能靈活、易于人機(jī)對(duì)話、良好的數(shù)據(jù)處理能力濰點(diǎn);則具有高速、高可靠以及開(kāi)發(fā)便捷、規(guī)范等優(yōu)點(diǎn)。以此兩類(lèi)器件相結(jié)合的電路結(jié)構(gòu)在許多高性能儀器儀表和電子產(chǎn)品中仍將被廣泛應(yīng)用。本文就的接口方式作一簡(jiǎn)單介紹,希望對(duì)從事單片機(jī)和研發(fā)的朋友能有所啟發(fā)。     

        單片機(jī)與CPLD/FPGA的接口方式一般有兩種,即總線方式與獨(dú)立方式,分別說(shuō)明如下:

        一、總線方式
            

        單片機(jī)以總線方式與CPLD/FPGA進(jìn)行數(shù)據(jù)與控制信息通信有許多優(yōu)點(diǎn)。    

        (1)速度快。如圖一所示,其通信工作時(shí)序是純硬件行為,對(duì)于單片機(jī),只需一條單字節(jié)指令就能完成所需的讀/寫(xiě)時(shí)序,如:    

        MOV @DPTR,A ;MOV A,@DPTR

        總線

                                                                   圖1 總線

        (2)節(jié)省CPLD芯片的I/O口線。如圖二所示,如果將圖中的譯碼器DECODER設(shè)置足夠的譯碼輸出,并安排足夠的鎖存器,就能僅通過(guò)19根o口線在FPGW與單片機(jī)之間進(jìn)行各種類(lèi)型的數(shù)據(jù)與控制信息交換。    

        CPLD芯片I

                                                          圖2 CPLD芯片I/O口線

        (3)相對(duì)于非總線方式,單片機(jī)編程簡(jiǎn)捷,控制可靠。    

        (4)在CPLD/FPGA中通過(guò)邏輯切換,單片機(jī)易于與SRAM或ROM接口。這種方式有許多實(shí)用之處,如利用類(lèi)似于微處理器系統(tǒng)的DMA的工作方式,首先由CPLD/FPGA與接口的高速A/D等器件進(jìn)行高速數(shù)據(jù)采樣,并將數(shù)據(jù)暫存于SRAM中,采樣結(jié)束后,通過(guò)切換,使單片機(jī)與SRAM以總線方式進(jìn)行數(shù)據(jù)通信,以便發(fā)揮單片機(jī)強(qiáng)大的數(shù)據(jù)處理能力。     

        單片機(jī)與CPLD/FPGA以總線方式通信的,重要的是要詳細(xì)了解單片機(jī)的總線讀寫(xiě)時(shí)序,根據(jù)時(shí)序圖來(lái)設(shè)計(jì)邏輯結(jié)構(gòu)。圖一是系列單片機(jī)的時(shí)序圖,其時(shí)序電平變化速度與單片機(jī)工作時(shí)鐘頻率有關(guān)。圖中,ALE為地址鎖存使能信號(hào),可利用其下降沿將低8位地址鎖存于CPLD/FPGA中的地址鎖存器(LATCH_ADDRES)中;當(dāng)ALE將低8位地址通過(guò)P0鎖存的同時(shí),高8位地址已穩(wěn)定建立于P2口,單片機(jī)利用讀指令允許信號(hào)PSEN的低電平從外部ROM中將指令從P0口讀入,由時(shí)序圖可見(jiàn),其指令讀入的時(shí)機(jī)是在PSEN的上升沿之前。接下來(lái),由P2口和P0口分別輸出高8位和低8位數(shù)據(jù)地址,并由ALE的下降沿將P0口的低8位地址鎖存于地址鎖存器。若需從CPLD/FPGA中讀出數(shù)據(jù),單片機(jī)則通過(guò)指令“MOVXA,@DPTR”使RD信號(hào)為低電平,由P0口將圖二中鎖存器LATCH_IN1中的數(shù)據(jù)讀入累加器A;但若欲將累加器A的數(shù)據(jù)寫(xiě)進(jìn)CPLD/FPGA,則需通過(guò)指令“MOVX



        評(píng)論


        相關(guān)推薦

        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 周至县| 肃北| 邢台市| 德庆县| 青河县| 平舆县| 尤溪县| 日喀则市| 奉新县| 罗江县| 青河县| 昭平县| 共和县| 黔南| 华坪县| 合阳县| 剑河县| 民丰县| 康马县| 城口县| 肥城市| 临安市| 青河县| 炎陵县| 龙口市| 肃宁县| 盈江县| 宜丰县| 合水县| 金溪县| 江川县| 宜兰县| 泗阳县| 丹棱县| 大厂| 化隆| 抚松县| 双辽市| 台州市| 彭泽县| 兰溪市|