虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

DDR-sdram

  • 基于小波变换的图像去噪算法研究

    随着多媒体技术的发展,数字图像处理已经成为众多应用系统的核心和基础。它的发展主要依赖于两个性质不同、自成体系但又紧密相关的研究领域:图像处理算法及其相应的电路实现。图像处理系统的硬件实现—般有三种方式:专用的图像处理器件集成芯片(Application Specific Integrated Circuit)、数字信号处理器(Digital Signal Process)和现场可编程门阵列(Field Programmable Gate Array)以及相关电路组成。它们可以实时高速完成各种图像处理算法。图像处理中,低层的图像预处理的数据量很大,要求处理速度快,但运算结果相对比较简单。相对于其他两种方式,基于FPGA的图像处理方式的系统更适合于图像的预处理。本文设计了—种基于FPGA的小波域图像去噪系统。首先,阐述了基于小波变换的图像去噪算法原理,重点讨论了小波邻域阈值(NeighShrink)去噪算法,并给出了该算法相应的Matlab 仿真;然后,为了改进邻域阈值去噪算法中对每个分解子带都采用相同邻域和阈值的缺点,本文提出了基于最小二乘支持向量机(LS-SVM)分类的邻域阈值去噪算法和以斯坦无偏估计 (SURE)为准则同时结合小波系数尺度间关系的邻域阈值去噪算法。经Matlab实验表明,相比于其他几种经典算法,本文提出的两种改进算法在滤除噪声的同时能更好地保护图像细节,并在较高噪声情况下能获得更高的峰值信噪比。在此基础上本文将提出的改进小波邻域阈值去噪算法进行了相应的简化,以满足低噪声处理要求且易于在FPGA上实现;最后,给出了基于 FPGA的小波邻域阈值去噪系统的总体结构和FPGA内部各功能模块的具体实现方案,包括二维离散小波变换模块、二维离散小波逆变换模块、SDRAM存储器控制模块、去噪计算模块和系统核心控制模块,并对各个系统模块和整体进行了仿真验证,结果表明本文设计的基于FPGA 的小波邻域阈值去噪系统能满足实际的图像处理要求,具有一定的理论和实际应用价值。关键词:图像处理系统,FPGA,图像去噪算法,小波变换

    标签: 小波变换 图像去噪 算法研究

    上传时间: 2013-05-16

    上传用户:450976175

  • 基于FPGA的面阵CCD驱动传输电路设计

    图像处理技术应用越来越广泛,特别是工业检测领域。然而,图像处理技术应用的基础是图像的获取,为了更加灵活地设计各种应用产品,本课题研究基于FPGA的面阵 CCD驱动传输电路设计,利用该电路能够获取高质量、高分辨率的图像,为后续的图像处理技术应用打下基础。本文首先介绍了研究意义、CCD图像传感器的发展以及FPGA的产生与发展,接着提出了面阵CCD成像系统总体设计方案,然后针对关键电路的设计进行详尽的分析和说明,这些电路包括时序发生电路、存储器控制电路、USB接口电路以及电源调理电路。其中时序发生电路主要用于产生CCD正常工作所需的各种时序信号以及A/D变换芯片AD9824 所需的工作时序,这些时序都是由FPGA产生的,文中给出了FPGA逻辑设计的基本过程以及仿真波形。本系统采用SDRAM缓存图像信号,为了完成SDRAM的写入、读出以及定时刷新,利用FPGA生成存储器控制电路。系统采用USB接口与计算机通信,因此FPGA 中设计了相应逻辑电路与CY7C68013A USB接口芯片实现信号握手及数据通信,进而与 PC机通信。为了保证各个芯片正常工作,设计电源调理电路实现将输入5V电源转换成多种电压向各个芯片供电。经过初步调试,并根据仿真结果判断驱动传输电路基本达到设计要求。关键词:FPGA,CCD,A/D变换,SDRAM,USB,驱动时序

    标签: FPGA CCD 面阵 传输

    上传时间: 2013-04-24

    上传用户:prczsf

  • SmartARM2400系列开发板全套资料

    · SmartARM2400是广州致远电子有限公司精心设计的一款集教学、竞赛、工控开发于一身的开发套件,套件以NXP公司的LPC2478为核心,该芯片具有EMC(外部总线接口),可支持核心板上集成的32M SDRAM和2MB NOR Flash,并提供4路串口、1路IrDA接口、1路10/100M以太网接口、2个CAN-bus接口、1路I2S接口、1路USB OTG接口、1路USB Hos

    标签: SmartARM 2400 开发板

    上传时间: 2013-06-22

    上传用户:zhengxueliang

  • SmartARM2400系列开发板全套资料

    · SmartARM2400是广州致远电子有限公司精心设计的一款集教学、竞赛、工控开发于一身的开发套件,套件以NXP公司的LPC2478为核心,该芯片具有EMC(外部总线接口),可支持核心板上集成的32M SDRAM和2MB NOR Flash,并提供4路串口、1路IrDA接口、1路10/100M以太网接口、2个CAN-bus接口、1路I2S接口、1路USB OTG接口、1路USB Hos

    标签: SmartARM 2400 开发板

    上传时间: 2013-07-27

    上传用户:evil

  • DNW

    DNE是USB下载工具,可以把bin文件下载到开发板的SDRAM中,来测试开发板能否正常运行。

    标签: DNW

    上传时间: 2013-04-24

    上传用户:xinyuzhiqiwuwu

  • DDR记忆体电源

    CMOS 邏輯系統的功耗主要與時脈頻率、系統內各閘極輸入電容及電源電壓有關,裝置尺寸縮小後,電源電壓也隨之降低,使得閘極大幅降低功耗。這種低電壓裝置擁有更低的功耗和更高的運作速度,因此系統時脈頻率可升高至 Ghz 範圍。

    标签: DDR 记忆体 电源

    上传时间: 2013-10-14

    上传用户:immanuel2006

  • 高手进阶,终极内存技术指南——完整

    SRAM,SDRAM

    标签: 高手 进阶 内存技术

    上传时间: 2013-11-10

    上传用户:黄蛋的蛋黄

  • Mini2440启动代码详解

    BIT_SELFREFRESH EQU (1<<22) ;定义SDRAM自刷新标志位 16 17 ;Pre-defined constants 预定义6种工作模式 18 USERMODE EQU 0x10 ;用户模式 19 FIQMODE EQU 0x11 ;快速中断模式 20 IRQMODE EQU 0x12 ;中断模式 21 SVCMODE EQU 0x13 ;监管模式 22 ABORTMODE EQU 0x17 ;异常中断模式 23 UNDEFMODE EQU 0x1b ;未定义模式 24 25 MODEMASK EQU 0x1f ;模式掩码 26 NOINT EQU 0xc0 ;取消中断 27 28 ;The location of stacks;设置6种工作模式的堆栈的起始地址 29 ;在option.inc中定义了_STACK_BASEADDRESS EQU 0x33ff8000 30 UserStack EQU (_STACK_BASEADDRESS-0x3800) ;0x33ff4800 ~ 31 SVCStack EQU (_STACK_BASEADDRESS-0x2800) ;0x33ff5800 ~ 32 UndefStack EQU (_STACK_BASEADDRESS-0x2400) ;0x33ff5c00 ~ 33 AbortStack EQU (_STACK_BASEADDRESS-0x2000) ;0x33ff6000 ~ 34 IRQStack EQU (_STACK_BASEADDRESS-0x1000) ;0x33ff7000 ~ 35 FIQStack EQU (_STACK_BASEADDRESS-0x0) ;0x33ff8000 ~

    标签: Mini 2440 启动代码

    上传时间: 2013-10-07

    上传用户:m62383408

  • 让单片机运行速度更快一些

    单片机的频率越来越高,RAM的访问速度也来也快,但单片机系统的效率并不一定成比例的提高。 目前,使用的主流单片机有80386EX(50MHz,外部地址/数据总线16位)、MPC860T(66MHz外部地址/数据总线32位)以及DS80C32(25MHz,外部地址/数据总线8位)使用的SDRAM有HY57系列、K416系列(访问速度100MHz133MHz);使用的SRAM如IDT71024、IDT7256(50MHz);使用的Flash有AT29C512、SST39VF040、AT29C010(8MHz或15MHz)等。可见SDRAMS,RAM的速度和单片机是匹配的甚至比单片机的速度更快一点,不需要单片机插入等待状态。而Flash的访问频率则比单片机慢2~6倍,单片机往往要通过插入多个等待状态来和它相匹配,况且Flash多为8位,而当前单片机多为16,32位更多的降低了单片机的工作性能。

    标签: 单片机 运行速度

    上传时间: 2013-11-09

    上传用户:wxhwjf

  • at91rm9200启动过程教程

    at91rm9200启动过程教程 系统上电,检测BMS,选择系统的启动方式,如果BMS为高电平,则系统从片内ROM启动。AT91RM9200的ROM上电后被映射到了0x0和0x100000处,在这两个地址处都可以访问到ROM。由于9200的ROM中固化了一个BOOTLOAER程序。所以PC从0X0处开始执行这个BOOTLOAER(准确的说应该是一级BOOTLOADER)。这个BOOTLOER依次完成以下步骤: 1、PLL SETUP,设置PLLB产生48M时钟频率提供给USB DEVICE。同时DEBUG USART也被初始化为48M的时钟频率; 2、相应模式下的堆栈设置; 3、检测主时钟源(Main oscillator); 4、中断控制器(AIC)的设置; 5、C 变量的初始化; 6、跳到主函数。 完成以上步骤后,我们可以认为BOOT过程结束,接下来的就是LOADER的过程,或者也可以认为是装载二级BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、连接在外部总线上的8位并行FLASH的顺序依次来找合法的BOOT程序。所谓合法的指的是在这些存储设备的开始地址处连续的存放的32个字节,也就是8条指令必须是跳转指令或者装载PC的指令,其实这样规定就是把这8条指令当作是异常向量表来处理。必须注意的是第6条指令要包含将要装载的映像的大小。关于如何计算和写这条指令可以参考用户手册。一旦合法的映像找到之后,则BOOT程序会把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超过16K-3K的大小。当BOOT程序完成了把合法的映像搬到SRAM的任务以后,接下来就进行存储器的REMAP,经过REMAP之后,SRAM从映设前的0X200000地址处被映设到了0X0地址并且程序从0X0处开始执行。而ROM这时只能在0X100000这个地址处看到了。至此9200就算完成了一种形式的启动过程。如果BOOT程序在以上所列的几种存储设备中找到合法的映像,则自动初始化DEBUG USART口和USB DEVICE口以准备从外部载入映像。对DEBUG口的初始化包括设置参数115200 8 N 1以及运行XMODEM协议。对USB DEVICE进行初始化以及运行DFU协议。现在用户可以从外部(假定为PC平台)载入你的映像了。在PC平台下,以WIN2000为例,你可以用超级终端来完成这个功能,但是还是要注意你的映像的大小不能超过13K。一旦正确从外部装载了映像,接下来的过程就是和前面一样重映设然后执行映像了。我们上面讲了BMS为高电平,AT91RM9200选择从片内的ROM启动的一个过程。如果BMS为低电平,则AT91RM9200会从片外的FLASH启动,这时片外的FLASH的起始地址就是0X0了,接下来的过程和片内启动的过程是一样的,只不过这时就需要自己写启动代码了,至于怎么写,大致的内容和ROM的BOOT差不多,不同的硬件设计可能有不一样的地方,但基本的都是一样的。由于片外FLASH可以设计的大,所以这里编写的BOOTLOADER可以一步到位,也就是说不用像片内启动可能需要BOOT好几级了,目前AT91RM9200上使用较多的bootloer是u-boot,这是一个开放源代码的软件,用户可以自由下载并根据自己的应用配置。总的说来,笔者以为AT91RM9200的启动过程比较简单,ATMEL的服务也不错,不但提供了片内启动的功能,还提供了UBOOT可供下载。笔者写了一个BOOTLODER从片外的FLASHA启动,效果还可以。 uboot结构与使用uboot是一个庞大的公开源码的软件。他支持一些系列的arm体系,包含常见的外设的驱动,是一个功能强大的板极支持包。其代码可以 http://sourceforge.net/projects/u-boot下载 在9200上,为了启动uboot,还有两个boot软件包,分别是loader和boot。分别完成从sram和flash中的一级boot。其源码可以从atmel的官方网站下载。 我们知道,当9200系统上电后,如果bms为高电平,则系统从片内rom启动,这时rom中固化的boot程序初始化了debug口并向其发送'c',这时我们打开超级终端会看到ccccc...。这说明系统已经启动,同时xmodem协议已经启动,用户可以通过超级终端下载用户的bootloader。作为第一步,我们下载loader.bin.loader.bin将被下载到片内的sram中。这个loder完成的功能主要是初始化时钟,sdram和xmodem协议,为下载和启动uboot做准备。当下载了loader.bin后,超级终端会继续打印:ccccc....。这时我们就可以下在uboot了。uboot将被下载到sdram中的一个地址后并把pc指针调到此处开始执行uboot。接着我们就可以在终端上看到uboot的shell启动了,提示符uboot>,用户可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了对内存、flash、网络、系统启动等一些命令。 如果系统上电时bms为低电平,则系统从片外的flash启动。为了从片外的flash启动uboot,我们必须把boot.bin放到0x0地址出,使得从flash启动后首先执行boot.bin,而要少些boot.bin,就要先完成上面我们讲的那些步骤,首先开始从片内rom启动uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz烧写到flash中的目的,假如我们已经启动了uboot,可以这样操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系统复位,就可以看到系统先启动boot,然后解压缩uboot.gz,然后启动uboot。注意,这里uboot必须压缩成.gz文件,否则会出错。 怎么编译这三个源码包呢,首先要建立一个arm的交叉编译环境,关于如何建立,此处不予说明。建立好了以后,分别解压源码包,然后修改Makefile中的编译器项目,正确填写你的编译器的所在路径。 对loader和boot,直接make。对uboot,第一步:make_at91rm9200dk,第二步:make。这样就会在当前目录下分别生成*.bin文件,对于uboot.bin,我们还要压缩成.gz文件。 也许有的人对loader和boot搞不清楚为什么要两个,有什么区别吗?首先有区别,boot主要完成从flash中启动uboot的功能,他要对uboot的压缩文件进行解压,除此之外,他和loader并无大的区别,你可以把boot理解为在loader的基础上加入了解压缩.gz的功能而已。所以这两个并无多大的本质不同,只是他们的使命不同而已。 特别说名的是这三个软件包都是开放源码的,所以用户可以根据自己的系统的情况修改和配置以及裁减,打造属于自己系统的bootloder。

    标签: 9200 at 91 rm

    上传时间: 2013-10-27

    上传用户:wsf950131