系统硬件结构
C6727B和其他DSP有一个较大的区别,就是C6727B不再提供专门的外部中断引脚,而是采用GPIO引脚和dMAX配合使用,通过寄存器的设置将GPIO引脚配置成外部中断引脚。本文为了实现FIFO的实时操作,一旦外设向FIFO写入数据,即发出中断信号到DSP的CPU,通知CPU读取数据。为此,需要使用1个外部中断引脚,将C6727B的音频串口的AXR[8]配置成通用的GPIO引脚,并在dMAX中设置成中断引脚。此时需要将音频串口的CONFIGMACSP0寄存器设置为0x0001,如图3所示。此时音频串口不能再作为普通的音频口使用,而是配置成IO接口。
从图3中可以看出,配置好音频串口后,一旦AXR[8]引脚有上升沿到,则McASP0激活dMAX的事件26,向CPU发送内部中断13。McASP的与中断相关的寄存器配置是实现以上方案的重点。使用PFUNC寄存器将其配置成通用IO引脚;PDIR寄存器控制IO引脚的方向;如果是输出引脚则由POUT引脚输出高低电平,如果是输入引脚,则由PDIN寄存器读出该引脚的状态;此外,可以使用PDCLR和PSET寄存器清除或者设置输出引脚的状态。
|