精华内容
下载资源
问答
  • 在设置启动位后数据串行输出。输出的是正负脉冲,即高电平通过一个外部管脚输出,低点平通过另外一个管脚输出。再配合相应的外部电路,就可以输出正负极性的脉冲了。还附有原理图,很超值的!!!
  •  A/D转换器是一种数据采集中常用的模拟-数字信号转换元件,按转换原理可以分为逐次逼近型、双积分型等;按接口方式可分为串行并行接口类型;按分辨率又可分为8、12、14、16、18等多种类型。转换时间是A/D转换应用...
  •  A/D转换器是一种数据采集中常用的模拟-数字信号转换元件,按转换原理可以分为逐次逼近型、双积分型等;按接口方式可分为串行并行接口类型;按分辨率又可分为8、12、14、16、18等多种类型。转换时间是A/D转换应用...
  • 说明:无意中看到了一些博客上的数据串并转换,逻辑上基本都能实现,但绝大部分都不能用,连基本的信号使能、时序打拍都没有,信号命名也很随便,就简单的实现了移位寄存器,直接复用的价值几乎零,所以才有了我...

    代码:

    module bit1_bit4(
        input    clk_50M_i,
    	input    rst_n_i,
    	
    	input    data_i,
    	input    data_en_i,
    	
    	output   [3:0]data_o,
    	output   data_en_o
    );
    reg  data_i_tmp1;
    reg  data_i_tmp2;
    reg  data_en_i_tmp1;
    reg  data_en_i_tmp2;
    
    reg  [3:0]data_o_tmp;
    reg       data_en_o_tmp; 
    reg  [3:0]cnt; 
    
    always@(posedge clk_50M_i or negedge rst_n_i)
    	if(!rst_n_i)begin
    	    data_i_tmp1    <= 1'b0;
    	    data_i_tmp2    <= 1'b0;
    		data_en_i_tmp1 <= 1'b0;
    		data_en_i_tmp2 <= 1'b0;
    	end
    	else begin 
    	    data_i_tmp1    <= data_i;
    		data_i_tmp2    <= data_i_tmp1;
    		data_en_i_tmp1 <= data_en_i;
    		data_en_i_tmp2 <= data_en_i_tmp1;
    	end
    always@(posedge clk_50M_i or negedge rst_n_i)
    	if(!rst_n_i)
    	    data_o_tmp <= 4'b0;
    	else if(data_en_i_tmp2)
    	    data_o_tmp <= {data_o_tmp[2:0],data_i_tmp2};
    	else
    	    data_o_tmp <= 4'b0;
    always@(posedge clk_50M_i or negedge rst_n_i)
        if(!rst_n_i)
    	    cnt <= 4'b0;
    	else if(data_en_i_tmp2)
    	    cnt <= cnt + 1'b1;
    	else
    	    cnt <= 4'b0;
    always@(posedge clk_50M_i or negedge rst_n_i)
    	if(!rst_n_i)
    	    data_en_o_tmp <= 1'b0;
    	else if(cnt == 4-1)
    	    data_en_o_tmp <= 1'b1;
    	else
    	    data_en_o_tmp <= 1'b0;
    
    assign  data_o = data_o_tmp;	
    assign  data_en_o = data_en_o_tmp; 	 
    endmodule
    
    
    
    
    
    

    测试:

    `timescale 1ns/1ns
    
    module  bit1_bit4_tb();
    
    parameter  clk_period = 20;
    
    reg    clk_50M_i;
    reg    rst_n_i;
    reg    data_i;
    reg    data_en_i;
    
    initial begin
        clk_50M_i    = 1'b0;
        rst_n_i      = 1'b0;
    	data_i       = 1'b0;
    	data_en_i    = 1'b0;
    	
        #100
    	rst_n_i = 1'b1;
    	   
    	#200
    	
        #clk_period data_i = 1'b1; data_en_i = 1'b1;
    	#clk_period data_i = 1'b1;
    	#clk_period data_i = 1'b0;
    	#clk_period data_i = 1'b1;
    	#clk_period                data_en_i = 1'b0;
    	
    	#200
    	#clk_period data_i = 1'b0; data_en_i = 1'b1;
    	#clk_period data_i = 1'b1;
    	#clk_period data_i = 1'b1;
    	#clk_period data_i = 1'b0;
    	#clk_period                data_en_i = 1'b0;
    	
    	#200
    	#clk_period data_i = 1'b1; data_en_i = 1'b1;
    	#clk_period data_i = 1'b1;
    	#clk_period data_i = 1'b1;
    	#clk_period data_i = 1'b0;
    	#clk_period                data_en_i = 1'b0;
    	
    	#200
    	#clk_period data_i = 1'b0; data_en_i = 1'b1;
    	#clk_period data_i = 1'b0;
    	#clk_period data_i = 1'b0;
    	#clk_period data_i = 1'b1;
    	#clk_period                data_en_i = 1'b0;
    	
    	#200
    	#clk_period data_i = 1'b1; data_en_i = 1'b1;
    	#clk_period data_i = 1'b0;
    	#clk_period data_i = 1'b0;
    	#clk_period data_i = 1'b0;
    	#clk_period                data_en_i = 1'b0;
    	
    end
    
    always #(clk_period/2) clk_50M_i = ~clk_50M_i;
    
    bit1_bit4  bit1_bit4_inst(
        .clk_50M_i(clk_50M_i),
    	.rst_n_i(rst_n_i),
    	
    	.data_i(data_i),
    	.data_en_i(data_en_i),
    	
    	.data_o(),
    	.data_en_o()
    );
    
    
    endmodule
    

    仿真截图:
    在这里插入图片描述

    说明:无意中看到了一些博客上的数据串并转换,逻辑上基本都能实现,但绝大部分都不能用,连基本的信号使能、时序打拍都没有,信号命名也很随便,就简单的实现了移位寄存器,直接复用的价值几乎为零,所以才有了我这两篇博客的诞生。时间比较赶,后面有时间会再优化一下,希望提供一种规范化的实用代码思路大家一起学习

    展开全文
  • 并行数据串行数据模块的设计

    千次阅读 2017-11-14 19:08:59
    通信协议 scl不断输出的时钟信号,如果scl高电平时,sda由高变低,穿行数据流开始;...sda信号的数据值必须在scl高电平之间稳定,在scl低电平时才可以改变,否则的话,立即就结束了串行数据转换

    通信协议
    scl为不断输出的时钟信号,如果scl为高电平时,sda由高变低,穿行数据流开始;如果scl为高电平,sda由低变高,串行数据结束。sda信号的数据值必须在scl高电平之间稳定,在scl低电平时才可以改变,否则的话,立即就结束了串行数据的转换。

    展开全文
  • //进来的数据和使能打两拍同步一下 always@(posedge clk_50M_i or negedge rst_n_i) if(!rst_n_i)begin data_i_tmp1 ; data_i_tmp2 ; data_en_tmp1 ; data_en_tmp2 ; end else begin data_i_tmp1 ; ...

    Verilog代码:

    module bit4_bit1(
        input    clk_50M_i,
    	input    rst_n_i,
    	
    	input    [3:0]data_i,
    	input    data_en_i,
    	
    	output   data_o,
    	output   data_en_o
    );
    
    reg    [3:0]data_i_tmp1;
    reg    [3:0]data_i_tmp2;
    reg    [3:0]data_i_valid;
    reg         data_en_tmp1;
    reg         data_en_tmp2;
    
    reg    [3:0]cnt;
    
    reg  data_o_tmp;
    reg  data_en_o_tmp;
    //进来的数据和使能打两拍同步一下
    always@(posedge clk_50M_i or negedge rst_n_i)
    	if(!rst_n_i)begin
    	    data_i_tmp1    <= 4'b0;
    		data_i_tmp2    <= 4'b0;
    		data_en_tmp1   <= 1'b0;
    		data_en_tmp2   <= 1'b0;
    	end
    	else  begin
    	    data_i_tmp1    <= data_i;
    		data_i_tmp2    <= data_i_tmp1;
    		data_en_tmp1   <= data_en_i;
    		data_en_tmp2   <= data_en_tmp1;
        end
    always@(posedge clk_50M_i or negedge rst_n_i)
    	if(!rst_n_i)
    	    data_i_valid <= 4'b0;
    	else if(data_en_tmp2)
    	    data_i_valid <= data_i_tmp2;
    	else
    	    data_i_valid <= data_i_valid;
    always@(posedge clk_50M_i or negedge rst_n_i)
    	if(!rst_n_i)
    	    cnt <= 4'b0;
    	else if(data_en_tmp2 || (cnt>0&&cnt<4))
    	    cnt <= cnt + 1'b1;
    	else 
    	    cnt <= 4'b0;
    		
    always@(posedge clk_50M_i or negedge rst_n_i)
    	if(!rst_n_i)
    	    data_o_tmp <= 1'b0;
    	else if(cnt!=0)
    	    data_o_tmp <= data_i_valid[4-cnt];
    	else
    	    data_o_tmp <= 1'b0;
    always@(posedge clk_50M_i or negedge rst_n_i)
        if(!rst_n_i)
    	    data_en_o_tmp <= 1'b0;
    	else if(cnt!=0)
    	    data_en_o_tmp <= 1'b1;
    	else
    	    data_en_o_tmp <= 1'b0;
    	
    assign  data_o = data_o_tmp;
    assign  data_en_o = data_en_o_tmp;
    endmodule
    

    测试文件:

    `timescale 1ns/1ns
    
    module  bit4_bit1_tb();
    
    parameter  clk_period = 20;
    
    reg    clk_50M_i;
    reg    rst_n_i;
    reg    [3:0]data_i;
    reg    data_en_i;
    
    
    
    initial begin
            clk_50M_i = 1'b0;
            rst_n_i   = 1'b0;
    	data_i = 4'b0000;
            data_en_i = 1'b0;
    	
            #100
    	rst_n_i = 1'b1;
    	
    	#200
    	data_i = 4'b0001;
            data_en_i = 1'b1;
            #clk_period  data_en_i = 1'b0;
    
    	#200
    	data_i = 4'b0010;        
            data_en_i = 1'b1;
            #clk_period  data_en_i = 1'b0;
    
    	#200
    	data_i = 4'b0011;
            data_en_i = 1'b1;
            #clk_period  data_en_i = 1'b0;
     
    	#200
    	data_i = 4'b0100;
            data_en_i = 1'b1;
            #clk_period  data_en_i = 1'b0;
    
    	#200
    	data_i = 4'b0101;
            data_en_i = 1'b1;
            #clk_period  data_en_i = 1'b0;
    
    	#200
    	data_i = 4'b0110;
            data_en_i = 1'b1;
            #clk_period  data_en_i = 1'b0;
    
    	#200
    	data_i = 4'b0111;
             data_en_i = 1'b1;
            #clk_period  data_en_i = 1'b0;
    
    	#200
    	data_i = 4'b1000;
            data_en_i = 1'b1;
            #clk_period  data_en_i = 1'b0;
    	
    	#500
    	data_i = 4'b0;
    end
    
    always #(clk_period/2) clk_50M_i = ~clk_50M_i;
    
    bit4_bit1  bit4_bit1_inst(
        .clk_50M_i(clk_50M_i),
    	.rst_n_i(rst_n_i),
    	
    	.data_i(data_i),
    	.data_en_i(data_en_i),
    	
    	.data_o(),
        .data_en_o()
    );
    
    endmodule
    

    仿真截图:
    在这里插入图片描述

    展开全文
  • 注 : 文中讲述的原理是推理和探讨 , 和现实中的实现不一定完全相同 。 开始之前, 可以先参考看看我之前写的两篇文章 : 《设计一个 硬件 实现的 Dictionary(字典)》...

    注 :  文中讲述的原理是推理和探讨 , 和现实中的实现不一定完全相同 。

     

    开始之前, 可以先参考看看我之前写的两篇文章 :

    《设计一个 硬件 实现的 Dictionary(字典)》  https://www.cnblogs.com/KSongKing/p/10193128.html

    《漫谈 计算机硬件 的 设计 和 实现》  https://www.cnblogs.com/KSongKing/p/9866334.html

     

    串行信号 是 脉冲信号 ,

    我们要 引入一个 “双稳态开关”, 或者说 “双稳态门”  来 处理 串行信号 。

     

    双稳态开关, 技术上 是一个 双稳态电路, 不过 我们 先不关心 具体的技术实现, 我们先从 逻辑层面 来看待 。

    所以, 我们提出一个 “双稳态开关”, 又称 “双稳态门” 的 概念 。

     

    双稳态门 如下图 :

     

    双稳态门 有一个 输入端 和 一个 输出端, 为了容易区分, 我们用 箭头 来表示 输入端  输出端  。

    输入端 输入 1 时, 输出端 输出 1, 输入端 的 输入 是一个 脉冲信号, 即 脉冲 结束后, 无输入的状态下, 输出端 可以 保持 输出 1 的 状态 。

    输入端 输入 0 时, 输出端 输出 0, 输入端 的 输入 是一个 脉冲信号, 即 脉冲 结束后, 无输入的状态下, 输出端 可以 保持 输出 1 的 状态 。

     

    为了 区别 0 和 “无输入” 的 状态, 技术上, 采用 高电平(高电压) 表示 1, 低电平(低电压) 表示 0,  无电压 表示 无输入 。

     

    我们 可以 看一下 脉冲信号 的 波形图 :

     

    如果要发送 一个内容是  “1001”  的 串行信号, 则 波形图 如下 : 

      

     

    好的, 接下来, 我们就可以看看将 串行信号 转为 并行信号   的   逻辑电路图 :

     

    如图, 为了便于讲解,我们在 图上 一些位置 标上了 序号 。

    简单起见, 我们 只 设计 了  2 位 的 并行信号 输出 。 有就是说, 串行信号 会 转换成 2 位(bit) 的 并行信号 。

     

    1 2 是 入口双稳态门, 控制着 串行信号 可以 写入 哪一位(bit) 。 初始状态 时, 第 1 位(bit) 的 入口稳态门 处于 “1” 状态, 输出端 输出 1 , 输出端 连接 的 开关 接通, 可以向 第 1 位(bit) 写入数据 。 而 其它位,比如 第 2 位(bit) 的 入口双稳态门 处于 “0” 状态, 输出端 输出 0 , 输出端 连接 的 开关 断开, 不能向 第 2 位(bit) 写入数据 。

    也就是说, 同一时间, 只能 有一个 位 的 入口双稳态门 处于 “1” 状态, 其它位 的 入口双稳态门 都应该是 “0” 状态, 这样 同一时间 只有 一个 位 可以 写入数据 。

    这就是 串行信号 转为 并行信号 的 基础 。

     

    在 初始状态 下,  当 串行信号 的 第一个 脉冲 达到时,  第 1 位 的 入口稳态门 处于 “1” 状态,  开关接通, 所以 第一个 脉冲 就 通过开关 写入了 第 1 位 的 存储位(图中 下方 7 处) 。 存储位 也是一个 双稳态门, 利用 稳态开关 的  “稳态” 特性, 可以起到 “记忆”(存储器) 的 功能 。 比如, 脉冲 是 1, 则 双稳态门 就会 保持在 “1” 状态, 脉冲 是 “0”, 则 双稳态门 会 保持在 “0” 状态 。

    与此同时, 脉冲 还会 通过 图中 3 处 的 电路, 转换为 “1” , 输出到 图中 5 处 的 延时开关 。 图中 3 处 电路 的 意义 是 不管 脉冲 是 “1” 还是 “0”, 都 转为 “1” 。 也就是说, 只要有 串行信号 输入, 不管是 1 还是 0 , 都会 触发 这个 延时开关 。

    延时开关 的 意思 就是 , 当 输入端 有 1 输入时, 延迟一段时间, 才在 输出端 输出 1 。

    延时开关 输出的 1 会 触发 图中 2 处 的 双稳态门, 也就是 第 2 位 的 入口双稳态门, 这可以让 第 2 位 的 开关 接通, 使 第 2 位 进入 可以 写入数据 的 状态 。

    同时, 延时开关 输出的 1 还会 通过另一条线路 经过 图中 9 处 的 “非”门, 再 到达 图中 1 处 的 双稳态门, 也就是 第 1 位 的 入口双稳态门 。

    延时开关 输出的 1 经过 非门 后, 会变成 0, 这个 0 会 触发 第 1 位 的 入口双稳态门 变成 “0” 状态, 即 输出 0, 对应的 开关 会 断开, 第 1 位 会变成 不能 写入数据 的 状态 。

    这样 就 完成了 写入 第 1 个 脉冲 的 过程 。

    接下来 就可以 写入 第 2 个 脉冲 。 第 2 个 脉冲 将会写入 第 2 位(bit)存储位。

     

    有一个 问题 是,  这里 为什么 要使用 “延时开关” 呢 ?

    因为, 如果 不经过 延时, 图中 3 处 产生的 “1” 直接 输出到 图中 2 处 的 入口双稳态门 的 话, 会 立即 接通 第 2 位 的 开关, 使 第 2 位 立即 进入 可写入数据 的 状态 。 此时很有可能 第一个 脉冲 还没有结束, 也是 第一个脉冲 会 写入到 第 2 位, 这就产生了 错误 。

    甚至, 如果 这个电路 有 多位(bit), 比如 3 位(bit)、 4 位(bit)  …… ,  则 有可能 会 触发 第 3 位 、 第 4 位 ……  也 进入 可写入 的 状态, 这样连续触发下去 。

    这样 就 不对 了 。

    可以 连续 触发 几位(几级),  视 电路 的 传输速度 而 定 。    ^^

     

    同时, 如果 不经过 延时, 图中 3 处 产生的 “1” 还会 经过 图中 9 处 的 非门 变成 “0” 触发 第 1 位 的 入口双稳态门 变为 “0”, 使得 第 1 位 的 开关 断开, 第 1 位 变成 不可写入 的 状态 。 但这时 第 1 位 的 写入 操作 还可能 没有完成 。会导致 写入 第 1 位 的 操作 也 发生错误 。

     

    我们可以通过 串行信号(脉冲信号) 的 波形图 来 形象 的 说明 上面 这个过程 :

     

     

    上述过程 依次 向 下一位 递推, 直到 最后一位 。 如:  第 1 位 写入, 触发 第 2 位 接通, 第 1 位 断开;  第 2 位 写入, 触发 第 3 位 接通, 第 2 位 断开; 第 3 位 写入, 触发 第 4 位 接通, 第 3 位 断开;  ……   。

    当 到 最后一位 时, 会 反过来 触发 第 1 位 接通, 自己 断开, 同时 把 所有位 的 数据 写入 缓冲区 。 这样就完成了 一轮 接收 。 可以开始 下一轮 接收 。

    当然, 最后一位 的 这个 执行过程 我们 略去了,  没有画出来 。

     

    有关 延时开关, 可以参考 《RC 延时电路简要分析》  https://wenku.baidu.com/view/0f4d8024960590c69ec376fc.html

    当然 延时开关 的 实现技术 是 多样的, 也有一些 新技术 。

    延时开关 技术 可能 是 硬件技术 的 一个 关键技术 之一 。

    因为 延时开关 的 反应速度 和 精度 关系到 串行转并行 电路 的 稳定性 和 传输速度 。

    延时开关 反应速度 越快, 精度 越高, 就能支持 更高频率 的 串行信号, 串行信号 的 频率 越高, 传输速度 也 越快 。

     

    大量数据 的 串行转并行 传输 需要 发送方 和 接收方 之间 发信号 通信协作,  也可以说是 发指令 。

    可以把 发送方 称为 “串行设备”, 把 接收方 称为 “并行接口” 。

    串行设备 会 发信号 通知 并行接口 准备发送数据, 并行接口 设置好 初始状态 后 发信号 通知 串行设备 可以发送数据,

    感觉 好像 三次握手 ……

    串行设备 发送数据, 双方 可以 约定 一次 发送多少 数据(Byte), 比如 1 KB ,  则 接收完 1KB 后 并行接口 通知 操作系统,

    操作系统 从 并行接口 的 缓冲区 中 读取 这 1KB 数据 到 内存,  完成后 通知 并行接口,

    并行接口 发信号 通知 串行设备 继续 发送数据 。

     

    如果 发送信号(指令) 的 线路 也是 串行线路(串行信号),  那么 上文讨论的 串行转并行 的 原理 也适用于 发送接收 信号(指令)。

     

    理论上,  本文原理 也 适用于 Modem(调制解调器) 和 USB 的 基础电路 和 基本原理 。

     

    我们可能会碰到这样的情况, Modem 或者 路由器 使用的时间长了,  可能会出现 上不了网 的 情况 。 这时, 就 关掉一下,  放一下电,  等一会儿再打开  就可以上网了 。

    这可能跟 上文 中 延时开关 的 原理 有关 。

    延时开关 通常 会 用 电容 和 三极管 组成,  利用 电容 充电放电 的 特性 延时,  所以 电容 的 质量 和 延时开关 的 稳定性 和 精度 有 直接关系 。

    这也是 关掉 Modem 或者 路由器 , 放一下电,  等一会儿再开 就 又可以上网了 的 原因 吧 !    ^^ ^^ ^^

     

     

    转载于:https://www.cnblogs.com/KSongKing/p/10203347.html

    展开全文
  • 该系统充分利用了DSP的两个缓冲串口,可以使两路A/D转换数据高速并行传输。同时文中给出了系统的硬件原理图和软件设计的部分关键程序。关键词:DSP;多通道缓冲串口;A/D转换数据采集引言---TMS320VC5402(以下简称...
  • 并行比较型A/D转换器电路结构及原理
  • 并行ADC虽然数据传输速度快,但引脚多、体积大、占用微处理器接口多;串行ADC具有体积小、功耗低、占用微处理器接口少的优点,而且传输速率较高,因此应用日渐广泛。 MAX1072/MAX1075是Maxim公司新推出的低功耗、...
  • 假如reg是一个串行不断输入的1bit数据,当其传输8位后停止传输,假设其8次输入的数据为 1111 1111,而rx_data本来的数据为8位的0000 0000 always@(posedge sys_clk or negedge sys_rst_n) if(sys_rst_n == 1'b0) ...
  • 串行,并发与并行

    千次阅读 多人点赞 2019-05-06 22:50:53
    串行 多个任务,执行时一个执行完再执行另一个。 比喻:吃完饭再看视频。 并发 多个线程在单个核心运行,同一时间一个线程运行,系统不停切换线程,看起来像同时运行,实际上是线程不停切换。 比喻: ...
  • 8251A 并行传送和串行传送

    千次阅读 2018-10-01 08:41:32
    20. 8251A 芯片中实现并行数据转换为串行数据的部件 一、数据传送 并行传送 数据在多条并行 1 位宽的传输线上同时由源传送到目的。以 1 字节例,在并行传送中, 1 字节数据通过 8 条并行传输线同时由源传送到目的...
  • 在一些电路中,我们需要对很多器件进行控制,但是...在这种情况下,采用串行并行芯片是一个很好的选择,通过串行数据输入实现对并行器件的控制。 74HC595是一个典型的串行并行芯片,它的实物如下图所示 ...
  • 并行串行传输,串行高速传输

    千次阅读 2018-03-24 17:17:05
    串行只有一根数据线,不存在信号线之间的串扰,而且串行还可以采用低压差分信号,可以大大提高它的抗干扰性,所以可以实现更高的传输速率,尽管并行可以一次传多个数据位,但是时钟远远低于串行,所以目前串行传输...
  • 微机原理与接口技术

    2020-02-20 09:39:55
    系统以Intel 8086微处理器基础,阐述微型计算机的基本组成、工作原理及接口技术。 主要内容包括微型计算机硬件系统的组成、汇编语言程序设计、总线及接口技术三大部分,分别讲述计算机系统概述、微型计算机系统...
  • 摘要:AD7891是美国ADI公司推出的一种12位数据采集系统(DAS),它具有并行串行两种工作模式,适合与各种微处理器接口。采用单电源工作,功耗低。内含8个具有过压保护的模拟信号通道,并可选择输入信号范围,非常...
  • STM32 LCD12864 串行通信模式 (从原理让你理解)

    万次阅读 多人点赞 2019-07-30 11:30:15
    带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集。...
  • 华中科技大学计算机组成原理慕课答案

    万次阅读 多人点赞 2020-01-26 00:09:18
    寄存器的数据位对微程序级用户透明 C.软件与硬件具有逻辑功能的等效性 D.计算机系统层次结构中,微程序属于硬件级 2、完整的计算机系统通常包括( A ) A.硬件系统与软件系统 B.运算器、控制器、存储器 C.主机...
  • Nand Flash之并行串行

    千次阅读 2019-04-14 16:16:11
    串行Flash与并行Flash 之前我们有讲到NAND Flash与NOR Flash的封装、读取速率、写速率和电路设计等方面的差异,现在我们将会讲到并行串行Flash,主要是串行吧,并行需要讲的很少。 因为串行并行主要区别在于IO口...
  • Java面试题大全(2020版)

    万次阅读 多人点赞 2019-11-26 11:59:06
    字节流和字符流的区别是:字节流按 8 位传输以字节单位输入输出数据,字符流按 16 位传输以字符单位输入输出数据。 16. BIO、NIO、AIO 有什么区别? BIO:Block IO 同步阻塞式 IO,就是我们平常使用的传统 IO,...
  • 并行接口和串行接口

    2019-11-05 14:32:30
    串口形容一下就是一条车道,而并口就是有8个车道同一时刻能传送8位(一个位元组)数据。...从原理上讲,串行传输是按位传输方式,只利用一条信号线进行传输,例如:要传送一个字节(8位)数据,是按照该...
  • 串行通讯与并行通讯区别

    千次阅读 2019-08-26 11:09:26
    串行通讯 一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。串行通讯的特点是:数据位传送,传按位顺序进行,最少只...
  • 串口通信基本概念(一)——串行并行通信,同步与异步通信 一、串口通信简介 串口通信,顾名思义也就是利用串行接口进行通信。串行接口指串口按位(bit)发送和接收字节。尽管比按字节(byte)传输的并行通信慢,...
  • 我们都知道通信从大的方面有两种:串行并行串行的最大优点是占用总线少,但是传输速率低;并行恰恰相反,占用总线多,传输速率高。市面上有很多这样的芯片,有串入并出的(通俗讲就是 一个一个进,最后一块出来...
  • 并发、并行串行

    万次阅读 2017-02-16 15:13:19
    并发(Concurrency):以可独立执行的进程集合的方式编程(进程是出了名的难定义,这里是通常意义上的进程,不是Linux进程)并行(Parallelism):以可同时执行的(可能相关...并发可能的(不是必须的)并行问题提供了一
  • DDR工作原理

    万次阅读 多人点赞 2018-06-21 18:57:44
    DDR SDRAM全称Double Data Rate SDRAM,中文名“双倍数据流SDRAM”。DDR SDRAM在原有的SDRAM的基础上改进而来。也正因为如此,DDR能够凭借着转产成本优势来打败昔日的对手RDRAM,成为当今的主流。本文只着重讲讲...
  • 当模拟信号(电压或电流)转换为数字信号时,转换器的输出是一串频率正比于模拟信号幅值的矩形波,显然数据串行的。这与目前通用的模数转换并行输出不同,然而其分辨率却可以很高。串行输出的模数转换在数字控制...
  • 摘要:MAX1132是美国MAXIM公司生产的16位串行模数转换器,文章介绍了MAX1132的工作原理、接口特点及使用方法,给出了它在数据采集系统中的硬件电路和软件程序。  关键词:模数转换器;MAX1132;数据采集 1 ...
  • 《单片机原理及应用》复习提纲

    万次阅读 多人点赞 2015-12-14 10:42:02
    《单片机原理及应用》复习提纲 单片机应用系统的典型结构图   单片机应用系统核心硬件技术包括: 1.时序 2.中断 3.地址译码   单片机应用系统核心软件技术包括: 1.寻址...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,943
精华内容 7,977
关键字:

并行数据转换为串行数据原理