- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
i2c i2s cs42l51 驱动分析
i2ci2s cs42l51 驱动分析 转载 2009-08-13 11:34:04
分类: LINUX
1. 工作原理
I2S有5根线,每根线的作用和使用请驱动开发人员参考 《设备驱动程序开发详解》,《嵌入式系统接口设计与LINUX驱动程序开发》,CQ8401 datesheet,相关章节。而且要完成该驱动需要具备DMA,i2s,i2c等相关知识。
1.1 原理理解 CQ8401 i2s 于 codec cs42l51 连接如图: 上图说明如下: 图左边是CQ8401内部集成了I2S控制器,右边是CODEC芯片 SYNC---采样频率 SYS_CLK----给CODEC的时钟频率 BIT_CLK----位时钟频率
上图说明如下: Pllout:cpu 主频 CFCR2:分频寄存器,得到SYS_CLK i2sDIV.DV: I2S分频寄存器,得到BIT_CLK Divider in AIC: 1/64,得到SYNC 1.2 操作过程 音频数据通过DMA方式从RAM到I2S控制器的FIFO中,I2S控制器通过I2S总线将数据传送到CODEC中,然后哦CODEC就能播放出声音了。而对CODEC寄存器的配置通过i2c总线,所以该驱动需要实现I2C设备驱动。 关键字:DMA,I2C,I2S
2. 驱动阅读
该驱动需要具备一下知识:i2c,i2s,dma
2.1 模块的初始化和退出
static int __init init_clx_i2s(void) //模开初始化{ int errno,ret=0; //调用kmalloc给结构体 i2s_controller 分配空间 if ((errno = probe_clx_i2s(i2s_controller)) 0) return errno; //注册dsp , mixer ,初始化i2s,见2.2 attach_clx_i2s(i2s_controller); //注册一个I2C驱动管理结构体,在 soc_cs42l51_i2c_drv 结构体会初始化CODEC (cs42l51),见2.3分析 ret = i2c_add_driver(soc_cs42l51_i2c_drv); if(ret) { printk(%s-%d: register i2c driver failed\n,__FUNCTION__,__LINE__); return ret;
} printk(Cirrus Logic i2s SoC codec cs42l51 driver verison 1.0 date 090407\n); return ret; }
static void __exit cleanup_clx_i2s(void) { unload_clx_i2s(i2s_controller); i2c_del_driver(soc_cs42l51_i2c_drv); }
module_init(init_clx_i2s); module_exit(cleanup_clx_i2s);
2.2 attach_clx_i2s(i2s_controller)
//注册dsp , mixer ,初始化i2s attach_clx_i2s(i2s_controller);static void __init attach_clx_i2s(struct clx_i2s_controller_info *controller) { char *name; int i, adev; name = controller-name; clx_i2s_initHw(); //i2s初始化,见2.2.1 /* register /dev/audio ? */ adev = register_sound_dsp(clx_i2s_audio_fops, -1); if (adev 0) goto audio_failed; /* initialize I2S code
您可能关注的文档
最近下载
- 安全生产推进小组成立文件.docx VIP
- (精)防人因培训.ppt
- 4.3 信息系统在社会应用中的优势及局限性 课件-2022-2023学年粤教版(2019)高中信息技术必修2.pptx VIP
- 2021医院必威体育官网网址培训课件.pptx
- 必威体育精装版GBT20647.9物业服务管理体系一整套文件(手册+程序文件+管理制度+表单).pdf
- 9.2 提高防护能力 2024-2025学年七年级道德与法治上册高效备课精品课件(统编版2024).pptx VIP
- xx小学学平险问题专项整治实施方案.doc
- 可靠性试验培训.ppt
- 2.3 涡流、电磁阻尼和电磁驱动 教学设计 -2024-2025学年高二下学期物理人教版(2019)选择性必修第二册.docx
- 国家建筑标准设计图集15J207-1 单层防水卷材屋面建筑构造(一)金属屋面.pdf
文档评论(0)