综合资讯 在线阅读 原文阅读 在线商城 下载专区 DATASHEET 技术论坛 商务频道

嵌入式系统  单片机  D S P  EDA/PLD  接口电路  存储技术  显示光电  电源技术
传感/控制  模拟技术  通信网络  无线通信  电测仪表  消费电子  汽车电子

所在的位置:首页技术文章D S P正文
 
TI 54xxDSP与51单片机的接口技术
发布日期:2005-03-10 作者:华东理工大学 汤华庚 李森生 来源:单片机与嵌入式系统应用

摘要:TI的54xxDSP是一种定点DSP系列芯片,广泛应用于各种信号处理系统,特别是语音信号处理系统。在这些系统中,通常由两部分组成。一部分为DSP子系统,这是整个系统的核心,主要完成采样、数字信号处理以及输出等功能;另一部分为单片机子系统,进行交互界面的控制,如键盘和显示。两个子系统不是各自孤立的,需要进行必要的数据交换。本文主要讨论DSP和51单片机之间通过HPI接口进行连接的设计方法,给出硬件连接以及软件编程方法。


关键词:DSP HPI 单片机

引 言

  TMS320C54xx是TI公司针对音频信号处理领域推出的一种定点DSP系列芯片,已经在很多语音信号处理系统中得到了广泛的应用。在这些系统中,通常包含DSP和单片机两个子系统。DSP系统作为从设备,完成采样、计算等功能;单片机系统作为主设备,完成交互界面的控制。主从设备之间也要以一定的方式接口,来进行数据通信。下面就介绍DSP和单片机之间的接口技术。

  这里单片机选择的是MCS-51系列。51系列是一种很经典的单片机,20多年来一直久盛不衰。而且Intel通过授权51内核,出现很多第三方生产的51系列产品。这些产品一般都具有较高的时钟频率和较大的存储空间,而且还能运行嵌入式操作系统。这些都极大地提高了它的性能,扩大了它的应用范围。

  DSP芯片中的HPI(主机接口)是为了满足DSP与其它的微处理器接口而专门设计的。它分为HPI-8和HPI-16,分别针对具有8位和16位数据线的单片机。每一种又分为标准型和增强型。两者的区别在于标准型只可以访问固定的地址空间,而增强型可以访问整个DSP的片内存储器。这里以增强型的HPI8为例来说明。

1 硬件设计

1.1 时序匹配

  HPI8总共有18根信号线。其中数据线8根(HD0~ HD7),其余10根都是控制线,如表1所列。(详细情况请查看参考文献[1]。)
       
① :在数据线和地址线复用的MCU中,与ALE信号连接,在下降沿锁存HBIL、HCNTL0/1、HR/W,因为这些信号通常与地址线连接。如果MCU的数据线和地址线没有复用,则应该接高电平。

② 、:数据传输的时序控制。时序见图1,即下降沿传输开始,上升沿传输结束。另外如果不使用(即接高电平),也可以配合对HBIL、HCNTL0/1、HR/W进行锁存。
   
③ HCNTL0/1:选择HPI内部寄存器,如表2所列。
      
1.2 电平匹配

  54xxDSP的外部I/O引脚用的是3.3V的逻辑电平,而大部分51单片机用的是5V的逻辑电平。前者输出高电平,最小值为2.4V;后者输入高电平,最小值为2.0V。所以前者的输出可以直接接到后者的输入。但是前者允许输入高电平最大值为3.6V,而后者的输出高电平一般都在4.5V以上。所以前者的输入和后者的输出不能直接连接,需要做电平转换。如果引脚数量少,可以直接用三极管和电阻来转换。这里由于引脚较多,所以选用TI 74LVC16245A芯片来进行电平转换。

  74LVC16245A是TI公司的一种16位双向总线收发器。它可以接收高达5.5V的高电平,而输出的高电平可以达到3.3V左右,内部包括16路如图2所示的结构单元。
           
  图2中G为使能端,低电平有效;DIR为方向控制端,高电平A→B,低电平B→A。另外要注意,74LVC 16245A的操作电压引脚VCC应该接3.3V。

  整个硬件连接如图3所示。
       
2 软件设计

  HPI的数据传输分为两部分:外部传输和内部传输。外部传输是指主机和HPI寄存器之间的传输,由主机发出指令完成。内部传输是指HPI寄存器和DSP内部RAM之间的传输,由DSP内部的DMA控制器自动完成。主机在进行外部传输时,要先检查内部传输是否完成,这是通过检测HRDY信号实现的。外部传输操作的一般步骤是:

◆ 检查HRDY信号的电平。为高,表示可以进行传输;为低,表示DSP正在进行内部传输,此时不能进行外部传输。

◆ 主机发出指令,设置HCNTL0、HCNTL1、HBIL、HR/W信号的状态,以确定读或写的寄存器以及字节的选择。

◆ 主机发出时序控制信号,按照图1所示的时序进行操作,从而完成一次外部传输。

  编程时还要注意以下问题。

① 由于DSP的数据是16位,而单片机的数据是8位,所以单片机要分两次将数据传给DSP,即将16位的数据分成两个字节来传输。这时,可以通过控制HPI口的HBIL信号来指定此次传输的是第1个还是第2个字节。另外,还要通过HPI的控制寄存器(HPIC)中的BOB位来指定第1个字节作为高8位还是低8位,所以主机在访问HPI时,应首先对HPIC进行初始化,并注意对BOB位的设置。HPIC的各位设置如下:
      
② 主机对地址寄存器(HPIA)的写操作会初始化一次内部传输。当主机通过两次对HPIA的写操作后,HPIA就得到了主机要访问的地址。这时内部的DMA控制器就会根据这个地址将相应单元的内容读到HPI内部的数据锁存器中,再对HPID进行两次读操作就可以将数据读出。如果将HPIA设置成自动递增模式,就会在数据传输的同时完成HPIA加1,于是又启动了一次内部传输。这样有利于数据的连续转移。

③ 注意设置HPIC中的XHPIA位。XHPIA=1时,表示对DSP的7位扩展地址进行操作;XHPIA=0时,表示对DSP的低16位地址进行操作。由于DSP复位后,XHIPA的状态是不确定的,所以必须首先对XHPIA进行设置。

④ 主机和DSP可以互相中断。主机通过向HPIC中的位DSPINT写入1来中断DSP。该位总是被读出为0,而且DSP对该位的写操作是无用的。而DSP要中断主机时,向HPIC中的位HINT写入1,这时HPI的接口引脚被置低,从而使主机产生中断。该位总是读出为1,主机可以对该位写1来清除中断,这时引脚就恢复高电平。

  下面给出一段程序实例:单片机将DSP内部RAM 1000H单元的内容读出。硬件按照图1所示连接。
;设置HPIC, XHPIA=1
SETB P1.1
MOV DPTR, #0000H
MOV A, #18H
MOVX @DPTR, A
MOV DPTR, #0004H
MOV A, #18H
MOVX @DPTR, A ;完成初始化
MOV DPTR, #0002H
MOV A, #00H
MOVX @DTPR, A MOV DPTR, #0006H
MOV A, #00H
MOVX @DPTR, A ;置扩展地址为0
;设置HPIC,XHIPA=0
MOV DPTR, #0000H
MOV A, #08H
MOVX @DPTR, A
MOV DPTR, #0004H
MOV A, #08H
MOVX @DPTR, A
MOV DPTR, #0002H
MOV A, #10H
MOVX @DTPR, A ;写地址高8位 MOV DPTR, #0006H
MOV A, #00H
MOVX @DPTR, A ;写地址低8位
WAIT: JNB P1.0, WAIT ;判断内部传输是否完成
CLRB P1.1
MOV DPTR, #000BH
MOVX A, @DPTR ;读高8位
MOV B, A
MOV DPTR, #000FH
MOVX A, @DPTR ;读低8位
;读操作完成

3 总 结

  当然DSP与单片机之间还有许多其它的连接方式,例如利用双口RAM,或者是通过串口,但是它们都占用DSP的处理时间,在要求苛刻的场合可能会影响到系统的实时性。而HPI接口是通过DSP片内的DMA控制器来访问片内存储器的,不需要DSP的干预。可以说,HPI接口是DSP的一个“后门”,单片机通过这个“后门”可以访问到DSP的片内存储器。只有当HPI接口和DSP同时对同一地址进行访问时,由于HPI具有访问优先权,这时DSP的执行会被延迟一个周期,而这种情况对系统实时性的影响是非常小的。

                 参考文献
1 Texas Instruments. TMS320C54x DSP Reference Set Volume 5: Enhanced Peripherals
2 Texas Instruments. SN74LVC16245A 16-Bit Bus Transceiver With 3-State Outputs
汤华庚:硕士研究生,主要研究方向为智能仪器、单片机及DSP应用技术。


 (全文结束)

信息发布:   转引自: 【 】 【打印】 【关闭
 相 关 文 章
基于PIC16F877单片机的电子秤包装机控制系统 (12-18)
光传输无人值守站计算机远程监测系统的研制 (12-20)
W78E58与MAX1247/MAX525接口及软件设计 (12-18)
PTP2000及其在不停车收费系统中的应用 (12-15)
基于SX单片机实现WebServer和网络协议栈 (12-13)
基于32位单片机MC68HC376的高可靠性系统设计 (01-10)
基于HT47系列RISC单片机的智能化仪表设计 (02-11)
ARM S3C4510B与DSP6416互连的接口设计 (09-07)
PC/104总线与TMS320VC5402 HPI口通信的解决方案 (03-13)
ARM CPU S3C44B0X与C54X DSP的接口设计 (01-03)
利用Win32API开发串行通信程序 (02-18)
一种高性能便携式PIC单片机湿度检测仪的研 (12-10)
语音芯片APR9600及其在电话遥控系统中的应用 (12-07)
基于单片机控制的温度智能控制系统 (11-06)
AT89C52单片机与VB串行通信的实现 (11-04)
AD7711与单片机AT89S8252的接口技术 (11-03)
利用多线程思想实现单片机系统的伪并行处理 (11-03)
MSP430 单片机C语言和汇编语言混合编程 (11-08)
单片机在冰蓄冷中央空调系统控制中的应用 (11-21)
具有串行接口的I/O扩展器EM83010及其应用 (12-05)
在P87LPC674单片机I2C总线系统中扩展LCD显示器 (12-01)
基于多MCU的自动测试诊断系统的设计 (11-29)
基于32位单片机MC68HC376高可靠系统设计 (11-29)
基于TMS320VC5402的点火线圈测试系统 (09-24)
PC/104总线与TMS320VC5402 HPI口通信的解决方案 (10-12)
用于基站通信的ADSP Tiger SHARC 101S 数字信号处理器 (03-11)
ADSP2181与液晶显示模块SMC1602B的接口设计 (03-07)
语音识别及其定点DSP实现 (03-06)
多TigerSHARC ADSP-TS101S系统的程序引导设计及实现 (03-06)
基于DSP56F805数控机床伺服系统监控的设计 (03-14)
高性能DSP在直接转矩控制系统中的应用 (03-15)
TigerSHARC结构的ADSP-TSl01及其应用 (01-18)
基于ADSP-BF533的声频定向算法实现 (07-31)
dsPIC及其在交流变频调速中的应用研究 (06-09)
基于ADSP-BF532嵌入式网络视频服务器研究 (03-31)
基于VDK的AD系列DSP软件开发技术 (03-06)
基于ADSP2187的HDTV音频编码器系统 (03-03)
ADSP2106x中并行处理指令的应用技巧 (01-13)
HPI在多处理系统中的应用 (12-08)
TMS320C54x与80386EX接口技术 (11-30)
用CPLD实现DSP与背板VME总线之间的连接 (10-17)
ITU-T G.729算法及其实时实现 (01-15)
TMC2310 DSP芯片在水下目标检测与参数估计中的应用 (01-15)
基于ADSP2106X的高速数据采集与处理系统 (03-03)
基于ADSP2181的实时语音采集与处理板的原理与组成 (03-01)
带ARM核的双CPU数字信号处理器 (01-15)
ADSP21062信号处理板的一种简易测试方法 (01-15)
ADSP2189M在船舶自动识别系统开发中的应用 (01-18)
关于我们 ┋ 友情链接


深圳市南山科技园深南花园A座14D
电话:0755-88305872 传真:0755-88305880
Copyright©2005-2009 无忧电子开发网版权所有

粤ICP备05064233号