网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> DSP >> 代码示例 >> TI DSP代码示例 >> C5000 >> 文章正文
  数字和IP电话系统:DSP软件代码         ★★★ 【字体:
数字和IP电话系统:DSP软件代码
作者:61IC    文章来源:本站原创    点击数:    更新时间:2007-1-17    

 

*************************************************

基于TMS320C54CST数字和IP电话系统:DSP软件代码

硬件上以:TMS320C54CST+SI3016为主实现

*************************************************

      .mmregs
      .def   main
      .def   daa_data      
    
spsa0    .set  38h 
spsd0    .set  39h 
dxr10    .set  23h 
drr10    .set  21h 
 
spsa1    .set  48h 
spsd1    .set  49h 
dxr11    .set  43h 
drr11    .set  41h 

spsa2     .set  34h 
spsd2     .set  35h 
drr22     .set  30h 
drr12    .set  31h  
dxr22    .set  32h  
dxr12    .set  33h  

spcr1     .set  00h 
spcr2     .set  01h
rcr1      .set  02h
rcr2     .set  03h
xcr1      .set  04h
xcr2      .set  05h
srgr1    .set  06h
srgr2    .set  07h
mcr1     .set  08h
mcr2     .set  09h
rcera     .set  0ah
rcerb     .set  0bh
xcera     .set  0ch
xcerb   .set  0dh
pcr      .set  0eh
  
k_iptr    .set 010111000b<<07 
k_temp    .set 1111111b
data_dp    .usect "filter_vars",0      
  
main:
   nop         
   stm    #0,clkmd  
   nop
   nop
change:
   ldm    clkmd,a
   nop
   nop
   and    #01,a
   nop
   nop
   bc     change,aneq
   stm    #0011011000001111b,clkmd  
                 
   nop
   nop
   rpt      #200    
   nop
   nop  
   stm    4000h,sp   
   ld     #0h,dp    

   ldm      pmst,a     
   and      #k_temp,a
   or       #k_iptr,a
   stl      a,ar6
   mvdm     ar6,pmst
   nop
   nop
   stm     #2000h,ar3      
   stm     #1ffeh,ar4      
   stm     #1fffh,ar5      
   ld      #80h,b      
   nop
   nop
    
   st     #10h,*ar4
   st     #7ff0h,*ar5
     
   stm      #0ffffh,tcr      
   stm      #07h,prd         
   stm      #08e0h,tcr   

   ssbx     intm    
   ssbx     sxm    
   st       #2491h,swwsr   

   nop
   nop
   nop
   ssbx     xf    
   nop 
   nop 
   nop
   nop
  
mcbsp0_init:      
   rsbx     cpl     
  ; ……
  ; ……
  ; ……
   nop

mcbsp2_init:    
   nop
   stm      spcr1,spsa2
   nop
   stm      06h,spsd2
   nop
   stm      spcr2,spsa2
   nop
   stm      200h,spsd2
   nop
   stm      pcr,spsa2
   nop
   stm      0eh,spsd2
   nop
   stm      rcr1,spsa2
   nop
   stm      40h,spsd2
   nop
   stm      rcr2,spsa2
   nop
   stm      4h,spsd2
   nop
   stm      xcr1,spsa2
   nop
   stm      40h,spsd2
   nop
   stm      xcr2,spsa2
   nop
   stm      4h,spsd2
   nop  
   rpt      #50
   nop  
   stm      spcr1,spsa2
   nop
   stm      07h,spsd2
   nop
   stm      spcr2,spsa2
   nop
   stm      201h,spsd2
   nop
   rpt      #50   
   nop
   nop

   stm      0ffffh,ifr  
   nop       
   stm      0h,imr                 
   orm      40h,imr   
   nop
   nop
   ssbx    intm                 
   nop
  
   stm      0f010h,bscr          
   nop
   rpt      #60000   
   nop
   rpt      #60000
   nop
   rpt      #60000
   nop
   nop
   nop  
   rsbx    intm            

loop:       
   nop
   nop  
   nop
   b   loop

daa_data:        
   ldm     drr12,a        
   nop
   nop
   nop
   nop
   nop
   nop      
   stl      a,*ar3+
   stl      a,*ar6
   nop
   nop
   sub     #1,b
   nop
  
   ld      *ar4,a
   nop
  
   ld      *ar4,a     
   xor     #2052h,a
   bc      init,aneq    

   ld      *ar6,a    
   and     #05h,a
   mvdk    *ar5,dxr12  
   bc      pre_rreg5,aeq     
  
   ld      *ar6,a           
   and     #01h,a
   bc      read_data1,aneq    
   mvdk    *ar5,dxr12
   b       pre_wreg5         

init:
   mvdk    *ar5,dxr12   
   ld      *ar4,a
   xor     #0010h,a
   bc      pre_wreg1,aeq     
   ld      *ar4,a
   xor     #0011h,a
   bc      wreg1,aeq    
  
   ld      *ar4,a
   xor     #2053h,a
   bc      save_data2,aeq
  
   ld      *ar4,a
   xor     #0090h,a
   bc      pre_wreg9,aeq     
   ld      *ar4,a
   xor     #0091h,a
   bc      wreg9,aeq    
   
   ld      *ar4,a
   xor     #0060h,a
   bc      pre_wreg6,aeq     
   ld      *ar4,a
   xor     #0061h,a
   bc      wreg6,aeq    
 
   ld      *ar4,a
   xor     #00d0h,a
   bc      pre_wreg13,aeq    
   ld      *ar4,a
   xor     #00d1h,a
   bc      wreg13,aeq     
    
   ld      *ar4,a
   xor     #00f0h,a
   bc      pre_wreg15,aeq    
   ld      *ar4,a
   xor     #00f1h,a
   bc      wreg15,aeq   
  
   ld      *ar4,a
   xor     #0100h,a
   bc      pre_wreg16,aeq    
   ld      *ar4,a
   xor     #0101h,a
   bc      wreg16,aeq    
     
   ld     *ar4,a
   xor      #0120h,a
   bc       pre_wreg18,aeq   
   ld      *ar4,a
   xor     #0121h,a
   bc      wreg18,aeq   
  
   ld      *ar4,a
   xor     #20F0h,a
   bc      pre_wreg5_0,aeq    
   ld      *ar4,a
   xor     #20F1h,a
   bc      wreg5_0,aeq   

   ld      *ar4,a
   xor     #2050h,a
   bc      pre_rreg5,aeq    

   ld      *ar4,a
   xor     #2051h,a
   bc      rreg5,aeq   

   ld      *ar4,a
   xor     #0051h,a
   bc      wreg5,aeq
        
   b       save_data1

pre_wreg1:
   st     #0001h,*ar5
   st     #0011h,*ar4
   b      save_data1   
wreg1:
   st     #0180h,*ar5     
   st     #0090h,*ar4
   b      save_data1
  
pre_wreg9:
   rpt     #60000
   nop
   rpt     #60000
   nop
   st     #0001h,*ar5
   st     #0091h,*ar4
   b      save_data1   
wreg9:
   st     #0900h,*ar5     
   st     #0060h,*ar4
   b      save_data1

pre_wreg6:
   nop
   rpt     #60000
   nop
   rpt     #60000
   nop   
   rpt     #60000
   nop  
   st     #0001h,*ar5
   st     #0061h,*ar4
   b      save_data1   
wreg6:
   st     #0600h,*ar5     
   st     #00d0h,*ar4
   b      save_data1
pre_wreg13:
   rpt     #60000
   nop
   rpt     #60000
   nop
   st     #0001h,*ar5
   st     #00d1h,*ar4
   b      save_data1   
wreg13:
   st     #0d00h,*ar5     
   st     #00f0h,*ar4
   b      save_data1
pre_wreg15:
   st     #0001h,*ar5
   st     #00f1h,*ar4
   b      save_data1   
wreg15:
   st     #0f44h,*ar5     
   st     #0100h,*ar4
   b      save_data1    
pre_wreg16:
   st     #0001h,*ar5
   st     #0101h,*ar4
   b      save_data1   
wreg16:
   st     #1004h,*ar5     
   st     #0120h,*ar4
   b      save_data1  
pre_wreg18:
   st     #0001h,*ar5
   st     #0121h,*ar4
   b      save_data1   
wreg18:
   st     #1200h,*ar5     
   st     #20F0h,*ar4
   b      save_data1    

pre_wreg5_0:
   st     #0001h,*ar5
   st     #20F1h,*ar4
   b      save_data1   
wreg5_0:
   st     #0500h,*ar5     
   st     #2050h,*ar4
   b      save_data1    
  
pre_rreg5:
   st     #07fffh,*ar5
   st     #2051h,*ar4
   b      save_data1
rreg5:
   st     #2500h,*ar5     
   st     #2052h,*ar4
   b     save_data1

pre_wreg5:
   st     #0ff1h,*ar5
   st     #0051h,*ar4
   b      save_data1   
wreg5:
   st     #0501h,*ar5     
   st     #02053h,*ar4
   b      save_data1 

save_data2:
   st      #0000h,*ar5
save_data1:         
   bc      save_data,bgt   
   nop
   stm     #2000h,ar3
   nop
   ld      #1800h,b   
   nop
save_data:
   nop
   rete
   nop
   nop
   nop
   nop

read_data1:  
    b   pre_rreg5
   rete           

               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    语音信号去噪和编码系统:语…
    数字和IP电话系统:回音相消…
    数字和IP电话系统:回音相消…
    数字和IP电话系统:相消汇编…
    数字和IP电话系统:回音相消…
    数字和IP电话系统:主机软件…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号