Chinaunix首页 | 论坛 | 博客
  • 博客访问: 965643
  • 博文数量: 175
  • 博客积分: 2788
  • 博客等级: 少校
  • 技术积分: 2060
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-25 12:25
个人简介

知之者不如好之,好之者不如乐之

文章分类

全部博文(175)

文章存档

2016年(1)

2015年(20)

2014年(8)

2013年(68)

2012年(16)

2011年(35)

2010年(1)

2008年(26)

分类: 其他平台

2014-12-29 09:38:05

原文:

刚开始设计硬件的时候没仔细看手册,想当然,把I2S_SD连接到PCM CODEC输入,MISO连接到CODEC输出,结果做软件的时候遇到麻烦才回头看手册,傻眼了,STM32的I2S数据线只有一根I2S_SD,要么输入,要么输出,跟全双工CODEC没法通讯,这一点跟NXP LPC和比是个很大的败笔。

解决方法(PCM接口模式):将STM32工作在SPI SLAVE方式,MOSI接CODEC输出,MISO接CODEC输入,SCK接BCLK,任意一个PIO作为中断输入与FRAME SYNC连接。

如果想使用DMA,需要将帧频率(采样频率)设置为BCLK的字长倍,比如16bit字长,采样频率8K,则Fsync设置为8K*16=128K,当一个FSYNC中断后设置DMA,后续即可连续输入/输出。



S3C2410的I2S接口:  http://www.eefocus.com/book/09-04/6543223080420.html
阅读(8360) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~