1. 处理器与外部设备通信的两种方式:
并行通信和串行通信
并行通信是指数据的各个位用多条数据线同时进行传输

优点:传输速度快
缺点:占用引脚资源多
串行通信是将数据分成一位一位的形式在一条传输线上逐个传输

优点:通信线路简单,占用引脚资源少
缺点:传输速度慢
2. 串行通信的通信方式:
同步通信和异步通信
同步通信:带有时钟同步信号的数据传输;发送方和接收方在同一时钟的控制下,同步传输数据。

异步通信:不同时钟同步信号的数据传输。发送方和接收方使用各自的时钟控制数据的发送和接收过程。

3. 串行通信的传输方向
单工:数据只能沿一个方向传输
半双工:数据传输可以沿两个方向,但需要分时进行
全双工:数据可以同时进行双向传输

4. 常见的串行通信接口

5. UART
是一种采用异步串行通信方式的通用异步收发传输器
功能:
它在发送数据时将并行数据转换成串行数据来输出,在接收数据时将接收到的串行数据转换成并行数据
a. 协议层:通信协议(包括数据格式、数据速率等)
UART串口通信需要两根信号线来实现,一根用于串口发送,另外一根负责串口接收

串口通信常用的波特率有9600/19200/38400/115200等
b. 物理层:接口类型,电平标准等
针对异步串行通信的接口标准有RS232、RS422、RS485

接口定义:


6. 串口通信实验
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 (CLK_FREQ),
.UART_BPS (UART_BPS))
u_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 (CLK_FREQ),
.UART_BPS (UART_BPS))
u_uart_send(
.sys_clk (sys_clk),
.sys_rst_n (sys_rst_n),
.uart_en (uart_en_w),
.uart_din (uart_data_w),
.uart_data (

最低0.47元/天 解锁文章
4181

被折叠的 条评论
为什么被折叠?



