1 前言。
21世纪是数字化的时代,随着越来越多的电子产品将数字信号处理(dsp)作为技术核心,dsp已经成为推动数字化进程的动力。作为数字化最重要的技术之一,dsp无论在其应用的深度还是广度,正在以前所未有的速度向前发展。dsp是针对实时数字信号处理而设计的数字信号处理器,由于它具有计算速度快、体积小、功耗低的突出优点,非常适合应用于嵌入式实时系统。
而利用dsp芯片的外设接口进行扩展可以实现更为复杂的系统。
2 系统开发平台与环境。
2.1 ccs开发环境。
ccs提供了配置、建立、调试、跟踪和分析程序的工具,它便于实时、嵌入式信号处理程序的编制和测试,它能够加速开发进程,提高工作效率。
ccs提供了基本的**生成工具,它们具有一系列的调试、分析能力。ccs支持如下图1.1所示的开发周期的所有阶段。
图 1.12.2 seed-dec2812开发实验箱。
seed-decxxxx系列嵌入式dsp开发板本着模块化、总线型、开放式、系列化的设计思想,采用统一的系统结构、模块结构和机械结构,以多种典型dsp处理器构成具有标准总线和相同物理尺寸的高性能嵌入式dsp开发板。
seed-dec2812 嵌入式dsp开发板原理框图如图1.2所示:
3 flash接口的设计。
目前市场上的eprom的工作电压一般为5v,与3.3vdsp芯片相接时需要考虑电平转换问题,而且体积都较大。flash与eprom相比,使用比较方便,3.
3vflash可直接与dsp相接。因此,采用flash作为存储程序和固定的数据是一种比较好的选择。这里介绍一种intel公司的flash存储器(28f400b3)及其与dsp的接口。
3.1 flash的控制命令。
flash有6根控制逻辑信号,如下表1.1所示。
表1.1 intel 28f400b3的控制逻辑信号。
在读模式,28f400b3的读时序与典型的存储器读时序兼容(即ce和oe为逻辑低,we为逻辑高)。在编程/擦除模式,28f400b3的时序与典型的存储器写时序类似(即ce和we为逻辑低,oe为逻辑高)。
3.2 flash的控制命令。
flash的工作状态是命令来控制的,这通常由主机(如dsp芯片)来完成。flash有一个控制命令集,这里我们仅给出3个常用的命令,如表1.2所示。
表1.2 flash的控制命令。
flash的存储器内部以扇区来组织,对flash存储器编程是以块为单位进行的。扇区的长度与器件有关。在对flash编程前,必须先对扇区进行擦除。
编程和擦除都需要两个总线周期的操作,如表1.3所示。
表1.3 28f400b3编程/擦除总线周期。
编程/擦除初始化后,可用读操作检查/擦除的状态,当编程/擦除完成后,主机应发一个读命令,使flash进入正常的读操作状态。
3.3 tms320c54与flash的接口。
图1-1示出了tms320c54与flash的一种接口方法。
图中,28f400b3作为dsp的外部数据存器,地址总线和数据总线接至dsp的外部总线,ce接至dsp的ds引脚。dsp上的xf引脚用于启动编程,当xf为低时,flash处于读状态,当xf为高时,flash可擦除或编程。为了满足28f400b3的时序要求,xf与mstrb相或后接至oe。
rw引脚与mstrb相或后接至we。
4 硬件方案选择与设计。
4.1 方案选择。
对于基于dsp平台的flash接口设计,经过综合考虑了几种方案之后决定,采用一个带tms320c54x dsp内核的flash接口芯片28f400b3(成本非常低),再加上简单的外围电路和时序调整电路。
这种芯片仅仅完成flash底层的数据链路级交换,并提供给本地微控制器一个并行的接口,但是它并不完成协议层的工作。协议层的工作需要对微控制器编程,控制flash接口芯片来实现接口协议。所以,开发难度相对来说大一些,要做的编程工作也多一点。
但是这套方案的成本非常低,而且由于直接用dsp作为微控制器,没有原单片机的瓶颈限制,所以可以实现很高的数据传输速率。该系统的原理框图如图2.3所示。
由于28f400b3的并行接口时序较慢,只能达到2mb/s。这个速度相对于dsp来说比较低,而且有些地方不是简单地在程序中加入延时就可以调整,所以需要一个时序调整电路来完成它们之间的配合。
4.2 结果及分析。
设计方案完成后,在最后的测试当中,通过flash接口,flash存储器与dsp系统的通信速率最高达到了580kb/s(4.6mb/s)以上。这个速率指的是有效数据传输速率,不包括数据传输联络的头信息部分,所以这个速率还是比较令人满意的。
现在,传输一张幅面为352×288像素的黑白**(大小为99kb),耗时不到1s。如果实现动态的拍摄及显示,那么,整个系统每秒可以拍摄并完成显示3~4幅不经压缩的幅画为352×288像素大小的黑白**。
测试结果表明,该系统运行可靠(已将程序烧写进片内flash中),各项性能指标都已达到了最初的设计要求,能够很好地实现图像数据在flash存储器与dsp之间高速的双向传输。并且,这套flash接口方案只采用了1片28f400b3接口芯片和1片tms320c54x。同时,由于采用了dsp作为控制器,所以它的通信速率可以很高;因此,可以说本方案达到了低成本,高速率的flash接口设计要求。
5软件设计。
5.1 flash的编程流程图。
5.2 flash擦除流程图。
5.3具体**实现。
mmregs
def start
textstart:
stm #stm #03b4h,swwsr
call set_read_mode
stm #0,ar1
call erase
stm #4000h,ar1
ld55aah,b
call program
call set_read_mode
set_read_mode:
ssbx xf
ld4000h,ar1
stl a,*ar1
rpt #nop
rsbx xf
reterase:
pshm ar1
ssbx xf
ld20h,a
stl a,*ar1
prt #nop
rsbx xf
e_rs:ldar1,a
add a,#0,b
and #80h,b
bce_sc,bneq
and #40h,a
bcerror,aneq
be_rse_sc:
and #3ah,a
bcerror,aneq
popm ar1
retprogram:
ssbx xf
ld40h,a
stl a,*ar1
rpt #nop
stl b,*ar1
rpt #nop
rsbx xf
p_rs:ldar1,a
add a,#0,b
and #80h,b
bcp_rs,bneq
p_sc:and #1ah,a
bcerror,aneq
reterror:
b $sect ".vec"
b start
end6课程设计的总结与体会。
通过本次的课程设计,我学到了很多,懂得了要学好设计方面的知识重在实践,不能只靠一些简单的理论知识。此次的课程设计中,虽然我遇到了很多的的困难,但我还是努力的从中走出来了。遇到不懂时,就问同学或查资料,己既体会了编程过程的艰辛,又体会了成功的喜悦。
也明白了一些人生哲理,今后我要用课程设计的精神对待生活和学习中的每一件事,不断努力、不怕困难、永往直前。这样的课程设计真的很有意义,感觉自己学会了很多,成长了很多,让我找回了往日奋斗的激情,也许这样的机会在大学不会再有了,我会深深的记住这次,记住这次饱含我汗水的综合课程设计。
参考文献资料。
1]张迎新。单片机中级教程。 北京: 航空航天大学出版社,2007.
2]何苏勤,王忠勇,tms320c2000系列dsp原理及实用技术。北京:电子工业出版社,2003
3]张万奎。模拟电子技术。湖南:湖南大学出版社,2005.
4]胡广书,崔子经。数字信号处理,电子科技导报,2023年第一期。
DSP课程设计 样本
韶关学院。通过一个学期的学习 数字信号处理 这门课,我对数字信号处理有了基本的认识,期末时老师布置了数字信号处理课程设计的题目,我的题目是重叠相加法圆周卷积的实现,要求用matlab进行编程验证。平时学习时可能只是对这些知识学习的不是很透彻,这次课程设计,我不得不对其设计原理进行更深一层次的理解。对...
DSP课程设计要求
课程设计要求。1 fft程序设计。基本要求 在ccs开发环境下,编程产生含有2个以上频率成分的信号,调用dsplib库中的rfft函数,对其进行fft分析,观察频谱图。提高要求 采集实验箱信号源的信号,对其进行fft分析。2 fir滤波器设计。基本要求 利用matlab中的fdatool工具设计实验...
DSP课程设计要求
课程设计一 fir滤波器的dsp实现。一 课程设计要求。1 复习用c语言对数字信号处理器的编程方法,2 熟悉c5509a系列数字信号处理器实验板中的模数 数模转换器 3 熟悉c5509a系列数字信号处理器实验板中的dma通道的使用 4 基于tms320vc5509设计实现不同参数的fir低通 高通滤...