状态机实现对串行数据的检测的实验原理是啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了状态机实现对串行数据的检测的实验原理是啥相关的知识,希望对你有一定的参考价值。

实验原理与设计过程
(一)实验内容: 序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信
号,当序列检测器连续收到一组串行二进制码后, 如果这组码与检测器中预先设置的码
相同,则输出 A,否则输出 b。由于这种检测的关键在于正确码的收到必须是连续的,
这就要求检测器必须记住前一次的正确码及正确序列, 直到在连续的检测中所收到的每
一位码都与预置数的对应码相同。 在检测过程中, 任何一位不相等都将回到初始状态重
新开始检测。 例 3-1 描述的电路完成对序列数 "11100101" 的。当这一串序列数高位在前
(左移)串行进入检测器后,若此数与预置的密码数相同,则输出“ A”,否则仍然输出
“ b”。
(二)本次实验的核心是: 应用有限状态机的设计思路, 检测输入的串行数据是否
是 8’b11100101。根据下载电路板的资源,拟用 SW3---SW0, J4 接口的 E8,F8,C7,D7
作为系统输入(系统由此需要设计一个 8bits 并行数据转串行的模块) ,一个 7 段数码
显示译码器作为检测结果的输出显示,如果串行序列为” 11100101”,显示 A,否则显
示 b(系统需要设计一个 7 段数码显示译码器模块) ,为了显示可控, 清晰,拟用 V16,D18
实现时钟,复位信号的输入。
(三)设计参考: 本实验由顶层文件、 串行检测、并行数据转串行、 数码管显示四个模块组成:

1

a) 系统共包括 4 个模块: 并行数据转串行数据模块、 串行检测模块、 数码管显示
模块、 消抖模块。由于需要用按键 V16 作为时钟输入,为保证实验效果,调用实验二中
应用的消抖模块,对时钟 clk 输入信号进行消抖。
对于并行数据转串行数据模块输入输出端口说明:
clk----- 系统时钟,由按键 V16 通过消抖模块后提供。
din8-----8bits输入数据,需在时钟控制下,串行输出。
iii. reset---- 系统复位信号,当 reset=1 ’ b1 时,系统输出复位,否则
系统正常工作。
iv. din----------1bit 输出信号。
该并行模块的设计如下:
module xulie_u1(clk,din8,reset,din );
input clk;
input[7:0] din8;
input reset;
output din;
parameter
s0 = 3'b000,
s1 = 3'b001,
s2 = 3'b
参考技术A 串口通信(SerialCommunicaTIons)的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。典型地,串口用于ASCII码字符的传输。通信使用3根线完成,分别是地线、发送、接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配。

以上是关于状态机实现对串行数据的检测的实验原理是啥的主要内容,如果未能解决你的问题,请参考以下文章

FPGA 串口通信

数字IC设计——用Verilog实现序列检测器(有限状态机FSM)

空间数据库原理A04_CentOS虚拟机快照使用

keepalived结合nginx状态检测脚本实现对web服务器集群的高可用

游戏状态机的设计与实现

fpga至简设计法四段式状态及原理是啥?