打印

转帖:C6727的外部中断

[复制链接]
2289|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gangwa258123456|  楼主 | 2012-4-30 09:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
C6727项目出现一个小问题:开关按钮在操作的瞬间,它产生的开关声会进入内藏的麦克风,带着耳机听的时候,感觉很不爽。于是想在开关操作瞬间,静音一 段时间,这需要开关直接对DSP产生中断,可是原先的硬件设计上,是把开关和DSP的UHPI引脚相连,在DSP空闲时对开关进行轮询。
仔细查了 C6727的datasheet,发现C6727没有通用的中断引脚,只能将McASP的AMUTEIN信号通过dMAX向DSP产生中断。而 AMUTEIN也没有对应的引脚,它需要通过设置CFGMCASP寄存器来决定DSP的哪个引脚来做AMUTEIN信号。没想到弄一个外部中断这么麻烦, 下面就把设置外部中断的完整步骤列出来,以McASP0为例:
1.设置CFGMCASP0寄存器,这个寄存器决定DSP哪个引脚将作为AMUTEIN的信号输入。例如我选择了CFGMCASP0 = 0x00000001,也就是选择了AXR0[7]引脚。
2.设置McASP的寄存器PFUNC和PDIR,使AXR0[7]成为通用输入引脚。
3.设置McASP的寄存器AMUTE的INEN位为0,让McASP忽略AMUTEIN信号。
4.设置dMAX的Event26(MCASP0ERR)的Event Entry,让MCASP0ERR信号直接对DSP产生中断,这个Event Entry中可以选择向DSP产生哪个中断,我选择的是INT15。这样,AMUTEIN信号会对dMAX产生MCASP0ERR event,再由dMAX把这个event转换为DSP的中断INT15。
5.开启DSP的中断INT15,并编写中断服务程序。
6.设置dMAX的DEPR寄存器的来决定中断的极性,即是上升沿还是下降沿产生中断。

相关帖子

沙发
lxg9165| | 2012-4-30 15:04 | 只看该作者
不错哦  感谢分享~~


















Signature------------------------------------------------------
Where there is great love, there are always miracles.
nike free run
nike free run 2
nike air max 2012

使用特权

评论回复
板凳
figi| | 2012-5-2 20:37 | 只看该作者
看过感觉蛮基础的

使用特权

评论回复
地板
figi| | 2012-5-2 20:37 | 只看该作者
还是很值得一看的呢

使用特权

评论回复
5
gaga1| | 2012-5-2 21:06 | 只看该作者
6727接触不是很多 看下啦

使用特权

评论回复
6
gaga1| | 2012-5-2 21:06 | 只看该作者
:handshake

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

215

帖子

2

粉丝