51单片机上c语言编程手册,非常实用,我自己就是看着这个学习的
上传时间: 2013-05-18
上传用户:ikemada
通用异步收发器(Universal Asynchronous Receiver Transmitter,UART)是一种能同时支持短距离和长距离数据传输的串行通信接口,被广泛应用于微机和外设之间的数据交换。像8251、NS8250、NS16550等都是常用的UART芯片,但是这些专用的串行接口芯片的缺点是数据传输速率比较慢,难以满足高速率数据传输的场合,而更重要的就是它们都具有不可移植性,因此要利用这些芯片来实现PC机和FPGA芯片之间的通信,势必会增加接口连线的复杂程度以及降低整个系统的稳定性和有效性。 本课题就是针对UART的特点以及FPGA设计具有可移植性的优势,提出了一种基于FPGA芯片的嵌入式UART设计方法,其中主要包括状态机的描述形式以及自顶向下的设计方法,利用硬件描述语言来编制UART的各个子功能模块以及顶层模块,之后将其集成到FPGA芯片的内部,这样不仅能解决传统UART芯片的缺点而且同时也使整个系统变得更加具有紧凑性以及可靠性。 本课题所设计的LIART支持标准的RS-232C传输协议,主要设计有发送模块、接收模块、线路控制与中断仲裁模块、Modem控制模块以及两个独立的数据缓冲区FIFO模块。该模块具有可变的波特率、数据帧长度以及奇偶校验方式,还有多种中断源、中断优先级、较强的抗干扰数据接收能力以及芯片内部自诊断的能力,模块内分开的接收和发送数据缓冲寄存器能实现全双工通信。除此之外最重要的是利用IP模块复用技术设计数据缓冲区FIFO,采用两种可选择的数据缓冲模式。这样既可以应用于高速的数据传输环境,也能适合低速的数据传输场合,因此可以达到资源利用的最大化。 在具体的设计过程中,利用Synplify Pro综合工具、ModelSim仿真工具、ISE集成的软件开发环境中对各个功能模块进行综合优化、仿真验证以及下载实现。各项数据结果表明,本课题中所设计的UART满足预期设计目标。
上传时间: 2013-08-02
上传用户:rocketrevenge
本课题是在课题组已实现的高速串行通信平台的基础上,进一步引伸,设计开源的PCI软核通信模块替代Xilinx公司提供的LogiCORE PCI核,力求在从模式下,做到占用资源更少,传输速度更快,也为以后实现更完整的功能提供平台。 本文以此为背景,基于FPGA平台,搭建以开源的PCI软核为核心的串行通信接口平台,使其成为PCI总线与用户逻辑之间的桥梁,使用户逻辑避开与复杂的PCI总线协议。本课题采用Spartan-II FPGA芯片XC2S200-6FG456C系统开发板作为串行通信接口的硬件实验平台,实现了支持配置读/写交易、单数据段读/写、突发模式读/写、命令/地址译码功能和数据传送错误检测与处理功能的PCI软核。 本文主要阐述了以PCI软核为核心的串行通信平台的实现,首先介绍了PCI软核的编程语言、软件工具和硬件实验平台Spartan-II FPGA芯片XC2S200-6FG456C系统开发板。然后,介绍了PCI总线命令、PCI软核所支持的功能、PCI软核两侧信号的定义、PCI软核配置模块以及探讨了PCI软核的状态机接收、发送数据等过程,分析了PCI软核的数据收发功能仿真,主要包括配置读/写交易、单数据段模式读/写和突发模式读/写的仿真图形,并阐述了管脚约束的操作流程。最后介绍PCI软核模块的WDM驱动,内容包括驱动程序简介、驱动程序的开发、中断处理、驱动程序与应用程序之间的通信以及应用程序操作。最后,对PCI软核的各种性能进行了比较分析。整个模块设计紧凑,完成在实验平台上的数据发送。 设计选用硬件描述语言VerilogHDL,在开发工具Xilinx ISE7.1中完成整个系统的设计、综合、布局布线,利用Modelsim进行功能及时序仿真,使用DriverWorks为PCI软核编写WinXP下的驱动程序,用VC++6.0编写相应的测试应用程序。之后,将FPGA设计下载到Spanan-II FPGA芯片XC2S200-6FG456C系统开发板中运行。 文章最后指出工作中的不足之处和需要进一步完善的地方。
上传时间: 2013-04-24
上传用户:sc965382896
互联网、移动通信、星基导航是21世纪信息社会的三大支柱产业,而GPS系统的技术水平和发展历程代表着全世界卫星导航系统的发展状况。目前,我国已经成为GPS的使用大国,卫星导航产业链也已基本形成。然而,我们对GPS核心技术(即如何捕获卫星信号并保持对信号的跟踪)的研究还不够深入,我国GPS产品的核心部分多数还是靠进口。因此,对GPS核心技术的研究是非常紧迫的。 本文首先介绍了GPS的定位原理,之后阐述了GPS接收机的基本原理一直接扩频通信和GPS信号的结构与特性。从这些方面出发研究接收机基带处理器的捕获与跟踪设计方案。 设计过程中,先详细分析了滑动相关的捕获算法和基于FFT的快速捕获算法,并利用matlab进行了验证。由于前者灵活性好且可捕获到高精度的码相位和载波频率,适合于本文的硬件接收机,所以本文确定了滑动相关的捕获方案。 接着分析了跟踪环路的特点,跟踪模块采用码跟踪环和载波跟踪环耦合的方法实现。由于GPS系统通常工作在非常低的信噪比环境中,而非相干环在低信噪比下环路跟踪性能较好,所以码跟踪环采用非相干(DDLL)环实现。这种跟踪环路采用的鉴相器是能量鉴相器,对数据的调制和载波相位都不敏感,鉴相器不会产生不确定量。由于输入信号存在180°相位翻转,而COSTAS锁相环允许数据调制,对I支路和Q支路信号的180°相位翻转不敏感,所以载波跟踪环采用COSTAS锁相环实现。上述算法在matlab环境下得到了验证。 基带处理器电路的主要模块在Quartus II8.0开发平台上利用VHDL硬件描述语言实现。然后利用EDA仿真工具ModelSim-Altera6.1g进行了逻辑仿真。本设计满足系统功能和性能的要求,可以直接用于实时GPS接收机系统的设计中,为自主设计GPS接收机奠定了基础。 最后,由于在弱电磁环境下,捕获失锁后32PPS信号会丢失。所以设计了一个能授时和守时的算法去得到与GPS时同步的精确授时秒信号。并且实现了这个算法。
上传时间: 2013-04-24
上传用户:zuozuo1215
《单片机C语言程序设计实训100例——基于8051+Proteus仿真》,附有电路图及hex文件
上传时间: 2013-07-19
上传用户:nanfeicui
单片机C语言的理论书籍,内容比较丰富,涵盖了单片机C语言的各种应用。
上传时间: 2013-07-11
上传用户:liangrb
这是我们实验室培训C语言时用的课件,个人觉得很不错
上传时间: 2013-06-25
上传用户:zhengjian
ARM嵌入式系统C语言编程资料,欢迎各位朋友 下载
上传时间: 2013-06-06
上传用户:himbly
C程序设计语言(第2版·新版)非扫描版&详细书签版.pdfC程序设计语言(第2版·新版)非扫描版&详细书签版.pdf
上传时间: 2013-04-24
上传用户:busterman
近年来,大容量数据存储设备主要是机械硬盘,机械硬盘采用机械马达和磁片作为载体,存在抗震性能低、高功耗和速度提升难度大等缺点。固态硬盘是以半导体作为存储介质及控制载体,无机械装置,具有抗震、宽温、无噪、可靠和节能等特点,是目前存储领域所存在问题的解决方案之一。本文针对这一问题,设计基于FPGA的固态硬盘控制器,实现数据的固态存储。 文章首先介绍硬盘技术的发展,分析固态硬盘的技术现状和发展趋势,阐述课题研究意义,并概述了本文研究的主要内容及所做的工作。然后从分析固态硬盘控制器的关键技术入手,研究了SATA接口协议和NANDFLASH芯片特性。整体设计采用SOPC架构,所有功能由单片FPGA完成。移植MicroBlaze嵌入式处理器软核作为主控制器,利用Verilog HDL语言描述IP核形式设计SATA控制器核和NAND FLASH控制器核。SATA控制器核作为高速串行传输接口,实现SATA1.0协议,根据协议划分四层模型,通过状态机和逻辑电路实现协议功能。NAND FLASH控制器核管理NANDFLASH芯片阵列,将NAND FLASH接口转换成通用的SRAM接口,提高访问效率。控制器完成NAND FLASH存储管理和纠错算法,实现数据的存储和读取。最后完成固态硬盘控制器的模块测试和整体测试,介绍了测试方法、测试工具和测试流程,给出测试数据和结果分析,得出了验证结论。 本文设计的固态硬盘控制器,具有结构简单和稳定性高的特点,易于升级和二次开发,是实现固态硬盘和固态存储系统的关键技术。
上传时间: 2013-05-28
上传用户:sssnaxie