0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于SOPC在FPGA平台的时标嵌入式语音信号录取系统的设计

电子设计 来源:电子设计 作者:电子设计 2020-10-30 12:53 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

语音通信电台是当今军事指挥、工业调度和日常生产活动中主要的沟通设备,其通信质量与抗干扰能力将对国防和经济建设产生直接影响。语音电台抗干扰客观评估系统(以下简称评估系统)通过数字信号处理算法比较在发送电台端录取的标准语音文件与在接收电台端录取的失真语音文件之间的信号特征,给出语音电台的抗干扰性能参数。由于语音信号是按照每 20 ms 一个语片进行处理,故对语音信号的对准提出了较高的要求,为了达到较高的评估精度,对准误差应小于 1 ms。


为了满足上述技术指标,本文采用当前刚刚兴起的 SOPC(System On a Programmable Chip)技术在 FPGA(Field Programmable Gate Arr ay)平台上设计了一种带有时标的嵌入式语音信号录取系统。本系统通过捕获 GPS(Global Positioning System)系统的授时信息和秒脉冲信号,触发 SOPC 系统中 NiosⅡ嵌入式软核处理器进入外部中断,调用中断处理函数启动音频 Codec 芯片 WM8731,对 Line-in 通道输入的模拟语音信号进行 48 KSPS 采样率、16 b 采样精度的录取,将触发录取的时间信号作为时标与录取得到的数据按照特定数据格式进行打包和封装,并利用 FAT 文件系统将封装好的数据存储到 SD 卡(Secure Digital Card)中。由于 GPS 秒脉冲前沿可以达到微秒级精度,加之 WM8731 控制接口采用 Verilog 语言编写,从而保证了绝对时间误差远远小于 1 ms 的技术要求。

1、 系统组成

SOPC 是基于可编程逻辑器件的可重构片上系统(SOC),它集成了硬核或软核 CPUDSP、锁相环、存储器、I/O 接口及可编程逻辑,由于具有设计灵活、研制周期短、开发成本低等优点,已经逐步应用在通信、工控、信号处理等诸多领域。

为了给评估系统提供高精度、带有时标的语音数据源,本文采用 SOPC 技术在 FPGA 平台设计了一套带有时标的嵌入式语音信号录取系统(以下简称录取系统)。录取系统由片上系统和外围系统两部分组成。片上系统包括:NiosⅡ嵌入式软核处理器、GPS 控制器、SD 卡控制器、SDRAM 控制器、Audio 控制器、Ethernet 控制器、GPIO 控制器以及内部 Avalon 总线;外围系统包括:GPS 接收机 M12MT、SD 存储卡、SDRAM 存储芯片、Audio Codec 芯片 WM8731、Ethernet 物理层芯片 DM9000A 和传输变压器以及按键和 LED 等输入与显示器件等。

2、 硬件结构设计

在 FPGA 平台上设计 SOPC 系统为本文的核心工作。FPGA 芯片选择 Altera 公司 CycloneⅡ系列的 EP2C35F672C6N,其具有 33 216 个逻辑宏单元、105 个 M4K 存储单元、4 个锁相环以及 475 个通用 I/O 口。FPGA 开发环境采用 QuartusⅡ,嵌入式系统开发环境采用 SOPC Buildero 由于 Nios Ⅱ嵌人式软核 CPU、SDRAM 控制器、Ethernet 控制器和 GPIO 控制器都是 SOPC Builder 中集成的通用 IP 核,直接调用即可,故本文不做详细介绍,下面对 GPS 控制器、Audio 控制器和 SD 卡控制器进行详细介绍。

2.1 GPS 授时系统的设计

本设计中所使用 M12MT 是一款 5 V 供电、RS 232 电平 NAEA 0183 格式串行输出、TTL 电平秒脉冲(PPS)输出型 GPS 模块,由于 FPGA 芯片 I/O 口是 3.3 V 电平,故需要进行电平转换,串口电平转换采用美信Maxim)公司生产的 MAX3232 芯片,秒脉冲信号由 TI 公司生产 SN74AHC1G04 单缓反向器芯片生成。

由于 SOPC Builder 中的 UART 核通信协议可以与 GPS 串口输出协议兼容,故本设计中经过电平转换的信号与片内 UART 核相连,其参数设为:波特率为 9 600b/s、1 个起始位,1 个停止位,无校验位。秒脉冲经电平转换后与 PIO 控制器相连,其参数设为输入模式、带有中断功能、边沿触发中断、下降沿触发中断。

2.2 音频采集系统的设计

为了达到较高的录音品质,本设计中选用 Wolfson 公司生产的音频 Codec 芯片 WM8731,其最高可支持 96 KSPS 采样率、24 b 采样精度的立体声输入/输出。考虑到语音电台抗干扰评估系统的特殊要求和存储空间、处理速度等条件的限制,本设计中通过软件设置,使 WM8731 工作在 48 KSPS 采样率、16 b 采样精度、单声道的工作模式下。

WM8731 的控制接口和音频数据接口分别采用 I2C 总线和 I2S 总线,由于控制总线数据量较少,加之 I2C 总线时序比较简单,故采用程序控制 PIO 模拟 I2C 总线的方式对其进行控制;由于数据总线数据量较大,并且必须保证数据的完整性,本设计采用 Verilog 硬件描述语言编写了一个 Audio 控制器,完成采样控制、数据缓存以及与 Avalon 总线接口等功能。

Audio 控制器由有限状态机(FSM)、数据缓存器(FIFO)和总线接口三部分组成。FSM 完成 WM8731 数据读写的控制、FIFO 读写与存储状态控制以及总线接口控制。FIFO 用来缓冲 WM8731 采集得到的数据,防止数据丢失,并使系统工作在异步模式,大大提高了 CPU 的工作效率。总线接口作为桥梁,用以连接 NiosⅡ和 FIFO。

2.3 数据存储系统的设计

为了实现大容量数据存储,本采集系统选用当下比较流行 SD 卡作为存储介质。由于 SD 卡采用的是串行读写方式,时序较为复杂,且其数据量较大,故采用 Verilog 编写了 SD 控制器。Avalon Interface FSM 与 Avalon 总线相连接,用来完成控制器与 NiosⅡ处理器通信;SD Card Interface 与 SD 卡相连,完成数据的串/并转换和时序控制。

3、 软件程序设计

本采集系统软件在 Nios EDS 环境下进行开发,由于程序中只有一个线程,结构比较简单,故并未采用操作系统。主程序在完成各个模块初始化后进入等待状态,GPS 的串口数据、PPS 触发信号和按键触发信号采用中断形式,利用中断服务子函数完成各项功能。

3.1 时间信息的解析

由于 GPS 接收机 M12MT 具有多种数据输出格式,其中时间格式默认为为格林威治标准时间,故为了保证数据解析的正确性,在系统启动后首先对 GPS 接收机进行初始化,使其时区设定为 GMT+8,每秒钟串口输出一组数据,格式采用@@Eq 形式。

由于 UART 控制器每收到 1 个字节即产生一个中断,故 NiosⅡ处理器首先需要对接收到的数据进行缓存,当收到 5 个字节后判断是否是报头,如果是报头就继续接收,否则计数器清零并重新进行缓冲。在报头解析正确后,处理器将所有报文依次接收并存储到缓冲区中,缓冲区中的前 18 位即是时间数据,其格式为 mm,dd,yy,hh,mm,ss。

需要特别说明的有两点:第一,由于每一秒的 PPS 信号早于串口数据的输出,故处理器需要对接收到的时间加 1 s,而后利用下一个 PPS 信号进行触发;第二,GPS 接收机在锁定 3 颗以上卫星时时间数据才具有可靠性,故需要判断报文中的 fix 标志位,如果 fix 位是 1,这表明卫星已锁定,时间信息可靠,PPS 信号可以作为触发信号。

3.2 采集数据的封装

Audio 控制器输出的数据是按照采样时刻先后顺序生成的一系列二进制数值点,为了加入起始时刻的时间标志,同时便于评估系统进行后续处理,本录取系统对采样起始时刻和采样数据进行封装。首先将采样数据封装成 WAV 文件格式,加入相应的格式标志、采样率、采样精度、声道数、数据长度等信息,然后再在 WAV 文件的前面加入二进制的时间信息形成 DAT 格式文件。评估系统通过 DAT 文件中的时间信息和 WAV 文件中的采样率等信息即可计算出每个采样点的绝对时间。

3.3 文件系统的引用

为了提高 SD 卡存储的兼容性,便于通用计算机对 SD 卡的写入和读取,本录取系统利用 FAT 文件系统对 SD 卡进行读写操作。由于处理器中没有使用操作系统,故需要自己移植文件系统和编写底层驱动函数。

本录取系统中的文件系统采用层次结构设计,共分为 3 层,即硬件描述层(HAL)、功能层和应用层。硬件描述层完成 SD 卡检测、控制命令的写入、数据的读写等功能;功能层完成块数据的读写、查找、替换等功能;应用层完成格式化、文件建立与删除、文件写入与读出等功能。主函数调用应用层的功能函数即可完成对 SD 卡的文件操作。

4 、结论

本文介绍了一种利用 SOPC 技术在 FPGA 平台上实现带有时标的嵌入式语言信号录取系统,不但论述了录取系统的结构组成与工作原理,而且对 GPS 控制器、Audio 控制器、SD 卡控制器等硬件设计和 GPS 时间解析、采集数据的封装、文件系统的引用等软件编写进行了详细的介绍。经实际使用验证,本录取系统能够在 GPS 时间触发下完成语音信号的录取,录取得到的数据带有时标信息,能够满足语音电台抗干扰客观评估系统的技术要求。

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1656

    文章

    22292

    浏览量

    630436
  • sopc
    +关注

    关注

    2

    文章

    248

    浏览量

    64504
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    高云半导体助力2025全国大学生嵌入式系统设计大赛FPGA赛段圆满落幕

    2025 年全国大学生嵌入式系统设计大赛 FPGA 赛段于 11 月 30 日圆满落下帷幕。作为赛事核心支持单位,广东高云半导体科技股份有限公司已连续 8 年深耕赛事支持工作,始终以专业的技术
    的头像 发表于 12-08 09:26 608次阅读

    一个面向单片机、事件驱动的嵌入式开发平台介绍

    EventOS,是一个面向单片机、事件驱动的嵌入式开发平台。它主要有两大技术特色:一是事件驱动,二是超轻量。EventOS以及其母项目EventOS,目标是开发一个企业级的嵌入式开发平台
    发表于 12-05 06:26

    嵌入式FPGA的区别

    ,一是嵌入式软件开发,主要与嵌入式cao作系统、应用软件等有关。第二是嵌入式硬件开发,需要掌握硬件设计、模拟仿真、 PCB设计等技能。 ✅2、FPG
    发表于 11-20 07:12

    嵌入式FPGA的区别

    Zynq、Intel Cyclone V)越来越流行,这种异构计算平台能够兼顾软件灵活性和硬件高性能,代表了嵌入式FPGA技术融合的未来方向。 无论是嵌入式还是
    发表于 11-19 06:55

    嵌入式系统的定义和应用领域

    嵌入式系统,简而言之,就是一种专为特定设备或装置设计的计算机系统。它们通常配备一个嵌入式处理器,其控制程序被存储ROM中。这些
    发表于 11-17 06:49

    IAR邀您相约2025上海国际嵌入式会议

    德国纽伦堡成功举办二十余届的 embedded world 嵌入式世界展览与会议,已连续中国落地数年。作为专注于嵌入式系统行业的盛会,上
    的头像 发表于 10-17 10:37 505次阅读

    是德示波器MSOX3052T嵌入式系统中的应用

    混合信号示波器,凭借其创新的硬件架构与智能分析功能,为嵌入式系统调试提供了全新的解决方案。本文将从技术特性、应用场景及实战案例三个维度,深入探讨该示波器
    的头像 发表于 08-27 17:38 502次阅读
    是德示波器MSOX3052T<b class='flag-5'>在</b><b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b>中的应用

    嵌入式工程师为什么要学QT?

    Qt对嵌入式工程师来说,真的很重要吗? Qt是一个跨平台的C++应用程序开发框架,非常适合嵌入式系统的开发,Qt
    发表于 08-14 15:15

    泰克示波器 MSO58 混合信号示波器嵌入式系统调试中的核心技巧

    嵌入式系统的开发与调试中,泰克示波器 MSO58 混合信号示波器凭借其强大的功能和灵活的特性,成为工程师不可或缺的调试利器。掌握其核心调试技巧,能够显著提升调试效率,快速定位并解决
    的头像 发表于 07-01 16:28 426次阅读
    泰克示波器 MSO58 混合<b class='flag-5'>信号</b>示波器<b class='flag-5'>在</b><b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b>调试中的核心技巧

    怎么结合嵌入式,Linux,和FPGA三个方向达到一个均衡发展?

    嵌入式领域,不少人都怀揣着让嵌入式、Linux 和 FPGA 三个方向实现均衡发展的梦想,然而实践中却面临诸多挑战。就像备受瞩目的全栈工程师稚晖君,他从大学玩单片机起步,凭借将智能算
    的头像 发表于 06-25 10:08 655次阅读
    怎么结合<b class='flag-5'>嵌入式</b>,Linux,和<b class='flag-5'>FPGA</b>三个方向达到一个均衡发展?

    泰克MSO2024B混合信号示波器嵌入式系统开发中的应用

    随着嵌入式系统设计的复杂度不断提升,工程师调试和验证过程中面临着越来越多的挑战。混合信号示波器(MSO)作为集成了模拟信号与数字
    的头像 发表于 06-16 15:40 586次阅读
    泰克MSO2024B混合<b class='flag-5'>信号</b>示波器<b class='flag-5'>在</b><b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b>开发中的应用

    嵌入式开发入门指南:从零开始学习嵌入式

    开发(设备驱动、内核编译) 4. 推荐的学习资源书籍:《嵌入式系统软件设计基础》《ARM Cortex-M系列嵌入式开发》在线课程:慕课网、B站嵌入式教学视频实践
    发表于 05-15 09:29

    Python嵌入式系统中的应用场景

    你想把你的职业生涯提升到一个新的水平?Python嵌入式系统中正在成为一股不可缺少的新力量。尽管传统上嵌入式开发更多地依赖于C和C++语言,Python的优势在于其简洁的语法、丰富的
    的头像 发表于 03-19 14:10 1205次阅读

    数字电路嵌入式系统中的应用

    随着科技的迅猛发展,嵌入式系统已经成为现代电子产品不可或缺的一部分。从简单的家用电器到复杂的工业控制系统嵌入式系统无处不在。数字电路作为
    的头像 发表于 01-24 09:41 1157次阅读

    差分信号嵌入式系统中的应用

    差分信号嵌入式系统中的应用十分广泛,特别是需要长距离传输、高抗干扰性以及多设备连接的场景中。以下是对差分
    的头像 发表于 12-25 18:13 1414次阅读