差分曼彻斯特编码c语言,谁来给我解释一下这个曼彻斯特编码程序(vhdl的)
谁来给我解释一下这个曼彻斯特编码程序(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的)相关推荐
- 曼彻斯特编码 c语言,简单的曼彻斯特编码的C语言实现
使用C语言,实现基本的曼彻斯特编码 简单的曼彻斯特编码的C语言实现 曼彻斯特编码是减小信号交流分量,实现固定信号占空比的基本方法. 用C语言实现如下: #include #define uint8_t ...
- 曼彻斯特编码 C语言 解码程序
1.理解曼彻斯特编码,重点上图片 一个周期内上升沿标识"1",下降沿标识 "0" 曼彻斯特编码64位 = 9个"1"开始 + 10*(4个 ...
- 计算机网络---非归零码、曼彻斯特编码和差分曼彻斯特编码
题目: 在数据通信技术中,将利用模拟信道通过调制解调器传输模拟信号的方法称为频带传输:将利用数字信道直接传输数字信号的方法称为基带传输. 基带传输中,数字信号的编码方式主要有三种:非归零码.曼彻斯特编 ...
- 【曼彻斯特编码/差分曼彻斯特编码】
曼彻斯特编码/差分曼彻斯特编码_walker snapshot的技术博客_51CTO博客_曼彻斯特编码详解
- c语言ae16进制转换,进制转换工具下载_16进制2进制转换with曼彻斯特编码 1.3 免费版_极速下载站_软件下载...
16进制2进制转换with曼彻斯特编码是一款简单易用的转换工具,可以对16进制.2进制.曼彻斯特算法.10进制等进行互转,支持802.3曼彻斯特.标准曼彻斯特.差分三种转换模式,支持曼彻斯特编码每8位 ...
- CN_@物理层@信噪比@分贝单位@奈奎斯特定理@香农公式@常用编码方式(曼彻斯特编码/差分曼彻斯特编码)波形图
文章目录 CN_@信噪比@分贝单位@奈奎斯特定理@香农公式@常用编码方式(曼彻斯特编码/差分曼彻斯特编码)波形图 通信基础概念 数据 (data) 信号 (signal) 基带信号 模拟信号 (ana ...
- 计算机网络.第二节课.笔记.奈氏准则、香农公式、差分曼彻斯特编码、曼彻斯特码、单工通信、半双工通信、双工通信、码元
物理层 特性 描述 机械特性 硬件生产规格 电气特性 各个线上的电压范围 功能特性 某一线上的某一电平的电压的意义 过程特性 各种可能事件的发生顺序 数据通信 通信的目答是传送消息,数据是运送消息的实 ...
- 数据通信基础 - 数据编码(曼彻斯特编码 和 差分曼彻斯特编码)
文章目录 1 概述 2 常见编码方案 2.1 曼彻斯特编码 和 差分曼彻斯特编码 2.2 4B/5B 编码 2.3 各种编码效率 3 扩展 3.1 单极性码 和 极性码 3.2 双极性码 3.3 归零 ...
- 曼彻斯特编码,差分曼彻斯特编码和NRZI编码
曼彻斯特编码 曼彻斯特编码(Manchester Encoding),也叫做相位编码( Phase Encode,简写PE),是一个同步时钟编码技术,被物理层使用来编码一个同步位流的时钟和数据. 在曼 ...
最新文章
- #中regex的命名空间_Python空间分析||geopandas安装与基本使用
- extern用法汇总
- GPUImage滤镜之锐化
- 工具在软件过程改进中的重要作用
- linux下JNI的demo
- JavaScript实现degreeToRadian度到弧度算法(附完整源码)
- python游戏开发步骤_详解Python GUI版24点游戏制作过程
- java环境变量的配置步骤,实现原理分析
- Leetcode--300. 最长上升子序列
- mysql跟memcache的区别_MySQL-mysql Memory Storage Engine 和memcache到底有何不同?各自的优缺点是什么?...
- Linux文件夹设置共享
- 弱监督学习综述-周志华(ML论文阅读笔记1)
- 推荐一款绘画软件krita,开源正版免费,适合ps用户
- 华为s2600t java_华为S2600T------v1版本
- iTunes出现提示“iTunes不能读取iPhone的内容,请前往iPhone偏好设置的摘要选项卡,然后点击“恢复”以将此iPhone恢复为出厂设置。”
- 高版本SDK编译生成的apk放入低版本android源码中集成编译
- 计算机保研面试之机器学习
- 2019JAVA面试题附答案
- C#海康摄像机SDK二次开发
- 2012蓝桥杯C++本科 取球游戏
热门文章
- 世界上最好的十把军刀!
- nginx入门、了解
- 对祖国表白、对喜欢的人表白,太程序猿啦~~
- 1-photoshop--修改图片内容--填充的使用
- 第08章_面向对象编程(高级)
- 不小心关闭了Windows资源管理器问题的解决方法
- 打印机启用双向支持的意思
- “花朵分类“ 手把手搭建【卷积神经网络】
- JavaScript中的onchange、oninput以及onpropertychange
- 干货分享|纯CSS绘制电池充电水波纹动效(uni-app|view组件版)