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

        ?

        基于VHDL的MTM總線主模塊有限狀態(tài)機(jī)設(shè)計

        2012-02-15 03:29:16白忠臣李世雄秦水介
        電子設(shè)計工程 2012年9期
        關(guān)鍵詞:主控制信號線狀態(tài)機(jī)

        王 超,白忠臣,李世雄,秦水介

        (貴州大學(xué) 貴州省光電子技術(shù)及應(yīng)用重點實驗室,貴州 貴陽 550025)

        MTM 總線 (Module Testing and Maintenance bus,MTM-bus)是一種同步、串行、用于系統(tǒng)級的背板測試及維護(hù)總線,可以實現(xiàn)IEEE1149.5標(biāo)準(zhǔn)所規(guī)定的故障檢測、容錯以及擴(kuò)展的命令集[1]。該技術(shù)已經(jīng)被美軍“寶石柱”和“寶石臺”計劃的航空電子系統(tǒng)體系結(jié)構(gòu)采用[2]。

        當(dāng)前MTM總線主模塊有限狀態(tài)機(jī)主要采用Verilog HDL程序編寫的狀態(tài)機(jī)描述,Verilog HDL語言并不可以進(jìn)行系統(tǒng)級的硬件描述。

        VHDL是一種標(biāo)準(zhǔn)化的硬件描述語言,不僅可以用于系統(tǒng)級的硬件描述而且在設(shè)計系統(tǒng)硬件時沒有嵌入與工藝有關(guān)的信息,在工藝更新時無須修改原設(shè)計程序。文中設(shè)計的狀態(tài)機(jī)采用“單進(jìn)程”式狀態(tài)機(jī)描述,與“三進(jìn)程”和“雙進(jìn)程”式相比可以有效地節(jié)省FPGA芯片的資源,從而進(jìn)一步減少功耗,提高系統(tǒng)的穩(wěn)定性[3]。

        通過簡要分析MTM總線的基本結(jié)構(gòu)、各模塊間的通訊方式、主模塊有限狀態(tài)機(jī)模型基于VHDL語言設(shè)計了主模塊有限狀態(tài)機(jī);并且利用QuartusⅡ9.0版本軟件和Cyclone系列EP1C6Q240C6芯片對所設(shè)計的MTM總線主模塊狀態(tài)機(jī)的VHDL代碼進(jìn)行了時序仿真和功能仿真。

        1 MTM總線結(jié)構(gòu)設(shè)計

        1.1 MTM總線的基本結(jié)構(gòu)

        MTM總線的基本結(jié)構(gòu)如圖1所示,總線定義了4條必選信號線和一條可選信號線,即MCTL(控制信號線)、MMD(主模數(shù)據(jù)信號線)、MSD(從模塊數(shù)據(jù)信號線)、MCLK(時鐘信號線)和MPR(請求暫停信號線)。

        圖1 MTM總線結(jié)構(gòu)圖Fig.1 MTM bus structure

        MTM總線上的所有模塊采用主從結(jié)構(gòu)的通訊協(xié)議,該總線有且只能有一個主模塊,最多可以有250個能夠被獨立尋址的從屬模塊。MTM總線多站點結(jié)構(gòu)和尋址能力允許主模塊一次可以尋址一個從模塊、多個從模塊(多點尋址方式)和所有的從模塊(廣播尋址方式),并且與之通訊。MTM總線的主模塊有限狀態(tài)機(jī)是MTM總線主模塊的核心控制單元,它控制著整個信息傳輸過程[4]。MTM總線控者使用消息交換的方式與從模塊進(jìn)行通訊,消息是由一系列的包組成,包括一個頭包,一個可選答應(yīng)包和一系列數(shù)據(jù)包,包的長度為17位,高16位數(shù)據(jù)信息,最低位用于奇校驗,消息包的控制必須由主模塊控制[5]。

        1.2 MTM主模塊

        主控制模塊設(shè)計如圖2所示。主控制模塊在MTM總線協(xié)議中處于主控地位,主要功能是將來自微處理器的數(shù)據(jù)按照IEEE1149.5標(biāo)準(zhǔn)定義的消息格式進(jìn)行打包送到指定的從控制模塊;同時將來自指定從控制模塊的消息包進(jìn)行解包,并且提取有用數(shù)據(jù)傳回微處理器,供微處理器分析和處理。

        圖2 主控制模塊設(shè)計Fig.2 Master control module design

        主狀態(tài)機(jī)是主控制模塊的核心單元,它的作用是控制整個信息傳輸過程。

        主狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換圖如圖3。當(dāng)主狀態(tài)機(jī)處于某個給定的狀態(tài)時,MCTL和MMD信號的邏輯值在MCLK的上升沿產(chǎn)生;在每個MCLK信號周期,主狀態(tài)機(jī)根據(jù)控制信號的只發(fā)生狀態(tài)轉(zhuǎn)換;在主狀態(tài)機(jī)的17個傳送狀態(tài)下發(fā)送17位的數(shù)據(jù)包,其他狀態(tài)不發(fā)送數(shù)據(jù),同時接收MSD上的數(shù)據(jù);在每個數(shù)據(jù)包發(fā)送后,主狀態(tài)機(jī)至少保持在暫停狀態(tài)不少于4個MCLK周期,若當(dāng)前接收的MSD數(shù)據(jù)有效則使接收單元使能信號有效;當(dāng)主狀態(tài)機(jī)進(jìn)入結(jié)束狀態(tài)時,當(dāng)前消息傳送結(jié)束[3]。

        2 基于VHDL的主模塊有限狀態(tài)機(jī)的的設(shè)計

        VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口,同時支持層次化和模塊化設(shè)計,并且可以進(jìn)行仿真和綜合。

        數(shù)字電路分為組合邏輯電路和時序邏輯電路兩種。組合邏輯電路的輸出只與當(dāng)前輸入有關(guān),時序邏輯電路的輸出與當(dāng)前輸入和過去輸入都有關(guān)。狀態(tài)機(jī)是一種廣義的時序電路,一般包括用于狀態(tài)譯碼和產(chǎn)生輸出信號組合邏輯和存儲狀態(tài)的寄存器邏輯兩部分[4]。

        根據(jù)MTM總線主模塊的狀態(tài)轉(zhuǎn)換圖,其基于VHDL有限狀態(tài)機(jī)的代碼如下:

        library ieee;

        use ieee.std_logic_1164.all;

        use ieee.std_logic_arith.all;

        use ieee.std_logic_unsigned.all;

        圖3 主狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換圖Fig.3 The Lord of the state machine state transition figure注:M1,M2,M3為狀態(tài)轉(zhuǎn)換的控制位。其中M1表示M1為1,/M1為0,X表示0或者1的任意值。

        entity ztj is

        port(

        M1,M2,M3,clk:in std_logic;

        state:out std_logic_vector(4 downto 0)

        );

        end ztj;

        architecture hav of ztj is

        typestis(s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,

        s14,s15,s16,powerup,idle,pause,eom,waiting);

        signal ps,ns:st;

        begin

        process(clk)

        begin

        if clk’event and clk=’1’ then

        ps<=ns;

        end if;

        end process;

        process(M1,M2,M3,ps)

        begin

        case ps is

        when powerup=>if M1=’1’ then

        ns<=waiting;

        elsif M3=’0’ then

        ns<=powerup;

        else

        ns<=idle;

        end if;

        state<=“10001”;

        …… ……

        when s16=>if M1=’0’ then

        ns<=s15;

        else

        ns<=waiting;

        end if;

        state<=“10000”;

        …… ……

        when s0=>if M1=’0’ then

        ns<=pause;

        else

        ns<=waiting;

        end if;

        state<="00000";

        …… ……

        when waiting=>if M1=’0’ and M3=’1’ then

        ns<=idle;

        else

        ns<=waiting;

        end if;

        state<="10101";

        when others=>null;

        end case;

        end process;

        end;

        3 仿真驗證

        QuartusⅡ是Altera公司推出的集成開發(fā)軟件,使用QuartusⅡ可以完成從設(shè)計輸入、綜合適配、仿真到編程下載整個設(shè)計過程,QuartusⅡ也可以直接調(diào)用Synplify Pro、以及ModelSim等第3方EDA工具來完成設(shè)計任務(wù)的綜合和仿真。

        文中利用QuartusⅡ9.0版本軟件和Cyclone系列EP1C6Q240C6芯片對所設(shè)計的MTM總線主模塊狀態(tài)機(jī)的VHDL代碼進(jìn)行了時序仿真和功能仿真,分別如圖4、圖5所示。

        圖4 時序仿真波形圖Fig.4 Timing simulation waveform figure

        圖5 功能仿真波形圖Fig.5 Function simulation waveform figure

        通過波形圖可以觀察到,該狀態(tài)機(jī)可以很好的實現(xiàn)主狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換。當(dāng)M1輸入為“0”時(此時M2、M3為無關(guān)狀態(tài)),MTM總線主模塊按照從高到低進(jìn)行消息傳送,直到進(jìn)入“PAUSE”(暫停狀態(tài))然后狀態(tài)回到“xfer16”(S16)繼續(xù)進(jìn)行消息傳送;當(dāng)M1輸入為“1”時,主模塊無條件進(jìn)入“waiting”(等待狀態(tài));在主模塊處于“waiting”狀態(tài)時若M3輸入為“1”狀態(tài)轉(zhuǎn)入“idle”(空閑狀態(tài))再次由高到低位的消息傳送。

        使用VHDL語言描述,語法更為嚴(yán)謹(jǐn),描述更為清晰簡潔;采用“單進(jìn)程”式狀態(tài)機(jī)描述可以有效地節(jié)省FPGA芯片的資源(表1),從而進(jìn)一步減少功耗,提高系統(tǒng)的穩(wěn)定性。

        表1 編譯報告Tab.1 Compilation report

        4 結(jié)束語

        文中通過研究MTM總線的基本結(jié)構(gòu)和主從模塊間的通訊協(xié)議,分析了主狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換,并使用VHDL語言設(shè)計了該有限狀態(tài)機(jī),并使用QuartusⅡ開發(fā)軟件對該狀態(tài)機(jī)進(jìn)行了仿真和驗證,仿真結(jié)果表明該程序可以正確描述主狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換,該有限狀態(tài)機(jī)使用“單進(jìn)程”式描述,與“三進(jìn)程”和“雙進(jìn)程”式相比程序簡潔明了并且能夠有效地節(jié)省資源,減少功耗,提高系統(tǒng)的穩(wěn)定性。

        [1]Kerr J L.A VHDL synthesis approach to the IEEE P1149.5 bus standard[S].1993:129-134.

        [2]張小林,劉海彬.電子系統(tǒng)BIT設(shè)計技術(shù)初探[J].中國測試技術(shù), 2008, 34(3):80-83.ZHANG Xiao-lin,LIU Hai-bin.Design technology research for electronic system BIT[J].China Testing Technology,2008, 34(3):80-83.

        [3]詹仙寧,田蕓.VHDL開發(fā)軟件精解與實例剖析[M].北京:電子工業(yè)出版社,2009.

        [4]孟小風(fēng),鐘波,徐進(jìn).基于MTM總線的測試系統(tǒng)設(shè)計方法[J].計量與測試技術(shù), 2009, 36(2):27-33.MENG Xiao-feng, ZHONG Bo, XU Jin.Design of testing system based on MTM bus[J].Metrology and Measurement Technique,2009, 36(2):27-33.

        [5]盧上丁,雷加,黃新,等.MTM總線模塊間通信體系的研究與應(yīng)用[J].計算機(jī)工程, 2010, 36(3):254-259.LU Shang-ding,LEI Jia,HUANG Xin,et al.Research and application of communication system between modules in MTM-bus[J].Computer Engineering,2010,36(3):254-259.

        [6]陳星,黃考利,連光耀,等.基于Verilog HDL的MTM總線主模塊有限狀態(tài)機(jī)設(shè)計[J].計算機(jī)測量與控制,2010,18(3):682-684.C HEN Xing,H UANG Kao-li,L IAN Guang-yao,et al.Design of MTM bus master modules finite state machine based on Verilog HDL[J].Computer Measurement and Control,2010,18(3):682-684.

        猜你喜歡
        主控制信號線狀態(tài)機(jī)
        邁騰B8L 轎車燈光系統(tǒng)應(yīng)急模式控制策略及開關(guān)監(jiān)測信號線作用研究
        汽車電器(2021年12期)2021-12-30 08:46:24
        基于多核框架的無人機(jī)控制系統(tǒng)
        電子測試(2021年9期)2021-06-17 10:59:46
        基于多核框架的無人機(jī)控制系統(tǒng)
        電子制作(2021年9期)2021-06-17 03:59:54
        三類矩形微屏蔽線主模截止波長特性的矢量有限元計算
        基于有限狀態(tài)機(jī)的交會對接飛行任務(wù)規(guī)劃方法
        聊聊蓄電池的那點事兒小小信號線也能讓蓄電池虧電
        四工位組合機(jī)床動力頭主控制電路的設(shè)計
        路虎攬勝車倒車影像功能失效
        FPGA設(shè)計中狀態(tài)機(jī)安全性研究
        基于反熔絲FPGA的有限狀態(tài)機(jī)加固設(shè)計
        国产熟人精品一区二区| 国产午夜激无码AV毛片不卡| 视频一区中文字幕亚洲| 亚洲国产系列一区二区| 国产二区交换配乱婬| 亚洲av无码一区二区三区在线 | 在线成人爽a毛片免费软件| 国产高潮刺激叫喊视频| 中文字幕麻豆一区二区| 国产亚洲精品一区在线| 亚洲精品乱码久久久久久中文字幕| 欧美极品少妇性运交| 精品久久久久久99人妻| 老女人下面毛茸茸的视频| 国产一精品一av一免费| 国产激情视频白浆免费| 日韩精品有码中文字幕在线| 亚洲综合日韩一二三区| 亚洲av永久精品爱情岛论坛 | 日本一区免费喷水| 成人在线观看av毛片| 日本精品无码一区二区三区久久久| 午夜精品久久久| 中文字幕中文字幕人妻黑丝| 超碰国产精品久久国产精品99| 久久久精品人妻久久影视| 一区二区三区福利在线视频| 中文字幕人妻互换激情 | 日本一区二区视频在线| 377p日本欧洲亚洲大胆张筱雨| 精品第一页| 日本黄色特级一区二区三区| 欲求不満の人妻松下纱荣子| 日韩欧美在线综合网| 午夜视频免费观看一区二区| 亚洲av不卡一区男人天堂| 精品av天堂毛片久久久| 日韩在线视精品在亚洲| 高清国产国产精品三级国产av| 午夜无遮挡男女啪啪免费软件| 亚洲欧美日韩专区一|