位置:51电子网 » 技术资料 » 接口电路

DSP56311EVM的教学实验平台设计

发布时间:2008/8/20 0:00:00 访问次数:531

  针对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程序与汇编程序混合编程<

  针对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程序与汇编程序混合编程<

相关IC型号
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!