当前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]
主控制模块设计如图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Ⅱ开发软件对该状态机进行了仿真和验证,仿真结果表明该程序可以正确描述主状态机的状态转换,该有限状态机使用“单进程”式描述,与“三进程”和“双进程”式相比程序简洁明了并且能够有效地节省资源,减少功耗,提高系统的稳定性。
上一篇:提高气体压力传感器系统适应工业现场的能力方案
下一篇:基于ColdFire的PROFIBUS-DP智能从站的设计
推荐阅读最新更新时间:2024-05-02 22:09
- 热门资源推荐
- 热门放大器推荐
- 电子技术基础数字部分(第七版) 习题辅导与解答 (罗杰 秦臻)
- 深度学习核心技术与实践 (猿辅导研究团队)
- 数字逻辑与数字系统 (李景宏 王永军 等编著)
- Altium Designer(Protel)原理图与PCB设计教程
An error occurred.
Sorry, the page you are looking for is currently unavailable.
Please try again later.
If you are the system administrator of this resource then you should check the error log for details.
Faithfully yours, OpenResty.
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况