STM32F407录音机实现

1**. 开发平台**

  • MCU 型号:STM32F407VET6
  • NAND Flash : MX30LF2G
  • 音频Codec : AK4556

2. 接口描述****

  • Nand Flash 驱动接口:fsmc
  • 音频 Codec 接口: 无(AK4556硬件配置)
  • 音频收发方式:I2S DMA模式

3 实现功能

  • 开机后,按下按键,开始录制音乐,
  • 录制音乐过程中再次按下按键,开始播放录制的音乐

** 4.录音功能实现概况**

  • 音频信号经过Codec的ADC,将模拟信号转换成I2S信号
  • I2S 被STM32F407的I2S3模块接收
  • STM32F407的I2S3模块接收数字音频,将数据存储在NAND Flash中 至此信号录制完成
  • STM32F407从NAND FLASH读出音频数据,通过I2S2音频模块发出,实现playback功能

5. 系统框图
]
6.分模块原理图

上图是MCU与nand flash的接口图

上图是音频流程图

7. I2S 口和DMA 初始化

DMA方式的接收配置,注意使用DMA双缓冲

最后:
获取keil工程和源码,请+QQ: 1025054559

STM32F407 + Codec AK4556 + NAND Flash MX30LF2G 录音机实现相关推荐

  1. STM32F407 FSMC驱动MT29F4G08A NAND FLASH源代码分享

    一.MT29F4G08A概述 MT29F4G08是一颗 512MB 的 NAND FLASH 芯片相对于 SPI FLASH( W25Q256)和 SD 卡等存储设备,NAND FLASH 采用 8 ...

  2. NAND FLASH

    NAND Flash 以Micron公司的MT29F2G08为例介绍NAND Flash原理和使用. 1. 概述 MT29F2G08使用一个高度复用的8-bit总线(I/O[7:0])来数据传输.地址 ...

  3. 通过mtd读写flash_关于如何在kernel起来之后通过直接dd读写nand flash分区来更新zImage的mtd问题...

    关于如何在kernel起来之后通过直接dd读写nand flash分区来更新zImage的mtd问题 主要是设置struct mtd_partition中的mask_flags标志位 具体含义为: 1 ...

  4. linux读取nand的文件,Linux Kernel 之AP读写Nand Flash上的Yaffs2文件的全过程浅析

    1.1 用top-down的方法分析AP读一个Nand Flash上的file的全过程 我先简单看一个例子,看User Application如何打开一个Yaffs2 file并读写之: int ma ...

  5. 学习 ARM 系列 -- FS2410 开发板上 Nand Flash 到内存的代码搬移

    一.目的    通过将 Nand Flash 前 4K 代码搬移到 SDRAM 中,了解如何初始化并使用 ARM 的内存,    为编写 ARM bootloader 和搬移内核到内存作准备. 二.代 ...

  6. Nand Flash,Nor Flash,BPI Flash,SPI Flash 的区别?

    转载:CFI Flash, JEDEC Flash ,Parellel Flash, SPI Flash, Nand Flash,Nor Flash的区别和联系 简单说就是,Flash,按照内部访问接 ...

  7. S3C2440的内存情况在NAND FLASH或者NOR FLASH启动的情况下

    1,从NANDFLASH启动时,在ARM上电时,ARM会自动把NANDFLASH前4K的内容拷贝到S3C2440内部SRAM中,同时把SRAM的地址映射到0X00000000.ARM上电后会从SRAM ...

  8. 采用NAND Flash设计存储设备的挑战在哪里?

    对于搞电子设计的工程师而言,NAND Flash是再熟悉不过的东西了.在电子设计的时候,NAND Flash通常作为大容量存储介质,可以类比为PC系统中的磁盘.在电子设计领域,对于小容量存储,还可以采 ...

  9. nor flash 和nand flash 的区别

    ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写.ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是 ...

  10. PXA270-基于ARM9内核Processor外部NAND FLASH的控制实现

    于ARM9内核Processor外部NAND FLASH的控制实现 夏 涛 (上海交通大学微电子学院 上海 200030) 1 NAND FLASH NAND写回速度快.芯片面积小,特别是大容量使其优 ...

最新文章

  1. Struts2返回json
  2. 腾讯云发布智慧能源四大新品,携手合作伙伴共建智慧能源生态圈
  3. tidevice安装(MacOS)
  4. php 谷歌翻译api_科研福音,论文翻译神器系列!
  5. 【机器视觉】 fuzzy_measure_pairing算子
  6. call super class will trigger CGLIB
  7. 「浏览器插件」网址小尾巴终结者
  8. 你每隔多久使用计算机上网查找资料英文,牛津英语8B Unit3导学案
  9. Pycharm使用远程服务器运行代码
  10. java integer常量池_为什么Integer常量池的行为在127发生变化?
  11. [Lab 2] OSPF专题
  12. 人脸识别(8)----人脸识别主要算法原理
  13. class不生效 weblogic_weblogic部署常见问题
  14. Linux下服务器密码正确,登录的时候却提示密码错误
  15. python设置桌面壁纸后重启电脑失效解决方案
  16. hyperv怎么复制文件到linux,Hyper-V快速复制虚拟机
  17. 如何对网站关键词进行合理布局?
  18. python---打包exe文件运行自动化
  19. Linux平台下动态链接库.so转换成windiws平台下.dll文件并使用python调用
  20. 详细解读MeeGo系统构架

热门文章

  1. linux添加usb打印机,打印机配置和添加本地打印机
  2. Quartus II 13.1 安装步骤详解
  3. Tampermonkey 油猴脚本,chrome插件
  4. 读掘金小册组件精讲总结3
  5. JDBC原生连接与连接池介绍
  6. 【python技能树】python编码规范
  7. IEEE Access 模板 图片编辑
  8. SPSS 24/25/26安装包分享 window和mac版本
  9. 数据预测之BP神经网络具体应用以及matlab代码
  10. 如何选择tomcat版本