当前位置:首页 > 电源 > 数字电源
[导读]串口传输常用于基于FPGA和DSP结构的信号处理板和外部设备之间的数据交换。以GPS RTK定位应用为基础,针对单个串口全双工传输不足以应对多种数据类型同时输入输出的情形,设计并实现了一种面向多串口不同类型数据的传输方案。该方案通过增加串口控制寄存器实现单个中断信号即可控制所有串口,采用乒乓交替读写实现数据持续高速输入。测试表明该方案可独立对各串口进行配置,可同时实现GPS定位结果、差分GPS修正数据与外界的交换以及用户控制命令的输入,并且可减少硬件调试时间,节约硬件资源。

通用异步接收/发送器(UART)是一种通用串行数据总线,用于异步通信,可以实现全双工通信。UART IP核是用在外部设备和Atera FPGA芯片上的SOPC间进行串行通信的一种实现方式。它可以替代RS-232实现芯片与外设的输入/输出(I/O)操作。
    GPS RTK(Real Time Kinematic)可以即时提供厘米级的定位解。在进行动态定位时,基准站将精确已知的GPS坐标和观测数据实时用微波链路传给流动站,在流动站实时进行差分处理,得到基准站和流动站坐标差;坐标差加上基准站坐标得到流动站每个点坐标。基准站向终端用户接收机提供的信息包括对GPS卫星钟、星历数据、用户测量伪距和载波相位等参数的修正。
    本文所用的信号处理板可以作为GPS RTK基站使用,可以与其他基站组网接收差分修正数据定位或者本身的高精度单点定位输出定位结果和差分修正数据。作为基准站,不仅要实时输出精确定位信息,而且需要与外界进行差分数据交换。由于同一时间需要大量持续差分数据的输入与输出和用户控制指令的输入,设计采用了3个串口。

1 硬件结构
   
信号处理板为FPGA+DSP结构,具有多路A/D、D/A转换器件。中频信号经A/D采样后进入FPGA完成去载波,PRN码相关运算,IQ变换等操作后由DSP芯片进行定位解算。通过串口输入的用户控制指令任意选择串口对GPS定位结果的输出和GPS差分修正数据的输入输出。


    FPGA芯片上配置了3个串口,分别为UART0、UART1、UART2,由SOPC Builder分配相对应的存储映射空间和中断请求。每个模块均使用默认的基地址,并分别设定UART0、UART1、UART2的数据输入中断请求号为IRQ1,IRQ2,IRQ3。另外,DSP芯片可能在任意时刻通过3个串口发送不同数据。
    如果DSP对每个串口发送数据时均向NIOS II CPU发出中断申请,则需要3根PIO管脚,占用太多针脚资源。本实现方案通过增加个串口控制寄存器,仅占用1根PIO管脚。
    同时,对和DSP芯片进行交互控制的PIO信号分配中断请求号为IRQ0。
    每个UART口都有输入、输出两块RAM作为缓存,数据位宽为16bits。其中,串口输入缓存命名为ReadFromMemInterface,串口输出缓存命名为WriteToMemIntedace(见图2)。需要注意的是实际传输数据时,外部设备的串口参数的数据位长度设置为8 bits,因此需要在串口的软件处理进行字与字节的转换。


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

[!--empirenews.page--]


    值得说明的是,ts_clk输入时钟20.46 MHz即为NIOS IICPU的时钟频率,串口波特率为115 200 bps,可由该时钟分频得到。DSP6713的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的控制代码部分分为主函数和各种中断响应函数。在主函数里完成寄存器初始化、各串口数据输出的任务。串口的中断响应函数则主要完成数据的输入任务。
    为了便于FPGA和DSP之间的控制信息交换,每个串口设有地址固定的长度各为32位(4字节)的输入和输出两个控制寄存器。通过对各标志位的读写操作即可实现系统对各串口的控制。串口的输入控制寄存器定义见表2,输出控制寄存器与之类似。


    由于用户控制指令(包括信号处理板配置参数、输出数据类型控制等)与差分修正数据的数据长度和数据持续性有很大区别,在常规数据传输方式之外对每个串口增设数据块传输模式。数据块传输模式可用于持续性大量数据的输入,采用每个串口对两块RAM进行乒乓读写操作的来方案实现。是否采用数据块传输模式由串口的控制寄存器中的第14位(P_flag)决定。对于非数据块输入模式中缓存大小需要根据常规数据最大长度来设定,过小会导致部分数据丢失。当有数据需要输出时,由DSP向NIOS II CPU的RAM写入各UART输出控制寄存器的设定值,并通过GPIO向其发出中断信号。可在NIOS II CPU的main函数中设置一个循环检测是否有由DSP输入的中断信号,若有再检测各UART的输出控制寄存器。输出流程图如图4所示。

[!--empirenews.page--]


    图4中SET_EN用于设置个串口的输入模式(是否乒乓输入及乒乓输入时缓存的大小)和串口使能等操作,输入控制寄存器的默认值在系统初始化时由DSP写入。
    当数据输入时,NIOS II CPU检测到来自串口的中断请求,进入对应的中断响应程序。首先对数据传输模式进行判断,P_flag默认值为0,表示非数据块输入模式。该模式下输入的数据有特定的结尾标志符组合,一旦检测到结束标志则发送已缓存的数据并完成状态清零以便下次接收;P_flag为1则为连续数据块输入,当Half_BAM0或Half_RAM1其中一块写满时即向DSP发出中断信号,DSP即进入中断服务程序读取数据。程序流程图如图5所示。



3 结束语
   
采用Altera FPGA芯片上的NIOS II CPU控制串口的优点是充分使用硬件资源,可以减轻DSP芯片的计算量。测试表明,NIOS II CPU工作频率为20.46 MHz,串口波特率设置为115 200,数据位为8 bit,各串口可以同时正常输入输出。多串口可以同时输入输出数据,由指令可以灵活配置传输模式,以适应不同数据传输类型的需求。
    本文解决了单串口传输不能满足GPS高精度接收机对多种数据同时输入输出的要求,实现了GPS定位结果、RTK差分数据与外界的实时交换以及用户控制命令的输入。本方案的优点是通过增加各串口的输入/输出控制寄存器,使DSP芯片可以仅以两个GPIO资源实现原本需要3个串口输入/输出功能相对应的6个中断操作;采用NIOS II CPU进行多串口控制可以减少硬件调试时间,节约FPGA片内资源。不足之处是未实现串口波特率、数据位等实时配置。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

5G是指第五代移动通信系统。它们属于移动通信标准的下一个主要阶段,目前的4G网络将遵从国际移动通信(IMT)于2020制定的ITU-R要求,与目前4G以下的系统相比.

关键字: 5G 数据通信 通信系统

随着信息技术的飞速发展,数据通信作为连接世界的桥梁,其重要性日益凸显。为了确保数据通信的高效、稳定和可靠,我们需要关注一系列关键的技术指标。本文将深入解析数据通信的主要技术指标,并探讨其前沿发展。

关键字: 数据通信 数据传输

随着科技的飞速发展,数据通信已成为我们生活中不可或缺的一部分。无论是在工作中传输文件,还是在家庭中共享数据,数据通信都扮演着重要的角色。本文将介绍几种常见的数据通信方式,并探讨它们的特点和适用场景。

关键字: 数据通信 有线通信 无线通信

符号(symbol)。通过不同的调制方式(诸如FSK、QAM等等),可以在一个码元符号上负载多个bit位信息。举个例子,4QAM(即QPSK)调制的全部四种码元符号,一种符号可以带两个bit的信息。

关键字: 数据通信 传输速率 FSK

数据通信是计算机与计算机或计算机与其他数据终端之间存储、处理、传输和交换信息的一种通信技术,是计算机技术与通信技术相结合的产物。

关键字: 数据通信 存储 调制器

在当今的数字世界中,无论是浏览网页、发送电子邮件还是进行在线交易,所有这些行为的背后都依赖于一个关键组成部分:数据通信协议。简而言之,数据通信协议就是定义电子设备如何交换数据的一系列规则和标准。这些协议确保信息能够在不同...

关键字: 数据通信 计算机网络

并行通信:是指利用多条数据传输线将一个资料的各位同时传送。它的特点是传输速度快,适用于短距离通信,但要求通讯速率较高的应用场合。

关键字: 数据通信 并行通信 串行通信

数据通信是指利用电磁波、电子技术、光电手段,借助电信号或光信号实现把消息从一地向另一地或多地进行消息地有效传输和交换的过程。通信的实质就是实现信息的有效传输,它不仅要将有用的信息进行无失真、高效的传输,而且还要在传输的过...

关键字: 数据通信 电子技术

在当今数字化时代,网络已经成为我们生活和工作中不可或缺的一部分。无论是家庭网络还是企业网络,都需要有效的网络设备来实现数据通信和资源共享。而网络交换机作为一种重要的网络设备,扮演着连接和管理网络设备的关键角色。本文将探讨...

关键字: 网络设备 数据通信 交换机

“仪器是认识世界的工具。这是相对机器是改造世界的工具而言,而改造世界是以认识世界为基础的。”仪器仪表行业专家王大珩院士曾这样说。

关键字: 测试仪表 数据通信
关闭
关闭