基于VHDL的MTM總線(xiàn)主模塊有限狀態(tài)機(jī)設(shè)計(jì)
出處:birenai 發(fā)布于:2012-07-02 09:31:50
摘要:為了能夠更簡(jiǎn)潔嚴(yán)謹(jǐn)?shù)孛枋鯩TM總線(xiàn)的主模塊有限狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換,同時(shí)減少FPGA芯片功耗,提高系統(tǒng)穩(wěn)定性,文中在分析MTM總線(xiàn)結(jié)構(gòu)和主模塊有限狀態(tài)機(jī)模型的基礎(chǔ)上,基于VHDL語(yǔ)言采用"單進(jìn)程"式對(duì)該有限狀態(tài)機(jī)進(jìn)行了設(shè)計(jì),并在QuartusⅡ開(kāi)發(fā)軟件中實(shí)現(xiàn)了對(duì)語(yǔ)言代碼的編譯及程序的時(shí)序仿真和功能仿真;通過(guò)對(duì)仿真波形圖的分析驗(yàn)證了該狀態(tài)機(jī)設(shè)計(jì)的正確性和有效性。
MTM總線(xiàn)(Module Testing and Maintenance bus,MTMbus)是一種同步、串行、用于系統(tǒng)級(jí)的背板測(cè)試及維護(hù)總線(xiàn),可以實(shí)現(xiàn)IEEE1149.5標(biāo)準(zhǔn)所規(guī)定的故障檢測(cè)、容錯(cuò)以及擴(kuò)展的命令集。該技術(shù)已經(jīng)被美軍"寶石柱"和"寶石臺(tái)"計(jì)劃的航空電子系統(tǒng)體系結(jié)構(gòu)采用。
當(dāng)前MTM總線(xiàn)主模塊有限狀態(tài)機(jī)主要采用VerilogHDL程序編寫(xiě)的狀態(tài)機(jī)描述,Verilog HDL語(yǔ)言并不可以進(jìn)行系統(tǒng)級(jí)的硬件描述。
VHDL是一種標(biāo)準(zhǔn)化的硬件描述語(yǔ)言,不僅可以用于系統(tǒng)級(jí)的硬件描述而且在設(shè)計(jì)系統(tǒng)硬件時(shí)沒(méi)有嵌入與工藝有關(guān)的信息,在工藝更新時(shí)無(wú)須修改原設(shè)計(jì)程序。文中設(shè)計(jì)的狀態(tài)機(jī)采用"單進(jìn)程"式狀態(tài)機(jī)描述,與"三進(jìn)程"和"雙進(jìn)程"式相比可以有效地節(jié)省FPGA芯片的資源,從而進(jìn)一步減少功耗,提高系統(tǒng)的穩(wěn)定性。
通過(guò)簡(jiǎn)要分析MTM總線(xiàn)的基本結(jié)構(gòu)、各模塊間的通訊方式、主模塊有限狀態(tài)機(jī)模型基于VHDL語(yǔ)言設(shè)計(jì)了主模塊有限狀態(tài)機(jī);并且利用QuartusⅡ9.0版本軟件和Cyclone系列EP1C60240C6芯片對(duì)所設(shè)計(jì)的MTM總線(xiàn)主模塊狀態(tài)機(jī)的VHDL代碼進(jìn)行了時(shí)序仿真和功能仿真。
1 MTM總線(xiàn)結(jié)構(gòu)設(shè)計(jì)
1.1 MTM總線(xiàn)的基本結(jié)構(gòu)
MTM總線(xiàn)的基本結(jié)構(gòu)如圖1所示,總線(xiàn)定義了4條必選信號(hào)線(xiàn)和一條可選信號(hào)線(xiàn),即MCTL(控制信號(hào)線(xiàn))、MMD(主模數(shù)據(jù)信號(hào)線(xiàn))、MSD(從模塊數(shù)據(jù)信號(hào)線(xiàn))、MCLK(時(shí)鐘信號(hào)線(xiàn))和MPR(請(qǐng)求暫停信號(hào)線(xiàn))。

圖1 MTM總線(xiàn)結(jié)構(gòu)圖
MTM總線(xiàn)上的所有模塊采用主從結(jié)構(gòu)的通訊協(xié)議,該總線(xiàn)有且只能有一個(gè)主模塊,多可以有250個(gè)能夠被獨(dú)立尋址的從屬模塊。MTM總線(xiàn)多站點(diǎn)結(jié)構(gòu)和尋址能力允許主模塊可以尋址一個(gè)從模塊、多個(gè)從模塊(多點(diǎn)尋址方式)和所有的從模塊(廣播尋址方式),并且與之通訊。M TM總線(xiàn)的主模塊有限狀態(tài)機(jī)是MTM總線(xiàn)主模塊的控制單元,它控制著整個(gè)信息傳輸過(guò)程。MTM總線(xiàn)控者使用消息交換的方式與從模塊進(jìn)行通訊,消息是由一系列的包組成,包括一個(gè)頭包,一個(gè)可選答應(yīng)包和一系列數(shù)據(jù)包,包的長(zhǎng)度為17位,高16位數(shù)據(jù)信息,位用于奇校驗(yàn),消息包的控制必須由主模塊控制。
1.2 MTM主模塊
主控制模塊設(shè)計(jì)如圖2所示。主控制模塊在MTM總線(xiàn)協(xié)議中處于主控地位,主要功能是將來(lái)自微處理器的數(shù)據(jù)按照IEEE1149.5標(biāo)準(zhǔn)定義的消息格式進(jìn)行打包送到指定的從控制模塊;同時(shí)將來(lái)自指定從控制模塊的消息包進(jìn)行解包,并且提取有用數(shù)據(jù)傳回微處理器,供微處理器分析和處理。

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

圖3 主狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換圖
2 基于VHDL的主模塊有限狀態(tài)機(jī)的的設(shè)計(jì)
VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口,同時(shí)支持層次化和模塊化設(shè)計(jì),并且可以進(jìn)行仿真和綜合。
數(shù)字電路分為組合邏輯電路和時(shí)序邏輯電路兩種。組合邏輯電路的輸出只與當(dāng)前輸入有關(guān),時(shí)序邏輯電路的輸出與當(dāng)前輸入和過(guò)去輸入都有關(guān)。狀態(tài)機(jī)是一種廣義的時(shí)序電路,一般包括用于狀態(tài)譯碼和產(chǎn)生輸出信號(hào)組合邏輯和存儲(chǔ)狀態(tài)的寄存器邏輯兩部分。
根據(jù)MTM總線(xiàn)主模塊的狀態(tài)轉(zhuǎn)換圖,其基于VHDL有限狀態(tài)機(jī)的代碼如下:



3 仿真驗(yàn)證
QuartusⅡ是Altera公司推出的集成開(kāi)發(fā)軟件,使用QuartusⅡ可以完成從設(shè)計(jì)輸入、綜合適配、仿真到編程整個(gè)設(shè)計(jì)過(guò)程,Quart usⅡ也可以直接調(diào)用Synplify Pro、以及ModelSim等第3方EDA工具來(lái)完成設(shè)計(jì)任務(wù)的綜合和仿真。
文中利用QuartusⅡ9.0版本軟件和Cyclone系列EP1C6Q240C6芯片對(duì)所設(shè)計(jì)的MTM總線(xiàn)主模塊狀態(tài)機(jī)的VHDL代碼進(jìn)行了時(shí)序仿真和功能仿真,分別如圖4、圖5所示。

圖4 時(shí)序仿真波形圖

圖5 功能仿真波形圖
通過(guò)波形圖可以觀察到,該狀態(tài)機(jī)可以很好的實(shí)現(xiàn)主狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換。當(dāng)M1輸入為"0"時(shí)(此時(shí)M2、M3為無(wú)關(guān)狀態(tài)),MTM總線(xiàn)主模塊按照從高到低進(jìn)行消息傳送,直到進(jìn)入"PAUSE"(暫停狀態(tài))然后狀態(tài)回到"xfer16"(S16)繼續(xù)進(jìn)行消息傳送;當(dāng)M1輸入為"1"時(shí),主模塊無(wú)條件進(jìn)入"waiting"(等待狀態(tài));在主模塊處于"waiting"狀態(tài)時(shí)若M3輸入為"1"狀態(tài)轉(zhuǎn)入"idle"(空閑狀態(tài))再次由高到低位的消息傳送。
使用VHDL語(yǔ)言描述,語(yǔ)法更為嚴(yán)謹(jǐn),描述更為清晰簡(jiǎn)潔;采用"單進(jìn)程"式狀態(tài)機(jī)描述可以有效地節(jié)省FPGA芯片的資源(表1),從而進(jìn)一步減少功耗,提高系統(tǒng)的穩(wěn)定性。
表1 編譯

4 結(jié)束語(yǔ)
文中通過(guò)研究MTM總線(xiàn)的基本結(jié)構(gòu)和主從模塊間的通訊協(xié)議,分析了主狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換,并使用VHDL語(yǔ)言設(shè)計(jì)了該有限狀態(tài)機(jī),并使用QuartusⅡ開(kāi)發(fā)軟件對(duì)該狀態(tài)機(jī)進(jìn)行了仿真和驗(yàn)證,仿真結(jié)果表明該程序可以正確描述主狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換,該有限狀態(tài)機(jī)使用"單進(jìn)程"式描述,與"三進(jìn)程"和"雙進(jìn)程"式相比程序簡(jiǎn)潔明了并且能夠有效地節(jié)省資源,減少功耗,提高系統(tǒng)的穩(wěn)定性。
參考文獻(xiàn):
[1]. MPR datasheet http://hbjingang.com/datasheet/MPR_2428463.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- EDA技術(shù)工具鏈與全流程設(shè)計(jì)運(yùn)維指南2026/1/5 10:28:51
- PLC程序現(xiàn)場(chǎng)疑難問(wèn)題排查與深度優(yōu)化指南2025/12/24 14:36:36
- PLC程序現(xiàn)場(chǎng)調(diào)試與優(yōu)化實(shí)操指南2025/12/24 14:29:57
- 工業(yè)PLC模擬量信號(hào)采集:調(diào)理技術(shù)與抗干擾工程方案2025/12/15 14:39:08
- PLC設(shè)備如何選型2025/9/5 17:15:14
- 編碼器的工作原理及作用1
- 超強(qiáng)整理!PCB設(shè)計(jì)之電流與線(xiàn)寬的關(guān)系2
- 三星(SAMSUNG)貼片電容規(guī)格對(duì)照表3
- 電腦藍(lán)屏代碼大全4
- 國(guó)標(biāo)委發(fā)布《電動(dòng)汽車(chē)安全要求第3部分:人員觸電防護(hù)》第1號(hào)修改單5
- 通俗易懂談上拉電阻與下拉電阻6
- 繼電器的工作原理以及驅(qū)動(dòng)電路7
- 電容單位8
- 跟我學(xué)51單片機(jī)(三):?jiǎn)纹瑱C(jī)串口通信實(shí)例9
- 一種三極管開(kāi)關(guān)電路設(shè)計(jì)10
- 高速PCB阻抗控制核心實(shí)操規(guī)范
- 高速數(shù)字系統(tǒng)(如DDR、SerDes)中的信號(hào)完整性濾波
- MOSFET在UPS電源中的應(yīng)用解析
- 電源管理IC在物聯(lián)網(wǎng)設(shè)備中的應(yīng)用
- SMT連接器焊接缺陷分析
- MOSFET在汽車(chē)電子中的應(yīng)用要求
- 通信設(shè)備電源管理IC應(yīng)用解析
- 通信設(shè)備連接器選型與設(shè)計(jì)
- PCB電磁兼容性(EMC)設(shè)計(jì)核心實(shí)操規(guī)范
- 物聯(lián)網(wǎng)節(jié)點(diǎn)低功耗設(shè)計(jì):信號(hào)鏈中的濾波與功耗管理









