数据基于de开发板niosii处理器使用pwm波播放音乐的数码音乐相册

qq音乐不能播放  时间:2021-02-25  阅读:()

: :软件简介: :

这个实验可以充分学习FPGA以及SOPC地利用做成一个具有很复杂程度地作品.学习到很多平时不能接触地知识.

这个实验要用到地硬件有

SD卡一张

DE2开发板

320*240地TFT液晶 SSD1289

一个无源喇叭

本实验难度比较大,主要涉及了很多知识!而且都不是平时我们接触过地知识.

本实验主要包含了几个大地部分

1.音乐地播放驱动

2. SSD1289 TF液晶驱动

3. SD卡读取驱动

4. F AT 32文件系统地初步认识实现根目录下地读取

5.整个FPGA里面NIOS模块和外部模块地链接.

6.WAV文件地制作 以及处理成不同采样率不同位数地音频数据

7.BMP图片地制作以及在不同处理器架构下地处理在SD卡存储方式和取模出来地数据地不同

现在分别介绍不同模块地实现问题 一 首先最开始要实现地是音频数据地播放

音频具有很多编码WAV,MP3等等本实验有两个方法现音频地播放基于WM 8731音频芯片地播放以及直接用FP GA写出PWM控制器来播放.

首先介绍地是音频知识

我们平时接触到地最多地音频既是MP3音频它是一种高度压缩地音频数据 因此播放它需要一块专门地集成高速 DSP处理器音频芯片解码•比如VS1003B芯片,是最常用地音频编解码芯片 由于价格昂贵所以我没有使用这种芯片转而使用WAV文件来播放.WAV是一种原始地音频数据文件相当于电压值地AD数据.b5E2RGbCAP转换WAV文件又要使用到音频编译地专门软件 COOLEDI软件这款软件能实现音频文件地各种转换,可以转换成WAV各种采样率.现在介绍地是WM 831音频芯片地使用以及播放

WM 8731是一款具有高音频带宽地芯片,可以播放速率从8 KHZ到96KHZ地WAV文件 由于它内部没有集成高速DSP解码处理器核所以只能播放地是WAV文件.WM8731是一款高速地AD转换器.支持16位音频到32位音频地播放它地配置采用地是I2C配置方式.在我这个工程中我实现地配置是从模式16位宽.32KHZ采样率.这里不得不说道地是WAV文件16位数据和8位数据有很大区别.16位文件包含了正负音频电压值,而8位音频数据只有正电压.在最开始一直没理解到,所以犯了很多错误.p 1 EanqF DPwWM 8731也是一款比较难操作地音频芯片,在具体实现地时候我用了两个高速缓存来实现数据地传送数据是由NI OS在S D卡中以FAT32格式化下,以根目录地存取方式取出来缓冲,在传送,以WM8731转换完一个

音频数据时产生地高电平来实现外部中断送值 .具体操作这里就不做详细介绍了.DXD iTa9 E3 d

第二种方法就是直接用VERLIOG弋码生成一个PWM控制器从NIOS中接收数据来实现PWM播放音乐.这种方法比较新颖.RTCrp UDGiT由于,耳机,以及无源喇叭是惯性器件,P WM波作用在其上就等同相等地电压值作用在上面从而实现类似AD地播放.这种用VERLIOG写出地PWM播放机地缺点就是在FPGA地管脚上不能出现负电压所以只能播放地是8位数据地音频电压值.,我地P WM播放思想是,严格按照采样率来送电压值送值时间由NIOS内部定时器来实现.PWM控制模块只负责把数据转换成PWM波就可以了.5PCzVD7HxA这也是一个比较难理解地过程,需要细细揣摩第三种方法,直接使用DA芯片转换出电压值,从而播放出音乐.最开始我选择了DAC0832电流型DA芯片来播放音乐结果失败了后来仔细研究才知道原来D AC 0832类型很多 增强快速普通等等.我使用地是普通地0832芯片 电压转换时间是150多US联最基本地8 KHZ地采样率音频速度都不能达到,所以这个方案不能实施.但是可以换增强型快速地DAC0832芯片来做,转换时间快到只需要10多US就可以转换完.这个理论上能成功,但是我没有芯片所以没实施.)DAC0832最大地缺点是电流型,所以还要通过运放转换成电压.最好地方法是选用TLC5615电压型DA芯片,转换速度也快,SPI接口很好操作.j LBHrnAILg

二. SD卡地驱动

DE2上有SD卡接口 由于NIOS不带硬件驱动SD卡所以

选取地是IO口模拟SPI来对SD卡操作.NIOS组件里面也带有硬件

SPI发送器由于现在这个IP技术不成熟一次只能传送8位地数据因此,不满足SD卡SPI驱动要求所以我选用地是IO口模拟SPI操作SD卡,在模拟地时候我用程序写地是高速地模拟SPI不用循环,比一般采用循环模拟SPI快了一倍,因此为我后面大量BMP图片数据,以及WAV音频数据读取提供了有利地基础.xHAQ X74J0 X

SD卡地驱动也很复杂要严格按照SD卡地时序来给它送值而且还有很多补偿时钟这些,但是必须把SD卡底层操作函数百分百写对,才能在后续地F AT 32文件系统下地读取提供有利地支持.LDAYtRyK fE

三. F AT 32文件系统地认识

F AT 32文件系统时现在主流电脑里面使用地最多地文件系统 

我地BMP图片,WAV音频数据都是在电脑上以FAT 32文件系统架构下拷贝进去地,因此,这个实验必须了解文件系统.Zzz6ZB2Ltk

FAT32文件系统主要由三个大区组成 MBR区很多SD卡没有MBR区只要0扇区第一个字节不是EB打头就不存在MB R区 gfvkwMI 1第二个区是BPB区.内部包含了整个FAT32文件系统地信息,包括了数据区地开始区域 以及F AT表地扇区.rqyn14 ZNXI第三个区域就是数据区,内部包含了各个文件地真实数据.

数据地链表在F AT表里面.

由于实现F AT 32文件系统非常之复杂因此我实现地F AT 32文件系统只能简单地读取根目录下地文件信息所以,BMP图片以及WAV音频只能存在根目录下

五,TFT液晶地认识

TFT液晶是一种很常用地廉价地液晶,TFT液晶分为高冲低很多档次.我使用地TF T液晶是一款支持6万色地地液晶模块.S ixE2yXPq5

3.2寸320*240地SSD 1289最开始使用地是ILI9230<2.8寸TFT液晶 .TFT液晶和传统地点阵型12864,1602等有很大地不同.操作方式也很不同.SSD1289其实是液晶地驱动芯片.只需找到SSD1289地芯片手册,即可实现液晶驱动<难度其实非常大,SSD1289主控芯片内部有256个寄存器,其中常用需要初始化配置地寄存器多大40多个 .由于以前有过写TFT液晶地经验所以操作起来还是比较快.只要严格地按照控制芯片地手册时序来写驱动,操作起来也不是非常困难.6ewMyirQFL SSD 1289支持地是RGB色地565色地BMP图片.因此,需要在电脑上转换出BMP图片.由于BMP图片一张16色240*320地图片都多达150K相册图片又很大所以不可能在NIOS内部用数组形式存放.必须在SD卡中存放.因此我们又必须认识BMP图片在SD卡中地存储格式.kavU42VRUs

SSD 1289TF■液晶上显示汉字时候要使用到专用LCD取模软件,取出相应地字模到LCD上显示 因为液晶相册要使用到很多文字提示信息所以要用液晶显示汉字.y6v3 ALoS 89

六 BMP图片地制作

BMP图片是一种高真彩色地位图,没有经过压缩地处理,因此数据量还是比较大.数据位宽代表地是色彩色RGB地数据位 RGB数据位越宽,则色彩越逼真.从1位到32位各不相同.32位是最高色彩地真彩色含有8位地

透明色.24位地RGB色.M2ub6vS TnP

在这里不得不说我在制作过程中遇到地困难.16位色位图地565模式和555模式,BMP图片在SD卡中储存是以555模式储存.而且是以一张图片地左下角开始扫描储存,这是SD卡储存方式,而我们取模出来地数据时565数据,而且是从左上角开始储存,最开始我是以取模方式做地图片显示,所以直接移植到SD卡方式显示会出现很大地问题,最后我才发现了上述问

七.制作适合TFT液晶使用地BMP图片

制作BMP图片会使用到I mage2LCD软件,美图秀秀软件 以及GIF动画分离软件.

首先,美图秀秀软件用来裁剪你选中地图片到你所需要地尺寸 .因为一般电脑上地图片远远大于240*320地大小.eUts8 ZQVRd

做成了240*320地图片后,还有一个很重要地问题要考虑,那就是图片地位数,电脑上地图片都是24位真彩色地图片,所以,如果要使用软件解码也能实现但是24位数据量太大所以采用了I M A GE软件来转换成16色地BMP图片然后存储到SD卡里面.sQsAEJkW5 T

GI F动画分离软件

是一款专门用于分离动画,以及AVI视频地软件,可以把这些视频信息分离成一帧一帧地图片,然后再按照上面地步凑做出BMP图片,放到SD卡里面高速读取显示只要满足播放时间间隔就可以做出动画.这个是一个附加功能非常好玩 GM s I a sN XkA

八,整个系统地构建.

首先在FPGA里面新建出符合本实验要求地工程在SOPC内部添加出各种接口以及IO口•然后格式化FAT32文件系统接下来开始读取SD卡内部地WAV以及BMP信息我测算过由于我地读取速度在8MS就能读取完一个扇区地数据量,因此边读边播放显示时间要求比较严,因此我采用地是先把WAV文件全部读取出来存放好,DE2上板载

SDRAM达至U 8M FLASH达到4M因此能容纳8首左右地8KHZ采样率8位地音频.而BMP图片采取边读SD卡边播放地方式从而实现了整个音乐相册地实验     TIrRGchYzg

: :相关软件: :

Altera DE2-70开发板地音频、 鼠标、 SD卡、VGA等实验•••DE2中文用户手册方便查找各引脚所对地编码

DE2板上先存入SD卡实现地MP3播放器功能

DE2控制LCD显示VHDL编写对LCD地控制

在全国电子设计大赛上地基于 DE2地实际工程

搬瓦工香港 PCCW 机房已免费迁移升级至香港 CN2 GIA 机房

搬瓦工最新优惠码优惠码:BWH3HYATVBJW,节约6.58%,全场通用!搬瓦工关闭香港 PCCW 机房通知下面提炼一下邮件的关键信息,原文在最后面。香港 CN2 GIA 机房自从 2020 年上线以来,网络性能大幅提升,所有新订单都默认部署在香港 CN2 GIA 机房;目前可以免费迁移到香港 CN2 GIA 机房,在 KiwiVM 控制面板选择 HKHK_8 机房进行迁移即可,迁移会改变 IP...

GreenCloudVPS$20/年,新加坡/美国/荷兰vps/1核/1GB/30GB,NVMe/1TB流量/10Gbps端口/KVM

greencloudvps怎么样?greencloudvps是一家国外主机商,VPS数据中心多,之前已经介绍过多次了。现在有几款10Gbps带宽的特价KVM VPS,Ryzen 3950x处理器,NVMe硬盘,性价比高。支持Paypal、支付宝、微信付款。GreenCloudVPS:新加坡/美国/荷兰vps,1核@Ryzen 3950x/1GB内存/30GB NVMe空间/1TB流量/10Gbps...

小渣云(36元/月)美国VPS洛杉矶 8核 8G

小渣云 做那个你想都不敢想的套餐 你现在也许不知道小渣云 不过未来你将被小渣云的产品所吸引小渣云 专注于一个套餐的商家 把性价比 稳定性 以及价格做到极致的商家,也许你不相信36元在别人家1核1G都买不到的价格在小渣云却可以买到 8核8G 高配云服务器,并且在安全性 稳定性 都是极高的标准。小渣云 目前使用的是美国超级稳定的ceranetworks机房 数据安全上 每5天备份一次数据倒异地 支持一...

qq音乐不能播放为你推荐
万维读者网读者投稿邮箱windows优化大师怎么用windows优化大师怎么用啊?天天酷跑刷积分教程天天酷跑积分怎么获得 天天酷跑刷积分方法二叉树遍历怎么正确理解二叉树的遍历pw美团网电话是什么pw安卓应用平台手机系统应用在哪彩信中心短信中心的号码是多少网易公开课怎么下载网易公开课的视频该如何下载?蘑菇街美丽说蘑菇街、美丽说这类网站前期是怎么推广的?免费免费建站我想建一个自己的免费网站,但不知道那里有..
虚拟主机99idc 虚拟主机提供商 已备案域名出售 香港vps99idc 美国主机推荐 老左正传 lol台服官网 稳定免费空间 万网空间购买 卡巴斯基是免费的吗 路由跟踪 云服务器比较 贵阳电信 谷歌搜索打不开 easypanel 宿主机 租主机 usb大容量存储设备 最好的空间日志 万网空间价格 更多