基于DSP-MCU的HPI口通信
扫描二维码
随时随地手机看文章
引 言
当前,随着DSP芯片运算能力的不断提高,功毹的不断完善,功耗的不断降低,在通信、图形图像处理、电子等应用领域占有越来越重要的位置,应用也越来越广泛;但DSP芯片构成的单机系统实现的功能有限,尤其是控制功能相对较弱,而采用单片机 (MCU)作为主机,负责控制功能,DSP作为目标系统,专门负责处理复杂的运算,又发挥了MCU在智能控制方面的优势。该文介绍了这种组合应用的一种新的应用方法,提高了资源利用率,增强了代码的安全性。
1 HPI口设计
主机接口(简称HPI)是DSP与其他设备通信的一种方式,它为主机提供了一个并行口,根据其数据线的宽度有两种类型的HPI-8和HPI-16。这里采用的DSP5402芯片是增强型的HPI-8,它与标准的HPI-8相比,在功能上改进了很多。
HPI-8的外部接口可以非常方便地与主机相连,8 b的数据总线(HD0~HD7)负责与主机交换信息,HCNTL0和HCNTL1两根控制线表示主机要访问哪个HPI-8寄存器,它们和HBIL一起通常与主机设备的地址线相连。图1为一种典型的连接方式。
[!--empirenews.page--]
HPI寄存器包括HPI控制寄存器HPIC,HPI地址寄存器HPIA和HPI数据寄存器HPID,它们的功能见表1。通过HCNTL0/1主机决定要访问的寄存器,见表2。
HPI-8的操作大多与HPIC有关,该寄存器的字段如表3所示。
HPIC寄存器的地址为数据存储空间的0020h。主机和C5402寻址HPIC寄存器的结果见表4~表7。
下面具体描述HPI-8的数据传输过程。它分为片外部分和片内部分,分别指主机与HPI-8寄存器的数据交换和HPI-8寄存器与片内RAM间的数据交换。
片外部分的数据传输包括两个字节的数据传输,主机驱动HBIL用来反映其状态,若主机在传输过程中打乱了次序,将造成数据丢失和不可预测的错误。为恢复正常的操作,主机必须重复正确的操作,让DSP根据HBIL正常接收和发送。同样主机也可以通过HCS,HDS1和HDS2来控制访问时间。HPI选通信号的下跳沿标志着字节传输的开始,通常在主机总线时钟的开始时出现;HPI选通信号的上跳沿标志着字节传输的结束,通常在主机总线时钟结束时出现。在第二字节的数据交换时,HPI选通信号的上跳沿标志着片外部分的结束和片内部分的开始。图2是一个HPI-8的时序示意图。[!--empirenews.page--]
根据HPI的引脚定义及其内部结构,可以设计出其硬件结构连线,图3为AT89S52和TMS320C5402硬件连接。
需要注意的是,TMS320C5402采用低电压工作,其内核电压为1.8 V,I/0管脚电压为3.3 V,而AT89S52工作于5 V电压。为了使电路能稳定正常的工作,TMS320C5402的数据外接有一个74LVC245。它是TI公司生产的3.3 V和5 V电平相转换的双向缓冲器,可以双电源供电,一边工作在3.3 V,一边工作在5 V,转换的方向由两个DIR管脚控制。
3 软 件
3.1 DSP通信程序设计
在DSP的通信程序设计中,一般对HPIC进行了初始化后就无需再对HPI操作,其余的工作就完全由主机完成。通过HPI接口,主机与C54X之间可以相互发送中断请求。而C54X通过HPIC的寄存器HINT位发中断请求到主机,图4为DSP通信的主程序流程图。
其中主程序开中断的程序如下:
[!--empirenews.page--]
3.2 单片机通信程序设计
图5和图6分别为读写HPID寄存器程序流程图。
4 结 语
基于DS-MCU的HPI口通信是当前高性能嵌入式系统设计的优选方案,它在高速数据采集和高速、高可靠通信方面有很多优势,但设计和开发稍显复杂。随着电子技术的发展,DSP和MCU将走向融合。嵌入式芯片设计正朝着把单DSP-MCU芯核结构与存储
器和外设逻辑集成在一起的方向发展。本设计方案具有硬件结构简单,使用方便等优点,有较好的实用价值。