nop nop nop } } t0 -= #1 if(t0 != 0) goto delayMs_loop @BRC1_L = pop() || mmap() @BRC0_L = pop() || mmap() ar1 = pop() xar0 = popboth() nop nop .else pshboth(ac0)
_circle2_ForCdelay_sub: ;inner circle ac0=#3fffh
_circle_ForCdelay_sub: ac0-=#1 nop if (ac0!=#0) goto _circle_ForCdelay_sub ;outer circle t0-=#1 ;decrement the ar5 if(t0!=#0) goto _circle2_ForCdelay_sub ;ac2=pop() ac0=popboth() .endif return
_delayUs_SYS: .if 0 pshboth(xar0) push(@CSR_L) || mmap() xar0 = _PWM_clockGene nop nop
delayUs_loop: csr = *ar0(PWM_clockGene_us) repeat(csr) nop nop t0 -= #1
31
if(t0 != 0) goto delayUs_loop @CSR_L = pop() || mmap() xar0 = popboth() nop nop .else pshboth(ac0)
_circle2_ForCdelay_us_sub: ;inner circle ac0=#0fh
_circle_ForCdelay_us_sub: ac0-=#1 nop if (ac0!=#0) goto _circle_ForCdelay_us_sub ;outer circle t0-=#1 ;decrement the ar5 if(t0!=#0) goto _circle2_ForCdelay_us_sub nop ac0=popboth() .endif return 6、中断向量表
.sect \
.ref _c_int00 .ref _Nmi_isr ;Nonmaskable interrupt .ref _Berr_isr ;Bus Error interrupt .ref _ExtInt0_isr,_ExtInt1_isr,_ExtInt2_isr .ref _ExtInt3_isr,_ExtInt4_isr;External interrupt .ref _Timer0_isr,_Timer1_isr;Timer .ref _McbspRint0_isr,_McbspTint0_isr;Mcbsp0 .ref _McbspRint1_isr,_McbspTint1_isr;Mcbsp1 .ref _McbspRint2_isr,_McbspTint2_isr;Mcbsp2 .ref _Usb_isr ;USB .ref _Dmac0_isr,_Dmac1_isr,_Dmac2_isr,_Dmac3_isr,_Dmac4_isr,_Dmac5_isr;DMA .ref _IIc_isr ;IIC .ref _Dlog_isr ;Data Log interrupt .ref _Rtos_isr ;Real-time Operating System interrupt .ref _Sint27_isr,_Sint28_isr,_Sint29_isr,_Sint30_isr,_Sint31_isr ;Software interrupt .ref _Dspint_isr
32
.def _RESET_VEC
;----------------------------------------------- ;-----------中断向量开始
;-----------------------------------------------
;----------------------------------------------------0--- ;sint0
_RESET_VEC .ivec _c_int00 ;,USE_RETA ;硬件或软件复位入口 nop ;可以省略这个语句因为\自动对齐8 BYTE的边界,以下同
;----------------------------------------------------8---
sint1 .ivec _Nmi_isr ;不可屏蔽中断 nop
;----------------------------------------------------10---
sint2 .ivec _ExtInt0_isr ;External interrupt #0 nop
;----------------------------------------------------18---
sint3 .ivec _ExtInt2_isr ;External interrupt #2 nop
;----------------------------------------------------20---
sint4 .ivec _Timer0_isr ;Timer #0 interrupt nop
;----------------------------------------------------28---
sint5 .ivec _McbspRint0_isr ;McBSP #0 receive interrupt nop
;----------------------------------------------------30---
sint6 .ivec _McbspRint1_isr ;McBSP #1 receive interrupt nop
;----------------------------------------------------38---
sint7 .ivec _McbspTint1_isr ;McBSP #1 transmit interrupt(MMC/SD1) nop
;----------------------------------------------------40---
sint8 .ivec _Usb_isr ;USB interrupt nop
;----------------------------------------------------48---
sint9 .ivec _Dmac1_isr ;DMA Channel #1 interrupt nop
;----------------------------------------------------50---
sint10 .ivec _Dspint_isr ;Interrupt from host nop
;----------------------------------------------------58---
sint11 .ivec _ExtInt3_isr ;External interrupt #3(WDG) nop
33
;----------------------------------------------------60---
sint12 .ivec _McbspRint2_isr ;McBSP #2 receive interrupt nop
;----------------------------------------------------68---
sint13 .ivec _McbspTint2_isr ;McBSP #2 transmit interrupt(MMC/SD2) nop
;----------------------------------------------------70---
sint14 .ivec _Dmac4_isr ;DMA Channel #4 interrupt nop
;----------------------------------------------------78---
sint15 .ivec _Dmac5_isr ;DMA Channel #5 interrupt nop
;----------------------------------------------------80---
sint16 .ivec _ExtInt1_isr ;External interrupt #1 nop
;----------------------------------------------------88---
sint17 .ivec _McbspTint0_isr ;McBSP #0 transmit interrupt nop
;----------------------------------------------------90---
sint18 .ivec _Dmac0_isr ;DMA Channel #0 interrupt nop
;----------------------------------------------------98---
sint19 .ivec _ExtInt4_isr ;External interrupt #4(RTC) nop ;----------------------------------------------------A0---
sint20 .ivec _Dmac2_isr ;DMA Channel #2 interrupt nop
;----------------------------------------------------A8---
sint21 .ivec _Dmac3_isr ;DMA Channel #3 interrupt nop
;----------------------------------------------------B0---
sint22 .ivec _Timer1_isr ;Timer #1 interrupt nop
;----------------------------------------------------B8--- sint23 .ivec _IIc_isr ;IIC interrupt nop
;----------------------------------------------------C0--- sint24 .ivec _Berr_isr ;Bus Error interrupt nop
;----------------------------------------------------C8---
sint25 .ivec _Dlog_isr ;Data Log interrupt nop
;----------------------------------------------------D0---
sint26 .ivec _Rtos_isr ;Real-time Operating System interrupt
34
nop
;----------------------------------------------------D8---
sint27 .ivec _Sint27_isr ;Software interrupt #27 nop
;----------------------------------------------------E0---
sint28 .ivec _Sint28_isr ;Software interrupt #28 nop
;----------------------------------------------------E8---
sint29 .ivec _Sint29_isr ;Software interrupt #29 nop
;----------------------------------------------------F0---
sint30 .ivec _Sint30_isr ;Software interrupt #30 nop
;----------------------------------------------------F8---
sint31 .ivec _Sint31_isr ;Software interrupt #31 nop
;---------------------------------------------------- ;-------------END
;----------------------------------------------------
八、硬件电路设计
8.1 、Audio
把输入的模拟信号经过TLV320AIC23芯片转化成数字信号输出,把输出的信号再传送给DSP内部的多通道缓冲串口。
8.2、CPLD:
是复杂可编程逻辑器件,是一种用户根据各自需要而自行构造逻辑功能的数字集成电路,主要用于数据逻辑处理,任何数字器件的功能,它都能完成。
35