下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 DSP FPGA系统设计第6讲EVM板设计实例

DSP FPGA系统设计第6讲EVM板设计实例.doc

DSP FPGA系统设计第6讲EVM板设计实例

朱猪毛毛虫
2017-10-23 0人阅读 举报 0 0 暂无简介

简介:本文档为《DSP FPGA系统设计第6讲EVM板设计实例doc》,可适用于社会民生领域

DSPFPGA系统设计第讲EVM板设计实例第三章高速DSP处理板数字信号处理器(DSP)芯片和可编程专用集成电路(ASICApplicationSpecificIntegratedCircuit)是目前数字信号处理系统中最常采用的两种器件它们各有优缺点。可编程器件的功能模块可以根据需要完全定制针对性强集成度高能够较大限度发挥硬件资源效率缺点是大部分模块完全定制设计工作量大系统灵活性差常用于流程简单、规范的场合。DSP内部模块标准组成结构固定实际应用中存在冗余资源利用率不足等问题但它的通用性好灵活性大主要由软件完成相关处理因此较适合处理流程复杂的场合。ECC加密卡所需完成的处理多种多样采用的算法也不尽相同且有很多算法尚未完全成熟需要在实践中进一步改进。尤其适用DSP芯片进行系统设计不但可以满足当前的设计要求缩短系统开发周期还可以为以后的算法改进提供支持并能够为相关算法研究提供一个工程实验平台。近年来DSP得到迅猛发展TI公司TMSCX系列DSP的推出更具有划时代意义。由于采用新型体系结构和先进制造工艺其处理能力比同期其他DSP有近十倍的提高。开发此DSP芯片并将其应用于ECC加密卡领域对于提高系统整体性能、推动有关算法的工程实现研究都具有重要意义。DSP芯片的分类DSP的芯片可以按照以下的三种方式进行分类。按基础特性分这是根据DSP芯片的工作时钟和指令类型来分类的。如果DSP芯片在某时钟频率范围内的任何频率上能正常工作除计算速度有变化外没有性能的下降这类DSP芯片一般称之为静态DSP芯片。如果有两种或两种以上的DSP芯片,它们的指令集和相应的机器代码机管脚结构相互兼容,则这类DSP芯片称之为一致性的DSP芯片。按数据格式分这是根据DSP芯片工作的数据格式来分类的。数据以定点格式工作的DSP芯片称之为定点DSP芯片。以浮点格式工作的称为DSP芯片。不同的浮点DSP芯片所采用的浮点格式不完全一样有的DSP芯片采用自定义的浮点格式有的DSP芯片则采用IEEE的标准浮点格式。按用途分按照DSP芯片的用途来分可分为通用型DSP芯片和专用型的DSP芯片。通用型DSP芯片适合普通的DSP应用如TI公司的一系列DSP芯片。专用型DSP芯片市为特定的DSP运算而设计更适合特殊的运算如数字滤波卷积和FFT等。DSP芯片的选择设计DSP应用系统选择DSP芯片时非常重要的一个环节。只有选定了DSP芯片才能进一步设计外围电路集系统的其它电路。总的来说DSP芯片的选择应根据实际的应用系统需要而确定。一般来说选择DSP芯片时考虑如下诸多因素。(DSP芯片的运算速度。运算速度是DSP芯片的一个最重要的性能指标也是选择DSP芯片时所需要考虑的一个主要因素。DSP芯片的运算速度可以用以下几种性能指标来衡量:()指令周期。就是执行一条指令所需要的时间通常以ns为单位。()MAC时间。即一次乘法加上一次加法的时间。()FFT执行时间。即运行一个N点FFT程序所需的时间。()MIPS。即每秒执行百万条指令。()MOPS。即每秒执行百万次操作。()MFLOPS。即每秒执行百万次浮点操作。()BOPS。即每秒执行十亿次操作。(DSP芯片的价格。根据一个价格实际的应用情况确定一个价格适中的DSP芯片。(DSP芯片的硬件资源。(DSP芯片的运算速度。(DSP芯片的开发工具。(DSP芯片的功耗。(其它的因素如封装的形式、质量标准、生命周期等。DSP应用系统的运算量是确定选用处理能力多大的DSP芯片的基础。那么如何确定DSP系统的运算量以选择DSP芯片呢,(按样点处理按样点处理就是DSP算法对每一个输入样点循环一次。例如一个采用LMS算法的抽头德的自适应FIR滤波器假定每个抽头的计算需要个MAC周期则抽头计算需要*=个MAC周期。如果采样频率为KHz即样点之间的间隔为μs的时间DSP芯片的MAC周期为μs则个周期需要μs的时间显然无法实时处理需要选用速度更快的芯片。(按帧处理有些数字信号处理算法不是每个输入样点循环一次而是每隔一定的时间间隔(通常称为帧)循环一次。所以选择DSP芯片应该比较一帧内DSP芯片的处理能力和DSP算法的运算量。假设DSP芯片的指令周期为P(ns)一帧的时间为τ(ns)则该DSP芯片在一帧内所提供的最大运算量为τP条指令。TMSC芯片结构C是美国TI公司年推出的DSPs芯片。这种芯片是定点、浮点兼容的DSPs系列其中定点系列是TMSCxx浮点系列是TMSCxx系列。定点Cxx系列目前有CCCCC和C六个片种。TMSC是世界上第一个采用先进的VLIW(超长指令字)结构的DSP芯片它将VLIW结构和高并行性结合器俩通过增加指令并行性使其性能有了较大飞跃。通过片内锁向环路(PLL)将输入时钟倍频C的工作时钟可达MHz指令周期仅为ns。片内有个可完全并行运算的功能模块单周期最多可执行条位指令最大处理能力可达MTPS即每秒亿次定点运算。C的特殊结构使得处理器的硬件结构设计大大简化但对编译器和软件设计结构提出了很高的要求。软件设计与优化成为整个系统性能的决定因素代码的高度并行性是获得强性能的关键。TMSC内部包含三个主要部分CPU、辅助资源和存储器。图给出了TMSC的硬件体系结构。CPUC的CPU由取指、指令分配和指令译码单元个通用寄存器个并行功能模块控制寄存器控制逻辑测试仿真和中断逻辑等构成。个功能模块包括两个乘法器和个算术逻辑单元能够执行逻辑、移位、乘法以及数据寻址操作。它们分为相同两组属于两个数据通道。每个数据通道有一个寄存器文件内含个位寄存器各个功能模块之间通过两个寄存器文件通信不同组的两个功能模块之间的数据交换是通过两个寄存器文件之间的交叉总线实现的。在这种VLIS结构处理器中多个并行工作的功能模块共用一个程序计数器一个控制单元。每个模块受控于一个位指令位程序存储器单周期最多可以取条位指令。芯片内部设置了专门的指令分配模块负责将每个位指令包同时分配给个功能模块并由个模块同步执行。为了使尽可能多的模块能够并行工作需要对程序代码顺序进行重新组织从而在某种程度上保证相邻指令之间操作数的独立性称为指令序列的调度。C的指令序列调度是在编译阶段完成的属于静态调度因此指令执行的顺序是可以预见的。C有位地址线最大寻址空间为G字节。存储器空间分为内部程序存储器内部数据存储器片内资源空间和三个外部存储器空间。字节的片内数据存储器分成个k的位存储器块数据存储器控制器负责在CPU和DMA控制器之间对每个位的数据块单独执行仲裁使得两个数据通道和DMA控制器能够无冲突地读不同的位数据块。CPU在一个周期内能够同时访问分属于不同存储器块的数据单元对相同内存块的两个数据单元同时访问将使CPU流水线延迟一个时钟周期即需要两个周期。如果DMA控制器对一个数据块进行访问而该数据块没有被CPU同时访问则DMA操作将发生在后台。当DMA控制器向一个正在被CPU请求访问的数据块发出多个连续请求时CPU的访问将被中断直到这些DMA操作完全结束。CPU和DMA控制器对数据存储器的操作可以按位、位或位字节长度进行。C内部集成了一些辅助资源如DMA控制器宿主接口外存接口串口掉电逻辑等用来实现与外存协处理器和串行器件接口。DMA控制器能够在内存片内辅助资源以及外部器件间以CPU时钟速度实现高速数据传输这种传输发生在CPU运行的后台。DMA控制器有四个可编程通道能跟踪四个独立的块传输轨迹另外还有一个辅助通道用来处理有地址发生能力的辅助资源的传输请求。宿主接口是一个位主机访问口宿主处理器(PC机)通过它能够直接访问CPU的存储空间这种访问由DMA控制器辅助通道实现。C不仅支持DRAMSRAMROM和FIFO等各种异步存储器也支持同步存储器SDRAM(同步随机访问存储器)和SBSRAM(同步突发静态随机存储器)等。处理器与存储器接口通过一个专门的位外部存储器接口EMIF实现。当多个访问请求同时发生时EMIF负责判别优先级并执行所需循环。系统复位后引导配置逻辑根据外部引导配置输入脚的状态确定初始化操作模式以决定存储器地址单元映射到片内还是片外以及影设在片外时外存地址单元类型。两个双向多通道缓冲串口的任意一个最高通道数为。接收和发送采用独立的结构和时钟数据宽度可以在或位之间选择。该串口支持多种工业标准器件。为了增强可靠性和缩小电路板空间芯片采用脚BGA封装。其供电电压为VV。TMSC高速信号处理板开发椭圆曲线加密技术在DSP上实现的优点:DSP上的计算速度高于微机上的计算速度开发周期比ASIC加密芯片短有利于保护密钥和明文并防止加密系统受到攻击便于在嵌入式系统中应用ECC技术。设计要求加密卡设计需要满足下列功能要求:,保存和管理密钥系统将随机生成的私钥保存在禁止读取存储器内采用DiffieHellman密钥交换协议生成公钥并向通信双方提供公钥。,加密和解密。系统采用DES对称加密算法对大量明文进行加密并采用ECElGamal加密算法加密固定长度的对称密钥。,签名和验证。采用ECDSA签名算法。,与PC机通信通信接口采用目前流行的PCI接口。,采用较大容量存储器和高性能DSP使加密卡具有兼容其他软件(如图像压缩二维条码平台及其他加密算法)的能力。根据设计要求开发的高速DSP信号处理板不仅可以用作椭圆曲线加密卡还可以为其它信号处理系统提供一个TMSCDSP实验平台。该处理板与主机有一个输入输出接口PCI接口。通过该接口与主机进行数据通信。加密卡选择高性能的TMSCDSP芯片可以进行高速计算并预留实现图像压缩和二维条码编译码的运算能力。增加一个M容量的SBSRAM主要也是考虑到图像压缩及条码平台所需的存储空间。FLASHROM用于存放程序和系统共享参数。整个DSP板的结构如图所示:SBSRAMFLASHROM(K*MHZ)(K*)CECEPTOEA:(VDD)EA:DSP电源管理器TMSC(B)(RESET)复位电路DSP(MHZ)Controlbus时钟信号(CLKIN)(EMIF)(PLLx)PLL锁相环ED:OED:(JTAG)JTAG接口(HPI)CBTD(片)V到V电压转换ControlbusGALVHD:PLDSerialEEPROMPCI(K)PCI控制器V位PCI连接器图程序在DSP内部传递过程如下:板自启动后从FLASH将程序经EMIF传到PMC(ProgramMemoryController)然后传送给CPU。数据传输过程如下:数据通过HPI接口放入指定地址的存储空间DSP中等待访问。SBSRAM用作系统运行过程中的高速缓存。整个板通过PCI接口与外部主机通信。板上有V、V和V三种电压都由外部主机通过PCI接口提供。从功能上DSP处理板可以划分为以下几部分:()PT、复位电路、时钟信号、锁相环和JTAG口是DSP的附加电路用来设置芯片模式。()DSP及外围存储器接口(EMIF)电路包括TMSCDSP、SBSRAM、FLASH等有关外围电路是系统核心电路。负责运行程序并处理数据进行相关运算。其中DSP是微处理器SBSRAM相当于扩展内存空间FLASH为程序和固定参数存储器。()PCI接口电路由DSP的HPI接口、CBTD、PLD、PCI控制器以及V位PCI连接器组成负责加密卡与主机之间的数据传输。下面将分别进行描述。DSP模式设置设计DSP处理板的首要工作即设置DSP的工作模式CX系列的DSP的部分管脚可以完成这项工作。设置的内容包括工作主频、存储器映射方式及复位后芯片自举模式等芯片复位时设置生效。DSP的RESET管脚接收外部输入的复位信号。当RESET为低时芯片进入复位初始化状态。经典复位电路有很多加密卡采用如图所示的设计该设计融合外部复位和手工复位信号。电路中如果CVDD=V取R=KΩ若CVDD=V取R=KΩ。本加密卡采用CBCVDD=V所以取R=KΩ。DVDDCVDDRRkkRESETMH#RESETVCCRESET#RESETBGNDNCPFIPFO#MAXTRu图一、时钟和锁相环处理板采用晶体振荡器外部晶振经过倍频后产生CPU的工作时钟以及同步接口(例如SBSRAM)所需的时钟信号。CB的输入管脚PLLFREQ:用来设定CPU主频范围管脚CLKMODE:与内部锁相环(PLL)及外接电阻电容共同作用设置倍频方案。本卡设置PLLFREQ:=b则CPU主频范围在,MHz。将MHZ晶振产生的脉冲倍频得到TMSCB的MHZ工作频率RC和C决定输入和输出时钟脉冲频率大小(如图所示)。CLKMODE:=bVCC=VVCC=VR=ΩC=nFC=pF。二、Endian模式C有littleendian和bigendian两种工作模式通过专门的LENDIAN管脚设置。两种模式的区别在于字节或半字的访问顺序以读取位字x为例:bigendian模式下将高半字放在低地址位低半字放在高地址位读出的结果是xlittleendian模式下则将高半字放在高地址位低半字放在低地址位读出结果是x。本卡选择littleendian模式令LENDIAN=。三、BOOTMODE管脚C五个管脚BOOTMODE:设置存储器映射模式、地址处的存储器类型和自举模式。C的存储器有两种映射方式:MAP和MAPMAP方式下片外程序存储器位于首地址处MAP方式下片内程序存储器位于地址处。每种存储器映射都被分为:片内程序存储器、片内数据存储器、片外存储器和片内外设空间等四部分其中片内外设空间包括对片内外设总线接口(如EMIF、DMA、HPI、McBSP、Timer及中断选择等)寄存器的设置。相应的地址分配如表所示。C的存储器映射配置地址范围大小存储块的分配(HEX)(Byte)MAPMAP,FFFFK外存接口CE内部程序RAM~FFFFFM~K外存接口CE保留~FFFFFFM外存接口CE外存接口CE~FFFFFM外存接口CE外存接口CE~FFFFK内部程序RAM外存接口CE~FFFFFM~K保留外存接口CE~FFFFFFM片内外设总线寄存器~FFFFFFM外存接口CE~FFFFFFM外存接口CE~FFFFFFFG~M保留~FFFFFK片内数据RAM~FFFFFFFFG~K保留C的自举方式分三类:()不加载CPU直接开始执行地址处指令FLASH不起作用。()ROM加载:位于外部CE空间的ROM中的KB程序首先通过DMA被搬入地址处。CPU推出复位状态开始执行地址处指令。ROM中的程序必须是littleendian格式存储。()主机(HPI)引导:在复位状态外部主机通过主机口初始化CPU存储空间然后将主机口控制寄存器中的DSPINT位置结束引导过程退出复位状态开始执行地址处指令。主机引导过程中主机可对DSP内所有存储空间进行读写。在本卡中令BOOTMODE:=则存储器映射为MAP方式地址处存储器为内部存储器采用ROM加载的自举模式板上电复位后从FLASH加载程序和系统参数。同步突发式静态存储器(SBSRAM)接口设计CX系列DSP的EMIF有很强的接口能力其数据总线宽度为bit可寻址GB可以与目前几乎所有类型存储器直接接口。EMIF提供两种控制寄存器其中一个全局控制寄存器完成对整个片外存储空间的公共参数的设置四个CEx空间控制寄存器分别控制相应存储空间的接口参数另外两个SDRAM寄存器负责控制所有属于SDRAM空间的存储接口情况。本电路的EMIF支持两个外部存储器:一个K*bit同步突发式静态存储器(SBSRAM)和一个K*bit异步闪存(FLASH)。在EMIF电路设计上建议所有数据线、地址线和信号线带上拉电阻防止外部信号干扰。SBSRAM是一种同步突发式静态存储器它读写速度高并且是静态RAM不需要刷新。可以与DSP无缝连接接口控制信号如图所示。EMIF的控制寄存器中与SBSRAM相关的控制域如下:SBSRAM控制域控制位功能描述全局控制寄存器SSCENSSCLK输出使能置有效SSCRTSSCLK速率选择Cex空间控制寄存器MTYPE存储器类型设置置为SBSRAM图中的CLK即DSPEMIF接口的SSCLK可以配置为全速(SSCLK=CLKOUT)和半速(SSCLK=×CLKOUT)两种工作速度。采用哪种工作速度由全局控制寄存器的SSCRT位控制为半速为全速。当MTYPE,b时CEx控制寄存器的其他控制位无效。本卡采用K*位SBSRAMSSCLK,映射到CE空间(SBSRAM的CS信号管脚连接DSP的CE,信号管脚)采用半速工作速度SSCRT=达到MHZ。从本质上说SBSRAM其实是DSP的扩展内存因此对EMIF与SBSRAM接口测试可以利用CCS的内存读写功能将加密卡上电复位后初始化EMIF将一段数据通过仿真器写到SBSRAM所映射地址空间再进行读取如果显示结果与写入的数据相同则通过测试。闪速存储器(Flashmemory)接口由于FLASH在断电后仍可以保持数据并且可以在线写入因此加密卡采用K位FLASH作为ROM存储程序和系统参数。接口设计如下:FLASH必须映射到外存接口CE系统复位时DMA首先将FLASH中的K程序复制到地址处。复位状态结束后开始执行地址处的指令。FLASH一般有三种操作:读取(read)、写入(write)和擦除(erase)。可以按照读取EPROM的方式读取FLASH。在写入数据之前必须先进行擦除有些芯片通过擦除命令来实现本卡采用的ATMEL公司ATLVA芯片没有擦除命令自动在写数据之前做扇区擦除。芯片写使能管脚控制写状态写FLASH有两种方法一种是用硬件烧写器烧写但是当芯片焊到板上后就不能用这种方法了另一种是在芯片焊到板上后通过下载程序将源程序下载到芯片中。工作流程如下所示开始读FLASH的ID是否在型号表中,添加型号表否擦除了吗,擦除是FLASH型号表测试FLASH用户数据写数据文件结束本卡采用ATMEL公司的ATLVA通过将字节软件指令写到指定地址空间实现上述流程。xAA写入x地址空间x写入x地址空间“读FLASH的ID”的命令:x写入xAAA地址空间暂停ms进入ID模式。从x地址读取制造商IDx写入x地址空间xAA写入x地址空间从x地址读取设备ID。xAA写入x地址空间x写入xAAA地址空间xAA写入x地址空间x写入xAAA地址空间xA写入x地址空间x写入xAAA地址空间x写入x地址空间datapollingcurrentdataxF写入x地址空间如果在低地址引导区设置停止暂停ms退出ID模式。特性则:x写入H地址空间暂停ms。Datapollinglastdata如果在高地址引导区设置停止特性则:xFF写入FFFFFH地址空间“擦除”的命令:暂停ms。xAA写入x地址空间“写数据”命令:x写入xAAA地址空间测试FLASH的过程实际上也是一个写数据的过程。在写FLASH之前必须预先生成型号表和用户数据文件。FLASH型号表包含的内容有:制造商ID设备ID扇区个数扇区长度总字节容量基于字节扇区编程是否可擦除等信息。通过型号表检测是否存在FLASH以及FLASH编程时所需信息。用户数据文件有两种存在方式:一种是作为独立于FLASH写程序的文件存在另一种是与写程序进行捆绑。如果用户数据文件过大可以划分成多块多次写入。主机口(HPI)电路设计DSP、CBTD、PCI和PCI连接器组成加密卡数据传输模块。明文、签名、公钥、验证结果或密文是需要传递的数据。DSP与PC机之间数据传输过程描述如下:加密卡插入PCI插槽开机后加密卡上电复位从FLASH自启动程序等待PC机发出消息。PC机发出写数据信号DSP接收信号应答准备好信号PC机将数据传递到DSP内存空间传送完毕后发出结束信号完成写操作。DSP接收到结束信号后开始执行计算将运算结果放到内存空间向PC机发出中断请求程序返回起点等待下一次操作。PC机接收中断信号从DSP内存读取数据。由于DSP输出信号是V而PCI是V芯片所以二者之间必须有电压转换器CBTD该芯片对所有数据总线地址总线和控制信号做电压转换。PCI是PLX公司继PCI之后推出的低成本PCI总线接口芯片低功耗PQFPpins封装可以使局部总线快速转换到PCI总线上。主要特点是:()符合PCI总线协议版本()直接从(目标)数据传输模式()包括一个Byte的写FIFO和一个Byte的读FIFO()包括一个三线串行EEPROM接口。DSP与PCI之间的接口设计如下:必须提供正确的软件设置和驱动程序PCI接口才能正常操作。软件方面的工作主要有下述几点:PLD编程。PCI与DSP之间的逻辑门用一个PLD芯片实现优点是:简化硬件电路减少硬件设计错误几率并且可以随时更改信号逻辑。加密卡选用了一个LATTICE公司生产的GALV。程序用ABEL编写。如下:moduleGALVtitle'VPCItoHPIcontrolinterfaceRuthDesignerASICResearchCenterofBIT'gvdevice'pv'CLKIN,RDn,CS,ADSn,HRDY,WnR,WRnpin,,,,,,LRDY,RnWpin,Npinistype'invert,regD'EquationsLRDY=(NQ#RDnWRn)ND=(CS#!ADSn#HRDY)"ISTYPE'INVERT'NC=(CLKIN)RnW=(!WnR)endGALV通过编写EEPROM设置配置空间。PCI总线可以访问个本地地址空间本地空间和两个扩展ROM。加密卡只使用本地空间。要配置它的四个寄存器:PCI基地址地址范围本地基地址(重映射)本地总线范围描述子(LASBRD寄存器)。LASBRD寄存器必须设置成下列形式:LASBRD=LASBRD=LASBRD=LASBRD:=LASBRD=LASBRD:=。Windriver的PCI诊断程序提供按字在线写eeprom和读PCI寄存器信息的功能。编写驱动程序。本卡采用Windriver提供的PCI诊断程序做模板定制用户模式驱动程序。编写数据传输应用程序。本卡数据传输主要有以下特点:()只需在DSP计算前后各进行一次读写操作DSP计算过程中不进行数据传递()每次传递数据量大至少K位。相应的面向用户数据传递应用程序必须满足这两个特点。PCI接口设计将在下一章详细阐述。电源管理CB需要核心电压V周边IO接口电压V加电过程中必须保证内核电源不在IO电源上电之后上电才能确保DSP不受损害。如果IO电源先上电而内核没加电那么芯片缓冲驱动部分的三极管将处在一个未知状态下工作非常危险。为了满足DSP上电要求加密卡用一个电源经分压产生所需要的两种电压。PCI板卡由主机通过PCI槽提供V电压由PT型号芯片对V电压分压得到V和V两种电压。TI公司推荐PT芯片作为TMS系列DSP的电源管理器电路设计如图所示。复位电路中增加自动复位功能兼起到电源监测的作用确保DSP在加电过程中始终处于复位状态直到内核电压和IO电压达到要求电位。同时一旦电压降到一定门限值以下()强制芯片进入复位状态。为了方便调试时接稳压电源在卡上增加电源插头也只供V电压。B的功耗在W左右DSP的实际功耗随芯片工作状态而变其工作状态决定于具体应用程序占用CPU的程度及存储器访问频率等。C通过powerdown逻辑关闭片内某些逻辑电路以降低芯片功耗不丢失任何数据。CSR寄存器定义三种powerdown模式:PDPD和PD。PD和PD模式可以通过PD管脚通知外部其他设备。idle指令也可以降低功耗。系统调试在DSP高速处理板设计过程中调试很重要难度也较大。因为BGA封装使得测试引脚信号非常困难。因此在开始加密卡设计时就必须考虑增加调试手段。调试过程随着DSP系统在电路设计上的复杂程度不断提高对于系统原型开发人员来说便于检验和调试显得越来越重要而其实现也变得越来越复杂。决定一个电路调试便利程度的关键在于系统各部分的“能见度”(Visibility)。可以用多种手段获得一个系统在不同层次上的“能见度”包括利用仿真器(Emulator)通过JTAG检验IC设置信号探测点检测信号波形与时序等。这些往往需要在设计阶段就考虑好。设计阶段加入少量预备措施往往会对以后的调试工作带来事半功倍的作用。能见度、简化度(Simplicity)、灵活性(Flexibility)是贯穿电路设计过程的几个重要原则。系统调试按照以下步骤进行:()PCB板检查。PCB板良好的质量是保障设计顺利实现的最基本前提因此一方面应当尽量选择工艺先进、质量有保障的PCB生产厂家进行协作另一方面应对生产出的PCB板进行检查确保生产出的PCB板与设计相符。本PCB板经检查未发现制造错误。()电源模块调试。DSP板上共有三种电源V、V和V首先调试电源模块使各电源输出电压稳定纹波尽量小以避免因电源问题导致芯片损环、工作不稳定等故障。由于设计时加入大量滤波电容。本PCB板发现电源错误:所有欧电阻都未焊结果导致PT的第管脚(调整vout的)断开VOUT值为V。将连电压的管脚上串欧电阻而不直接短路是一种技巧为了防止当电压由于电路上有短路而过高时烧坏芯片所以应当测试欧电阻一端电压是否为理想电压然后再焊接短路。在短路R后VOUT将为理想的V。()DSP基本外围电路调试。包括外围时钟电路、复位电路、基本配置电路等。接入电源后测试DSP的输入电压、电路、时钟信号、复位信号及各配置信号是否正确然后测试DSP特定输出管脚检查输出是否正确。通过以上测试可以初步判断DSP已经正常工作。利用DSP开发工具中的仿真器访问DSP内部程序、数据存储器、并下载简单调试程序进行测试。如果顺利通过调试此步则说明DSP及其仿真器可正确工作。以后的调试可采用软硬件结合方法进行。本DSP板在该步骤调试时发现下列错误并给予纠正:按钮的四个管脚焊错了位置将按钮取下转度重新焊接。复位电路中R的值是变化的当DSP内部电压为V时是k当电压为V时是k。更改R的阻值为k。对于TTL芯片管脚空置默认为高电位。但是LCA是CMOS器件管脚空置默认为低电位。RESET空置导致DSP复位信号总为低处于复位状态。将RESET管脚高电位。纠正上述四个错误后DSP及仿真器可以正常工作。()DSP外围存储器调试。接入电源和仿真器利用测试程序检查能否正常访问SBSRAM。利用CCS调试软件(A)向某一地址写入一个数然后读取校验(B)向一段地址写入若干数据然后读回校验多次进行测试后未出现错误。最后在DSP上重复运行一段测试程序观察结果正确。说明SBSRAM电路部分可以稳定工作。()PCI接口测试。该接口主要涉及到PCI和DSP的HPI接口因此需要采用多个测试软件。首先将DSP板查到PCI插槽加电后测试供电电压是否正常。其次通过仿真器控制DSP通过PLXMON和PCI诊断程序控制PCI芯片主机通过PCI读写访问DSP利用CCS和PLXMON或PCI诊断程序观察两个芯片状态。如果出现错误则需要利用示波器检查控制信号和数据信号波形。本DSP板在读写过程中出现数据错误经过纠正后PCI接口工作正常。JTAG接口JTAG是基于IEEE标准的一种边界扫描测试方式(BoundaryscanTest)。与仿真器结合通过JTAG口可以直接访问CB所有资源包括片内寄存器和外部存储器从而建立一个实时硬件仿真调试环境。C采用针JTAG口电路图如下所示。DSP与JTAG接插件之间距离不超过英寸否则需要增加缓冲驱动。VCCΩΩVCCKKEMUDSPPDEMUEMUEMUTRSTTRSTGNDTMSTMSGNDTDITDIGNDTDOTDOGNDTCKTCKGNDTCKRETDGND调试考虑点为了便于测试在设计电路时需要考虑下列问题:测试点(TestPoint)为了验证板上元件间通信是否正常需要使用示波器或逻辑分析仪测试管脚信号如果在信号线上没有设置测试点则只能直接将探针接触管脚。有些封装(如BGA)根本无法接触到管脚即使芯片封装可以使探针接触管脚由于管脚间距很小非常容易造成短接烧毁芯片。因此在设计电路图时关键信号线上设置探测点非常重要。一般将探测点放在测试管脚、脉冲信号线、电源和地线上。本加密卡DSP上需要连接测试点的信号线有:复位信号、测试管脚、输入脉冲信号线、输出脉冲信号线CLKOUT、内核电源线、IO电源线、地线等。PCI接口上应该设置的测试点有:输入脉冲信号线、输入电源线、地线等。插座(Socket)很多芯片都附带插座使用插座便于逻辑分析仪等设备获得时序波形。由于使用硬件烧写器将程序下载到可编程芯片时该芯片必须插到烧写器上而不能焊在板上所以使用插座便于从板上取下芯片多次烧写程序。加密卡三个可编程芯片:FLASH、GAL和EEPROM都使用插座。子系统的独立性为了简化对C系统这样高复杂程度的系统的调试过程设计时应当让各部分尽量可以独立调试。可以将整个系统划分若干模块最理想情况下各模块可以独立工作也可以单独测试。电路中应当添加一个按键开关为系统提供复位信号。另外为不同工作模式预留拨码开关及跳线也会给调试工作带来好处。还可以在一些难以预先决定的设置管脚附近放置上拉下拉电阻为以后的电路更改提供方便。DSP板设计规范一、设计流程PCB设计的整个流程如图所示:布线前布线后建库设计原理图布局布线贴片测试制板仿真仿真在硬件设计中较为繁杂的工作是建立逻辑元件库和封装库前者用于原理图设计后者用于布板设计必须为每一个需用元件建立相应的逻辑封装和PCB封装。加密卡封装库包含三十多个需用元件。目前的PCB设计工具之间兼容性很差元件库和封装库不能通用原理图和布线图也很难实现相互转换。加密卡采用Powerlogic和PowerPCB建库、设计原理图并进行布局布线由于芯片数量相对较少未做仿真。测试工具采用示波器和电表。布局是非常重要的问题即使可以实现自动布局(如PowerPCB提供该项功能)通常也要手工完成一般根据功能将板子划分几个区域例如电源区DSP处理器区PCI区等将芯片放在各个区内。如果在一层电压层中有多种电压则划分区域时尽量考虑到电压分区问题以便覆铜。关于自动布线问题。目前很多公司宣称自己的设计工具自动布线布通率达到等等看似效率很高其实大部分数字电路设计还是要用手工布线尤其是高速数字电路(在这里高速是指超过MHZ的电路)。以该加密卡为例所有电路都超过MHZ有约的电路达到MHZ另外有约的电路要求在误差范围内等长因此该加密卡完全用手工布线。二、设计原则()设置测试点。为了方便调试板子在设计时一定要加入测试点主要应放在关键信号线上如时钟信号线复位信号线等。()PCI设计要求:(一)PCI时钟信号线一般应在器件层正面所以要注意连接器A、B面在板上相应的位置(二)PCI时钟信号线CLK长度限定为inchinch并且只能与卡上的一个负载连接(三)包含PCI总线的位部分的所有信号其最大电路长度必须限定在英寸以内。()考虑到信号完整性应当在高频区多加滤波电容尤其是电源线和脉冲信号线上。()数据地址线等长误差为mm。()层印制电路板叠层结构(板厚mmmm)L电源或地L信号布线层L信号布线层L电源或地L信号布线层外层铜箔为u。内层铜箔为u。表印制电路板电器特性层面线宽L和Lmmmmmmmm特性阻抗范围(Ω)~~~~线延迟时间(ns)~~~~层面线宽L和Lmmmmmmmm特性阻抗范围(Ω)~~~~线延迟时间(ns)~~~~经过测试纠正了复位电路中按钮贴片时造成的错误并更改一个电阻值。目前DSP及存储器运行正常可以通过仿真器做位ECDSA签名和验证。PCI供电正常可以通过WinDriver提供的功能写入或读取位数据。但是数据传输部分尚未调通经分析认为可能是驱动程序和PCI配置设置有错误。PCI接口仿真环境大部分DSP软件设计都通过仿真器和JTAG接口进行调试和下载程序仿真器使用方便但是价格昂贵。与JTAG接口相似通过PCI接口主机可以访问DSP的所有地址空间PCI接口工具软件windriver、及一块有PCI接口的处理板设计一种无需本节将利用CCS、仿真器的系统调试和软件下载环境。CCS软件模拟器COFF文件HEX转换例程hexxexe数组转换例程hexarrayexe代码数组数据数组主机应用程序windriverhostappHPIJTAGFLASHROMTMSCXPCI调试环境这种调试环境比原来提供的简化很多CCS自身带有hexxexe例程其作用是将out文件转换成十六进制文件。数组转换例程则按照TI给出的描述自己编写其作用是将十六进制文件分别转换成两个十六进制数组通过PCI接口写入DSP地址空间(可以是DSP的内存地址也可以是外部存储器地址如FLASHROM)。HEX转换例程调用过程如下:hexxhexxcmdhexxcmd文件根据具体情况编写以TI提供的例程HELLO为例hellooutabyteimagememwidthromwidthorderMROMS{*Sizeoftheinternalpgmmemory*PGM:org=x,length=x*Sizeoftheinternaldatamemory*DATA:org=x,length=x}该例程将可执行COFF文件转换成两个十六进制文件:helloa和helloa分别保存代码和数据。SPRA给出数组转换例程代码调用方式如下:hexarray–ihelloa–ocodehhexarray–ihelloa–oinitiah主机应用程序需调用PCI接口的驱动程序本卡使用windriver用户模式驱动由windriver的库提供相关函数。主机应用程序主要完成下列工作:设置HPIC寄存器初始化EMIF寄存器写code和initia两个十六进制数据将DSP从复位状态唤醒。代码如下:voidHostapp(PHANDLEhPlx,PADDRadsp){inti,numbercode,numberinitiaunsignedlongtmp,tmp,tmp,tmpunsignedlongtemp*setHPIC*PWriteSpaceDWord(hPlx,adsp,,x)*initializeEMIF*PWriteSpaceDWord(hPlx,adsp,,x)PWriteSpaceDWord(hPlx,adsp,,xd)PWriteSpaceDWord(hPlx,adsp,,x)PWriteSpaceDWord(hPlx,adsp,,x)*writethehexarray**Determinethenumberofhalfwordcontainedinthecodesection*numbercode=sizeof(code)sizeof(code)*WritethecodesectionsintotheCxmemorymappedat*PWriteSpaceDWord(hPlx,adsp,,x)for(i=i<numbercodei=){tmp=(unsignedlong)*(codei)xfftmp=(unsignedlong)*(codei)xfftmp=(unsignedlong)*(codei)xfftmp=(unsignedlong)*(codei)xfftmp=(tmp<<)|(tmp<<)|(tmp<<)|tmpPWriteSpaceDWord(hPlx,adsp,,tmp)}*Determinethenumberofhalfwordcontainedinthedatasection*numberinitia=sizeof(initia)sizeof(initia)*WritethedatasectionsintotheCxmemorymapped*PWriteSpaceDWord(hPlx,adsp,,x)for(i=i<numberinitiai=){tmp=(unsignedlong)*(codei)xfftmp=(unsignedlong)*(codei)xfftmp=(unsignedlong)*(codei)xfftmp=(unsignedlong)*(codei)xfftmp=(tmp<<)|(tmp<<)|(tmp<<)|tmpPWriteSpaceDWord(hPlx,adsp,,tmp)}#ifDEBUGprintf("TMSCbootcodeloadednn")#endif*wakeupDSP*PWriteSpaceDWord(hPlx,adsp,,x)#ifDEBUGprintf("TMSCisrunningnn")#endif}对DSP内部寄存器和地址空间状态的观察和测试则可以通过windriver所提供的调试工具完成。这种调试环境完全可以实现仿真器所提供的一切调试功能操作方法也很简单最大的优点是大大降低了DSP软件开发成本。通过使用这种调试环境将程序代码下载到FLASH也非常方便相当于调试一段有特殊功能的DSP程序。需要注意一点:DSP的自启动模式必须设置成HPI启动否则无法使用这种方法。杨占昕新一代数字信号处理器TMSC国外电子元器件第一期ThomasJWollinger,MinWang,JorgeGuajardo,ChristofPaarHowwellarehighendDSPssuitedfortheAESalgorithmsTheThirdAdvanceEncryptionStandard(AES)CandidateConference,April,KItoh,MTakenaka,NToriiFastimplementationofpublickeycryptographyonaDSPTMSCInternationalWorkshop,CHES'(st::Worchester,Mass)任丽香马淑芬李方慧TMSC系列DSPs的原理与应用电子工业出版社北京,p任丽香马淑芬李方慧TMSC系列DSPs的原理与应用电子工业出版社北京,pJTAGpTexasInstrumentsApplicationReportSPRAApril,TexasInstrumentsApplicationReportSPRAMayPLXTechnologyIncPCIDataBookversionSep,TexasInstrumentsApplicationReportSPRAaJune,TIPTDATASHEETTomShanley,DonAndersonPCI系统结构(第四版)电子工业出版社北京,CCSPR

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/30

DSP FPGA系统设计第6讲EVM板设计实例

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利