科学网

 找回密码
  注册
科学网 标签 dsp

tag 标签: dsp

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

[转载]Multicore DSP From Algorithms to Real-time Implementation on
lcj2212916 2018-4-22 21:11
推荐一本不错的学习TI多核DSP的书籍,很全面,共645页。 Multicore DSP From Algorithms to Real-time Implementation on the TMS320C66x SoC 下载地址: http://tadown.com/fs/0lcbj2021c29f165751/
1527 次阅读|0 个评论
Matlab中设置音频录音(输入)和播放(输出)设备
mengyaozhu 2015-6-8 13:49
利用DSP system toolbox可以很方便的获取音频输入或者播放音频输出。不过,设置这些输入输出设备的名称并不是很直观。 下面以设置一个特定输入设备为例进行说明(输出设备完全类似) 1,通过H = dsp.AudioRecorder 获得音频录音设备的对象。 2,要确定系统中有哪些音频录音设备,在Matlab命令行窗口键入H.DeviceName = ',此处使用Tab键可以查看系统中有哪些录音设备可供选择。比如,H.DeviceName = '麦克风 (Realtek High Definition Audio)' 3,设置具体的录音设备,H = dsp.AudioRecorder('DeviceName','麦克风 (Realtek High Definition Audio)', ...) 此处省略了其他参数,如采样率,通道数等 一般说来,以上三步也可以用来设置音频输出设备dsp.AudioPlayer。
8652 次阅读|0 个评论
[转载]DSP芯片发展历程
Xtravel 2014-5-24 11:23
在 DSP 芯片出现之前,数字信号处理只能依靠通用微处理器 (MPU) 来完成,但 MPU 较低的处理速度却无法满足系统高速实时的要求 。 直到 20 世纪 70 年代 , 才有人提出了 DSP 理论和算法基础。那时的 DSP 仅仅停留在教科书上,即便是研制出来的 DSP 系统也是用 分立元件组成的,其应用领域仅限于军事、航空航天部门。 世界上第一片单片 DSP 芯片是 1978 年 AMI 公司宣布的 52811 。在这之后,最成功的 芯片当数 TI 公司 1982 年推出的 DSP 芯片 。 这种 DSP 器件采用微米工艺 、 NNIO S 技术制 虽功耗和尺寸稍大 , 但运算速度却比 LvIPU 快几十倍 , 尤其在语音合成和编解码器中得 了广泛应用。 DSP 芯片的问世,使 DSP 应用系统由大型系统向小型化迈进了一大步。 至 20 世纪 80 年代中期,随着 CMO S 技术的进步与发展,第二代基于 CMO S 工艺的 应运而生,其存储容量和运算速度都得到成倍提高,成为语音处理及图像处理技术的 础。 20 世纪 80 年代后期,第三代 DSP 芯片问世,运算速度进一步提高,应用范围逐步 大到通信和计算机领域。 20 世纪 90 年代 DSP 发展最快,相继出现了第四代和第五代 DSP 件。第五代产品与第四代相比,系统集成度更高,将 DSP 芯核及外围元件综合集成在单 芯片上。这种集成度极高的 DSP 芯片不仅在通信、计算机领域大显身手,而且逐渐渗透 人们的日常消费领域。经过 20 多年的发展, DSP 产品的应用扩大到人们的学习、工作和 活的各个方面,并逐渐成为电子产品更新换代的决定因素。目前,对 DSP 爆炸性需求的时代已经来临,前景十分广阔。 现在 , 世界上的 DSP 芯片有 300 多种 , 其中定点 DSP 有 200 多种 。 迄今为止 , 生产 DS P 的公司有 80 多家,主要厂家有 TI 公司、 AD( 美国模拟器件 Analog Devices) 公司、 Lucent 公司 、 Motorola 公司和 LSI Logic 公司 。 TI 公司作为 DSP 生产商的代表 , 生产的品种很多 , 定点和浮 点 DS P 大约都占市场份额 的 60%; A D 公司的定点和浮 点 DS P 大约分别 占 16% 和 13%; Motorola 公司的定点和浮点 DSP 大约分别占 7% 和 14%; 而 Lucent 公司则主要生产定点 DSP , 约占 5% 。 TI 公司自 1982 年成功推出第一代 DSP 芯片 TMS32010 及其系列产品后,又相继推出 了第二代 DSP 芯片 TMS32020 , TMS320C251C261C28 , 第三代 DSP 芯片 TMS320C30/C31/C32 , 第四代 DSP 芯片 TMS320C401C44 ,第五代 DSP 芯片 TMS3 20 CS OILS 11C 5 21C531C54 和集 多个 DSP 于一体的高性能 DSP 芯片 TMS320C801C82 等 , 以及目前速度最快的第六代 DSP 芯 片 TMS320C62xIC67x 等。DSP 应用产品获得成功的一个标志就是进入产业化。在以往的 20 年中,这一进程在不断重复进行 , 而且周期在不断缩小 。 在数字信息时代 , 更多的新技术和新产品需要快速地推 上市场,因此, DSP 的产业化进程还是需要加速进行。随着竞争的加剧, DSP 生产商随时调 整发展规划 , 以全面的市场规划和完善的解决方案 , 加上新的开发历年 , 不断深化产业化进 程。 随着我国信息产业的发展 , 近年来我国的数字信号处理学科发展较快 。 DSP 处理器已经 在我国的数字通信 、 信号处理 、 雷达 、 电子对抗 、 图像处理等方面得到了广泛的应用 , 为科 学技术和国民经济建设创造了很大价值 。 全国有很多高校 、 科研机构的信号处理实验室都在 大力研究性能更高的数字信号处理设备 , 取得了很多研究成果 。 我国的科研人员通过对先进 的 DSP 芯片的研究 , 已经研制出一些高性能处理设备的解决方案 , 并且在板级 PCB 设计方面 , 也取得了宝贵的设计经验。
3032 次阅读|0 个评论
DSP中EALLOW EDIS
热度 1 xuebx 2012-12-28 12:35
今天开始写一些有关设计中的常识,作为积累吧。 DSP F28xxx系列芯片中有一些配置寄存器是受保护的,无法直接操作。也就是说在对这些寄存器进行修改之前,需要先去掉保护功能;而保护状态是由状态寄存器中EALLOW标志来指示的。汇编指令“EALLOW”就是将该标志位置位,允许对受保护的寄存器操作 。 EALLOW一般和EDIS配套使用,在对受保护的寄存器操作之后,用EDIS恢复寄存器的被保护状态。 EALLOW 保护寄存器 280x 器件上的几个控制寄存器受EALLOW 保护机制保护以防止虚假的CPU 写入。 在复位时EALLOW 位被清除以启用EALLOW 保护。在受保护时,CPU 对受保护寄存器进行的所有写入被忽略且只允许CPU 读取、JTAG 读取和JTAG 写入。如果设置了此位,则通过执行EALLOW 指令可以允许CPU 自由写入受保护的寄存器。在修改寄存器之后,可以通过执行EDI 指令清除EALLOW 位使它们再次受保护。 以下列寄存器受EALLOW 保护: · 器件仿真寄存器 · 闪存寄存器 · CSM 寄存器 · PIE 矢量表 · 系统控制寄存器 · GPIO MUX 寄存器 · 某些eCAN 寄存器 EALLOW---Edit allow EDIS ---- Edit disable 举例如下: EALLOW; // Enable EALLOW GpioMuxRegs.GPAMUX.all |= 0x003F;// Setting PWM1-6 as primary output pins EDIS; // Disable EALLOW EINT Enable interrupt#define EINT asm(" clrc intm") DINT Disable interrupt#define DINT asm(" setc intm")
个人分类: 学习note|5218 次阅读|1 个评论
过期要做的事
Kupeprntlkn 2010-12-12 10:09
近期任务: 要开始写DSP串口程序与上位机通讯、硬件驱动、开始画DSP板子
个人分类: 随想记事|1151 次阅读|0 个评论
DSP563xx程序设计中的奇怪现象
chrujun 2010-7-16 21:12
DSP563XX系列DSP是24位定点DSP,功耗低,特别适合对24位ADC输出的数据进行实时处理。 这几天在程序调试中出现了一个奇怪的现象:基于同样功能的代码对不同通道数据进行高通滤波时,发现部分通道数据被滤波了,其它通道的数据却像没有受到高通滤波器影响一样。仔细检查程序代码、变量定义,也没有发现什么问题。 最后怀疑DSP563XX内部存储器部分区域可能坏了,于是将X和Y储存区第一个变量从地址0移动到地址256。重新运行后,全部通道的数据都被滤波了。 这说明程序代码没有问题,可能是滤波器系数并不是上传的值。或是滤波器系数存储的位置出了问题,下一步需要分析DSP程序加载代码是不是有问题。 特别是在X存储区和Y存储区的各常量,是不是在上传过程中出了问题。
个人分类: 地球物理及仪器|4271 次阅读|3 个评论
11个窗口揭示仪器开发多平台编程奥秘
chrujun 2010-7-14 13:26
为了开发仪器,不得不同时打开11个窗口。先介绍这些窗口的作用,再写几句总结。 第一个窗口:显示DSP程序文件目录供选择。 第二个窗口:UltraEdit编辑器,用于编辑DSP和LINUX下的C程序。 第三个窗口:VISUAL C++开发环境,用于开发和调试上位机程序。 第四个窗口:与仪器的联机的TELNET终端,用于监控仪器工作状态。 第五个窗口:同样是与与仪器的联机的TELNET终端,用于启动和运行仪器中的各种程序。 第六个窗口:命令行窗口。用于编译DSP程序,用FTP将DSP程序传到仪器。 第七个窗口:命令行窗口。用于上传LINUX程序。 第八个窗口:虚拟机,用于交叉编译仪器中的LINUX程序。 第九个窗口:基于串口的超级终端,用于监控仪器的基本工作状态。 第十个窗口:显示LINUX源程序目录。 第十一个窗口:正在运行的上位机程序,用于控制仪器的测量过程,分析测量数据。 为了开发基于嵌入式控制系统和DSP的仪器,需要同时开发运行在DSP、ARM和PC机上的程序。PC机处于主控程序状态,全部程序都在PC机上开发,再通过网络或串口传到下位机。为了实现不同程序的同步工作和调试,需要运行全部程序开发工具,再加上网络传输工具,这个要求必须要同时打开11个窗口,才能满足仪器开发的基本要求。
个人分类: 地球物理及仪器|4925 次阅读|12 个评论
[转载]一个DSP高手的成长之路
hlyxue 2010-5-28 09:12
一. 我是已经从事DSP开发有几年了,看到许多朋友对DSP的开发非常感兴取,我结合这几年对DSP的开发写一写自己的感受,一家之言,欢迎指教。我上研究生的第一天起根据老板的安排就开始接触DSP,那时DSP开发在国内高校刚刚开始,一台DSP开发器接近一万还是ISA总线的,我从206开始240、2407A都作过产品,对5402、2812、5471在产品方案规划制定和论证时也研究过。由于方向所限对6X、8X系列没有接触。 Z0 M*X| 获取知识的方法、处理项目的能力是相通的,具体的说就是不要把目光盯在做硬件还是做软件上,用ASM还是C,要勤动手打好基础,提高自己对系统总体设计的能力,从系统的眼光看问题。为什么都是做DSP的有的毕业拿3000,有的5000、8000,除了运气和关系外,重要的是你对事物的认识深度和高度。我一直都记住这句话:有前途的人做什么都有前途,没前途的人做什么都没前途。 E 8iQ 二. 与其说是钻在里面,毕业设计是搞240,在老师的压力做出了一点东西,这期间主要是对DSP的各种基础知识的熟悉与理解,对DSP的真正深入是在公司工作以后。当初进公司,因为正有一个项目需要用5410要我接手。说实话,在学校期间我5000的书都没有看过一眼,可没办法,只能靠自己了。不过好的是我2000DSP的基础很好。接过项目后,我第一个星期就全部看的是5000的指令,DSP的结构倒没怎么看,因为项目硬件已成型,主要是算法。这样,花了一个星期熟悉指令与项目相关的程序,第二个星期也就开始编程了。半个月以后我对5410也就用很熟了的,当然主要还是讲在算法方面。这个项目太概做了四个月吧,系统程序是我编写的,主要有如64位加减乘除乘方开方、及时域方面的一些算法。现在又做一个控制系统,用2407开发的,硬件主要有直交变频,并把2407的所有外设资源全部用到了。现在我可以这样自夸一句吧:TI的2000系列与5000系列的我都熟悉,要我去以此做个系统,没问题。上面是把我搞DSP的经历简单说了一下的吧,在这里我想对正在学及想学DSP的难兄们说一句的是,DSP并不是很难。当然,这个前提是你的基础要好,我单片机,接口都还行,当初就是从单片机改成DSP的。有了单片机的基础再去学2000第列的DSP(下面的DSP单指2000系列,另有说明为止),你就可以把DSP看成一个super microcontroller了。相比之下,DSP除了比单片机多了更丰的外设接口(SPI,SCI、CAN、PWM、CAP、QEP等等),他就是一块单片机,只不过在单片机来说你要另加芯片的工作,DSP全部把它做在一块芯片去了,我现在看DSP也真就这么简单。前面有人提到DSP主要是做算法,这句话有一定的片面性: TI有很多系列的DSP,现在主流的DSP主要为2000系列、3000系列、4000系列、5000系列、6000系列。除了2000与5000系列是定点DSP外,其余的均为浮点系列。 TI的2000系列主要长处是在用于控制系统,因为它的资源非常丰富,前面提到,在控制系统中用到的一些外设2000系列均在片内集成了。 TI的5000系列主要长处是用于数字信号的算法处理,这里所讲算法处理主要是指在数字信号处理时的一些算法,如FIR、IIR、FFT等等。5000系列的DSP的速度比2000快,2407最快只能到40M,2800系列除外,5410的DSP可以达到160M,如现在我们主要用来做数字信号方面的处理以及简单的静态图像处理等这样一些在资源需要处于中等的一些算法。 TI的6000系列主要是用在实时图像处理,这个就更则重于算法处理。一般的硬件很少自制,我们是用TI的DSK板再加上自主板相结合。 00)BP]Ecr 三. 使用C/C++语言编写基于DSP程序的注意事项 1、 不影响执行速度的情况下,可以使用c或c/c++语言提供的函数库,也可以自己设计函数,这样更易于使用裁缝师优化处理,例如:进行绝对值运算,可以调用fabs()或abs()函数,也可以使用if...else...判断语句来替代。 2、 要非常谨慎地使用局部变量,根据自己项目开发的需要,应尽可能多地使用全局变量和静态变量。 3、 一定要非常重视中断向量表的问题,很多朋友对中断向量表的调用方式不清楚。其实中断向量表中的中断名是任意取定的,dsp是不认名字的,它只认地址!!中断向量表要重新定位。这一点很重要。 4、 要明确dsp软件开发的第一步是对可用存储空间的分析,存储空间分配好坏关系到一个dsp程序员的水平。对于dsp,我们有两种名称的存储空间,一种是物理空间,另一种是映射空间。物理空间是dsp上可以存放数据和程序的实际空间(包括外部存储器),我们的数据和程序最终放到物理空间上,但我们并不能直接访问它们。我们要访问物理空间,必须借助于映射空间才行!!但是映射空间本身是个虚空间,是个不存在的空间。所以,往往是映射空间远远大于实际的物理空间,有些映射空间,如io映射空间,它本身还代表了一种接口。只有那些物理空间映射到的映射空间才是我们真正可访问(读或写)的存储空间。 5、 尽可能地减少除法运算,而尽可能多地使用乘法和加法运算代替。 6、 如果ti公司或第三方软件合作商提供了dsplib或其他的合法子程序库供调用,应尽可能地调用使用。这些子程序均使用用汇编写成,更为重要之处是通过了tms320算法标准测试。而且,常用的数字信号处理算法均有包括!! 7、 尽可能地采用内联函数!!而不用一般的函数!!可以提高代码的集成度。 8、 编程风格力求简炼!!尽可能用c语言而不用c++语言。我个人感到虽然c++终代码长了一些,好象对执行速度没有影响。 9、 因为在c5000中double型和float型均占有2个字,所以都可以使用,而且,可以直接将int型赋给float型或double型,但,尽可能地多使用int数据类型代替!这一点需要注意!! 10、 程序最后至少要加上一个空行,编译器当这个空行为结尾提示符。 11、 大胆使用位运算符,非常好用!! 12、 2003年6月份从ti的网站上下到了关于tms320c67x系列dsp的快速算法库,于是,tms320c5000和c6000全系列的快速算法库都问世了,这些算法库均可供c/c++语言直接调用,优化程度100%,实际编程时尽可能地使用(下载时可以同时下载到说明文档和ascii源程序,可以根据自己需要作出修改,修改前最好做个备份)。
个人分类: 科研笔记|1843 次阅读|0 个评论
[转载]ARM7与ARM9的区别以及ARM,FPGA,DSP的特点和区别
hlyxue 2010-5-28 08:55
ARM7和ARM9的区别: 1. 时钟频率的提高 虽然ARM7和ARM9内核架构相同,但ARM7处理器采用3级流水线的冯诺伊曼结构;,而ARM9采用5级流水线的哈佛结构。增加的流水线设计提高了时钟频率和并行处理能力。5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。在常用的芯片生产工艺下,ARM7一般运行在100MHz左右,而ARM9则至少在200MHz以上。 2 指令周期的改进 指令周期的改进对于处理器性能的提高有很大的帮助。性能提高的幅度依赖于代码执行时指令的重叠,这实际上是程序本身的问题。对于采用最高级的语言,一般来说,性能的提高在30%左右。 3.MMU(内存管理单元) ARM7一般没有MMU(内存管理单元),(ARM720T有MMU)。 ARM9一般是有MMU的,ARM9940T只有MPU ,不是一个完整的MMU。 这一条很重要,MMU单元是大型操作系统必需的硬件支持,如LINUX;WINCE等。这就是说,ARM7一般只能运行小型的实时系统如UCOS-II,eCOS等,而ARM9无此限制,一般的操作系统都可以移植。其实即使ARM720T能支持LINUX;WINCE等系统,也鲜有人用,因为以ARM7的运行速度跑这种大型操作系统,实在有点吃力。再者两者的应用领域明显不同,也无此必要。 4. ARM7比ARM9提供了更好的性能-功耗比。它包含了THUMB指令集快速乘法指令和ICE调试技术的内核。 5. 在从ARM7到ARM9的平台转变过程中,有一件事情是非常值得庆幸的,即ARM9E能够完全地向后兼容ARM7上的软件;并且开发人员面对的编程模型和架构基础也保持一致。 初学者是选ARM7还是ARM9? 1)明确目的 学习为应用。你学ARM准备用在什么地方,如果是一般性控制系统或仅仅用来替换8获16位机,ARM7显然是首选;但如果用在网络通信或大型的音视频处理等,则ARM9较合适。 2)自身基础 学习ARM的一般有三类人: 一是计算机专业的:这类人对操作系统等软件知识了解较多,而对硬件知识知之甚少,显然这类人学ARM的话还是做软件好,可以基于LINUX;WINCE等操作系统的ARM9更能符合这类人的要求,当然也有很多计算机专业的人从事ARM7系统的应用软件编写的。但是搞底层的就很少了。 二是电子类专业的:这类人的硬件基础了相对较好,相反操作系统,数据库等软件知识则差强人意。因此人多电子专业的人员都熟悉单片机,用单片编写点小程序还不在话下,但要用ARM做较大型的软件则有点力不从心,尤其是LINUX;WINCE这种操作系统不是三两个月能轻松搞定的。建议这类人员如无特别需要还是从ARM7和小型操作系统学起。够用就好,不要盲目追求高端。有一点要注意并不是从事ARM9的就比ARM7工资高,反而ARM7的就业机会比ARM9多,这很好理解,好比金字塔,越往顶肯越小。 三是软硬件基础都不太好的:这类人员有确实需要的,也有赶时髦的,如无大的学习决心还是参加培训的好。当然也可曲线救国,搞懂单片机后,ARM7就不难了。 最后说一点关于开发板的,初学者买个开发板确实很有必要,但也要选择合适的,初学者合适的就是,资料齐全,有配套教程和学习指导,再加上较及时的技术支持。目前能做到的很少,开发板这东西不是说哪家公司有名气,售后就好,很多大公司一般不理个人买家的问题的,我感觉多半是运气,运气好了也许能碰到一家售后好的。 ARM,FPGA,DSP的特点和区别是什么? 1.关于DSP DSP(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数 字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外 部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。 DSP采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的 空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度 。另外还允许在程 序空间和数据空间之间进行传输,因为增加了器件的灵活性。 其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其 他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器, 是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。由于它运算能力很强,速度很快,体积很小,而且采用 软件编程具有高度的灵活性,因此为从事各种复杂的应用提供了一条有效途径。根据数字信号处理的要求,DSP芯片一般具有如下主要特点: (1)在一个指令周期内可完成一次乘法和一次加法; (2)程序和数据空间分开,可以同时访问指令和数据; (3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问; (4)具有低开销或无开销循环及跳转的硬件支持; (5)快速的中断处理和硬件I/O支持; (6)具有在单周期内操作的多个硬件地址产生器; (7)可以并行执行多个操作; (8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。 当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。 2.关于ARM ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。 ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四 个功能模块可供生产厂商根据不同用户的要求来配置生产。 由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前ARM在手持设备 市场占有90以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。 3.关于FPGA FPGA是英文Field Programmable Gate Array(现场可编程门阵列)的缩写,它是在PAL、GAL、PLD等可编程器件的基 础上进一步发展的产物,是专用集成电路(ASIC)中集成度最高的一种。 FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个 新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB (Input Output Block)和内部连线(Interconnect)三个部分。 用户可对FPGA内部的逻辑模块和I/O模块重新配置,以实现用户的逻辑。它还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改。作为专用集成电路(ASIC)领域中的一种 半定制电路,FPGA既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 可以毫不夸张的讲,FPGA能完成任何数字器件的功能,上至高 性能CPU,下至简单的74电路,都可以用FPGA来实现。FPGA如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由 的设计一个数字系统。 通过软件仿真,我们可以事先验证设计的正确性。在PCB完成以后,还可以利用FPGA的在线修改能力,随时修改设计而不必改动硬件电路。使用FPGA来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。 FPGA是由存放在片内RAM中的程序来设置其工作状态的, 因此工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM 中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA 编程器,只须用通用的EPROM、PROM编程器即可。 当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可 以产生不同的电路功能。因此,FPGA的使用非常灵活。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。 目前FPGA的品种很 多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。 4. DSP、ARM、FPGA这三者他们的区别是什么呢? DSP主要是用来计算的,比如进行加密解 密、调制解调等,优势是强大的数据处理能力和较高的运行速度。ARM具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面,而FPGA可以用VHDL或verilogHDL来编程,灵活性强,由于能够进行编程、除错、 再编程和重复操作,因此可以充分地进行设计开发和验证。 当电路有少量改动时,更能显示出FPGA的优势,其现场编程能力可以延长产品在市场上的寿命,而这种能力可以用来进行系统升级或除错。
个人分类: 科研笔记|3009 次阅读|0 个评论
F2812死区时间设置
热度 2 tangxh 2010-5-10 10:54
F2812的EV模块每个比较单元都有一个死区定时器,但各计较单元共用一个时钟预定标分频器和死区周期寄存器。每个单元的死区可以独立使能或禁止。 其中死区定时器的时钟源在各个参考资料上比较混乱,综合各个方面的资料,死区时间的正确计算方式应为: 死区时间=DB周期*DB预定标系数*HSPCLK; 但还有待实验验证。 参考链接: http://www.hellodsp.com/bbs/viewthread.php?tid=23912 http://www.hellodsp.com/bbs/viewthread.php?tid=29844
个人分类: 学习笔记|4527 次阅读|0 个评论
一条过了12年也不落后的仪器设计建议—关于在伪随机多频激电仪中使用DSP的初步建议
chrujun 2010-4-23 23:52
近日整理老旧文档,发现了我12年前提出的伪随机多频激电仪设计建议。当时我研究生刚毕业,根据当时研制仪器的问题提出了一个仪器设计建议。令我非常吃惊的是,这个建议过了12年也没有过时。一个据某领导讲花费将近千万人民币的仪器开发项目,采用的正是我当年提出的仪器设计建议。 下面是没有改动一个字,我当年向有关牛人建议的仪器设计思路。欢迎各路高手批评斧正。 关于在伪随机多频激电仪中使用 DSP 的初步建议 陈儒军 仪器概述 伪随机多频激电仪的发送机与接收机之间通过光电同步。接收机采集完数据后,通过 RS-232 传到通用计算机处理。每个周期的伪随机多频信号采集 1024 点,采集周期数为 1 到 16 个。 仪器存在的问题 仪器存在的问题主要是工作效率低。数据采集本身就需要花费一定的时间,通过 RS-232 也需要大量的时间。伪随机多频信号的优点没有发挥出来,如能够在数据采集的同时进行数据处理,或能够在数据采集完成后快速处理,就能够充分发挥仪器的优点。 伪随机多频激电的数据处理 多频激电的数据处理分为四步: 1 、数据预处理,将观测数据解码,进行滤波的等处理。滤波将要花费大量的时间,主要有低通滤波,高通滤波,带通滤波,带阻滤波等。 2 、频谱分析,将采集的数字信号从时间域变换到频率域。 3 、标定,消除仪器对观测信号的变换。 4 、激电参数计算,根据伪随机多频信号的频率,信号采样频率,及伪随机多频信号的特点,将伪随机多频信号中的各个主频率提取出来,再计算相位、频散率、视电阻率等参数。 伪随机多频激电仪中采用 DSP 所需解决的问题 由于 DSP 在基于单片机的伪随机多频激电中仅是一种设想,许多问题要到具体实践中才能发现,而且有的问题看起来简单,做起来确难,本人提出的观点不一定正确,更说不上全面了。在这里仅根据我微薄的知识提出几点看法: 1、 为了方便,可把要解决的问题分解为单片机子系统和 DSP 子系统及其它们之间的相互作用问题; 2、 DSP 子系统要解决的问题有各种滤波器的设计及实现、 FFT 、及其它与激电有关的数据处理; 3、 单片机子系统与 DSP 子系统之间既有数据传输,又有命令传输。数据传输用于传输采集或处理好的数据,命令传输是单片机向 DSP 子系统发出命令,要求 DSP 子系统做滤波、 FFT 等处理。设计 DSP 子系统要考虑这一点,如果原先的单片机子系统已经没有端口用于数据或命令传输,单片机子系统也需要作出改变; 4、 对于具体数据处理方法,上述问题解决后可进一步研究。
个人分类: 地球物理及仪器|4141 次阅读|4 个评论
DSP芯片和DSP技术的问题(转载)
leanee 2009-6-5 09:09
dsp处理的信息的原理: DSP技术是数字信号处理技术包括数字信号处理理论和数字信号处理器 DSP芯片是专指数字信号处理器 DSP系统主要是专门用来对离散时间信号进行极快速的处理计算的,在这方面,编译和执行效率都非常高,但综合应用能力不及单片机,因此在数字滤波,FFT,频谱分析等方面DSP独挡一面. dsp详细介绍: 要向学习DSP的硬件开发,还要学习微机原理,由单片机系统的设计经验最好。 还有就是DSP的开发环境,也就是CCS,要掌握常用的编程语言,有汇编语言和C语言的编程经验最好. 首先要了解DSP的特点。 数字信号处理相对于模拟信号处理有很大的优越性,表现在精度高、灵活性大、可靠性好、易于大规模集成等方面。随着人们对实时信号处理要求的不断提高和大规模集成电路技术的迅速发展,数字信号处理技术也发生着日新月异的变革。实时数字信号处理技术的核心和标志是数字信号处理器。自第一个微处理器问世以来,微处理器技术水平得到了十分迅速的提高,而快速傅立叶交换等实用算法的提出促进了专门实现数字信号处理的一类微处理器的分化和发展。数字信号处理有别于普通的科学计算与分析,它强调运算处理的实时性,因此DSP除了具备普通微处理器所强调的高速运算和控制功能外,针对实时数字信号处理,在处理器结构、指令系统、指令流程上具有许多新的特征,其特点如下: (1) 算术单元 具有硬件乘法器和多功能运算单元,硬件乘法器可以在单个指令周期内完成乘法操作,这是DSP区别于通用的微处理器的一个重要标志。多功能运算单元可以完成加减、逻辑、移位、数据传送等操作。新一代的DSP内部甚至还包含多个并行的运算单元。以提高其处理能力。 针对滤波、相关、矩阵运算等需要大量乘和累加运算的特点,DSP的算术单元的乘法器和加法器,可以在一个时钟周期内完成相乘、累加两个运算。近年出现的某些DSP如ADSP2106X、DSP96000系列DSP可以同时进行乘、加、减运算,大大加快了FFT的蝶形运算速度。 (2) 总线结构 传统的通用处理器采用统一的程序和数据空间、共享的程序和数据总线结构,即所谓的冯诺依曼结构。DSP普遍采用了数据总线和程序总线分离的哈佛结构或者改进的哈佛结构,极大的提高了指令执行速度。片内的多套总线可以同时进行取指令和多个数据存取操作,许多DSP片内嵌有DMA控制器,配合片内多总线结构,使数据块传送速度大大提高。 如TI公司的C6000系列的DSP采用改进的哈佛结构,内部有一套256位宽度的程序总线、两套32位的数据总线和一套32位的DMA总线。ADI公司的SHARC系列DSP采用超级哈佛结构(Super Harvared Architecture Computer),内部集成了三套总线,即程序存储器总线、数据存储器总线和输入输出总线。 (3) 专用寻址单元 DSP面向数据密集型应用,伴随着频繁的数据访问,数据地址的计算也需要大量时间。DSP内部配置了专用的寻址单元,用于地址的修改和更新,它们可以在寻址访问前或访问后自动修改内容,以指向下一个要访问的地址。地址的修改和更新与算术单元并行工作,不需要额外的时间。 DSP的地址产生器支持直接寻址、间接寻址操作,大部分DSP还支持位反转寻址(用于FFT算法)和循环寻址(用于数字滤波算法)。 (4) 片内存储器 针对数字信号处理的数据密集运算的需要,DSP对程序和数据访问的时间要求很高,为了减小指令和数据的传送时间,许多DSP内部集成了高速程序存储器和数据存储器,以提高程序和数据的访问存储器的速度。 如TI公司的C6000系列的DSP内部集成有1M~7M位的程序和数据RAM;ADI公司的SHARC系列DSP内部集成有0.5M~2M位的程序和数据RAM,Tiger SHARC系列DSP内部集成有6M位的程序和数据RAM。 (5) 流水处理技术 DSP大多采用流水技术,即将一条指令的执行过程分解成取指、译码、取数、执行等若干个阶段,每个阶段称为一级流水。每条指令都由片内多个功能单元分别完成取指、译码、取数、执行等操作,从而在不提高时钟频率的条件下减少了每条指令的执行时间。 (6) DSP与其它处理器的差别 数字信号处理器(DSP)、通用微处理器(MPU)、微控制器(MCU)三者的区别在于:DSP面向高性能、 重复性、数值运算密集型的实时处理;MPU大量应用于计算机;MCU则适用于以控制为主的处理过程。 DSP的运算速度比其它处理器要高得多,以FFT、相关为例,高性能DSP不仅处理速度是MPU的 4~10倍,而且可以连续不断地完成数据的实时输入/输出。DSP结构相对单一,普遍采用汇编语言编程,其任务完成时间的可预测性相对于结构和指令复杂(超标量指令)、严重依赖于编译系统的MPU强得多。以一个FIR滤波器实现为例,每输入一个数据,对应每阶滤波器系数需要一次乘、一次加、一次取指、二次取数,还需要专门的数据移动操作,DSP可以单周期完成乘加并行操作以及3~4次数据存取操作,而普通MPU完成同样的操作至少需要4个指令周期。因此,在相同的指令周期和片内指令缓存条件下,DSP的运算送到可以超过MPU运算速度的4倍以上。 正是基于 DSP的这些优势,在新推出的高性能通用微处理器(如Pentium、Power PC 604e等)片内已经融入了 DSP的功能,而以这种通用微处理器构成的计算机在网络通信、语音图像处理、实时数据分析等方面的效率大大提高。
个人分类: 嵌入式|6245 次阅读|0 个评论
ADI诠释DSP技术针对热点应用的五大竞争法宝(转载)
leanee 2009-6-5 09:03
Forward Concepts的总裁兼首席分析师Will Strauss是一位跟踪DSP领域已久的知名分析师,他最近指出,DSP事实上已经成为整个半导体产业的驱动力量,因为在随时随地接入互联网和多媒体应用的新时代,DSP已经成为了底层的基础技术。 的确,从ADI公司的DSP发展战略就可以看到,DSP产品和技术已渗透到半导体应用的很多领域,而且随着ADI这些DSP厂商不断地推陈出新,所谓通用DSP和嵌入式DSP的用途界线不再那么泾渭分明,通用已体现出一定的相对性,即用途虽然广泛,但是以应用为导向的。最新的通用DSP产品也体现出数字信号处理器正在不断淡化其作为独立芯片的特性,因为它们除了也走多核路线提高速度和处理能力之外,还根据目标应用定制性地整合了越来越多的其它电路,如控制、外设、总线、各种新兴接口、高速缓存等。 这种整合体现了以应用为导向的技术开发战略和市场战略,正如ADI公司通用DSP部门总监Colin Duggan指出的,如今宏观经济的下滑使每个行业都面临挑战,但DSP业务的最大挑战是选择正确的投资和应用市场。 深耕DSP领域多年的ADI公司认为,现在和未来几年与DSP技术相互推动的一些热点应用市场特别值得关注:安防(包括智能视频监控和无线视频监控);测试测量和控制(如测试测量仪器、数据采集、电力线监控、马达控制等各种工业控制应用);生物识别(如指纹);VoIP终端。 新兴应用对DSP提出的特定需求 上述热点市场可以说最需要DSP所具备的先进特性,也预示着会带来更多机会,它们正变得更细分化,每个细分市场都有各自的特定需求。 安防称得上是在DSP应用方面走在最前列的领域之一,它正在经历更新换代过程,从以往用DSP进行视频编解码的普通DVR发展到实现人脸识别、车牌识别、包丢失处理、入侵侦测等功能,这些先进智能特性的实现都需要通过用DSP来实现大量先进的算法。 中国南京新奕天科技有限公司与香港大学合作开发出的视频监控设备ThinkSmart V1就是一个典型的智能视频监控应用例子。ThinkSmart V1通过监控现场视频数据,对目标进行检测、跟踪、分类,并分析目标的行为,实时发送预警信息。当存在威胁或检测到异常活动以及某种特定行为时,会即时发出预警。 通过已获得专利的算法检查视频中的每一个像素,并识别所有像素的变化,如果在一个区域有很多像素发生变化,该软件就认为这是一种移动。根据预定的策略和预警信息,对实时视频和记录视频中的移动或变化的检测会触发多种警报接口,并转发到蜂鸣或语音报警器、电邮或SMS信息,屏幕报警,或其他行为以警示相关部门。 无论在室内还是室外,甚至在光线很暗的情况下,ThinkSmart V1先进的视频移动检测功能能够7*24小时连续不断的精确检测出多个移动目标,并能检测目标速度、方向,以及大小。该算法还可定制以满足特定的安全需求。例如,ThinkSmart V1能够保护博物馆的馆藏,检测目标何时丢失、改变位置、或违反规定的监视规则,如禁区、入侵检测系统等。它还可以监控目标何时在何地停留了多长时间,这对在机场、火车站、地铁站找出潜在的恐怖装置尤为重要。 可以看到,多个图像处理算法是ThinkSmart V1实现实时智能视频监控的关键。因此,信号处理性能是新奕天在选择处理器解决方案时的一个主要考虑。另外,可以支持多种外设并提供软件开发工具的先进DSP技术也是考虑的关键。 图1:双核数字信号处理器ADSP-BF561芯片内部功能方块图。 ADI公司的ADSP-BF561最后被选为支持这一解决方案的核心DSP技术。相对于与之竞争的其它DSP,BF561不仅提供了更好的性价比,还提供了更为独特的双核设计。新奕天可将图像处理任务和系统控制任务分开在独立的计算域中,获得最稳定的实时性能。BF561的PPI用于将视频传入或传出外设设备,而异步存储器接口则用于连接Flash和LAN或RS232,允许用户配置IVS并恢复对象和事件列表。 另外,移动通信产业的发展推动无线、移动视频监控系统也跟着逐步兴起,或基于GSM/CDMA、EDGE、3G网络,或基于WiFi网络。与有线系统不同,无线信道多变,带宽窄,需要特别的高性能算法,才能实现稳定的功能。相比SoC和ASIC方案,DSP可方便、灵活地实现一些定制的高性能算法。 而且无线监控以及车载移动数字硬盘摄像机这类系统的一个特点是监控终端往往需要电池供电,因此对芯片的功耗提出了更高要求。而监控的无间断性对DSP芯片乃至整个方案的可靠性也提出了更严苛的要求。 ADSP-BF561也很好地满足了上述需求,除了具有两个高性能的Blackfin处理器内核,还具有灵活的高速缓存架构以及增强的直接存储器存取(DMA)子系统,适合执行复杂控制与信号处理任务,同时保持高速的数据吞吐量。此外,Blackfin处理器的动态电源管理能力显著降低整个功耗。 图2:基于CDMA网络的典型无线视频监控系统。 ADI公司嵌入式处理和数字信号处理第三方开发金牌合作伙伴合肥优视科技目前可提供基于ADSP-BF561的单路CDMA/EDGE/TD-SCDMA/WCDMA/WIFI无线H.264视频监控产品成熟方案。如图3所示,该方案通过一个DSP内核实现了独特的双码流处理,支持闪存盘数据的备份;另一个DSP内核则用于运行uClinx操作系统、驱动程序和BSP控制软件。 图3:合肥优视科技的CDMA/WIFI无线H.264视频监控产品成熟方案系统框图。 在大批量的中端视频安全监控市场,性价比是最关键的。Blackfin处理器在强大的单芯片上实现了数字信号处理与控制处理的完美结合,这一点非常重要,不仅可满足性能目标,同时也帮助实现高性价比。实际上,对于单路无线视频监控应用,从进一步节省成本的角度考虑,采用单核的Blackfin DSP如BF52x也能胜任。 新形势下DSP的五大竞争法宝 除了安防领域的例子,Blackfin在生物(指纹)识别和VoIP应用上也独树一帜,拥有很多成功应用案例。BF 51X系列就是特别适合指纹识别的一个ADSP系列,具有合适的接口、合适的性能以及合适的价格。而在VoIP应用上,凭借Blackfin的高性能与世界顶级IP语音引擎嵌入式软件提供商GIPS的合作,ADI如今也占据了优势地位,可提供适应带宽变化和具备高话音质量的VoIP电话开发平台,并为开发者将设计升级到可视IP电话(Vedio over IP)提供了便利,因为Blackfin平台天生的软件灵活性和可扩展性使软件代码和开发工具都可以沿用下去,从而加快了上市速度和节省了开发成本。 从上述所有例子可以看到,DSP要想在这些新兴热点市场赢得竞争,必须像ADI Blackfin一样具有以下五大竞争法宝: 1. 强大的图像处理、运算和控制能力,适应智能和融合应用时代需求 Blackfin处理器架构非常优秀,能高效地进行视频处理,能同时完成信号处理和控制任务,适应智能应用需求;其融合性架构可实现:多格式音频、视频、语言和图像处理;多模式基带和分组处理;控制处理和实时安全性。 2. 同时具备较高的性能/价格比、性能/功耗比、性能/面积比 ADI公司在新处理器设定性能目标时,注重的不仅是DSP的时钟频率和处理能力,还包括处理器必须提供的其它方面,如性能价格比、性能功耗比、性能面积比。如Blackfin系列处理器提供了业界领先的定点性价比以及单位毫瓦性能。ADI将通过最新的CMOS深亚微米工艺尺度、更深的流水线、多内核、每个核心更多的计算单元,以及充分利用信号处理加速引擎,继续提高Blackfin系列的性能,增强它们在性价比和性能功耗比方面的领先地位。 3. 软件开发的可升级性和可扩展性 前代和后代DSP产品具有软件和开发环境的兼容性,以节省设计升级的时间和成本。 4. 芯片具备高品质,能保证系统高可靠性稳定运行 如DSP芯片质量可靠、温度范围宽、抗干扰能力强等,可适应各种环境条件苛刻的应用。 5. 世界级的开发工具和大量的本地第三方合作伙伴 除了自己设计制造完善的软硬件开发工具,ADI公司还大力支持第三方合作伙伴,设计出适合本地的开发工具和系统方案。在中国ADI与北京亿旗创新、东方迪码、深圳市英蓓特、华恒科技等第三方的合作包括开发板和仿真器,让高质量的本地工具和ADI世界级的工具链组成高效易用的开发工具,同时向用户提供针对各种热点应用的参考设计和交钥匙解决方案,帮助用户实现成功的设计和缩短产品上市时间。
个人分类: 嵌入式|4472 次阅读|0 个评论
安防应用中图像处理难点分析及处理器选择
leanee 2009-6-5 08:41
引言 随着人们对生活质量要求的提高和全球反恐的大势所需,以及数字化技术本身的不断进步,依托指纹识别、虹膜识别、人脸识别等技术的生物识别方案和视频监控方案等正逐步成为提高个人、家庭、企业和社会安全性的重要手段。生物识别方案主要包括四个步骤:图像采集、图像预处理,特征取样,匹配分析;而视频监控方案则主要包括图像采集、图像预处理、图像处理与传输、图像显示及图像管理等。不难看出,无论是生物识别还是视频监控,图像预处理都是必需的。事实上,图像预处理算法的灵活度、复杂度、对图像处理芯片资源的占用度,以及处理时间的长度将直接对整个系统运行产生举足轻重的影响。因此,图像预处理对于整个安防方案来说都是一项艰巨而又关键的任务,直接决定了后续图像处理与分析的准确性和便捷性。 图像预处理分析 根据目的的不同,图像预处理可分为对采集图像进行清晰化处理,对图像进行识别前的预处理,以及对图像进行压缩前的预处理等。其中,对采集图像进行清晰化处理主要包括对CMOS或CCD图像传感器感光单元的不一致进行后续纠正,对实际环境与传感器采集的图像进行差异补偿(如背光),以及对采集到的原始图像进行去噪处理等。虽然这种预处理算法本身的难度不大,但随着实时性需求的普及,尤其是在像素较大时,这种算法还是对DSP的处理能力提出了很高的要求。 而对图像进行识别前的预处理则目的性很强,可能需要破坏原来的像素和分布,以便后续进行特征提取。这种预处理算法的难度视识别场合的不同而不同。要综合后面的识别算法部分,选择适当的DSP。图像压缩前的预处理主要是指将YUV422变为YUV420、将RGB变为YUV等。这类处理往往有实时性要求,如果采用软件实现,会对处理性能有较高的要求;如果采用硬件实现,则虽然在处理性能上有保证,但硬件成本会有所上升。 同时,根据应用不同,图像预处理又可分为生物识别应用中的图像预处理和视频监控应用中的图像预处理。对于生物识别应用,以指纹识别为例,其预处理主要包括指纹图像增强、指纹图像二值化、指纹图像细化、指纹图像细化后处理。而视频监控应用中的图像预处理主要是指对图像传感器输出的连续图像进行分析,获取足够的信息,并通过自动白平衡、伽马(Gamma)校正、自动聚焦、自动曝光、背光补偿等来提高图像的实际效果。 图像预处理的挑战 无论是生物识别还是视频监控,其图像预处理正面临以下挑战:其一,用户对图像质量的要求越来越高,图像预处理的算法越来越复杂,从而对图像预处理主芯片处理能力及存储空间提出了更加苛刻的要求;其二,用户对图像的实时性处理和传输要求越来越高,一方面要求图像预处理算法尽量优化、精简,另一方面也对图像预处理主芯片的内核处理能力、内部总线架构、数据传输能力、外围接口,以及硬件整体架构和指令集对预处理算法的支持提出了更高要求;其三,不同于图像和视频编解码算法具有业界统一的算法标准和清晰的演进路线图,图像预处理算法不仅没有统一的标准和清晰的发展方向,甚至在很大程度上,方案提供商正是通过这些秘密的个性化算法来作为市场竞争的法宝。此外,随着应用领域的不同、需求的提高和技术本身的演进,原有算法会不断升级,新的算法会不断涌现,这些都要求图像预处理芯片具有更高的灵活性和适应能力。其四,对于方案提供商来说,不仅其体现竞争力的核心算法需要防止被非法读取或拷贝,而且无论是生物识别还是视频监控,其图像数据往往都会涉及隐私,因此也需要提供可以信任的安全保证。以上两方面,都要求图像处理芯片必须提供一个可靠、完全的处理平台。 基于以上多方面的挑战,在图像预处理主芯片的选择上,以控制能力见长的传统MCU并不适合庞大、复杂的算法处理;ASIC虽然在运算速度和功耗方面具有一定的优势,但其成本高、灵活性差,且不利于升级和修改,因此无法满足预处理算法个性化的灵活性需求;FPGA并行处理的架构虽然具备了强大的数据处理能力,但价格、功耗,以及开发难度方面的缺点使其很难成为图像预处理的主流选择;而DSP则以强大的数据处理能力和软件可编程能力成为图像预处理主芯片的主流选择。 除了以上挑战,从系统设计的角度来讲,还面临以下几方面的需求:其一,虽然图像预处理和图像处理工作巨大,但是工程师并不希望采用多个芯片来处理这件事情。因为信号处理和控制系统分别运行于不同处理器的传统DSP架构已经让工程师非常头疼,如果再把图像预处理和图像处理分开,则更加大了工程师进行系统开发、系统联调、系统维护的难度。因此,对于系统设计中的主芯片DSP来说,还面临集成度的要求有没有可能在单芯片上实现图像预处理、图像处理,甚至包括系统控制等功能。 其二,随着包括预处理在内的整个图像处理算法复杂性的不断增加,作为主处理器的DSP,除了需要提供足够的硬件处理能力之外,还应该在软件上提供针对该处理器专门优化的指令集,从而帮助工程师降低对处理器物理架构的熟悉难度,最大限度的驾驭、发挥处理器的特性,尽快开发出精简、优化的图像处理算法。 其三,除了上面提到的专门优化的指令集以外,面对日益复杂的图像处理和产品上市时间的压力,工程师还期望处理器供应商能够分担一些他们的工作比如,提供专门针对该处理器优化、仅占极少量时钟周期的底层图像处理软件模块,以帮助他们缩短图像处理算法开发流程,并加速软件移植。 另外,功能强大、界面友好、简单易学的开发工具也是系统开发中工程师要求的重点,而且随着系统复杂度和模块复用性需求的增加,对开发工具的兼容性也提出了更高的要求。 理想的DSP处理器 基于以上分析,针对图像处理应用的理想DSP处理器必须具备以下几方面的特点:内核处理能力强;专门针对图像处理的指令集;易于大量数据传输的低功耗硬件架构;高集成度;丰富的软件模块库;功能强大的开发工具。以下是对该类DSP处理器的代表系列Blackfin汇聚处理器架构的具体分析。 硬件特性 Blackfin DSP处理器基于由ADI 和Intel公司联合开发的微信号架构(MSA),通过将传统DSP和微控制器的优点融为一体,兼顾了事件控制以及纯算法运算处理功能。其汇聚的单一内核可提供高达756MHz的处理能力,不仅为处理复杂的预处理算法提供了强大性能保证,而且为整个系统的图像处理和事件控制提供了强有力的硬件支持,从而允许工程师在单芯片上实现图像预处理、图像处理、系统控制,大大提高了系统的集成度。 Blackfin系列处理器的硬件架构专门针对图像处理进行优化,多个DMA通道和可灵活配置的Cache能很好地解决大运算量、高数据吞吐率的图像处理应用要求。在图像处理应用中,虽然对图像数据进行的传输也可由软件实现,但是这样会消耗掉大量的CPU时钟周期,从而使DSP的高速数据处理能力难以发挥。如果由DMA独立负责数据传输,那么在系统内核对DMA进行初始设置并启动后,DMA控制器就可在无需内核参与的情况下直接把图像数据从PPI接口传输至SDRAM存储器进行存储,比如在进行MPEG或JPEG处理的计算密集型算法中,一个灵活的DMA控制器能省去额外的数据通路。此外,通过二维DMA还能简化宏块进出外部存储器的传送,从而允许数据控制成为数据实际传送的一部分,这对色彩空间元素的交叉和解交叉来说非常方便也非常重要。因此,Blackfin处理器的这种特性在有效地解决了大批量图像数据传输这一速度瓶颈的同时,又能让DSP处理器抽出更多的资源从事算法处理工作,大幅提高了系统的处理能力。 而且,针对图像处理应用,Blackfin系列DSP还在不断强化硬件功能模块的支持,比如,ADSP-BF54x系列Blackfin处理器的最新版本中增加了一个用于处理叠加图像(Pixel Compositor)的硬件加速器和一个扩展视频接口(EPPI),它使得色彩空间变换、缩放和图像叠加等任务可以在无需处理器参与计算的情况下完成,从而减轻了内核的处理压力,为进行更高性能、更高速度的图像处理提供了更多空间。 软件特性 在指令集方面,Blackfin系列DSP针对图像处理提供了丰富的向量指令和视频指令。其中向量指令可以实现对16位数的操作(大多指令可以并行完成两个16位数的操作)。由于图像处理运算中大多是针对16位数的操作,因此,通过合理使用这些向量指令来优化图像运算非常重要。不仅Blackfin指令集中的大多数算术指令和移位指令都有对应的向量指令,而且,向量指令中还有根据符号相加、32位数转16位数等特殊指令。在对图像预处理的汇编优化中合理的应用这些向量指令,可以提高算法的并行度,并大大加快运算速度。 视频像素指令主要包括BYTEOP16P (完成两个8位数加法操作)、BYTEOP3P (完成16位和8位数的加法操作)、BYTEOPIP(完成两个8位数求平均操作)、BYTEOPZP(完成四个8位数求平均操作)、BYTEOP16M(完成两个8位数减法操作)、SAA (完成求SAD操作)、BYTEAPCK (完成16位数转8位数操作),以及BYTEUNAPCK(完成8位数转16位数操作)等。一条视频像素操作指令可以在一个周期内完成4对视频数据分量的加、减、加减混合、取平均值,或者相减并求绝对值等11种视频像素运算。由于视频像素值一般都是按照8位存放的,所以使用视频像素指令可以大大提高包括求SAD、像素插值、8位数和16位数直接转换等在内的各种视频图像运算的速度。 安全特性 在安全性方面,ADI公司的Blackfin Lockbox Secure Technology通过提供一次可编程(OTP)存储器与安全处理模式(Blackfin安全模式),将软件与硬件保护相结合,为开发人员提供实现以上安全措施的手段,其中,在OTP存储器的公共、非安全、用户可编程区域开发人员可以用来存储公共密钥,这样可以通过可控制与可配置的方式来鉴别系统。而在OTP存储器的私有、安全、用户可编程区域,开发人员则可以设置私人密钥等私有器件资产(deviceassets),并保持这些器件资产的机密性与完整性。此外,在Blackfin处理器上使用安全模式后,处理器只能在安全处理环境内执行授权的信任编码。包括保护秘密(如原始设备制造商知识产权)、为保护电子商务与社会网络而验证器件和用户身份、以及数字版权(DRM)内容保护。从而为图像预处理方案的各个环节提供了量身定做的安全保护功能。 软件模块库支持 除了以上Blackfin DSP在硬件架构和指令集方面对图像处理的支持外,ADI公司还提供多种针对图像处理的软件模块,包括H.264 Baseline Profile Decoder模块、能够按比例缩放具有不同输入及输出尺寸图像的增强视频后处理(eVPP)模块、JPEG编码器模块MPEG-2 Decoder Simple Main Profile Decoder库、MPEG-4 Simple Profile Advanced Simple Profile Decoder库,以及MPEG-4 Simple Profile Advanced Simple Profile Video Encoder模块等,它们都专门针对Blackfin处理器而优化,并经过业界严格验证。这些软件模块能够大幅降低系统工程师的开发难度,并显著提高系统效率。 此外,ADI公司还专门针对图像处理应用推出了Image Tool Box软件包,该软件包由一系列专用模块组成,并针对图像处理算法的一些常用和基本函数进行了专门优化,可以进行图像变换、图像分析与图像增强、二值图像操作以及形态学处理等图像处理操作。这款软件包有利于降低工程师的开发难度,加速上层算法的实现和优化。 开发环境的支持 用于Blackfin系列DSP处理器开发应用和工程管理的VisualDSP++开发环境主要包括集成了ViusalDSP++内核的集成编译和调试环境(DIDE);带实时运行库的CC/++优化编译器;汇编器和链接器,以及仿真软件和程序例程等。其中,编译器允许程序开发人员用C或C++语言编写信号处理和控制代码,从而方便了系统的开发和维护。图形化的友好用户信息交换界面使工程师能够在窗口中进行工程管理、编辑、编译和调试程序,并在其间快速轻松地切换。此外,VisualDSP++开发工具还与Green Hills软件公司的MULTI环境、NI公司的LabVIEW软件,以及MathWorks公司的MATLAB和Simulink软件相兼容,为系统开发和模块复用提供了一个更加便捷、宽松的环境。 ADI公司技术支持 processor.china@analog.com 欲获更多参考信息 dsp.marketing@analog.com
个人分类: 图像|4287 次阅读|0 个评论
人脸识别
leanee 2009-6-3 16:16
人脸识别分为以下三部分:人脸检测,特征提取和人脸辨识 图像差分: 变化区域是通过采用视频图像的差分技术来确定的。差分图像处理的基本原理是将检测区里的图像在图像空间域上与背景图像进行差分,可以表示为: Df i ,f j (x,y)=f(x,y,t i )-f(x,y,t j )(1) 式中A,y,t),Y,tj)分别为t与tj时刻在(,Y)位置像素点的灰度值。A,y,t)和A,y,tj)在(,Y)位置像素点亮度的显著性差异为: (2) 其中?代表s i s j ,(2)式结果要大于t 式中m k 和S k (k=i,j)是f(x,y,t k )在(x,y)的某小邻域Q(x,y)内的均值和方差,t是门限。若式(2)成立,则f(x,y,t i )和 f(x,y,t j )的亮度在(x,y)位置有显著性差异,取Df i ,f j (x,y)=1;若式(2)不成立,则取Df i ,f j (x,y)=0。基于这种差分技术,变化区域的位置可以通过简单的帧相减等技术轻易得到 图像预处理:人脸检测预处理+特征提取预处理 人脸检测预处理:灰度化-采用3*3滑动窗口中值滤波(抑制噪声)-直方图均衡化(增强图像,减弱光照影响)-锐化处理(增强边界和图像细节)-最终得到锐化图像边缘显得粗而亮。 特征提取预处理主要是对人眼的定位,进而对图像进行剪裁,图像归一化,压缩 随着集成电路和嵌入式技术的发展,使得实时系统中人脸检测和识别具有了硬件基础,成为应用领域的一个研究热点。在一些强实时环境下采用DSP芯片处理任务具有无可比拟的优越性,在门禁系统、考勤系统等身份验证领域有着广泛的应用价值。
个人分类: 人脸|4911 次阅读|0 个评论
dsp微处理器
leanee 2009-6-2 19:04
数字信号处理   DSP 数字信号 处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。德州仪器、Freescale等半导体厂商在这一领域拥有很强的实力。 DSP微处理器   DSP(digital signal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收 模拟信号 ,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。   DSP芯片,也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器器,其主要应用是实时快速地实现各种数字信号处理算法。根据数字信号处理的要求,DSP芯片一般具有如下主要特点:   (1)在一个指令周期内可完成一次乘法和一次加法;   (2)程序和数据空间分开,可以同时访问指令和数据;   (3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;   (4)具有低开销或无开销循环及跳转的硬件支持;   (5)快速的中断处理和硬件I/O支持;   (6)具有在单周期内操作的多个硬件地址产生器;   (7)可以并行执行多个操作;   (8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。   当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。 DSP技术   基于DSP的智能视频监控系统   传统的视频监视系统是简单的非智能闭路电视(CCTV)系统,其缺点十分明显。这样的系统或者需要安保人员实时监视画面以捕捉关键事件,或者需要在事后对视频记录进行回放并进行人工分析,耗时耗力,成本高而效率低。近几年,DSP在智能视频监控系统方面的应用不断完善,正在逐渐取代传统的模拟非智能系统。   iSuppli公司2006年的一份分析报告曾指出,IP视频监控系统市场到2010年将增长近十倍。 IP监控的创新技术之一是智能摄像机,它拥有强大的数字信号处理器,能探测威胁并触发自动响应。可见,DSP芯片是智能监控的核心。   提到DSP,多数人都会联想到TI公司。该公司的DSP开发历史悠久,它所占据的DSP市场份额遥遥领先。当然,TI公司也重视DSP在智能视频监控中的应用(见TI 达芬奇技术实现数字化智能视频监控http://www.21ic.com/news/n12583c8.aspx)。   本文重点介绍ADI公司在智能监控领域的进展情况。本月初,笔者有幸和ADI上海公司的DSP和嵌入式处理器产品技术市场经理张铁虎、EP/DSP高级技术应用工程师魏宏伟两位先生进行了交流。他们介绍了ADI公司DSP智能监控技术、战略特点和计划等,在此向21IC用户做个汇报。   虽然总体来说ADI公司DSP的名气不如TI的大,但该公司对DSP应用于智能视频监控相当重视。从产品角度来讲,ADI公司主要业务有三:模拟产品、MEMS和DSP。其中DSP应用包括工业测控、移动媒体和汽车电子,而监控则占据ADI工业测控业务的大部分。可见,智能监控对于ADI的DSP业务发展十分重要。   据张铁虎介绍,ADI的DSP发展历程虽然不如TI的悠久,但拥有自己明显的特点或优势。首先,ADI的DSP架构和TI的不同。TI的DSP实际上是ARM+DSP,所以需要两套开发工具。ADI的DSP是基于1999年与Intel公司合作开发的Micro Signal Architecture(微信号架构),称作convergent processor,在一个核里既有数字信号处理功能,又有MCU功能,所以只需一套开发工具,为用户使用、学习提供了方便。其次,ADI的DSP开发工具是免费的,可在该公司网站上随时下载。据第三方评测机构BDTI称,ADI的DSP具有最高的性价比。此外,ADI的DSP还具有功耗低、稳定(工业/汽车级DSP工作温度范围为-40至+85摄氏度)的优点。   ADI公司在智能视频监控方面的市场策略比较独特。有一些第三方设计单位为用户提供解决方案。尤其是,ADI同许多科研院所(如清华大学)进行合作,共同展开视频分析的开发工作。视频智能分析算法属于前沿技术,挑战性很强,而科研院所内的智力资源比较丰富,非常适合做这方面的研究。   目前,ADI公司的一些DSP智能视频监控已经走向实际应用。在印度,人头清点(people counting)系统已经实现量产;在美国,车牌识别系统实现了小批量应用;在中国,人脸识别也实现了小批量应用。   张铁虎介绍说,现在智能视频监控还主要应用在对安全要求很高的场合,如银行、监狱、水厂、政府机关等。随着技术的发展、成本的降低,智能视频监控将越来越普及,更广泛地取代传统的CCTV。   张铁虎说,ADI公司非常看好智能监控市场,在这方面将持续投资,并在全球范围内同设计公司、科研院所展开合作开发。DSP技术也是ADI的长期计划,目前该公司正在设计下一代的指令集,并已经完成了其中一部分。ADI的DSP会特别注重视频分析,并为这方面的客户提供参考设计、算法模块等。   关于DSP核FPGA的竞争问题,张铁虎说,DSP更适合视频分析,而FPGA的长处是并行处理。另外,FPGA还存在体积大、功耗大、价格高等问题。不过,根据BDTI的报告,FPGA正越来越多地涉入DSP的应用领域。在现今的很多设计中,DSP往往与FPGA配合使用。在很多情形下,这一组合对于下一代系统的设计仍然适合。但在另外一些情形下,设计者会考虑仅使用两者之一,而且通常是FPGA取代DSP的功能。然而,对于智能视频监控市场,虽然FPGA也在试图进入,但就目前情况来看,DSP似乎是比较现实的解决方案。
个人分类: 嵌入式|4043 次阅读|0 个评论
嵌入式处理器
leanee 2009-6-2 18:37
嵌入式处理器   嵌入式处理器是 嵌入式 系统的核心,是控制、辅助系统运行的硬件单元。范围极其广阔,从最初的4位 处理器 ,目前仍在大规模应用的8位 单片机 ,到最新的受到广泛青睐的32位,64位嵌入式 CPU 。   而目前世界上具有嵌入式功能特点的处理器已经超过1000种,流行体系结构包括MCU,MPU等30多个系列。鉴于嵌入式系统广阔的发展前景,很多半导体制造商都大规模生产嵌入式处理器,并且公司自主设计处理器也已经成为了未来嵌入式领域的一大趋势,其中从单片机、DSP到FPGA有着各式各样的品种,速度越来越快,性能越来越强,价格也越来越低。目前嵌入式处理器的寻址空间可以从64kB到16MB,处理速度最快可以达到2000 MIPS,封装从8个引脚到144个引脚不等。   根据其现状,嵌入式处理器可以分成下面几类:   ◆嵌入式微处理器(Micro Processor Unit,MPU)   嵌入式微处理器是由通用计算机中的CPU演变而来的。它的特征是具有32位以上的处理器,具有较高的性能,当然其价格也相应较高。但与计算机处理器不同的是,在实际嵌入式应用中,只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。目前主要的嵌入式处理器类型有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM/ StrongARM系列等。   其中Arm/StrongArm是专为手持设备开发的嵌入式微处理器,属于中档的价位。   ◆嵌入式微控制器(Microcontroller Unit, MCU)   嵌入式微控制器的典型代表是单片机,从70年代末单片机出现到今天,虽然已经经过了20多年的历史,但这种8位的电子器件目前在嵌入式设备中仍然有着极其广泛的应用。单片机芯片内部集成ROM/EPROM、RAM、 总线 、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各种必要功能和外设。和嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称微控制器。   由于MCU低廉的价格,优良的功能,所以拥有的品种和数量最多,比较有代表性的包括8051、MCS-251、MCS-96/196/296、P51XA、C166/167、68K系列以及 MCU 8XC930/931、C540、C541,并且有支持I2C、CAN-Bus、LCD及众多专用MCU和兼容系列。目前MCU占嵌入式系统约70%的市场份额。近来Atmel出产的Avr单片机由于其集成了FPGA等器件,所以具有很高的性价比,势必将推动单片机获得更高的发展。   ◆嵌入式DSP处理器(Embedded Digital Signal Processor, EDSP)   DSP处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,具有很高的编译效率和指令的执行速度。在数字滤波、FFT、谱分析等各种仪器上DSP获得了大规模的应用。   DSP的理论算法在70年代就已经出现,但是由于专门的DSP处理器还未出现,所以这种理论算法只能通过MPU等由分立元件实现。MPU较低的处理速度无法满足DSP的算法要求,其应用领域仅仅局限于一些尖端的高科技领域。随着大规模集成电路技术发展,1982年世界上诞生了首枚DSP芯片。其运算速度比MPU快了几十倍,在语音合成和编码解码器中得到了广泛应用。至80年代中期,随着CMOS技术的进步与发展,第二代基于CMOS工艺的DSP芯片应运而生,其存储容量和运算速度都得到成倍提高,成为语音处理、图像硬件处理技术的基础。到80年代后期,DSP的运算速度进一步提高,应用领域也从上述范围扩大到了通信和计算机方面。90年代后,DSP发展到了第五代产品,集成度更高,使用范围也更加广阔。   目前最为广泛应用的是TI的TMS320C2000/C5000系列,另外如Intel的MCS-296和Siemens的TriCore也有各自的应用范围。   ◆SoC(system on chip)片上系统   SoC追求产品系统最大包容的集成器件,是目前嵌入式应用领域的热门话题之一。SOC最大的特点是成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块。而且SOC具有极高的综合性,在一个硅片内部运用VHDL等硬件描述语言,实现一个复杂的系统。用户不需要再像传统的系统设计一样,绘制庞大复杂的电路板,一点点的连接焊制,只需要使用精确的语言,综合时序设计直接在器件库中调用各种通用处理器的标准,然后通过仿真之后就可以直接交付芯片厂商进行生产。由于绝大部分系统构件都是在系统内部,整个系统就特别简洁,不仅减小了系统的体积和功耗,而且提高了系统的可靠性,提高了设计生产效率。   由于SOC往往是专用的,所以大部分都不为用户所知,比较典型的SOC产品是Philips的Smart XA。少数通用系列如Siemens的TriCore,Motorola的M-Core,某些ARM系列器件,Echelon和Motorola联合研制的Neuron芯片等。   预计不久的将来,一些大的芯片公司将通过推出成熟的、能占领多数市场的SOC芯片,一举击退竞争者。SOC芯片也将在声音、图像、影视、网络及系统逻辑等应用领域中发挥重要作用。   从软件方面划分,主要可以依据操作系统的类型。目前嵌入式系统的软件主要有两大类:实时系统和分时系统。其中实时系统又分为两类:硬实时系统和软实时系统。   实时嵌入系统是为执行特定功能而设计的,可以严格的按时序执行功能。其最大的特征就是程序的执行具有确定性。在实时系统中,如果系统在指定的时间内未能实现某个确定的任务,会导致系统的全面失败,则系统被称为硬实时系统。而在软实时系统中,虽然响应时间同样重要,但是超时却不会导致致命错误。一个硬实时系统往往在硬件上需要添加专门用于时间和优先级管理的控制芯片,而软实时系统则主要在软件方面通过编程实现时限的管理。比如Windows CE就是一个多任务分时系统,而Ucos-II则是典型的实时操作系统。
个人分类: 科研笔记|3949 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-17 23:45

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部