本文共 1325 字,大约阅读时间需要 4 分钟。
不过我们边上讨论的主要是但的方式
并行通信是指数据的各个位用多条数据线同时进行传输
<<图片引用去除>> 其优点是传输速度快
缺点是占用引脚资源多
串行通信是指数据分成一位一位的形式在一条传输线上逐个传输
<<图片引用去除>>它的优点是通信线路简单占用引脚资源少
缺点是传输速度慢
同步通信是指在数据传输时带有时钟同步信号
发送方和接收方在同一时钟控制下同步传输数据
<<图片引用去除>> 异步通信则不需要同步信号
发送方和接收方各自使用独立的时钟完成数据传输
单工是指数据只能沿一个方向传输
半双工是指数据可以沿两个方向传输但需要分时进行
全双工是指双向传输可以同时进行
<<图片引用去除>> 这三种方式各有不同应用场景
常见的串口如RS232 RS422 RS485等都是异步串行通信接口
<<图片引用去除>> 它们在不同的应用中有不同的应用场景
UART 是一种采用异步串行通信方式的通用异步收发传输器
它的功能是将并行数据转换为串行数据输出同时将接收到的串行数据转换回并行数据
协议层包括数据格式和数据速率等通信标准参数
物理层决定了通信接口类型和电平标准
<<图片引用去除>> 常见的波特率有9600 19200 38400 115200等
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/