差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
uart串口模块 [2017/07/21 10:08]
anran [基于STEP FPGA的矩阵按键驱动]
uart串口模块 [2022/07/20 10:25] (当前版本)
zhijun [小结]
行 1: 行 1:
 ======基于STEP FPGA的UART串口通信模块驱动====== ======基于STEP FPGA的UART串口通信模块驱动======
  
-本节将和大家一起使用FPGA驱动底板上的UART接口通信。+本节将和大家一起使用[[FPGA]]驱动底板上的[[UART]]接口通信。
  
  
 ====硬件说明==== ====硬件说明====
 +
 ------- -------
-通用异步收发传输器(Universal Asynchronous Receiver/​Transmitter),通常称作UART,是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。+通用异步收发传输器(Universal Asynchronous Receiver/​Transmitter),通常称作[[UART]],是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。
 \\ \\
-异步通信以一个字符为传输单位,通信中两个字符间的时间间隔多少是不固定的,然而在同一个字符中的两个相邻位间的时间间隔是固定的。两个相邻位间的时间间隔与UART通信的波特率有关,波特率用来表征UART通信中数据传输的速率,即每秒钟传送的二进制位数。例如数据传送速率为120字符/​秒,而每一个字符为10位(1个起始位,7个数据位,1个校验位,1个结束位),则其传送的波特率为10×120=1200字符/​秒=1200波特。+异步通信以一个字符为传输单位,通信中两个字符间的时间间隔多少是不固定的,然而在同一个字符中的两个相邻位间的时间间隔是固定的。两个相邻位间的时间间隔与UART通信的波特率有关,波特率用来表征[[UART]]通信中数据传输的速率,即每秒钟传送的二进制位数。例如数据传送速率为120字符/​秒,而每一个字符为10位(1个起始位,7个数据位,1个校验位,1个结束位),则其传送的波特率为10×120=1200字符/​秒=1200波特。
 \\ \\
 {{ :​uart时序.jpg?​800 |}} {{ :​uart时序.jpg?​800 |}}
行 22: 行 23:
 \\ \\
 本设计共有四个模块,一个top模块,一个baud模块,一个接收模块和一个发送模块,大家可以根据自己的需求进行调整。 本设计共有四个模块,一个top模块,一个baud模块,一个接收模块和一个发送模块,大家可以根据自己的需求进行调整。
 +
 ====Verilog代码==== ====Verilog代码====
 +
 ------ ------
 <code verilog> <code verilog>
行 321: 行 324:
  
 ====小结==== ====小结====
 +
 ------ ------
-本节主要为大家讲解了UART通信的原理及软件设计,需要大家掌握的同时自己创建工程,通过整个设计流程,生成FPGA配置文件加载测试。+本节主要为大家讲解了[[UART]]通信的原理及软件设计,需要大家掌握的同时自己创建工程,通过整个设计流程,生成[[FPGA]]配置文件加载测试。
 \\ \\
-如果你对Diamond软件的使用不了解,请参考这里:[[lattice_diamond的使用|Diamond的使用]]。+如果你对Diamond软件的使用不了解,请参考这里:[[lattice_fpga|Diamond的使用]]。
  
 ====相关资料==== ====相关资料====
 +
 ------ ------
 \\ \\