博客
关于我
串行通信原理及实验仿真
阅读量: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/

    你可能感兴趣的文章
    推荐几篇近期必看的视觉综述,含GAN、Transformer、人脸超分辨、遥感等
    查看>>
    Sqlite -- 数据迁移备份--从低版本3.6.2到高版本3.8.6
    查看>>
    刚刚!频域通道注意力网络FcaNet开源了!
    查看>>
    百度视觉技术部人脸检测方向招聘实习生~北京
    查看>>
    「深度学习知识体系总结(2021版)」开放下载了!
    查看>>
    亚马逊招聘实习生,ML、CV、机器人和语音处理领域
    查看>>
    Python 使用pymongo操作mongodb库
    查看>>
    ERROR 1840 (HY000) at line 24: @@GLOBAL.GTID_PURGED
    查看>>
    c++继承与派生习题答案
    查看>>
    PROTEUS编译C51程序报L121错误的解决方法
    查看>>
    虚拟机Centos6开机黑屏解决方法
    查看>>
    linux下达梦数据库安装和使用步骤
    查看>>
    2024:【例4.10】末两位数
    查看>>
    第123天学习打卡(Redis 测试性能 基础知识 Redis-Key String List)
    查看>>
    “ModuleNotFoundError: No module named ****“问题分析和解决思路
    查看>>
    Linux系统部署Grafana
    查看>>
    限时删!字节总监总结一套目标检测、卷积神经网络和OpenCV学习资料(教程/PPT/代码)...
    查看>>
    设计模式-软件设计规则
    查看>>
    python中的循环—for循环
    查看>>
    Java-类加载过程
    查看>>