微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > S3C2440之IIS操作MDK

S3C2440之IIS操作MDK

时间:11-19 来源:互联网 点击:


由图可知,有发送器,也有接收器,发送器和接收器都可以作为控制器。谁发出WS和SCK,谁就是控制器。

SCK为IIS串行数据的位时钟,WS为声道切换时钟,WS的频率等于采样频率fs。SCK频率=WS*每个数据的位数*通道数。

MSB先发送,由于收发对于字长的规定可以不一样,所以最终的长度需要根据实际情况而定。


2440具有64深度,且位长为16bit的FIFO。PCLK进过预分频A和B产生SCLK和LRCK。PCLK和MPLLin共同产生CDCLK,供给音频编码译码器使用。

因为2440的IIS接口仅仅是单纯的传输数据,依从IIS协议而已,实际使用中,需要将数据转换为模拟音频,或者将外界的音频转换为数字信号给系统使用。

3种模式:DMA模式,同时传输和接收模式,仅传输和接收模式。

这里采用的编码译码器是UDA1314TS。仅为从模式,需要主设备供应时钟,为256fs、384fs、512fs。

UDA1314具有L3线接口与微控制器通信。L3DATA L3MODE L3CLOCK。具有2种模式,地址模式和数据模式。地址模式通过L3选择通信的设备且定义数据传输模式访问的目的寄存器。数据模式是双向的,输入到UDA1314中编程它的声音处理和系统控制特性和从UDA1314输出提供声音的峰值水平值。


先传低位,再传高位,2440不具备该接口,需要用GPIO模拟使用。



依据上面的实际图来配置硬件。

音频数据所给出的信息:

根据wav格式从数据中读出采样频率。声道数。量化位数。根据这些来配置IIS相关寄存器。

程序:

本例程,PCLK=100MHZ,音频数据的fs=22.05Khz,2通道,16bit。由于音频文件过大,所以放在类似硬盘的nandflash中,且不占用前4k。本文利用了MDK的库函数。

IIS.C文件

#include "S3C2440.h"#include "iis.h"/ÄÄâUDA1314µÄ3Ïß²Ù×÷¬Óë2440ͨÐÅ*//data : Ðè´«ÊäµÄÊý¾Ý//address : ÊǵØÖ·Äʽ»¹ÊÇÊý¾ÝÄʽ/void WriteL3(unsigned char data,unsigned char address) { int i,j; / *µØÖ·ÄʽʱÐò¬ÕÆÎÕ¼¸¸öÒªµã *Êý¾Ý´«ÊäµÄʱºò±Ö¤L3MODEΪµÍ *Êý¾Ý´«Ê俪ʼµÄÐźÅÊDZ֤L3MODEΪµÍL3CLOCKΪ¸ß *Êý¾Ý´«Êä½áÊøµÄÐźÅÊDZ֤L3MODEΪ¸ßL3CLOCKΪ¸ß *Êý¾Ý´«Êä¹ý³ÌÖÐÒ»¸öL3CLOCKµÄÖÜÆÚ´«Ò»¸öÊý¾Ýλ *Êý¾ÝÄʽʱÐò¬ÕÆÎÕ¼¸¸öÒªµã *Êý¾Ý´«ÊäµÄʱºò±Ö¤L3MODEΪµÍ *Êý¾Ý´«Ê俪ʼµÄÐźÅÊDZ֤L3MODEΪ¸ßL3CLOCKΪ¸ß *Êý¾Ý´«Êä½áÊøµÄÐźÅÊDZ֤L3MODEΪ¸&sz            

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top