谁来给我解释一下这个曼彻斯特编码程序(vhdl的)0

entitymeisport(rst,clk16x,wrn:instd_logic;din:instd_logic_vector(7downto0);tbre:outstd_logic;mdo:outstd_logic);endme;architecturev1ofmeissignalclk1x:std_logic;signalclk1x... entity me is

port (rst,clk16x,wrn : in std_logic ;

din : in std_logic_vector (7 downto 0) ;

tbre : out std_logic ;

mdo : out std_logic

) ;

end me ;

architecture v1 of me is

signal clk1x : std_logic ;

signal clk1x_enable : std_logic ;

signal clkdiv : std_logic_vector (3 downto 0) ;

signal tsr : std_logic_vector (7 downto 0) ;

signal tbr : std_logic_vector (7 downto 0) ;

signal parity : std_logic ;

signal no_bits_sent : std_logic_vector (3 downto 0) ;

signal wrn1 : std_logic ;

signal wrn2 : std_logic ;

signal clk1x_disable : std_logic ;

begin

process (rst,clk16x,wrn,wrn1,wrn2)

begin

if rst = '1' then

wrn2 <= '1' ;

wrn1 <= '1' ;

elsif clk16x'event and clk16x = '1' then

wrn2 <= wrn1 ;

wrn1 <= wrn ;

end if ;

end process ;

process (rst,clk16x,wrn1,wrn2,no_bits_sent)

begin

if rst = '1' or std_logic_vector(no_bits_sent) = "1010" then

clk1x_enable <= '0' ;

elsif clk16x'event and clk16x = '1' then

if (wrn1 = '1' and wrn2 = '0') then

clk1x_enable <= '1' ;

elsif std_logic_vector(no_bits_sent) = "1001" then

clk1x_enable <= '0' ;

end if ;

end if ;

end process ;

process (rst,clk16x,wrn1,wrn2,no_bits_sent)

begin

if rst = '1' then

tbre <= '1' ;

elsif clk16x'event and clk16x = '1' then

if (wrn1 = '1' and wrn2 = '0') then

tbre <= '0' ;

elsif (std_logic_vector(no_bits_sent) = "0010") then

tbre <= '1' ;

else

tbre <= '0' ;

end if ;

end if ;

end process ;

process (rst,clk16x,wrn1,wrn2)

begin

if rst = '1' then

tbr <= "00000000" ;

elsif clk16x'event and clk16x = '0' then

if wrn1 = '1' and wrn2 = '0' then

tbr <= din ;

end if ;

end if ;

end process ;

process (rst,clk16x,clkdiv,clk1x_enable)

begin

if rst = '1' then

clkdiv <= "0000" ;

elsif clk16x'event and clk16x = '1' then

if clk1x_enable = '1' then

clkdiv <= clkdiv + "0001" ;

end if ;

end if ;

end process ;

clk1x <= clkdiv(3) ;

process (rst,clk1x,no_bits_sent,tsr)

begin

if rst = '1' then

tsr <= "00000000" ;

elsif clk1x'event and clk1x = '1' then

if std_logic_vector(no_bits_sent) = "0001" then

tsr <= tbr ;

elsif std_logic_vector(no_bits_sent) >= "0010" and std_logic_vector(no_bits_sent) <= "1010" then

tsr <= tsr(6 downto 0) & '0' ;

else

tsr <= tsr ;

end if ;

end if ;

end process ;

mdo <= tsr(7) xor clk1x ;

process (rst,clk1x,tsr(7))

begin

if rst = '1' then

parity <= '0' ;

elsif clk1x'event and clk1x = '1' then

parity <= parity xor tsr(7) ;

end if ;

end process ;

process (clk1x,rst,clk1x_disable,clk1x_enable,no_bits_sent)

begin

if rst = '1' or clk1x_disable = '1' then

no_bits_sent <= "0000" ;

elsif clk1x'event and clk1x = '1' then

if clk1x_enable = '1' then

no_bits_sent <= no_bits_sent + "0001" ;

end if ;

end if ;

end process ;

clk1x_disable <= not clk1x_enable ;

end ;

我主要是想知道的是各个量的作用 展开

差分曼彻斯特编码c语言,谁来给我解释一下这个曼彻斯特编码程序(vhdl的)相关推荐

  1. 曼彻斯特编码 c语言,简单的曼彻斯特编码的C语言实现

    使用C语言,实现基本的曼彻斯特编码 简单的曼彻斯特编码的C语言实现 曼彻斯特编码是减小信号交流分量,实现固定信号占空比的基本方法. 用C语言实现如下: #include #define uint8_t ...

  2. 曼彻斯特编码 C语言 解码程序

    1.理解曼彻斯特编码,重点上图片 一个周期内上升沿标识"1",下降沿标识 "0" 曼彻斯特编码64位 =  9个"1"开始 + 10*(4个 ...

  3. 计算机网络---非归零码、曼彻斯特编码和差分曼彻斯特编码

    题目: 在数据通信技术中,将利用模拟信道通过调制解调器传输模拟信号的方法称为频带传输:将利用数字信道直接传输数字信号的方法称为基带传输. 基带传输中,数字信号的编码方式主要有三种:非归零码.曼彻斯特编 ...

  4. 【曼彻斯特编码/差分曼彻斯特编码】

    曼彻斯特编码/差分曼彻斯特编码_walker snapshot的技术博客_51CTO博客_曼彻斯特编码详解

  5. c语言ae16进制转换,进制转换工具下载_16进制2进制转换with曼彻斯特编码 1.3 免费版_极速下载站_软件下载...

    16进制2进制转换with曼彻斯特编码是一款简单易用的转换工具,可以对16进制.2进制.曼彻斯特算法.10进制等进行互转,支持802.3曼彻斯特.标准曼彻斯特.差分三种转换模式,支持曼彻斯特编码每8位 ...

  6. CN_@物理层@信噪比@分贝单位@奈奎斯特定理@香农公式@常用编码方式(曼彻斯特编码/差分曼彻斯特编码)波形图

    文章目录 CN_@信噪比@分贝单位@奈奎斯特定理@香农公式@常用编码方式(曼彻斯特编码/差分曼彻斯特编码)波形图 通信基础概念 数据 (data) 信号 (signal) 基带信号 模拟信号 (ana ...

  7. 计算机网络.第二节课.笔记.奈氏准则、香农公式、差分曼彻斯特编码、曼彻斯特码、单工通信、半双工通信、双工通信、码元

    物理层 特性 描述 机械特性 硬件生产规格 电气特性 各个线上的电压范围 功能特性 某一线上的某一电平的电压的意义 过程特性 各种可能事件的发生顺序 数据通信 通信的目答是传送消息,数据是运送消息的实 ...

  8. 数据通信基础 - 数据编码(曼彻斯特编码 和 差分曼彻斯特编码)

    文章目录 1 概述 2 常见编码方案 2.1 曼彻斯特编码 和 差分曼彻斯特编码 2.2 4B/5B 编码 2.3 各种编码效率 3 扩展 3.1 单极性码 和 极性码 3.2 双极性码 3.3 归零 ...

  9. 曼彻斯特编码,差分曼彻斯特编码和NRZI编码

    曼彻斯特编码 曼彻斯特编码(Manchester Encoding),也叫做相位编码( Phase Encode,简写PE),是一个同步时钟编码技术,被物理层使用来编码一个同步位流的时钟和数据. 在曼 ...

最新文章

  1. #中regex的命名空间_Python空间分析||geopandas安装与基本使用
  2. extern用法汇总
  3. GPUImage滤镜之锐化
  4. 工具在软件过程改进中的重要作用
  5. linux下JNI的demo
  6. JavaScript实现degreeToRadian度到弧度算法(附完整源码)
  7. python游戏开发步骤_详解Python GUI版24点游戏制作过程
  8. java环境变量的配置步骤,实现原理分析
  9. Leetcode--300. 最长上升子序列
  10. mysql跟memcache的区别_MySQL-mysql Memory Storage Engine 和memcache到底有何不同?各自的优缺点是什么?...
  11. Linux文件夹设置共享
  12. 弱监督学习综述-周志华(ML论文阅读笔记1)
  13. 推荐一款绘画软件krita,开源正版免费,适合ps用户
  14. 华为s2600t java_华为S2600T------v1版本
  15. iTunes出现提示“iTunes不能读取iPhone的内容,请前往iPhone偏好设置的摘要选项卡,然后点击“恢复”以将此iPhone恢复为出厂设置。”
  16. 高版本SDK编译生成的apk放入低版本android源码中集成编译
  17. 计算机保研面试之机器学习
  18. 2019JAVA面试题附答案
  19. C#海康摄像机SDK二次开发
  20. 2012蓝桥杯C++本科 取球游戏

热门文章

  1. 世界上最好的十把军刀!
  2. nginx入门、了解
  3. 对祖国表白、对喜欢的人表白,太程序猿啦~~
  4. 1-photoshop--修改图片内容--填充的使用
  5. 第08章_面向对象编程(高级)
  6. 不小心关闭了Windows资源管理器问题的解决方法
  7. 打印机启用双向支持的意思
  8. “花朵分类“ 手把手搭建【卷积神经网络】
  9. JavaScript中的onchange、oninput以及onpropertychange
  10. 干货分享|纯CSS绘制电池充电水波纹动效(uni-app|view组件版)