基于VHDL的MTM总线主模块有限状态机设计

发布者:BlissfulSunrise最新更新时间:2012-07-02 来源: 电子设计工程 关键字:VHDL  MTM总线  有限状态机  主控制模块 手机看文章 扫描二维码
随时随地手机看文章
    MTM总线(Module Testing and Maintenance bus,MTMbus)是一种同步、串行、用于系统级的背板测试及维护总线,可以实现IEEE1149.5标准所规定的故障检测、容错以及扩展的命令集。该技术已经被美军“宝石柱”和“宝石台”计划的航空电子系统体系结构采用。
    当前MTM总线主模块有限状态机主要采用VerilogHDL程序编写的状态机描述,Verilog HDL语言并不可以进行系统级的硬件描述。
    VHDL是一种标准化的硬件描述语言,不仅可以用于系统级的硬件描述而且在设计系统硬件时没有嵌入与工艺有关的信息,在工艺更新时无须修改原设计程序。文中设计的状态机采用“单进程”式状态机描述,与“三进程”和“双进程”式相比可以有效地节省FPGA芯片的资源,从而进一步减少功耗,提高系统的稳定性。
    通过简要分析MTM总线的基本结构、各模块间的通讯方式、主模块有限状态机模型基于VHDL语言设计了主模块有限状态机;并且利用QuartusⅡ9.0版本软件和Cyclone系列EP1C60240C6芯片对所设计的MTM总线主模块状态机的VHDL代码进行了时序仿真和功能仿真。

1 MTM总线结构设计
1.1 MTM总线的基本结构
    MTM总线的基本结构如图1所示,总线定义了4条必选信号线和一条可选信号线,即MCTL(控制信号线)、MMD(主模数据信号线)、MSD(从模块数据信号线)、MCLK(时钟信号线)和MPR(请求暂停信号线)。


    MTM总线上的所有模块采用主从结构的通讯协议,该总线有且只能有一个主模块,最多可以有250个能够被独立寻址的从属模块。MTM总线多站点结构和寻址能力允许主模块一次可以寻址一个从模块、多个从模块(多点寻址方式)和所有的从模块(广播寻址方式),并且与之通讯。M TM总线的主模块有限状态机是MTM总线主模块的核心控制单元,它控制着整个信息传输过程。MTM总线控者使用消息交换的方式与从模块进行通讯,消息是由一系列的包组成,包括一个头包,一个可选答应包和一系列数据包,包的长度为17位,高16位数据信息,最低位用于奇校验,消息包的控制必须由主模块控制。[page]

1.2 MTM主模块
    主控制模块设计如图2所示。主控制模块在MTM总线协议中处于主控地位,主要功能是将来自微处理器的数据按照IEEE1149.5标准定义的消息格式进行打包送到指定的从控制模块;同时将来自指定从控制模块的消息包进行解包,并且提取有用数据传回微处理器,供微处理器分析和处理。


    主状态机是主控制模块的核心单元,它的作用是控制整个信息传输过程。


    主状态机的状态转换图如图3。当主状态机处于某个给定的状态时,MCTL和MMD信号的逻辑值在MCLK的上升沿产生;在每个MCLK信号周期,主状态机根据控制信号的只发生状态转换;在主状态机的17个传送状态下发送17位的数据包,其他状态不发送数据,同时接收MSD上的数据;在每个数据包发送后,主状态机至少保持在暂停状态不少于4个MCLK周期,若当前接收的MSD数据有效则使接收单元使能信号有效;当主状态机进入结束状态时,当前消息传送结束。

2 基于VHDL的主模块有限状态机的的设计
    VHDL主要用于描述数字系统的结构、行为、功能和接口,同时支持层次化和模块化设计,并且可以进行仿真和综合。
    数字电路分为组合逻辑电路和时序逻辑电路两种。组合逻辑电路的输出只与当前输入有关,时序逻辑电路的输出与当前输入和过去输入都有关。状态机是一种广义的时序电路,一般包括用于状态译码和产生输出信号组合逻辑和存储状态的寄存器逻辑两部分。
    根据MTM总线主模块的状态转换图,其基于VHDL有限状态机的代码如下:
   

[page]

  
   

[page]

3 仿真验证
    QuartusⅡ是Altera公司推出的集成开发软件,使用QuartusⅡ可以完成从设计输入、综合适配、仿真到编程下载整个设计过程,Quart usⅡ也可以直接调用Synplify Pro、以及ModelSim等第3方EDA工具来完成设计任务的综合和仿真。
    文中利用QuartusⅡ9.0版本软件和Cyclone系列EP1C6Q240C6芯片对所设计的MTM总线主模块状态机的VHDL代码进行了时序仿真和功能仿真,分别如图4、图5所示。


    通过波形图可以观察到,该状态机可以很好的实现主状态机的状态转换。当M1输入为“0”时(此时M2、M3为无关状态),MTM总线主模块按照从高到低进行消息传送,直到进入“PAUSE”(暂停状态)然后状态回到“xfer16”(S16)继续进行消息传送;当M1输入为“1”时,主模块无条件进入“waiting”(等待状态);在主模块处于“waiting”状态时若M3输入为“1”状态转入“idle”(空闲状态)再次由高到低位的消息传送。


    使用VHDL语言描述,语法更为严谨,描述更为清晰简洁;采用“单进程”式状态机描述可以有效地节省FPGA芯片的资源(表1),从而进一步减少功耗,提高系统的稳定性。

4 结束语
    文中通过研究MTM总线的基本结构和主从模块间的通讯协议,分析了主状态机的状态转换,并使用VHDL语言设计了该有限状态机,并使用QuartusⅡ开发软件对该状态机进行了仿真和验证,仿真结果表明该程序可以正确描述主状态机的状态转换,该有限状态机使用“单进程”式描述,与“三进程”和“双进程”式相比程序简洁明了并且能够有效地节省资源,减少功耗,提高系统的稳定性。

关键字:VHDL  MTM总线  有限状态机  主控制模块 引用地址:基于VHDL的MTM总线主模块有限状态机设计

上一篇:提高气体压力传感器系统适应工业现场的能力方案
下一篇:基于ColdFire的PROFIBUS-DP智能从站的设计

推荐阅读最新更新时间:2024-05-02 22:09

基于Multisim的VHDL建模与仿真
    随着电子技术的不断发展与进步,电子系统的设计方法发生了很大的变化,基于EDA技术的设计方法正在成为电子系统设计的主流,利用EDA语言编程技术已成为许多高校电类专业学生必须掌握的一门重要技术。NI公司推出的Multisim电子电路仿真软件有丰富元件库、元件品种齐全、具有强大的仿真分析能力,模拟仿真效果接近实际等优点。Multisim具有VHDL仿真功能,除了可以直接对VHDL程序编译波形仿真外,还可以进行VHDL电路模块的设计仿真。随着计算机软件技术的快速发展,电路仿真软件的种类和功能越来越强大,使用VHDL硬件描述语言是当前电子电路设计非常重要的一部分。但是当前使用的仿真软件只能进行波形仿真,如果没有相应的硬件设备仿真效果不
[电源管理]
基于Multisim的<font color='red'>VHDL</font>建模与仿真
一种用VHDL设计实现的有线电视机顶盒信源发生方案
VHDL是随着可编辑逻辑器件(PLD)的发展而发展起来的一种硬件描述语言。它是1980年美国国防部VHSIC(超高速集成电路)计划的一部分,并于1986年和1987年分别成为美国国防部和IEEE的工业标准。作为一种硬件设计时采用的标准语言,VHDL具有极强的描述能力,能支持系统行为级、寄存器传输级和门级三个不同层次的设计,这样设计师将在TOP-DOWN设计的全过程中均可方便地使用同一种语言。而且,VHDL设计是一种“概念驱动式”的高层设计技术,设计人员毋需通过门级原理图描述电路,而是针对目标进行功能描述,由于摆脱了电路细节的束缚,设计人员可以专心于设计方案和构思上,因此设计工作省时省力,加快了设计周期,并且工艺转换变得轻松。VHDL
[嵌入式]
VHDL语言在CPLD上实现串行通信
引言 随着EDA技术得发展,CPLD已经在许多方面得到了广泛应用,而串行通信是实现远程测控的重要手段。本文利用VHDL语言在CPLD上实现了串行通信,完全可以脱离单片机使用,克服了单片机的许多缺点。 串口结构及内容 本设计所采用的是异步通信方式,可以规定传输的一个数据是10位,其中最低位为启动位(逻辑0低电平),最高位为停止位(逻辑1高电平),中间8位是数据位。为了方便对数据进行正确控制,选取发送(接受)每位数据用4个时钟周期。为了能够达到串行通信的波特率,例如4800B/s,则需把时钟频率设为 19.2kHz。系统结构如图1所示: 图1 系统原理 首先介绍串行通信发送器的工作原理。6位计数器用于
[应用]
基于VHDL的直流电机控制功能模块设计
    随着社会的发展,直流电机的应用越来越普遍,对直流电机控制方式的要求也不断提高。本文利用ALTERA公司最新开发的SOPC解决方案,提出了基于NiosII软核处理器的直流电机功能模块的设计方案,给出了VHDL代码生成功能模块IP核。IP核的生成,不仅方便设计者灵活使用,节省资源,也大大缩短了设计周期。设计者可以根据需要直接调用IP核来组成NiosII系统,然后将此系统下载到FPGA中实现。IP核不仅可以用在电机控制中,还可以用来控制其它一些小型家电,全彩LED等,具有广阔的应用前景。 1 直流电机总体硬件设计     如图1所示,系统整体由FPGA芯片控制,其控制核心为ALTERA公司的NiosII软核CPU,本文将着重介绍图
[电源管理]
基于<font color='red'>VHDL</font>的直流电机控制功能模块设计
单片机多机冗余设计及控制模块VHDL语言描述
    摘要: 以三个单片机组成的系统为例介绍一种单片机多机冗余容错设计。阐述设计中关键的时钟同步技术和总线仲裁方法,给出控制模块的VHDL语言描述。     关键词: 单片机 冗余容错 时钟 总线 VHDL 本文提出一种表决式单片机多机冗余设计方案。该方案不同于中央系统的多机冗余设计。大规模系统冗余大多采用完善而复杂的机间通讯协议实现系统重构,不太注重系统的实时性。本方案结构简单,易于实现,具有极强的实时性,没有电子开关切换总线的咔嗒声输出。单片机价格低廉、功能灵活,也使得该设计在类似仪器仪表的小系统中的运用成为可能。 1 设计原理 设计结构如图1所示。完成整个冗余设计的电路被置于一个核心控制模块中
[半导体设计/制造]
采用VHDL设计的全数字锁相环电路设计
叙述了全数字锁相环的工作原理,提出了应用VHDL 技术设计全数字锁相环的方法,并用复杂可编程逻辑器件CPLD 予以实现,给出了系统主要模块的设计过程和仿真结果。 0  引言 全数字锁相环(DPLL) 由于避免了 模拟 锁相环存在的温度漂移和易受电压变化影响等缺点。从而具备可靠性高、工作稳定、调节方便等优点。在调制解调、频率合成、FM立体声解码、图像处理等各个方面得到广泛的应用。随着 电子 设计自动化(EDA) 技术的发展,采用大规模可编程逻辑器件(如CPLD 或 FPGA ) 和VHDL 语言来设计专用芯片ASIC 和数字系统,而且可以把整个系统集成到一个芯片中,实现系统SOC ,构成片内锁相环。下面介绍采用VHDL技术设计D
[模拟电子]
基于FPGA的多按键状态识别系统设计方案
1 引言 按键作为普通的输入外设,在仪器仪表工业设备和家用电器中得到广泛应用。目前,按键输入电路Ⅲ主要有2种:一种是非扫描方式可以判断多键状态(允许多键同时动作),但是不适用于大量按键情况,所需I/0端口多;另一种是扫描阵列方式,适用于大量按键,但不能多键同时动作。因此,需要开发一种既适合大量按键又适合多键同时动作,并能节省单片机(MCU)的口线资源的多按键状态识别系统。这里提出一种利用FPGA的I/0端口数多和可编程的特点,采用VHDL语言的多按键状态识别系统,实现识别60个按键自由操作,并简化MCU的控制信号。 2 系统设计方案 FPGA是一种可编程逻辑器件,它具有良好性能、极高的密度和极大的灵活性,外围电路简单可靠等特
[嵌入式]
基于FPGA的多按键状态识别系统设计方案
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved