差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
uart串口模块 [2017/06/20 10:39] anran [Verilog代码] |
uart串口模块 [2020/01/18 21:39] (当前版本) gongyu |
||
---|---|---|---|
行 1: | 行 1: | ||
- | ======基于STEP FPGA的矩阵按键驱动====== | + | ### 基于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 |}} | ||
行 21: | 行 20: | ||
{{ :uart4.png?600 |}} | {{ :uart4.png?600 |}} | ||
\\ | \\ | ||
+ | 本设计共有四个模块,一个top模块,一个baud模块,一个接收模块和一个发送模块,大家可以根据自己的需求进行调整。 | ||
+ | |||
+ | --- | ||
+ | #### Verilog代码 | ||
- | ====Verilog代码==== | ||
- | ------ | ||
<code verilog> | <code verilog> | ||
// -------------------------------------------------------------------- | // -------------------------------------------------------------------- | ||
行 320: | 行 321: | ||
</code> | </code> | ||
- | ====小结==== | + | --- |
- | ------ | + | #### 小结 |
- | 本节主要为大家讲解了矩阵按键的工作原理及软件设计,需要大家掌握的同时自己创建工程,通过整个设计流程,生成FPGA配置文件加载测试。 | + | |
+ | 本节主要为大家讲解了[[UART]]通信的原理及软件设计,需要大家掌握的同时自己创建工程,通过整个设计流程,生成[[FPGA]]配置文件加载测试。 | ||
\\ | \\ | ||
如果你对Diamond软件的使用不了解,请参考这里:[[lattice_diamond的使用|Diamond的使用]]。 | 如果你对Diamond软件的使用不了解,请参考这里:[[lattice_diamond的使用|Diamond的使用]]。 | ||
- | ====相关资料==== | + | --- |
- | ------ | + | #### 相关资料 |
- | \\ | + | 使用[[STEP-MXO2第二代]]的UART通信程序: 后续会有下载连接 待更新 |
- | 使用[[STEP-MXO2第二代]]的矩阵按键程序: 后续会有下载连接 待更新 | + | |
\\ | \\ | ||
- | 使用[[STEP-MAX10]]的矩阵按键程序: 后续会有下载连接 待更新 | + | 使用[[STEP-MAX10]]的UART通信程序: 后续会有下载连接 待更新 |
\\ | \\ |