6416与aic23进行语言数据采集和处理的程序beta版
本文实现从aic32的line-input获得音频数据并在line-output播放,使用McBSP和EDMA来高效的传输数据,避免DSP的高负载。
数据传输:
codec与DSP通过McBSP2传输数据。EDMA配置为存储每个到达McBSP2的16比特signed语音采样数据在内存缓冲区内,之后会被处理。处理之后EDMA控制器回送数据到McBSP2进行发送。
McBSP1设置为配置/控制AIC23。AIC23从McBSP1接收串行配置参数如音量、采样率和数据格式。
可以使用乒乓数据缓冲和linked-EDMA传输来更方便高效的传输数据。单个数据缓冲来接收发送数据很不方便,因为要避免新到达数据覆盖正在进行传输的数据。乒乓数据缓冲使用两个数据缓冲,当乓缓冲正在填满时,乒缓冲肯定不会被覆盖,可以对其进行处理。可以使用接收发送各两个共四个缓冲进行乒乓传输。
在这种情况下,对于每个缓冲,EDMA控制器的配置都要有所不同。当一个缓冲填满后,EDMA控制器产生一个中断,中断处理程序/interrupt-handler必须在下一个音频采样数据到达之前为下一个缓冲重新加载配置。EDMA的linked-transfer特性可以轻松的做到这一点:每个配置都预先设置,在当前配置结束后EDMA控制器自动加载下一个配置;这样同样产生中断信号,但它仅用来通知DSP可以处理数据了。唯一的约束条件是,当前缓冲填满之前所有的音频数据必须处理结束;这段时间远远大于音频采样间隔。应用这种方法,系统更容易达到实时处理要求。
程序说明:
程序运行过程中,DSP/BIOS首先初始化,main()函数作为主进程启动。本文中,它主要实现程序初始化并打开EDMA数据传输。当main()函数运行结束后,由DSP/BIOS接管,为中断程序服务。
当一个缓冲填满后, edmaHwi()中断服务子程序/ISR被调用,其中pingOrPong 状态变量标识此缓冲是乒或乓。dmaHwi把缓冲标记标识为相对的/相反的缓冲,并调用软中断进程processBuffer 处理音频数据。
其他程序:blinkLED()当对应的开关按下时以2Hz频率闪灯,是周期为500ticks的周期进程。load()在另一个对应的开关按下时模拟20-25%的虚载荷,是周期10ms的周期进程。
6416与aic23进行语言数据采集和处理的程序beta版相关推荐
- led的c语言程序,单片机C语言LED灯点亮程序完全版
<单片机C语言LED灯点亮程序完全版>由会员分享,可在线阅读,更多相关<单片机C语言LED灯点亮程序完全版(7页珍藏版)>请在人人文库网上搜索. 1.1例子1第二个灯亮#inc ...
- C语言打包解包文件程序(简易版)
//测试通过 科嵌电子 #include <stdio.h> #include <string.h> #include <stdlib.h> typedef uns ...
- c语言程序设教材计 乌云高娃,C语言程序设计教学课件作者第3版乌云高娃演示文稿C语言程序设计教学课件作者第3版乌云高娃演示文稿演示文稿第1章C语言程序设计基础课件.ppt...
C语言程序设计教学课件作者第3版乌云高娃演示文稿C语言程序设计教学课件作者第3版乌云高娃演示文稿演示文稿第1章C语言程序设计基础课件.ppt 主要内容 课程概述 为什么选择C语言作为入门课程? C语言 ...
- c语言编程 构建围墙,c语言程序设计朝盛 综合程序练习题.ppt
c语言程序设计朝盛 综合程序练习题 综合程序练习题 综合程序练习题 大型程序设计的要求 综合程序练习题 综合程序练习题 大型程序设计题目分析: 1 打字练习 2 电子琴 3 简易画图板 4 贪吃蛇 5 ...
- 《C语言程序设计与实践(第2版)》——3.2 数据类型
本节书摘来自华章出版社<C语言程序设计与实践(第2版)>一书中的第3章,第3.2节,作者:凌云等著,更多章节内容可以访问云栖社区"华章计算机"公众号查看 3.2 数据类 ...
- 《数据结构与抽象:Java语言描述(原书第4版)》一JI2.3 抛出异常
本节书摘来华章计算机<数据结构与抽象:Java语言描述(原书第4版)>一书中的第2章 ,[美]弗兰克M.卡拉诺(Frank M. Carrano) 蒂莫西M.亨利(Timothy M. H ...
- 《数据结构与抽象:Java语言描述(原书第4版)》一2.2.1 可变大小数组
本节书摘来华章计算机<数据结构与抽象:Java语言描述(原书第4版)>一书中的第2章 ,第2.2.1节,[美]弗兰克M.卡拉诺(Frank M. Carrano) 蒂莫西M.亨利(Timo ...
- python是c语言写的吗-先学C语言还是Python?资深程序员往往是这样建议的!
编程是一门手艺, 学习编程首先要有目的,w3cschool先带大家了解一下自己需要学习什么吧! 0.学一门语言 其实学什么语言都可以,因为语言都是互通的,C语言也好, 对于初学者来说,Python 也 ...
- 没学c语言可以学python_先学C语言还是Python?资深程序员往往是这样建议的!
编程是一门手艺, 学习编程首先要有目的,w3cschool先带大家了解一下自己需要学习什么吧! 0.学一门语言 其实学什么语言都可以,因为语言都是互通的,C语言也好, 对于初学者来说,Python 也 ...
最新文章
- JVM的GC简介和实例
- 深度学习领域有哪些瓶颈
- c语言e怎么表示_来测测!这11个C语言入门基础知识你都掌握了吗?
- Android手机用wifi连接adb调试的方法
- windows怎么打开python_windows怎么打开Python
- keil4怎么移植其他人的程序_简单和你聊聊造血干细胞移植!
- Sandy Bridge 12款双核心产品正式入列 Core i7-2620M Core i5-2540M
- Netty 实现长连接服务的难点和优化点
- 每日一“酷”之string
- linux下rsync服务的搭建
- 简单算术表达式计算器
- 千峰java逆战班Day31
- 游戏逆向 修改植物大战僵尸阳光值
- 职称计算机cad考试 多少分通过,2017职称计算机考试AutoCAD知识之直线的绘制
- nacos 安装包下载 linux+windows
- 瑞红淘宝商城旗舰店开张 正式进军B2C市场
- 服务器与客户端的TCP连接
- ProcessOn‘s Bug--完善个人资料无限扩容
- 我谈阶梯博弈( Staircase Nim )
- 国产半导体设备多年沉淀终爆发!2020制程、测试、硅片设备全面开花
热门文章
- @keyframes关键帧动画(animation)
- mysql 定时统计_PHP+MySQL定时数据统计优化
- python找数字程序_程序以查找Python中从1到N的所有缺失数字
- java每轮排序结果_【算法队列面试题】面试问题:java选择题… - 看准网
- Python3小程序:把连续的16进制UTF8编码转换为字符串
- java kafka 消费_java利用kafka生产消费消息
- html width设置没用,html style的width不起作用
- php价格结算,PHP根据用户折扣计算商品价格
- mysql 过滤单引号_python实现mysql的单引号字符串过滤方法
- dns服务期搭建使用_自己搭建dns服务器