TMS320VC5402与单片机的HPI口通信设计
MOV R2 , # 00H ;写帧类型
MOV R3 , # 02H
LCALL LWHPID
MOV R2 , # 00H ;写DA TA[0 ]
MOV R3 , # 03H
LCALL LWHPID
MOV IE , # 81H ;主机中断允许
MOV R2 , # 04H ;DSP HPI 中断
MOV R3 , # 04H
LCALL WHPIC ;写HPIC
SJMP $ ;等待主机中断发生
typedef st ruct
{ int head ; / 3 f ramehead 3 /
int length ; / 3 f ramelength 3 /
int f unc ; / 3 f unc type 3 /
int data [ 253 ] ; / 3 t he data 3 /
} HPIFRAME ;
HPIFRAME hpiinbuf ;
HPIFRAME hpiout buf ;
# pragma DA TA_SECTION (hpiinbuf ,
" . hpibuffer" )
# pragma DA TA_SECTION (hpioutbuf ,
" . hpibuffer" )
void main ()
{ char hpidatacnt ;
HPIFRAME 3 hpiinbufpt r = hpiinbuf ;
HPIFRAME 3 hpiout bufpt r = hpiout buf ;
c54_init () ;
ser0inwrcnt = 1 ;
ser0out rdcnt = 5 ;
ser0inrdcnt = 5 ;
ser0outwrcnt = 1 ;
ser0flag = 0 ;
for ( ; ;) {
if (hpirecflag > = 1) {
hpirecflag = 0 ;
if (hpiinbufpt r - > head = = 0xaa) {
hpiout bufpt r - > head = 0xaa00 + hpiinbufpt r
- > lengt h ;
hpiout bufpt r - > f unc = hpiinbufpt r - > f unc ;
for (hpidatacnt = 0 ;hpidatacnt hpiinbufpt r
- > lengt h ;hpidatacnt + + )
hpiout bufpt r - > data[ hpidatacnt ] =
hpiinbufpt r - > data[ hpidatacnt ] ;
hpidsp_host () ; } } } }
图2 主机编程流程图
3 结束语
DSP 与单片机的混合系统设计,可实现双方优势互补,在信号处理及控制显示电路设计中是一款较佳的设计方案.
评论