新闻中心

EEPW首页>手机与无线通信>设计应用> 基于FPGA+DSP的多串口数据通信的实现

基于FPGA+DSP的多串口数据通信的实现

作者: 时间:2011-03-23 来源:网络 收藏

  图3是NIOS II CPU在Quatus中的连线示意图,即位于中心的inST6模块。该CPU主要管脚定义如表1所示。NIOS II CPU在Quatus中的连线示意图

图3 NIOS II CPU在Quatus中的连线示意图

表1 CPU主要管脚定义

CPU主要管脚定义

  值得说明的是,ts_clk输入时钟20.46 MHz即为NIOS IICPU的时钟频率,波特率为115 200 bps,可由该时钟分频得到。6713的EMIF为输入输出双向32位,在本设计中部分仅使用低16位,使用三态门来控制数据流向。三态门输入输出的使能信号是dsp给出的ce空间使能信号ce_6713。

输入数据先由NIOS II CPU写入每个串口的输入缓存,当满足条件时由out_pio管脚向dsp发出中断,用以告知其可以读取相应串口的数据了,缓存的数据由dspread0传递至三态门tri_16.dsp读取时三态门为dsp输入方向,dsp的EMIF数据线evm_D随即出现数据,配合EMIF地址线evm_A即可完成串口输入数据向dsp传递;当dsp有数据要经串口输出时,数据由dsp的EMIF数据线evm_D输入,dsp通过in_pio向NIOS II CPU发出中断信号,请求发送数据。详细的发送接收流程见下文。

  2 软件设计

  NIOS II CPU的控制代码部分分为主函数和各种中断响应函数。在主函数里完成寄存器初始化、各串口数据输出的任务。串口的中断响应函数则主要完成数据的输入任务。

  为了便于之间的控制信息交换,每个串口设有地址固定的长度各为32位(4字节)的输入和输出两个控制寄存器。通过对各标志位的读写操作即可系统对各串口的控制。串口的输入控制寄存器定义见表2,输出控制寄存器与之类似。



评论


相关推荐

技术专区

关闭