DSP_blackfin_trainin.ppt_第1页
DSP_blackfin_trainin.ppt_第2页
DSP_blackfin_trainin.ppt_第3页
DSP_blackfin_trainin.ppt_第4页
DSP_blackfin_trainin.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

技术中心新员工培训教材 DSP工程 DSP基本特点 ADIblackfinDSP介绍 可视电话DSP系统介绍 技术中心新员工培训教材 DSP基本特点 ADIblackfinDSP介绍 可视电话DSP系统介绍 技术中心新员工培训教材 DSP特点 1 DSP一般属于ModifiedHarvard架构 即它具有两条内部总线 数据总线 程序总线 程序与数据存储空间分开 各有独立的地址总线和数据总线 取指和读数可以同时进行 传统的冯 诺曼 VonNeuman 结构取指令和取数据都访问同一存储空间 需要分时进行 数据吞吐率低 技术中心新员工培训教材 DSP特点 2 采用流水作业 每条指令的执行划分为取指令 译码 取数 执行等若干步骤 由片内多个功能单元分别完成 相当于多条指令并行执行 从而大大提高了运算速度 BLACKFIN采用了8级流水线结构 技术中心新员工培训教材 DSP特点 3 独立的硬件乘法器 乘法指令在单周期内完成 优化卷积 数字滤波 FFT 相关 矩阵运算等算法中的大量重复乘法 DSP除法仍然采用移位减的方法 一般需要16条指令完成 因此除法要尽量避免 如比较A C和B D可以转换成比较A D和B C Blackfin包含两个乘法运算单元 MAC 可以在单周期内完成两次16位 16位运算 技术中心新员工培训教材 DSP特点 4 零开销循环 处理器在执行循环时 不用花时间去检查循环计数器的值 直接跳回到循环的顶部 并将循环计数器减1 在存在大规模循环的情况下 显著降低算法复杂度 P5 0X20 LSETUP START END LC0 P5START R5 P0 END P0 Blackfin支持两级零开销循环 技术中心新员工培训教材 DSP特点 5 独立的DMA总线和控制器 有一组或多组独立的DMA总线 与CPU的程序 数据总线并行工作 提高数据吞吐能力 Blackfin561处理器片内集成了多条DMA总线 总线宽度高达32位 总线频率高达133Mhz 技术中心新员工培训教材 DSP特点 6 大多数DSP使用定点计算 虽然浮点运算精度高 但是对DSP来说 廉价和运算速度更加重要 为了不使用浮点机器而又保证数字的准确 DSP处理器在指令集和硬件方面都支持饱和计算 舍入和移位 定点计算增加了DSP算法设计的难度 降低了代码的可读性 技术中心新员工培训教材 定点小数在定点DSP中 小数用Qn来表示 0 n 15 n值代表小数点的位置 例如 B0001 0000 0000 0000 如果是Q15小数 则值为1 8 如果是Q14小数 则值为1 4 如果是Q13小数 则值为1 2 程序员必须时刻了解当前小数点的位置 技术中心新员工培训教材 定点小数乘法和整数乘法 在DSP中 存在两种乘法 一种是16位整数 16位整数 一种是16位小数 16位整数 如果是16位小数 16位整数 乘法结果必须左移一位 如果是Q15小数 blackfin提供小数乘法指令 乘法结果已经硬件左移一位 简单小数乘法尽量用移位来实现 如a a 1 25等效于a a 2 技术中心新员工培训教材 DSP特点 7 DSP的运算能力远远高于普通CPU DSP的运算能力通常用MIPS或MMAC来标识 MIPS 每秒百万条指令 MMAC 每秒百万次乘加运算 ADIBF533最高主频756Mhz 则最高运算能力756MIPS或1512MMACs BF533内部集成两个乘加运算单元 技术中心新员工培训教材 DSP基本特点 ADIblackfinDSP介绍 可视电话DSP系统介绍 技术中心新员工培训教材 Blackfin是ADI公司推出的一类新型的嵌入式处理器 专为满足目前音频 视频 通信应用等方面的计算需求和降低功耗而设计 ADSP BF533和ADSP BF561是Blackfin系列中具有代表性的DSP处理器 具有高处理能力 低功耗 丰富的片内资源 丰富的外设接口等特点 技术中心新员工培训教材 BF561的强大功能 内部集成两个600MHz主频的Blackfin处理器核 运算能力高达2400MMACs 328K片内存储器 丰富的片内寄存器资源 16K程序cache和32K数据cache专用视频处理指令SAA和SIMD singleinstructionmultipledata 两个16通道DMA控制器和1个片内存储器DMA丰富的外设接口 2 PPI 2 SPORT SPI UART 64 GPIO JTAG 技术中心新员工培训教材 存储器 片内L1存储器每个核包含 32K程序SRAM 其中16K可配置为cache 64K数据SRAM 其中32K可配置为cache 4KscratchpadSRAM共2 100 200K 速度最快 工作在主频片内L2存储器共享128K 工作在主频 2片外SDRAM最高512M字节 工作在外频 技术中心新员工培训教材 CACHE 16K程序cache和32K数据cache可缓存的内存空间可以灵活配置异步内存空间 与外部I O设备交换数据的内存空间 最好不要设置为可缓存异步内存空间使用存储器DMA在片外存储器和片内存储器之间传送数据 和CPU同步工作 技术中心新员工培训教材 DMA DMA 直接存储器存取 不需要CPU干预 技术中心新员工培训教材 中断 技术中心新员工培训教材 专用视频指令 以BYTEOP16M 四个8位字节相减 为例 dest reg 1 dest reg 0 BYTEOP16M src reg 0 src reg 1 如 r1 r2 byteop16m r3 2 r1 0 技术中心新员工培训教材 DSP编程 1 经常调用的程序和经常使用的数据要放在片内SRAM中 保证最快的存取速度 这通过section分配内存空间语句来实现 运算量大的关键程序模块必须用汇编语言编写 要尽量使用blackfin的SIMD指令 程序主体架构和运算量一般的程序模块建议用C语言编写 便于维护 在有操作系统的情况下 不建议使用MDMA 因为os一般放在片外 导致cache要经常访问片外 造成片外总线拥塞 中断处理程序执行时间要尽量短 以免影响高实时性任务的执行 一般只设标志位 技术中心新员工培训教材 DSP编程 2 堆 heap 和栈 stack heap 动态内存分配空间 用户通过调用calloc 函数来申请 相比全局变量定义 heap动态内存分配具有内存使用效率高 代码结构性好的特点 heap内存空间要使能cache stack 所有函数的局部变量使用的内存空间 由用户在C编译前指定 局部变量频繁被CPU访问 必须放在存取速度最快的内存空间 在blackfinDSP中 一般指定4KscratchpadSRAM内存做为stack区 技术中心新员工培训教材 DSP编程 3 不论simulator或emulator模式 VDSP 开发环境都支持文件输入输出操作 调试非常方便 LDF文件为工程中的所有代码 全局变量指定内存起始地址 LDF文件对程序运行效率有很大影响 技术中心新员工培训教材 DSP基本特点 ADIblackfinDSP介绍 可视电话DSP系统介绍 技术中心新员工培训教材 目前采用的是BF532 BF533的系统架构BF532只完成H 263的编码 支持CIF 352 288 和QCIF 176 144 两种图像格式BF533内嵌uclinux实时操作系统 完成H 263的解码 音频的编解码 协议栈拆 组包 用户界面等功能 马上升级到BF561架构 技术中心新员工培训教材 BF532框图 技术中心新员工培训教材 BF532的SPI口通信 编码后的码流通过SPI口 DMA 传给BF533的组包程序 每一帧编码完毕后 将本地小画面 128 216 抽值传给BF533的一处固定缓存 由BF533的显示模块送显 编码码流和本地小画面通过增加一个32bit的包头来区分 532和533之间还需要PF引脚的中断通讯来同步 561方案中不再使用SPI口通信 因为两个核共享存储器 技术中心新员工培训教材 BF532的SPORT口通信 BF533通过SPORT口传送编码控制命令 如强制I帧 宏块刷新 编码结束等 BF532在SPORTDMA的中断处理程序中置标志位 在每一帧编码完成后检查该标志位 判断是否有新命令 有则执行新命令 BF532在中断处理函数里就启动SPORTDMA接收 保证下一组命令的正常接收 技术中心新员工培训教材 BF532的PPI视频采集 ITU R656输入模式Activefieldonly模式 只接收第一场的有效行 第二场以及第一场的blank行被硬件自动丢弃 PPIDMA工作在stop模式 即采集完一场有效数据后DMA暂停 等待程序控制下一次DMA启动 技术中心新员工培训教材 BF532程序流程 系统和外围设备初始化 While 1 等待上一帧图像采集完成 采集下一帧图像 编码 传送编码码流及本地小画面到BF533 判断sport中断标志位 如有新命令则执行 技术中心新员工培训教材 BF533编解码及显示框图 框图中没有包含操作系统及应用程序部分 技术中心新员工培训教材 BF533视频解码 BF533的视频解码模块是533系统中优先级最高的任务 当协议栈收到一帧后 通知操作系统 操作系统唤醒视频解码任务 当视频解码任务完成后 进入阻塞状态 等待操作系统的下一次唤醒 音频编解码是次优先级的任务 必须在视频解码任务完成后才能获得CPU的执行权 实时操作系统和非实时操作系统的一个主要区别就是任务是否可以抢占 preempt 技术中心新员工培训教材 视频解码任务调度 while 1 temp BufRead BufRead if BufRead BUFNUM BufRead 0 if BufRead BufWrite BufRead temp call os server 0 0 continue ppbuf bufpoll BufRead buf break 技术中心新员工培训教材 模块调用方式 视频解码和音频编解码以及显示模块在VDSP 环境下编译 而操作系统和应用程序在linux交叉编译环境下编译 原因 1 VDSP 的编译效率高于linux交叉编译环境 2 音视频和显示模块在VDSP 上单独编译有利于该模块的单独调试 因为分开编译 音视频和显示模块的调用接口都以绝对地址的形式提供给uclinux 技术中心新员工培训教材 BF533显示模块 为保证显示的最高优先级 显示通过中断的方式实现 在显示中断服务程序里完成待显示行象素的填充 显示DMA的源数据缓冲区放在了片内SRAM 保证显示DMA通道的无阻塞 因为片外SDRAM可能存在总线竞争 显示模块占用系统资源约为50MIPS 技术中心新员工培训教材 Trimed

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论