新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于FPGA的基带64×64数据分配矩阵设计方案

基于FPGA的基带64×64数据分配矩阵设计方案

作者:蒋金冰时间:2014-02-14来源:摘自《电子发烧友》收藏

  3.2.1 串口收发模块设计

本文引用地址:http://www.eepw.com.cn/article/221565.htm

  串口收发模块就是图3中的uart_top模块,主要负责串行数据的接收与发送,并将接收到的数据送入下一级。

  该模块的功能已通过串口调试工具调试成功。该模块由4个子模块构成,分别为控制接收波特率的speed_rx模块、控制发送波特率的speed_tx 模块、数据接收模块my_uart_rx、数据发送模块my_uart_tx.

  接收、发送波特率的控制可以引用同一模块的发送来实现。其模块化框图如图4所示,当检测到输入信号 bps_start出现一个上升沿后,则该模块通过计数来实现分频,例如时钟频率为25 MHz,波特率为9 600,则计数周期的25 000 000/9 600≈2 604,该模块部分代码如下:

波特率产生模块

  数据接收模块的模块化框图如图5所示,它是通过移位运算来接收串行数据,如检测到rs232_rx 由高电平变为低电平则开始移位接收数据,每次接收3 B 的数据,将第二、第三个字节输入下一级,若检测到第一个字节为10101010(即16进制的AA),标志信号flag就将维持一个周期的高电平输出,否则flag一直维持高电平,那么后级将无法锁存第二、第三字节。部分代码如下:

数据接收模块

  数据发送模块是用来返回接收数据让上位机进行纠错的,其模块化框图如图6所示。如检测到flag变为高电平时,锁存输入的两个字节返回给上位机,部分代码如下:

数据发送模块

fpga相关文章:fpga是什么


晶振相关文章:晶振原理


评论


相关推荐

技术专区

关闭