新闻中心

EEPW首页>嵌入式系统>设计应用> TMS320VC5402与单片机的HPI口通信设计

TMS320VC5402与单片机的HPI口通信设计

作者: 时间:2013-02-07 来源:网络 收藏

  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 $ ;等待主机中断发生

  在DSP 的软件中,用HPI 中断服务程序实现数据收发. DSP 的HPI 中断服务程序置位中断标志[4 ] ,C 语言主程序根据接收帧在地址0X200 处写入一个发送帧,并发送主机中断到A T 89 C 51. C 语言程序如下:

  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 () ;  }  }  }  }

TMS320VC5402与单片机的HPI口通信设计

图2  主机编程流程图

  3  结束语

  DSP 与单片机的混合系统设计,可实现双方优势互补,在信号处理及控制显示电路设计中是一款较佳的设计方案.


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭