清华大学谭浩强老师编著的《C语言程序设计》全书-The book c programming language
上传时间: 2013-04-24
上传用户:不挑食的老鼠
随着现代计算机技术和互联网技术的飞速发展,嵌入式系统成为了当前信息行业最热门的焦点之一。ARM以其高性能低功耗的特点成为目前主流的32位嵌入式处理器而在数码产品中广泛使用,随着数码相机的普及,数码相框产品得到推广,数码相框通过一个液晶的屏幕显示数码照片而非纸质照片,数码相框比普通相框更灵活多变,也给现在日益使用的数码相片一个新的展示空间。在嵌入式操作系统方面,uC/OS—Ⅱ凭借其小内核、多任务、丰富的系统服务、容易使用以及源码公开等特点被嵌入式系统开发者广泛用在各种嵌入式设备开发中。uC/FS嵌入式文件系统由于稳定性,可移植性以及与uC/OS—Ⅱ内核的相兼容被广泛用在基于uC/OS—Ⅱ的嵌入式系统开发中。NAND Flash存储器由于其大容量数据存储、高速存取速度、易于擦除和重写、功耗小等特点被广泛应用于便携式电子设备的数据存储、嵌入式系统的程序存储载体中。 本论文的硬件工作平台是艾科公司研发的数码相框芯片方案ARK1600,该平台集成了嵌入式系统设计所需的相关硬件模块。本论文的主要设计目标是在该平台上实现NAND Flash存储设备驱动的系统级方案,即在ARK1600平台上通过构建uC/OS—Ⅱ操作系统以及uC/FS文件系统来实现NAND Flash设备驱动挂接。本论文是在Windows环境下通过ARM ADS实现代码的编译,通过Multi—ICE进行前期调试以及USB—Debug进行后期的系统整合调试。 本论文的主要研究工作具体涉及以下三个的方面:首先研究了ARM相关构架以及uC/OS—Ⅱ操作系统的特点,并在此基础上移植uC/OS—Ⅱ操作系统到ARK1600平台,分析ARK1600硬件体系结构的基础上详细分析了BootLoader的相关概念,并重点阐述了NAND BootLoader程序设计与实现过程;其次在文件系统方面,本论文成功移植uC/FS嵌入式文件系统到ARK1600平台,在移植的过程中采用了动态文件缓冲区算法提高了该文件系统的数据传输效率;最后重点讨论了NAND Flash驱动在ARK1600的实现,主要分析了NAND Flash的数据存储结构,并从物理层,逻辑层和文件系统接口层三个方面具体分析了NAND Flash驱动程序的实现,并在NAND Flash逻辑层驱动实现时通过采用坏块处理表算法实现了NAND的磨损均衡问题。
上传时间: 2013-07-31
上传用户:xcy122677
JPEG2000是由ISO/ITU-T组织下的IEC JTC1/SC29/WG1小组制定的下一代静止图像压缩标准.与JPEG(Joint Photographic Experts Group)相比,JPEG2000能够提供更好的数据压缩比,并且提供了一些JPEG所不具有的功能[1].JPEG2000具有的多种特性使得它具有广泛的应用前景.但是,JPEG2000是一个复杂编码系统,目前为止的软件实现方案的执行时间和所需的存储量较大,若想将JPEG2000应用于实际中,有着较大的困难,而用硬件电路实现JPEG2000或者其中的某些模块,必然能够减少JPEG200的执行时间,因而具有重要的意义.本文首先简单介绍了JPEG2000这一新的静止图像压缩标准,然后对算术编码的原理及实现算法进行了深入的研究,并重点探讨了JPEG2000中算术编码的硬件实现问题,给出了一种硬件最优化的算术编码实现方案.最后使用硬件描述语言(Very High Speed Integrated Circuit Hardware Description Language,VHDL)在寄存器传输级(Register Transfer Level,RTL描述了该硬件最优化的算术编码实现方案,并以Altera 20K200E FPGA为基础,在Active-HDL环境中进行了功能仿真,在Quartus Ⅱ集成开发环境下完成了综合以及后仿真,综合得到的最高工作时钟频率达45.81MHz.在相同的输入条件下,输出结果表明,本文设计的硬件算术编码器与实现JPEG2000的软件:Jasper[2]中的算术编码模块相比,处理时间缩短了30﹪左右.因而本文的研究对于JPEG2000应用于数字监控系统等实际应用有着重要的意义.
上传时间: 2013-05-16
上传用户:671145514
该文探讨了以FPGA(Field Programmable Gates Array)为平台,使用HDL(Hardware Description Language)语言设计并实现符合JPEG静态图象压缩算法基本模式标准的图象压缩芯片.在简要介绍JPEG基本模式标准和FPGA设计流程的基础上,针对JPEG基本模式硬件编码器传统结构的缺点,提出了一种新的改进结构.JPEG基本模式硬件编码器改进结构的设计思想、设计结构和Verilog设计实现在其后章节中进行了详细阐述,并分别给出了改进结构中各个模块的单独测试结果.在该文的测试部分,阐述利用实际图像作为输入,从FPGA的输出得到了正确的压缩图像,计算了相应的图像压缩速度和图象质量指标,并与软件压缩的速度和结果做了对比,提出了未来的改进建议.
上传时间: 2013-04-24
上传用户:Andy123456
随着电子技术和EDA技术的发展,大规模可编程逻辑器件PLD(Programmable Logic Device)、现场可编程门阵列FPGA(Field Programmable Gates Array)完全可以取代大规模集成电路芯片,实现计算机可编程接口芯片的功能,并可将若干接口电路的功能集成到一片PLD或FPGA中.基于大规模PLD或FPGA的计算机接口电路不仅具有集成度高、体积小和功耗低等优点,而且还具有独特的用户可编程能力,从而实现计算机系统的功能重构.该课题以Altera公司FPGA(FLEX10K)系列产品为载体,在MAX+PLUSⅡ开发环境下采用VHDL语言,设计并实现了计算机可编程并行接芯片8255的功能.设计采用VHDL的结构描述风格,依据芯片功能将系统划分为内核和外围逻辑两大模块,其中内核模块又分为RORT A、RORT B、OROT C和Control模块,每个底层模块采用RTL(Registers Transfer Language)级描述,整体生成采用MAX+PLUSⅡ的图形输入法.通过波形仿真、下载芯片的测试,完成了计算机可编程并行接芯片8255的功能.
上传时间: 2013-06-08
上传用户:asddsd
在无线通信系统中,信号在传输过程中由于多径效应和信道带宽的有限性以及信道特性的不完善性导致不可避免地产生码间串扰(Intersymbol Interference).为了克服码间串扰所带来的信号畸变,则必须在接收端增加均衡器,以补偿信道特性,正确恢复发送序列.盲均衡器由于不需要训练序列,仅利用接收信号的统计特性就能对信道特性进行均衡,消除码间串扰,成为近年来通信领域研究的热点课题.本课题采用已经取得了很多研究成果的Bussgang类盲均衡算法,主要因为它的计算复杂度小,便于实时实现,具有较好的性能.本文探讨了以FPGA(Field Programmable Gates Array)为平台,使用Verilog HDL(Hardware Description Language)语言设计并实现基于Bussgang类型算法的盲均衡器的硬件系统.本文简要介绍了Bussgang类型盲均衡算法中的判决引导LMS(DDLMS)和常模(CMA)两种算法和FPGA设计流程.并详细阐述了基于FPGA的信道盲均衡器的设计思想、设计结构和Verilog设计实现,以及分别给出了各个模块的结构框图以及验证结果.本课题所设计和实现的信道盲均衡器,为电子设计自动化(EDA)技术做了有益的探索性尝试,对今后无线通信系统中的单芯片可编程系统(SOPC)的设计运用有着积极的借鉴意义.
上传时间: 2013-07-25
上传用户:cuibaigao
Verilog HDL是一种硬件描述语言(HDL:Hardware Discription Language),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。 Verilog HDL和VHDL是目前世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。前者由Gateway Design Automation公司(该公司于1989年被Cadence公司收购)开发。该书本由浅入深的介绍了该技术的相关知识。推荐阅读。
标签: VerilogHDL 数字设计
上传时间: 2013-05-30
上传用户:13081287919
the language of c 懂电路图一般都能看懂
上传时间: 2013-07-07
上传用户:lindor
可编程逻辑芯片特别是现场可编程门阵列(Field-Programmable Gate Array,FPGA)芯片的快速发展,使得新的芯片能够根据具体应用动态地调整结构以获得更好的性能,这类芯片称为动态可重构FPGA芯片(Dynamically ReconfigurableFPGA,DRFPGA)。然而,使用这类芯片构建的可重构系统在实际应用前还有许多问题需要解决。一个基本的问题就是动态可重构FPGA芯片中的可重构功能单元(Reconfigurable Functional Unit,RFU)的模块布局问题和模块间的布线问题。 本文从基本的FPGA芯片结构和CAD算法谈起,介绍了可重构计算的概念,建立了可重构计算系统模型和动态可重构FPGA芯片模型,在此模型上提出一个基于划分和时延驱动的在线布局算法,和一个基于Pathfinder协商拥塞算法的布线算法,来解决动态可重构FPGA芯片的布局和布线问题。由硬件描述语言(Hardware Description Language,HDL)描述的电路首先被划分成有限数目的层,然后将这些电路层布局到芯片的每一层,同时确保关键路径的时延最小。实验结果表明,布局算法与传统的布局算法(或者文献[37]中的算法)相比,在时延上平均减少27%,在线长上平均减少34%(或者11%),在运行时间上平均减少42%(或者97%)。布线算法与传统的布线算法相比,能够将线长降低26%,将水平通道宽度降低27%,显示出较高的性能。
上传时间: 2013-05-24
上传用户:Neoemily
LAMOST(Large Sky Area Multi-Obiect Fiber Spectroscopy Telescope,大天区面积多目标光纤光谱天文望远镜)需要对焦而上的4 000个光纤定位单元进行精确定位,一个光纤定位单元需要两个步进电机来驱动,即需要对8 000个电机进行驱动控制。如何对这8 000个电机进行有效的控制,是本文主要的研究内容。 本义引入EDA(Electronic Design Automation),技术,以FPGA和CAN总线为硬件载体来进行设计。FPGA相比较于DSP,单片机而言,具有10管脚多,资源丰富,使用灵活等优点,可以存片内集成多个电机的摔制,这样对于提高系统的集成度,节约成本无疑有着很大的帮助。 在电机的控制当中,其失步和过冲会直接影响到系统的精度,所以需要对电机脉冲频率加以控制,对于在平稳状态下能正常工作的电机,失步往往发生在启动停止等脉冲频率突然发生改变的时刻。具体实现方法是通过实验找出一条理想的加减速曲线,再将曲线离散化,并把离散化后的加减速分频系数存储在FPGA片内ROM里而,当电机运行到对应的步数时,取出分频系数来获取对应的运行频率。 在LAMOST观测中,光纤定位单元的零位是个很重要的基准,在每次观测之前,电机都要回零,理论上电气零位和机械零位在同一点上,如果电气检测到达零位则认为已经到达机械零位位置。但是实际中由于装配等一些原因,可能会出现零位短路和零位断路的情况。零位断路是指电机处于机械零位,但是电气不能检测到;零位短路是指电机不在机械零位,但是电气已经检测到处于零位。这两种情况会造成越界和机械零位一直被挤压的后果,有可能会损坏光纤定位单元,为了防止这些情况出现,软件程序中加入了计数器,从而从有效地保护了光纤定位单元,同时将这些状况向上反馈,以便维护和检修。 在本文完成之时,能够控制驱动336个光纤定位单元的小系统已经在北京天文台兴隆观测站实际投入运行,并于2007年5月28日获得首条光谱,取得了不错的效果。
上传时间: 2013-04-24
上传用户:afeiafei309