妈妈寄语

好长时间没有写海月的博客了,爸爸以没有东西好写为由。是呀,已经两个星期没有在网上看到海月了,不知道她胖了还是瘦了,高了还是矮了,长了几颗牙,自己能站立了没有。

记得刚生下她头两个月,看着她在怀里的样子,好象整个世界就只有妈妈一人,对外界一切都不闻 不问,妈妈也象天塌了也和自己无关,就只要宝宝睡在怀里就好。

想想自己小的时候,我也曾这样依偎在妈妈怀里,妈妈也是这样深情在看着自己,觉得当时的自己好幸福,自己的妈妈好伟大。妈妈总是说,只要你好,我就不担心。是呀,只要海月每天快快乐乐,我就什么都无所谓。爸爸妈妈在一天一天等着海月长大。

你可以有要求,但不得无理。你可以生气,但不得无顾。你可以撒娇,但不得没完没了。你可以不爱学习,但成绩要优益。你可以没有特长,但爱好要广泛。你可能会失败,所以要学会不弃不馁。你可能会吃亏,所以要学会心胸宽广。你生了病,妈妈想办法给你治,你有了任何困难,都可以和妈妈讲。你可以不喜欢爸爸妈妈但要懂 得尊敬,你可以普普通通但要懂得热爱生活。妈妈要做一个让海月值得骄傲的好妈妈。海月要做一个乐观向上的好孩子。


妈妈和爸爸会合了

经过了长达2个多月的离别,妈妈已于上个星期三回到了日本,终于和早就等得不耐烦了的爸爸会合了。他们俩个在一起,自然是更加想念我了。

现在我已经经过了认生的阶段,前一段时间我还不愿意让不熟悉的人抱我,现在我也满不在乎了。姑奶奶找到了工作,不能再照顾我,于是换了另外一位沙市的姑奶奶来照看。现在我和谁都能搞好关系,人人看我都说两个字可爱,三个字好可爱,四个字相当可爱,五个字实在太可爱了。

一到周末休息,我就最忙了。爷爷奶奶要带我出去玩,爸爸妈妈要通过摄像头看我。每次他们看我的时候,都海月海月的喊我的名字,我就东张西望地找爸爸妈妈,爷爷奶奶就笑呵呵地说,海月懂事了,知道爸爸妈妈在叫我。

C6727的外部中断

RY DSP开发 2006/07/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寄存器的来决定中断的极性,即是上升沿还是下降沿产生中断。


C6727的McASP问题

RY DSP开发 2006/07/04

在设置McASP过程中遇到一个难解的问题。在XFMT和RFMT寄存器中有XBUSEL和RBUSEL,它们为0时通过dMAX port来访问McASP XRBUF,为1时通过peripheral configuration bus address来访问XRBUF。

简 单地说,如果XBUSEL和RBUSEL为0,则所有的XRBUF寄存器共享一个访问地址,例如C6727的McASP0的这个地址为 0x54000000。如果XBUSEL和RBUSEL为1则通过相应的寄存器XBUFn和RBUFn来访问。也就说每个XRBUF都有一个单独的访问地 址。采用dMAX port访问McASP有个好处,McASP会自动地遍历所有激活的serializers。例如如果DMA需要从serializers 0,4,5,7获取数据,则只需要设置0,4,5,7为输入并激活它们,那么DMA只从地址0x54000000复制,也可以同时获得 serializers 0,4,5,7的数据。这样,dMAX的源地址或者目标地址就可以保持不变了。

这次移植C6713的程序到C6727 时,却怎么也不能通过dMAX port来输入或输出数据,此问题困扰多日,最终没有解决,只好把XBUSEL和RBUSEL设置为1,然后通过相应的寄存器来传递数据了。幸好这次最多 只用到2个输入和一个输出,就算修改dMAX的源地址也不困难。但终究留下些小小的遗憾,真希望日后有机会把这个问题弄明白。