第一篇:基于DSP系统的自举设计讲述
设计任务书
题目:基于DSP系统的自举设计
要求:
(1)将目标代码生成可执行的COFF格式文件(.out文件)(2)使用Hex转换工具将.out文件转换为Hex文件。
(3)采用C语言编写FLASH烧写程序,通过DSP将Hex格式的目标,程序写入FLASH,实现系统在线编程。
(4)实现ICETEK–F2812-AE评估板的上电自举运行。(5)完成硬件电路原理图设计、软件系统程序设计及其仿真。
摘 要
本设计是基于DSP(2812)最小系统设计的自举设计,DSP是一门涉及许多学科而又广泛应用于许多领域的新兴学科。DSP指的是数字信号处理器。数字信号处理器是一种适合完成数字信号处理运算的处理器。
该设计是针对TI公司TMSF2812系列DSP处理器独立运行实现的程序自举设计的问题,利用CCS软件编程实现DSP通过SPI串行EEPROM完成程序代码自举的方法设计,以下设计内容给出了相应的硬件设计和软件编程思路,及以该方法实现DSP自举的设计。实现将实验箱电源关闭,拔掉仿真电缆(黑色的),让仿真器和计算机脱开,重新打开实验箱电源,观察板上指示灯闪烁;表明烧入的程序正在运行,按一下板上复位按钮,程序将重新运行。
基于DSP的自举设计方法硬件设计简单、成本低,而软件两次编程设计又方便DSP系统的在线编程调试和软件升级,可广泛用于程序代码不超过64K字节的DSP系统中。
关键词 DSP系统,自举设计,TMSF2812系列
目录
第1章 绪论..................................................3 第2章 系统总体设计..............................................4
2.1设计平台.....................................................4 2.2系统框架设计.................................................4 第3章 硬件设计...............................................5
3.1最小系统设计.................................................5
3.1.1 电源模块...............................................5 3.1.2 复位电路...............................................6 3.1.3 时钟电路...............................................7 3.1.4 JTAG仿真电路..........................................7 3.2 LED显示电路设计.............................................7 第4章 软件设计...............................................8 4.1 自举的程序结构设计...........................................8 4.2 LED显示程序结构设计........................................9 第5章 软件及硬件测试............................................10 5.1 CCS集成开发环境............................................10 5.2 TMS320F2812A DSP片内Flash的烧写过程.......................10 5.3 LED电路测试................................................11 结论.........................................................12 参考文献.....................................................13 附录.........................................................14 附录1自举设计电路图...........................................14 附录2自举程序代码.............................错误!未定义书签。附录3LED显示电路程序代码......................错误!未定义书签。
第1章 绪论
对于一个DSP系统,当用户程序通过JTAG仿真调试完毕后,为使DSP目标系统成为可独立脱机运行的系统,就必须对DSP系统进行自举设计。所谓“自举”是指DSP系统在满足一定工作条件下,DSP芯片内的程序引导装载器,在DSP系统上电后,将自动的把存储在DSP芯片外部非掉电易失存储器内的用户程序代码搬移到DSP芯片中高速的片内RAM或系统中的扩展存储器内,搬移成功后自动执行代码,完成DSP系统上电后的自启动。程序自举是开发DSP系统的关键技术之一,自举从本质上说就是在DSP启动后通过某种方式从外部获取运行代码并装载到其程序区内全速运行。在深入分析了各种加载方法之后,结合本DSP系统的特点,采用了单片机来实现DSP的主机接口方式的自举加载。
第2章 系统总体设计
2.1设计平台
该自举设计是基于CCS集成开发环境。在DSP集成开发环境CCS中,用C语言或汇编语言编写好源程序,进行编译、汇编、链接,最后生成的是.out文件,该文件的格式不利用被单片机识别,通过一个批处理文件把.out文件转化为易于单片机识别的.h文件,最终使用DSP实现该自举的功能实现。
2.2 系统的框架设计
本设计DSP硬件系统是以德州仪器公司(TI)的TMS320F2812为核心处理器,辅以CPLD、Flash存储器、SRAM存储器、USB接口芯片等。512KB的Flash芯片用来存储应用程序和初始化数据。数据存储器SRAM的存储容量为64KB。逻辑控制电路采用CPLD实现,Flash页选控制、读写控制、程序空间和数据空间大的切换控制完全由CPLD控制。逻辑控制电路设计图如下:
图2.1逻辑控制电路设计图 第3章 硬件设计
3.1 最小系统设计
3.1.1 电源转换模块
DSP最小系统仅有5V电源供电,由于DSP芯片供电电压只能是3.3V,所以在设计电路时,需要将5V电源转换为3.3V给CPU供电,因此使用了TI公司的5V/3V的TPS7333Q高性能稳压芯片,并可提供上电复位信号,该信号/RS—DSP接到DSP的复位引脚上。该芯片最大输出电流500mA。TPS7333Q输出后的10μf和100μf的电容不能省略,否则得不到稳定的3.3V电压。
图3.1电源转换电路原理图
3.1.2 复位电路
基于TMS320F2812的数字I/O口复用寄存器和数据、方向寄存器,可应用到指示灯的点亮上。因为用发光二极管作为指示是控制系统中常用的方法。而且接口电路简单,编程方便而且直观。
图3.2复位电路原理图
3.1.3 时钟电路
TMS320 F2812 DSP的时钟可以有两种连接方式,即外部振荡器方式和谐振器方式。本文采用的是外部有源时钟方式,直接选择一个3.3V供电的30MHz有源晶振实现。
图3.3内部震荡电路
图3.4外部时钟电路
3.1.4 JTAG仿真电路
几乎所有的高速控制器和可编程器件都配有标准仿真接口JTAG,F2812也不例外。JTAG扫描逻辑电路用于仿真和测试,采用JTAG可实现在线仿真,同时也是调试过程装载数据、代码的唯一通道。通过JTAG接口可将仿真器与目标系统相连接。为了与仿真器通信,DSP控制板必须带有14引脚的双排直插管座。
图3.5 JTAG仿真电路原理图
3.2 LED显示电路设计
基于TMS320F2812的数字I/O口复用寄存器和数据、方向寄存器,可应用到指示灯的点亮上。因为用发光二极管作为指示是控制系统中常用的方法。而且接口电路简单,编程方便而且直观。
图3.6LED显示电路原理图
第4章 软件设计
4.1 自举的程序结构设计
该设计是基于TMSF2812DSP实现ICETEK–F2812-AE评估板的上电自举运行设计。首先进行初始化CPU然后关中断,再进行初始化PIE寄存器,禁止所有中断,再进行初始化PIE向量表。实现的自举程序流程图如下:
图4.1自举程序流程图
4.2 LED显示程序结构设计
该自举程序实现的功能为LED灯交替显示点亮,实现自举程序后,关闭电源,让仿真器和计算机脱开,后接通电源,复位DSP实现LED逐个闪烁自启的现象。具体的LED显示程序结构流程图如下:
图4.2LED显示结构程序流程图
第5章 软件及硬件测试
5.1 CCS集成开发环境
软件设计是基于CCS开发环境的。CCS是TI公司推出的为开发TMS320系列DSP软件的集成开发环境,是目前使用最为广泛的DSP开发软件之一。它采用Windows风格界面,提供了环境配置、源文件编译、编译连接、程序调试、跟踪分析等环节,并把软、硬件开发工具集成在一起,使程序的编写、汇编、程序的软硬件仿真和调试等开发工作在统一的环境中进行,从而加速软件开发进程。
图5.1为CCS集成开发环境界面
5.2 TMS320F2812A DSP 片内 Flash 的烧写过程
我们课程设计参考的是实验所用的瑞泰DSP教学实验系统自带的教学案例自举程序,首先在工程文件目录下打开工程文件,然后编译程序,单击Tools菜单,查看“F28xx On-chip Flash Programmer”选项,这就是烧写 flash 的将程序写入Flash-启动烧写插件:单击菜单“Tools”、“F28xx On-chip Flash Programmer。
图5.2TMS320F2812A DSP 片内 Flash 的烧写过程界面
5.3 LED电路测试
监测系统输入和输出工作电压后,监测上电复位及手动复位电路工作情况。利用DSP仿真器进行硬件仿真,进入CCS坏境,识别目标器件,表明硬件基本正常。实现将实验箱电源关闭,拔掉仿真电缆(黑色的),让仿真器和计算机脱开,重新打开实验箱电源,观察板上指示灯闪烁;表明烧入的程序正在运行,按一下板上复位按钮,程序将重新运行。
图5.3LED电路测试实现图 结论
本设计通过Flash在DSP系统设计中的应用,详细介绍 了DSP系统自启动的软硬件设计方法。采用本文方法所设计的TMSF2812系列DSP系统很好地实现了上电的自启动。并且分析了TMSF2812系列DSP的引导过程,给出了一种利用单片机控制TMSF2812 DSP的HPI口进行程序自举的硬件连接电路图和软件设计方案,并给出了部分核心代码。这种方法省掉了DSP的EPROM、使DSP只使用片内RAM、实现简便、附加硬件少、成本低,可为设计DSP系统的程序自举提供一定的参考。最终在DSP实验指示板上实现ICETEK–F2812-AE评估板的上电自举运行设计。实验现象通过对指示灯的闪烁,在调用自举函数,进行自举操作后,实现断开实验箱电源后,上电自举,复位后指示灯闪烁实现原来的程序设定现象。参考文献
[1] 张雄伟.DSP芯片的原理与开发应用电子工业出版社[M],2009.3,(2):25-29.[2] 赵红怡.F2812 DSP原理与应用实例,电子工业出版社[M],2009.2,(5):45-48.[3] 孙洪波.DSP技术与应用实例(第2版),电子工业出版社,2008.1,(6):47-52.[4] 田明,王群生.实时有效的OSD系统结构的建立与分析[J].电视技术,2003,(9):56-58.[5] 杨兆选,杨同实.OSD芯片uPD6450及其应用[J].电 子技术应用,2005,23(4):50-51.[6] 甘亮,余松煜.数字电视监控系统中的OSD实现[J].计算机 仿真,2009,17(6):28-30.[7] 马延珂.基于数字机顶盒的OSD设计[J].北京广播学院学报(自然科学版),2003,10(4):52-57.[8] 朱勇.在屏显示器件MC141541及其接口技术[J].国外电子 元器件,2002,(3):18-22.[9]陶锐,周学军1数字信号处理器(DSP)自举加载技术的应用[J]1电子测量技术,2006,29(3):67-69.[10]鹿宝生,陈启美1TMS320DM642DSP自动引导的方法和编程实现[J]1微计算机应用,2007,28(6):657-660.附录
附录1:自举设计电路图附录2:自举程序代码
#include “DSP28_Device.h” #include “DSP28_Globalprototypes.h”
// Prototype statements for functions found within this file.// interrupt void ISRTimer2(void);void delay_loop(void);void Gpio_select(void);
unsigned int var1 = 0x4000;unsigned int var2 = 0;unsigned int var3 = 0;unsigned int var4 = 0;unsigned int var5 = 0;
#define led *(int *)0xc0000 #define key *(int *)0xc0001
void main(void){ int i;
InitSysCtrl();//初始化cpu DINT;//关中断
InitPieCtrl();//初始化pie寄存器
IER = 0x0000;//禁止所有的中断 IFR = 0x0000;InitPieVectTable();//初始化pie中断向量表
while(1){ for(;;){ i=key;i=i&0xff;led=i;} } } 附录3:LED显示电路的程序代码
#include “DSP281x_Device.h” // DSP281x Headerfile Include File #include “DSP281x_Examples.h” // DSP281x Examples Include File #include “f2812a.h” // 定义指示灯寄存器地址和寄存器类型 #define LBDS(*((unsigned int *)0xc0000))// 子程序接口
void Delay(unsigned int nDelay);// 延时子程序 main(){
{ int ii,jj,kk=0;
} } } for(ii=0;ii { LBDS=uLED[i];Delay(256); // 送控制字 // 延时}}} // 初始化DSP运行时钟 for(i=0;i<4;i++)void Delay(unsigned int nDelay)for(jj=0;jj<512;jj++) 近年来,计算机产品的应用领域越来越广,数字信号处理器的发展表现得尤为明显。DSp芯片制造商和DSp板开发商利用自身的优势不断开发出多DSp结构的产品来满足这种需求。通常的DSp设备是与嵌入式系统相结合,来实时地完成某一特定任务。随着信号采集速度和处理速度的要求越来越高,许多领域都需要进行多处理器运算,其中包括医学、图像处理、军事、工业控制、电信等许多领域。多处理器系统可以根据所需实现的功能和处理器的性能来调节处理结点的数目,使系统达到最佳的性能价格比。 实际上,只有从芯片开始仔细设计,才能方便地实现多处理器系统的调节功能。这里选用的是AD公司新出品的SHARC级处理器ADSp21160。 ADSp21160具有很大的片内存储区、多重内部总线结构、独立的I/O子系统;具有构造多处理器系统的所有特点,能够真正支持处理器数目的可调节功能,十分适合组成高性能浮点的多DSp系统。 VxWorks是目前世界上用户数量最大的实时操作系统。这使它除了具有优越的技术性能之外,还具有丰富的应用软件支持、良好的技术服务和可靠的系统稳定性。由于它具有以上优点,本系统中选用了VxWorks作为MVME167的操作系统。 一、ADSp21160的特点 ADSp21160 是AD公司采用超级哈佛结构的一种新产品。21160的汇编代码与2106x兼容,处理器具有SIMD(单指令流多数据流)功能;而2106x只具有SISD(单指令流单数据流)功能。为了充分利用这种新的功能,一些指令做了一些改变。ADSp21160包括1个100/150MHz的运算核、双端片内SRAM、1个支持多处理器的集成在片内的I/O处理器和多重内部总线以消除I/O瓶颈。 ADSp21160的汇编源代码与2106x兼容。SIMD计算结构:2个32bit的计算单元,其中每一个单元包括乘法器、ALU、移位寄存器及寄存器文件。具有完备的与外围设备接口功能。包括独立的I/O处理器、4Mbit 的片内双端SRAM、可直接连接的多处理器特性及端口(串口、连接口、外总线及JTAG)。 ADSp21160包括2个运算处理单元,具有SIMD功能。处理单元指的是pEX和pEY。pEX始终是有效的,而pEY的有效是通过设置MODE1寄存器中的pEYEN位来实现的。当pEY模式有效时,同一条指令在2个处理器单元中都得到执行,但每一个处理器单元中的操作数不同。 SIMD模式在存储区和处理器单元之间的数据传输也是很有作用的。当使用SIMD模式,通过加倍数据带宽来保证处理器单元的操作。在SIMD模式,当使用DAGs来传输数据时,存储区每次访问所传输的是两个数据值。 ADSp21160包括4Mbit的片内SRAM,分为两块,每一块2Mbit。可以定义为不同字长的指令和数据存储。每一个存储块的双端口结构可以使存储块独立地被运算核处理和I/O处理器访问。21160的存储区最大可以容纳128K的32bit数据,或256K的16bit数据,或85K的48bit指令,或其他混合字长的数据,但总和最大为4Mbit。所有存储区可以16、32、48、64bit字长的字访问。外端口支持处理器与片外存储器及外设的接口,片外的4G地址空间属于21160的统一地址空间。 外端口支持同步、异步及同步BURST访问。DMA控制器的操作相对处理器运算核是独立和不可见的,即DMA操作可与执行指令同时进行。DMA传输可以在内部存储区与外部存储区、外围设备或主机之间进行。21160共有14个DMA通道,其中:连接口(linkport)占6个;串口占4个;外端口(external port)占4个。21160可以通过DMA传输来下载程序,外围异步设备也可以通过DMA请求/应答线来控制2个DMA通道。 21160具有许多特点支持多DSp系统。外端口与连接口支持多处理器系统的直接连接,外端口支持统一的地址空间,允许DSp之间互相访问。片内具有分布式总线仲裁逻辑,最多支持6片21160和主机连接。外端口的最大数据传输率为400MB/s,广播写信号可以同时发 送到各片21160。6个连接口提供了另一种方法实现多处理器之间的通信。连接口的最高传输速率为600MB/s。 整个系统基于VME总线。VME总线系统作为最早的国际通用开放式总线,自1981年起,经历了近20年的发展。其影响不断扩大,功能不断完善,现已成为性能最好、应用最广的国际总线标准之一。 根据设计要求,采用了4片ADSp21160。片外共享内存SRAM可以被主机和各片DSp直接访问;EpROM用来存放初始化程序和各片DSp要运行的程序,在系统上电后这些程序被下载到各片DSp中;LEDs用来显示插件的状态,如reset、normal等。每一片都有1个连接口连到插件的前面板,这样前端采集来的数据就可以很方便地传输到多DSp上,而且也使数据的传输模式更加灵活。 连接口(linkport)是SHARC系列DSp芯片的一个特点。ADSp21160共有6个8bit连接口提供额外的I/O服务。在100MHz时钟下运行时,每个连接口可达100MB/s。连接口尤其适合多处理器间点到点的连接。连接口可以独立地同时操作,通过连接口的数据封装成48/32bit字长后,可以从片内存储区直接被运算核读取或DMA传输。每一个连接口有它自己的双缓冲I/O寄存器,数据传输可编程,硬件由时钟/应答握手线控制。4片DSp使用连接口实现DSp间两两互连。 21160的主机接口可以很方便地与标准微处理器总线(16/32bit)相连,几乎不需要额外硬件。主机通过21160的外端口对其进行访问,存储区地址映射为统一的地址空间。4个DMA通道可以用于主机接口,代码和数据传输的软件开销很小,主处理器通过Hbr、HBG和REDY信号线与21160进行通信,主机可以对片内存储区进行直接读写。 二、开发环境Tornado VxWorks的开发环境是WindRiver公司提供的Tornado。Tornado采用主机-目标机开发方式,主机系统可采用运行Sun Solaris、Hp-UX以及Win95/NT的工作站或个人计算机,VxWorks则运行在Intel x86、MC68K、powerpC或SpARC等处理器上。Tornado支持各种主机-目标机连接方式,如以太网、串行线、在线仿真器和ROM仿真器。 Tornado的体系结构使得许多强有力的开发工具可以用于各种目标机系统和各种主机-目标机连接方式下,而不受制于目标机的资源和通信机制。同时VxWorks具有良好的可剪裁性。因此它适用于各种嵌入式环境的开发,小到资源极其有限的个人手持式设备如pDA(personal Digital Assistant);大到多处理机系统,如VME系统。 Tornado可提供一个直观的、可视化的、用户可扩充的开发环境,极大缩短了开发周期。同时,由于Tornado是一个完全的开放系统,使得集成第三方开发工具变得十分容易。 主机与目标机之间的通信是通过运行各自处理器上的代理进程来完成的,使主机上的开发工具和目标机的操作系统可以完全脱离相互连接的方式。 为了摆脱主机-目标机通信带宽和目标机资源的限制,Tornado将传统的目标机方的工具迁移到主机上,如shell、loader和符号表等。这样,系统不再需要额外的时间和带宽在主机和目标机之间交换信息,降低了对连接带宽的需求,也避免了目标机的资源(如内存)被工具或符号表大量占用,使得应用程序拥有更多的系统资源。同时这种迁移也使得各种主机开发工具独立于目标机存在,从而使同一主机平台上的工具可以用于所有的目标机系统。 作为一个应用软件开发环境,Tornado提供了友好的可视化开发界面、交叉编译环境、源码级调试工具、目标机命令解释器和目标机状态监视器等多种应用工具,为应用软件开发提供了一个高效而可靠的平台。 三、程序设计 我们选用的DSp开发工具是AD公司提供的VisualDSp。这是一个集成开发环境,支持对SHARC系列DSp芯片的开发。实时操作系统VxWorks的开发工具是WindRiver公司的Tornado集成开发工具。VisualDSp可以C语言或汇编语言编 写的DSp代码,最新版本的VisualDSp还支持C++。它还有1个优点,就是可以编译多片DSp的源代码,并产生下载文件,这就可以很方便地进行多DSp系统的软件模拟。 ADSp21160阵列的设计结构使它既可以构成单指令流多数据流(SIMD)的并行处理机,也可以构成多指令流单数据流(MISD)或多指令流多数据流(MIMD)的流水线处理机,视用户的要求而定。这两种并行方案的选择,简单来说就是选择分割数据流还是分割处理工序。SIMD方案的原理如图1所示。 以下介绍我们实验室承担的水声信号处理系统。本系统以VME总线为系统开发平台,前端调理模件、模数转换模件和前端控制模件等为VME插件,采用SHARC级DSp芯片阵列完成声纳信号实时处理,基于嵌入式实时操作系统VxWorks及X窗口系统的中央控制和显示。 图2是4片DSp的任务分配图。从前端采集来的信号,经波束形成和复解调,再经过窄带滤波后的信号分为两路,一路送去进行幅度检波,一路做频域处理。幅度检波就是对复信号求模,根据信号幅度判决有无目标存在。频域处理分两种情况:当发射信号为单频脉冲时,进行功率谱估计,然后根据多普勒频移估计目标速度;当发射信号为双曲调频信号时,进行相关处理。 声纳综合数据处理主要包括主动声纳信号处理和被动声纳信号处理。其中,主动声纳信号处理又根据发射信号的不同,分为非相干处理、相干处理、功率谱处理。声纳综合数据处理主要完成:目标自动检测、目标参数测定和动目标跟踪。 四、操作流水线 操作流水线是模块内数据计算与I/O的流水线,物理上表现为CpU与I/O端口的DMA之间的并行。在前端处理中由于数据率高,通信开销很大。以通信任务最为繁重的复解调和多普勒补偿模块为例,输入数据率为2Mw/s,输出数据率为4Mw/s,高速连接口Linkport最高速率为100Mw/s,如果采用串行传输的话,通信时间就将占用60%以上的处理时间,计算时间显然严重不足。所以必须采用并行执行,流程图如图3所示。这也是一种异步流水线方式,每次传送和计算完成都须要设置标志以通知下一操作。 结束语 在VxWorks实时操作系统下,4片ADSp21160上的程序已经通过模拟输入和系统测试。采用SHARC DSp 阵列能够很好地完成声纳信号实时处理,每一片DSp至少有10%的计算裕量,基本达到设计要求。 送到各片21160。6个连接口提供了另一种方法实现多处理器之间的通信。连接口的最高传输速率为600MB/s。 整个系统基于VME总线。VME总线系统作为最早的国际通用开放式总线,自1981年起,经历了近20年的发展。其影响不断扩大,功能不断完善,现已成为性能最好、应用最广的国际总线标准之一。 根据设计要求,采用了4片ADSp21160。片外共享内存SRAM可以被主机和各片DSp直接访问;EpROM用来存放初始化程序和各片DSp要运行的程序,在系统上电后这些程序被下载到各片DSp中;LEDs用来显示插件的状态,如reset、normal等。每一片都有1个连接口连到插件的前面板,这样前端采集来的数据就可以很方便地传输到多DSp上,而且也使数据的传输模式更加灵活。 连接口(linkport)是SHARC系列DSp芯片的一个特点。ADSp21160共有6个8bit连接口提供额外的I/O服务。在100MHz时钟下运行时,每个连接口可达100MB/s。连接口尤其适合多处理器间点到点的连接。连接口可以独立地同时操作,通过连接口的数据封装成48/32bit字长后,可以从片内存储区直接被运算核读取或DMA传输。每一个连接口有它自己的双缓冲I/O寄存器,数据传输可编程,硬件由时钟/应答握手线控制。4片DSp使用连接口实现DSp间两两互连。 21160的主机接口可以很方便地与标准微处理器总线(16/32bit)相连,几乎不需要额外硬件。主机通过21160的外端口对其进行访问,存储区地址映射为统一的地址空间。4个DMA通道可以用于主机接口,代码和数据传输的软件开销很小,主处理器通过Hbr、HBG和REDY信号线与21160进行通信,主机可以对片内存储区进行直接读写。 二、开发环境Tornado VxWorks的开发环境是WindRiver公司提供的Tornado。Tornado采用主机-目标机开发方式,主机系统可采用运行Sun Solaris、Hp-UX以及Win95/NT的工作站或个人计算机,VxWorks则运行在Intel x86、MC68K、powerpC或SpARC等处理器上。Tornado支持各种主机-目标机连接方式,如以太网、串行线、在线仿真器和ROM仿真器。 Tornado的体系结构使得许多强有力的开发工具可以用于各种目标机系统和各种主机-目标机连接方式下,而不受制于目标机的资源和通信机制。同时VxWorks具有良好的可剪裁性。因此它适用于各种嵌入式环境的开发,小到资源极其有限的个人手持式设备如pDA(personal Digital Assistant);大到多处理机系统,如VME系统。 Tornado可提供一个直观的、可视化的、用户可扩充的开发环境,极大缩短了开发周期。同时,由于Tornado是一个完全的开放系统,使得集成第三方开发工具变得十分容易。 主机与目标机之间的通信是通过运行各自处理器上的代理进程来完成的,使主机上的开发工具和目标机的操作系统可以完全脱离相互连接的方式。 为了摆脱主机-目标机通信带宽和目标机资源的限制,Tornado将传统的目标机方的工具迁移到主机上,如shell、loader和符号表等。这样,系统不再需要额外的时间和带宽在主机和目标机之间交换信息,降低了对连接带宽的需求,也避免了目标机的资源(如内存)被工具或符号表大量占用,使得应用程序拥有更多的系统资源。同时这种迁移也使得各种主机开发工具独立于目标机存在,从而使同一主机平台上的工具可以用于所有的目标机系统。 作为一个应用软件开发环境,Tornado提供了友好的可视化开发界面、交叉编译环境、源码级调试工具、目标机命令解释器和目标机状态监视器等多种应用工具,为应用软件开发提供了一个高效而可靠的平台。 三、程序设计 我们选用的DSp开发工具是AD公司提供的VisualDSp。这是一个集成开发环境,支持对SHARC系列DSp芯片的开发。实时操作系统VxWorks的开发工具是WindRiver公司的Tornado集成开发工具。VisualDSp可以C语言或汇编语言编 写的DSp代码,最新版本的VisualDSp还支持C++。它还有1个优点,就是可以编译多片DSp的源代码,并产生下载文件,这就可以很方便地进行多DSp系统的软件模拟。 ADSp21160阵列的设计结构使它既可以构成单指令流多数据流(SIMD)的并行处理机,也可以构成多指令流单数据流(MISD)或多指令流多数据流(MIMD)的流水线处理机,视用户的要求而定。这两种并行方案的选择,简单来说就是选择分割数据流还是分割处理工序。SIMD方案的原理如图1所示。 以下介绍我们实验室承担的水声信号处理系统。本系统以VME总线为系统开发平台,前端调理模件、模数转换模件和前端控制模件等为VME插件,采用SHARC级DSp芯片阵列完成声纳信号实时处理,基于嵌入式实时操作系统VxWorks及X窗口系统的中央控制和显示。 图2是4片DSp的任务分配图。从前端采集来的信号,经波束形成和复解调,再经过窄带滤波后的信号分为两路,一路送去进行幅度检波,一路做频域处理。幅度检波就是对复信号求模,根据信号幅度判决有无目标存在。频域处理分两种情况:当发射信号为单频脉冲时,进行功率谱估计,然后根据多普勒频移估计目标速度;当发射信号为双曲调频信号时,进行相关处理。 声纳综合数据处理主要包括主动声纳信号处理和被动声纳信号处理。其中,主动声纳信号处理又根据发射信号的不同,分为非相干处理、相干处理、功率谱处理。声纳综合数据处理主要完成:目标自动检测、目标参数测定和动目标跟踪。 四、操作流水线 操作流水线是模块内数据计算与I/O的流水线,物理上表现为CpU与I/O端口的DMA之间的并行。在前端处理中由于数据率高,通信开销很大。以通信任务最为繁重的复解调和多普勒补偿模块为例,输入数据率为2Mw/s,输出数据率为4Mw/s,高速连接口Linkport最高速率为100Mw/s,如果采用串行传输的话,通信时间就将占用60%以上的处理时间,计算时间显然严重不足。所以必须采用并行执行,流程图如图3所示。这也是一种异步流水线方式,每次传送和计算完成都须要设置标志以通知下一操作。 结束语 在VxWorks实时操作系统下,4片ADSp21160上的程序已经通过模拟输入和系统测试。采用SHARC DSp 阵列能够很好地完成声纳信号实时处理,每一片DSp至少有10%的计算裕量,基本达到设计要求。 DSP系统设计PCB心得 DSP外扩FPGA DSP芯片系统时常要根据设计要求或变动调整电路,这对于已经设计好的电路板,无疑带来了困难。而且在设计阶段往往难以测试其性能,例如延时性、毛刺特点等。FPGA的优点是时序整齐、延时一致,易于修改、集成度高、可靠性好。 利用FPGA完成对整个系统的时序控制和接口扩展任务,可以把DSP芯片进一步解放出来去集中完成数据处理工作,提高DSP芯片的使用效率。FPGA的具体工作是:完成整个系统的时序同步工作,使整个系统在统一的时序下顺畅地进行工作;完成接口扩展,使整个系统可以根据需要进行程序、数据存储器及其他外设接口的扩展,进一步扩展发挥DSP芯片的各种功能。 PCB设计布局 首先考虑DSP芯片与存储器之间的位置布局,保证DSP芯片和存储器之间的举例尽可能近一些。这样可以减少制版费用并避免走线过长导致信号线受到寄生电感的干扰而导致信号的质量下降甚至完全失效。信号线上串联的排阻要尽可能地离存储器近些,因为其作用是在高频信号的传输过程中实现平波作用,只有距离越近、效果才越好。 设计锁相环电路和晶体振荡器电路时,电路应尽可能靠近DSP芯片的相应引脚,同时必须在电路板的一侧,并避免穿孔打眼出现。 将排阻和电容都安排在底层,并尽可能地靠近相关的芯片,使其发挥的作用达到最大。此外在作DSP芯片及其他的元件封装时,应该考虑芯片所占的外延空间,而不仅仅是作电路板时它本身封装所占据的空间。即作元件的封装时如果小于它的实际外部尺寸,作周围的元件布局时应该考虑它的外向延伸空间。这样元件焊接、调试的时候比较方便、容易。 在布线的过程中,尽可能地保持信号线的长度近似相等,至少应保证一组信号线中的各个线长度大致相等,这样才会尽可能地保证信号传送的同步,而不出现延时的现象。还应注意走线尽可能往一个方向走,尽量避免出现经常性的折返,这样传输信号的质量也会受到影响。 在电路板上适当多加一些0.1uF的高频旁路电容使高频电流实现电源层与接地层之间的就近消除,而避免集中到某一较远的电容那里去消除。 将所有走线布置完事后应该考虑测试点的选择,应该在需要测试的引脚引线附近安排引出接地点,这样可以降低电位差,使测试的信号更加准确。测试点应该就近接地。 在接地处理时,尽量将一切接地信号就近打过孔连到地层,有时甚至可以多打一些,这样可以更好进行信号屏蔽、尽可能地消除一些不必要的干扰。 中间层的走线夹在电路板层的内部,一旦出现问题无法进行调整,进行检测也不方便。布线时,从信号检测调试的角度考虑尽量避免走中间层。 当信号层之间有电源层或者接地层隔开时,电源层和接地层实际上起着信号屏蔽的作用,它可以把其他层的信号完全隔离开来,因而可以在信号层上随意走线,不必考虑一些走线常常注意的规则,例如信号重叠及相互间干扰现象的出现。走线时应注意电源走线宽度还有通道问题,按照1A对应1mm的基本比例进行走线,并在此基础上将走线进一步加宽。此外保证输入、输出通道尽量不发生转折,各自最好是一条直线形式,避免传输过程中的电磁噪声信号干扰。 PCB设计经验总结 1、PCB布局设计原则 1)距板边距离应大于3~5mm。 2)先放置与结构关系密切的元件,如接插件、开关、电源插座等。 3)优先摆放电路功能块的核心元件及体积较大的元器件,再以核心元件为中心摆放周围电路元器件。 4)功率大的元件摆放在利于散热的位置上,如采用风扇散热,放在空气的主流通道上;若采用传导散热,应放在靠近机箱导槽的位置。 5)质量较大的元器件应避免放在板的中心,应靠近板在机箱中的固定边放置。6)有高频连线的元件尽可能靠近,以减少高频信号的分布参数和电磁干扰。7)输入、输出元件尽量远离。8)热敏元件应远离发热元件。 9)可调元件的布局应便于调节。如跳线、可变电容、电位器等。10)考虑信号流向,合理安排布局,使信号流向尽可能保持一致。 11)布局应均匀、整齐、紧凑。 12)表贴元件布局时应注意焊盘方向尽量取一致,以利于装焊,减少桥连的可能。13)去耦电容应在电源输入端就近放置。 14)数字电路与模拟电路应尽量分开,最好是用地隔开。15)在多层板的设计中,应尽量使用地层和电源层将信号层隔开,不能隔开的相邻信号的走线应采用正交方向。 16)对于双面都有元件的PCB,较大较密的IC,如QFP、BGA等封装的元件放在板子的顶层,插件元件也只能放在顶层,插装元件的另一面(底层)只能放置较小的元件和引脚数较少且排列松散的贴片元件。 2、PCB设计的布线原则 1)走线应避免锐角、直角。采用45°走线。2)相邻层信号线为正交方向。3)高频信号尽可能短。 4)输入、输出信号尽量避免相邻平行走线,最好在线间加地线,以防反馈耦合。5)双面板电源线、地线的走向最好与数据流向一致,以增强抗噪声能力。 6)数字地、模拟地要分开,对低频电路,地尽量采用单点并联接地;高频电路宜采用多点串联接地。对于数字电路,地线应闭合成环路,以提高抗噪声能力。7)对于时钟线和高频信号线要根据其特性阻抗要求考虑线宽,做到阻抗匹配。 8)整块线路板布线、打孔要均匀,避免出现明显的疏密不均的情况。当印制板的外层信号有大片空白区域时,应加辅助线使板面金属线分布基本平衡。9)电源和地的布线。尽量给出单独的电源层和地层;即使要在表层拉线,电源线和地线也要尽量地短,且要足够的粗。对于多层板,一般都有电源层和地层。需要注意的只是模拟部分和数字部分的地和电源即使电压相同也要分割开来。对于单双层板电源线应尽量粗而短。电源线和地线的宽度要求可以根据1mm的线宽最大对应1A的电流来计算,电源和地构成的环路尽量小。 为了防止电源线较长时,电源线上的耦合杂波直接进入负载器件,应在进入每个器件之前,先对电源去耦。为了防止它们彼此间的相互干扰,对每个负载的电源应独立去耦,并做到先滤波再进入负载。 10)时钟的布线。时钟线作为EMC影响最大的因素之一。在时钟线应少打过孔,尽量避免和其他信号线并行走线,且应远离一般信号线,避免对信号线的干扰。同时应避开板上的电源部分,以防止电源和时钟的相互干扰。当一块电路板上用到多个不同频率的时钟时,两根不同频率的时钟线不可并行走线。时钟线还应尽量避免靠近输出接口,防止高频时耦合到输出的cable线上并沿线发射出去。 如果板上有专门的时钟发生芯片,其下方不可走线,应在其下方进行铺铜,必要时还可以对其专门割地。对于很多芯片都有参考的晶体振荡器,在这些晶振的下方也不应走线,要铺铜进行隔离,同时可将晶振的外壳接地。 3、测试点的选择、添加 1)测试点均匀分布于整个PBA(Printed Board Assembly, 装配电路板)板上。 2)器件的引出引脚,测试焊盘,连接器的引出脚及过孔均可作为测试点,但是过孔是最不良的测试点。 3)贴片元件最好采用测试焊盘作为测试点。4)布线时每一条网络线都要加上测试点,测试点离器件尽量远,两个测试点的间距不能太近,中心间距应有2.54mm;如果在一条网络线上已经有焊盘或过孔时,则可以不用另加测试焊盘。 5)不可选用底层上的贴片元件的焊盘作为测试点使用。 6)对电源和地应各留10个以上的测试点,且均匀分布于整个板上,用以减少测试时反向驱动电流对整个电位的影响,要确保整个板上等电位。测试点可以是通孔焊盘、表面焊盘、过孔,但过孔必须有可以接触的铜。当使用表面焊盘作为测试点时,应当将测试点尽量放在焊盘面。 基于TMS320F2812 DSP的太阳能独立光伏发电系统 设计 世界能源的短缺以及环境污染已成为当今日益严重的问题,改变能源结构,寻找可再生绿色能源愈来愈受到重视。太阳能具有取之不尽、用之不竭、清洁安全等特点,并且太阳能光伏发电系统的研究对于缓解能源危机、减少环境污染、减小温室效应具有重要的意义。针对目前光伏电池转换效率比较低的问题,为了充分有效利用太阳能,对光伏发电系统进行最大功率跟踪(Maximum Power Point Tracking, MPPT)显得尤为必要。本文在分析综述了国内外光伏产业发展现状和光伏发电原理的基础上,设计了基于TI公司TMS320F2812 DSP的光伏独立发电系统。本文所做的主要工作如下:(1)综述了国内外光伏产业发展现状及太阳能电池的基本发电原理,结合太阳能电池的输出特性及其影响因素,分析了最大功率跟踪的必要性,提出了可行的最大功率点跟踪控制方法。(2)在对目前广泛应用的DC-DC变换器拓扑结构的优缺点分析总结的基础上,设计了一种基于Boost控制电路的光伏独立发电系统。(3)分析了铅酸蓄电池充放电过程中的电化学反应机理,设计了满足系统要求的蓄电池充电主电路。该电路能有效控制蓄电池的充、放电,避免蓄电池在应用中出现的过充、过放现象,最大程度地利用光伏电池所发出的电能。(4)设计了以数字信号控制器DSP TMS320F2812为核心的光伏独立发电系统,并设计了辅助电源电路、保护电路、人机交互电路等组成部分。(5)扩展了CAN总线接口,为光伏发电系统组网奠定了技术基础;引入了GSM技术,利用SMS(Short Message Service)技术远距离传输数据,实现了远距离系统工作状态的监控。同主题文章 [1].潘玉良,施浒立.光伏发电系统最大输出效率探索' [J].电子工程师.2001.(09) [2].李钟实.太阳能光伏发电知识问答(二)' [J].电子世界.2009.(10) [3].吕贝,邱河梅,张宇.太阳能光伏发电产业现状及发展' [J].华电技术.2010.(01) [4].李兵.可卷曲的太阳能电池' [J].可再生能源.2005.(05) [5].新型透明太阳能电池' [J].通信电源技术.2006.(01) [6].艾雨.基于MATLAB遗传算法工具箱的太阳能电池最大功率点研究' [J].科协论坛(下半月).2009.(08) [7].[8].[9].[10].太阳能光伏:未来希望与人类梦想' [J].电源世界.2009.(09) 李静波.太阳能电池的最新技术' [J].汽车电器.1989.(06) 太阳能电池' [J].电子科技文摘.2002.(06) 朱海峰.“衣物”太阳能电池' [J].高科技与产业化.2010.(03) 【关键词相关文档搜索】: 物理电子学;光伏电池;最大功率跟踪;DC-DC变换器;铅酸蓄电池;DSP 【作者相关信息搜索】: 太原理工大学;物理电子学;杜海文;孔晓丽; 基于视频的高速公路测速系统 董桂菊,徐杰 (东北农业大学电气与信息学院,哈尔滨150030) 摘要:文章介绍了基于视频的车辆测速管理系统,并提出了一种车辆的测速方法。车辆测速管理是智能交通系统(ITS)中的一个重要组成部分,它集牌照识别、测速检测、流量监控、费用收取等多项功能于一体,主要用于对高速公路超速违章车辆的监控。在车辆的测速原理中,指出从相邻视频帧图像中获取车辆的“像速度”,并间接获取车辆实际速度的方法。从而为高速公路测速管理系统的关键点提出了一种切实可行的解决办法。 关键词:高速公路;视频;测速管理系统;测速 中图分类号:文献标识码:A文章编号: 0引言 国家发展离不开道路建设,伴随着高速公路的大规模建设,车辆的超速现象也频繁发生。为了查处治理违规车辆,车辆的测速成为交管部门越来越重视的问题。而基于高速公路的智能管理,机动车辆的测速管理也是其中一个重要的组成【1】。车辆测速技术简述 目前,智能交通系统中对车辆进行测速主要有线圈测速、激光测速、雷达测速、视频测速等几种方式。线圈测速一般采用埋设式,车辆通过线圈,会引起线圈磁场的变化,输出触发信号,因此可以在公路路面一定距离设置两个线圈,检测器通过检测车辆通过两个线圈的时间差计算出车辆的速度,但线圈在安装时必须直接埋入车道,使路面受损,并且在安装过程中会阻碍交通,线圈在地下也易受到冰冻、路基下沉等外界因素影响。当车流量过大时,检测精度也会大大降低。激光测速的工作原理建立在光波测距的基础上,利用多次测得的距离差与时间差的比,测得车辆的速度,与地感线圈有着类似的计算方式。 雷达测速的工作原理是利用多普勒效应,当发射方与接收方之间有相对径向运动时,接收到的信号频率就会放生变化,利用这种频移的特点计算车辆的行驶速度。但雷达测速系统和激光测速系统对于测量角度都有很高的要求,测速系统需正对车辆运动方向,测量偏差角要很小,有一定局限性。不带车牌识别的雷达测速系统对违章车辆处罚时由于缺少证据,所以不太实用。人们为解决这个问题,利用高速存储的数码相机采集车辆视频图像,对车牌进行识别,但此系统价格昂贵。此系统测速准确、速度快,可移动测速等方面优点,得到普遍应用,但成本较高,不能用于多车测速,抗电子干扰能力较弱。 视频测速系统原理是利用图像中车辆的二维位置以及预先测定的一系列参数从而确定车辆的实际三维位置,在一个固定时间间隔内拍摄两幅图像,就可以根据两幅图像得来的车辆的实际三维位置确定这个时间段内的位移,从而得出车辆的行驶速度。在此测速方法中,主要需解决的问题是从图像序列中获取车辆的位移,即找到两帧图像中车辆位置的匹配关系。其优点是系统结构简单、稳定性强、成本低,抗电子干扰,可用于移动和固定场合,不仅能够测速,而且能够利用视频对车辆进行监控。缺点是测速精度低,并且需预先对测速系统中参数(如摄像机到被测测量间的距离)进行测量。 由于视频处理的独特优势,在交通智能管理系统中已被广泛使用,并成为现代智能交通的发展方向和趋势。本文通过对图像序列中车尾位置识别,进行图像匹配,获得车辆在图像中移动的像素差,把相机坐标转换为世界坐标,能够在实时环境下对车辆进行测速。 2视频测速管理系统介绍 为了满足现代化高速公路管理的需要,实现系统低成本、易操作、便管理的要求、我们将视频测速管理系统划分为视频测速系统和收费系统两个方面。 2.1视频测速系统 视频测速系统主要有监控单元、数据传输单元、中心管理单元三部分组成。前段监控单元 包括闪关灯、摄像机以及前段管理工控机等设备,负责采集车辆信息;数据传输单元主要包括CDMA传输模块,负责前段监控单元到中心管理单元的信息传输;中心管理单元主要包括系统的管理软件及其存储设备,负责对传回的数据进行处理并将其存入数据库,从而实现了对海量信息的存储和管理,便于以后车辆信息的汇总与调取。 测速系统结构图 当车辆驶入监控区域,前端监控单元采集车辆通过的时间、速度等信息,并存入本机数据库中,当检测到车辆超速时,将启动抓拍模块,对违法车辆进行拍摄,并将违章车辆违章时间、违 章地点、车牌号码和车牌图像存入工业控制计算机的本机数据库中。 测速流程图 前端监控单元获取的车辆行驶记录以及违法车辆的图片通过CDMA无线网络发送给中心服务器进行保存。CDMA无线网络单元作为该系统的自动传输单元,当网络堵塞或出现故障时,自动传输单元循环等待网络的恢复,当网络恢复后,自动传输单元自动启动数据传输。 中心服务器负责处理前端传回的车辆记录和图片信息。服务器中的车牌识别模块首先识别违 法车辆图片中的车牌,然后由图片处理模块采用特定技术附加车辆相应时间、相应地点、车辆行驶速度,并将该车辆违章信息发送给终端服务器,作为以后交警执法的依据。 测速系统的测速流程如图所示。2.2测速原理 图1视频中截取的两帧图像 (a)t0时刻 (b)t1时刻 监控摄像机 t0 t 1测速原理图 本系统使用视频检测车辆车速,依据以下公式:vd/t (d1d0)/(t1t0)(1) 在此系统中,通过视频信号的固定帧间时间可直接得到t,再通过其他方法间接的得到 d,此时,我们采用公式: vd/t (d1d0)/(t1t0) f(s0))/(t1t0)(2) (f(s1) f(s)是一个表示路程的函数,s值表示位置,假设知道函数f(s)的表达式,则通过f(s),有s1、s0计算得到d1、d0的值,相减即可得到d,实际测量中可得到t`1和t0的值,从而可有(2)式计算出v值。 图1是从监控视频信号中连续截取的两帧图像。由图像可知,摄像机的拍摄是由远及近拍摄,车辆与摄像机为正对方向。 可以找到车辆在两帧图像中的对应点,由于摄像机是固定不动的,这样就具有了对比性,对应点分别对应到图像中s1(t1时刻帧图像)和s0(t0时刻帧图像)位置,相减即可得到对应点t(t1t0)时刻在图像中移动的像素距离s(s1s0),从而得到车辆在图像中的移动速度,单位为“像素/秒”。 然而,我们要获得的是车辆的行驶速度,速度单位应该是“公里/小时”,因此,我们必须找到s与实际距离d的关系。 考虑到摄像机安装的安全性和效果较好的视觉俯仰角,一般不小于60,我们选取60,此时的视距c和检测点距摄像机的距离d一般比较大,当t很小时,d相对于d非常小,因此可以忽略图中的变化量。 假设视频信号中截取的图像高宽分别为1920像素和1080像素,车辆监控视频视野宽刚好为一个车道宽为3.5米,如图所示: 车牌在两帧图像中移动的位图 设视野范围内可以看到xm路面长度,也就是图像高度所对应的路面长度为xm,此时有,19201080 35xcos s1080 dx x10803.51s因此,ds 10801920cos1080 此时,t为获取的两帧图像时间差,s为车辆在两幅图像的像素距离,而由公式(1),即可得出车辆的移动速度v。 而此刻我们不考虑视觉透视效果,则有,3.总结 文章的最终目的是对高速公路车辆速度的监控及其测量,设计了高速公路车速监控系统,并提出了一种车速的测量方法,通过与图像识别技术相结合,进行模拟实验。实验结果表明,此测速方法已初步实现了视频测速的基本要求。 参考文献: [1]袁河洋.基于视频的车辆速度检测方法研究[D].大连:大连海事大学, 2013.6 [2]陈媛媛, 柴治.基于视频检测的车辆测速方法[J].现代电子技术, 2009, 23: 185-187.[3]袁丁.基于视频和DSP的车辆识别测速系统[D].浙江:浙江大学, 2004.2[4]王命延, 朱明峰, 王昊.机动车视频测速中关键技术的研究与实现[J].计算机工程, 2006, 32(5): 198-200.[5]张重德, 张崇薇.一种提高视频车速检测精度的方法[J].上海交通大学学报, 2010, 44(10): 1440-1442.[6]童剑军, 邹明福.基于监控视频图像的车辆测速[J].中国图像图形学报, 2005, 10(2): 192-193.Highway Vehicle Speed Measurement System Based on Video Dong Guiju,Xu Jie (College of Engineering, Northeast Agricultural University, Haerbin 150030, China) Abstract:This article describes a highway vehicle speed measurement system based on video, and proposed a method for vehicle speed.Vehicle speed management plays an important role in Intelligent Transportation System(ITS), It contains license plate recognition、speed detection、traffic monitoring、fees charged and so on many functions in one body,Mainly used for vehicle monitoring highway speeding violation.In the principle of vehicle speed measured,pointed out a method that obtain the vehicle’s “pixel speed” from the adjacent frame images,and indirect get the actual speed of the vehicle.Thus presents a practical solution to the critical point of the highway speed management system.Key words:highway;video;speed management system;speed第二篇:DSP系统程序设计论文
第三篇:DSP系统设计PCB布线心得
第四篇:基于TMS320F2812 DSP的太阳能独立光伏发电系统设计概要
第五篇:基于视频和DSP的高速公路识别和测速系统