微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > DSP56311EVM的教学实验平台设计

DSP56311EVM的教学实验平台设计

时间:08-06 来源:互联网 点击:
针对DSP56311评估板及其开发工具的特点、教学实验和应用开发的需要进行了平台的研制。系统的软件部分主要包括用C++Builer制作的软件平台和编写的支持C语言的DSP硬件驱动程序库文件系统。  

硬件部分包括DSP开发和实验所必需的信号发生电路、LCD显示接口电路和外接键盘。建立一个能处理多任务的主程序架构,把原单独运行的信号处理程序模块化为C语言的子程序,可在系统中随时调用执行。

1设计思想

本系统是一种教学、课程实验及技术开发的平台,主要应用于DSP原理及应用、数字信号处理等相关课程的实验教学。它是以DSP56311EVM为核心,对系统进行的扩展,包括软件和硬件两个部分。软什部分使用C++Builder制作了“DSP56311实验平台”的平台环境,实现的用汇编语言编写的DSP硬件驱动程序能够为C语言调用;硬件部分有效利用了芯片的资源,增强了应用于教学的功能,并留出了进一步扩展的接口。
  
2 系统结构

2.1 硬件部分

硬件平台的核心是M0torola公司提供的DSP56311评估板。DSP56311EVM可外接24根数据线、18根地址线和4根地址特征状态线,对可扩展资源提供了接口;但这些接口一般不能直接与外部的设备连接,需要进行相应的扩展。硬件平台的外部电路包含:±5V、±15V、+6V的直流电源,正弦波、三角波、方波的波形发生电路模块,MIC信号放大电路,LCD显示模块等。

图1为系统硬件平台内部结构,图中左侧为外部电路模块,右侧为DSP563llEVM评估板。这些电路模块可以产生实验测试所必需的信号,并反映程序执行情况,为DSP的程序开发和调试提供方便的硬件环境。  
  
硬件部分解决的问题:

①DSP的端口通过寄存器设置可以作为通用输入/输出端口(GPI0)或专用端口。外部电路与DSP连接时,可以有多种实现方案。在资源紧张的情况下,调配资源,实现最优。

②时序问题。DSP563ll的处理速度高达150 MIPS,1个指令周期大约7ns。解决时序问题,加快外围的接口芯片工作速度。LCD相对于DSP来说,是种“反应”很慢的外部设备。本课题采用定时器模块(时间中断)来控制LCD动态图形显示的刷新频率,如把LCD的刷新频率设定为2帧/s,即每0.5s向LCD传送1屏图形的数据。另外,DSP与LcD通信接口的实现是对DSP的GPIO编程,使GPIO引脚的信号符合LCD数据传输的时序要求。由于DSP的工作频率很高,DSP与LCD间数据传输不仅要注意控制引脚上电平的高低和先后次序,而且还要插入必要的等待时间,维持信号线上的电平,使LCD可以可靠地读到控制引脚上的信号。

图2为系统硬件原理框图。  

  
2.2 软件部分

软件分两部分:用C++Builder制作的DSP56311软件实验平台;用汇编语言编写的DSP硬件驱动程序。

2.2.1 DSP56311实验平台

图3为DSP56311实验平台界面。打包好的平台可以随意安装在个人电脑上,平台包括实验说明、程序编制、程序编译、参考结果、体验实验等内容。此平台可以作为实验的指导软件,也可作为开发软件直接在平台上编写程序、编译和仿真。  

  
2.2.2 C语言与汇编语言混合编程

本设计用汇编语言编写DSP周边外设的驱动程序和一些数字信号处理算法的子程序。用C语言编写主控程序,调用汇编语言编写的子程序完成硬件操作和信号处理工作。

(1)插入式C与汇编混合编程


使用__asm()指令在C语言程序中插入汇编指令的混合编程方式主要应用在以下情况:需要插入的汇编程序代码较少(如一些简单的直接操作硬件指令);在用C语言的环境中,用插入式编写的汇编子程序可以避免内存分配、寄存器使用和保护,以及参数传递和返回等方面的问题。  
关键字_ _asm()的基本语句格式:  


①“asm_instrution”是指汇编语言的指令名,如move、mpy等。
②“=”用来区分足输入还是输出参数,表示操作数Oper0的值将传输给C语言的变量CptrO;没有“=”,表示该操作数是输入操作数,即操作数Operl的值来自C语言变量Cptrl。
③“M”(operande modifier)用来指定操作数的类别,例如%e用来指定操作数为累加器的MSB,即a1或bl。
④Oper0、Operl用来指定操作数是寄存器或内存,如“A”表示该操作数被限定为地址寄存器r0~r7,即要求编译器为该操作数指定一个空闲的地址寄存器。
  
(2)C程序与汇编程序混合编程

C程序与汇编程序混合编程就是将用C语言编写的和用汇编语言编写的源程序分开编辑、编译,生成各自的目标文件,然后再链接到一起。其中,主程序在C语言环境中编写,汇编语言编写的子程序可以被调用。C程序与汇编程序混合编程由C程序编译器g563c来完成。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top