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

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

  3.2.1 串口收发模块设计

  串口收发模块就是图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变为高电平时,锁存输入的两个字节返回给上位机,部分代码如下:

数据发送模块
1 2 3

关键词: Altera FPGA 矩阵开关 ARM 基带数字

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版