博客
关于我
串行通信原理及实验仿真
阅读量:524 次
发布时间:2019-03-08

本文共 1325 字,大约阅读时间需要 4 分钟。

处理器与外部设备通信的两种方式

并行通信与串行通信

不过我们边上讨论的主要是但的方式

并行通信

并行通信是指数据的各个位用多条数据线同时进行传输

<<图片引用去除>> 其优点是传输速度快

缺点是占用引脚资源多

串行通信

串行通信是指数据分成一位一位的形式在一条传输线上逐个传输

<<图片引用去除>>它的优点是通信线路简单占用引脚资源少

缺点是传输速度慢


串行通信的方式

同步通信是指在数据传输时带有时钟同步信号

发送方和接收方在同一时钟控制下同步传输数据

<<图片引用去除>> 异步通信则不需要同步信号

发送方和接收方各自使用独立的时钟完成数据传输


串行通信的传输方向

单工是指数据只能沿一个方向传输

半双工是指数据可以沿两个方向传输但需要分时进行

全双工是指双向传输可以同时进行

<<图片引用去除>> 这三种方式各有不同应用场景


常见的串行通信接口

常见的串口如RS232 RS422 RS485等都是异步串行通信接口

<<图片引用去除>> 它们在不同的应用中有不同的应用场景


UART 接口

UART 是一种采用异步串行通信方式的通用异步收发传输器

它的功能是将并行数据转换为串行数据输出同时将接收到的串行数据转换回并行数据

UART 通信协议

  • 协议层包括数据格式和数据速率等通信标准参数

  • 物理层决定了通信接口类型和电平标准

  • <<图片引用去除>> 常见的波特率有9600 19200 38400 115200等

    UART 接口定义

    UART 通接口通常有两根信号线:发送和接收

    <<图片引用去除>> 这两根信号线分别处理数据的输出和输入

    常见的波特率参数为9600�ts


    串口通信实验

    本文提供了以下 Verilog 实验代码用于实现 UART 通信

    module uart_top(  input sys_clk,  input sys_rst_n,  input uart_rxd,  output uart_txd);parameter CLK_FREQ = 50000000;parameter UART_BPS = 115200;wire uart_en_w;wire [7:0] uart_data_w;uart_recv #( CLK_FREQ, UART_BPS ) uart_recv(  .sys_clk(sys_clk),  .sys_rst_n(sys_rst_n),  .uart_rxd(uart_rxd),  .uart_done(uart_en_w),  .uart_data(uart_data_w));uart_send #( CLK_FREQ, UART_BPS ) uart_send(  .sys_clk(sys_clk),  .sys_rst_n(sys_rst_n),  .uart_en(uart_en_w),  .uart_din(uart_data_w),  .uart_data(uart_txd));endmodule

    <<_IMAGE剪切去除>> 调试和使用请参照相关文档


    本文详细介绍了并行与串行通信的基本原理及其应用

    如需要进一步了解各接口标准和通信协议

    欢迎联系技术支持团队进行咨询

    转载地址:http://dxviz.baihongyu.com/

    你可能感兴趣的文章
    [源码分析] 消息队列 Kombu 之 Consumer
    查看>>
    抉择之苦
    查看>>
    wx.NET CLI wrapper for wxWidgets
    查看>>
    Silverlight for linux 和 DLR(Dynamic Language Runtime)
    查看>>
    ASP.NET MVC Action Filters
    查看>>
    Windows SharePoint Services 3.0 Service Pack 2
    查看>>
    兰州大学百年校庆--风雨百年萃英路
    查看>>
    WCF WebHttp Services in .NET 4
    查看>>
    Powershell中禁止执行脚本解决办法
    查看>>
    HTTP协议状态码详解(HTTP Status Code)
    查看>>
    OO_Unit2 多线程电梯总结
    查看>>
    git clone 出现fatal: unable to access ‘https://github 错误解决方法
    查看>>
    Shader 入门笔记(一) 如何学习shader
    查看>>
    分布式、高并发、高性能场景(抢购、秒杀、抢票、限时竞答)数据一致性解决方案
    查看>>
    04_Mysql配置文件(重要参数)
    查看>>
    python 序列化及其相关模块(json,pickle,shelve,xml)详解
    查看>>
    python 加密算法及其相关模块的学习(hashlib,RSA,random,string,math)
    查看>>
    js编写动态时钟
    查看>>
    JavaSE总结
    查看>>
    Consul安装使用
    查看>>