文档库 最新最全的文档下载
当前位置:文档库 › 单片机,DSP和FPGA区别以及发展前景

单片机,DSP和FPGA区别以及发展前景

单片机,DSP和FPGA区别以及发展前景
单片机,DSP和FPGA区别以及发展前景

单片机、dsp、FPGA/CPLD的分析、比较

硬件天地2009-02-15 11:54:39 阅读367 评论0 字号:大中小订阅

引言

信息技术正在快速发展,其应用已经深入到各个领域各个方面。如今越来越多的电子产品向着智能化、微型化、低功耗方向发展,其中有的产品还需要实时控制和信号处理。电子系统的复杂性在不断增加,它迫切要求电子设计技术也有相应的变革和飞跃。使用纯SSI 数字电路设计系统工作量大,灵活性低,而且系统可靠性差。广泛使用单片机(MCU) 设计系统克服了纯SSI 数字电路系统许多不可逾越的困难,是一个具有里程碑意义的飞跃。而DSP 以其极强的信号处理功能赢得了广阔的市场,得到了广泛地应用。近年来,PLD 器件迅速发展,尤其是CPLD/ FPGA 向深亚微米领域进军,PLD 器件得到了广泛应用,以CPLD/ FPGA 为物质基础的EDA 技术诞生了。它具有电子技术高度智能化、自动化的特点,打破了软硬件最后的屏障,使得硬件设计如同软件设计一样简单。它作为一种创新技术正在改变着数字系统的设计方法、设计过程和设计观念。单片机,DSP ,PLD/ EDA 以其各自的特点满足了各种需要,正从各个领域各个层面改变着世界,它们已经成为数字时代的核心动力,推动着信息技术的快速发展。

以下,我们将对单片机,DSP ,PLD/ EDA 分别加以介绍,并作比较和分析。

单片机

单片机是集成了CPU ,ROM ,RAM 和I/ O 口的微型计算机。它有很强的接口性能,非常适合于工业控制,因此又叫微控制器(MCU) 。它与通用处理器不同,它是以工业测控对象、环境、接口等特点出发,向着增强控制功能,提高工业环境下的可靠性、灵活方便地构成应用计算机系统的界面接口的方向发展。所以,单片机有着自己的特点。

品种齐全,型号多样

自从INTEL 推出51 系列单片机,许多公司对它做出改进,发展成为增强型51 系列,而且新的单片机类型也不断涌现。如MOTOROLA 和PHIL IPS 均有几十个系列,几百种产品。CPU 从8 ,16 ,32 到64 位,多采用RISC 技术,片上I/O 非常丰富,有的单片机集成有A/ D ,“看门狗”,PWM ,显示驱动,函数发生器,键盘控制等,它们的价格也高低不等,这样极大地满足了开发者的

选择自由。

低电压和低功耗

随着超大规模集成电路的发展,NMOS 工艺单片机被CMOS代替,并开始向HMOS 过渡。供电电压由5V 降到3V ,2V 甚至到1V ,工作电流由mA 降至μA ,这在便携式产品中大有用武之地。

DSP 芯片

DSP 又叫数字信号处理器。顾名思义,DSP 主要用于数字信号处理领域,非常适合高密度,重复运算及大数据容量的信号处理。现在已经广泛应用于通信、便携式计算机和便携式仪表、雷达、图像、航空、家用电器、医疗设备等领域,常见的手机、数字电视和数码相机都离不开DSP。DSP 用于手机和基站中为移动通信的发展做出重要贡献,将在2. 5G和3G中扮演重要角色。可以说,DSP 已经融入到生活的方方面面。

DSP 相对于一般微处理器作了很大的扩充和增强,主要是:

a) 修正的哈佛结构,多总线技术以及流水线结构。将程序与数据存储器分开,使用多总线,取指令和取数据同时进行,以及流水线技术,这使得速度有了较大的提高。

b) 硬件乘法器以及特殊指令。这是区别于一般微处理器的重要标志。一般微处理器用软件实现乘法,逐条执行指令,速度慢。而DSP 依靠硬件乘法器单周期完成乘法运算,而且还具有专门的信号处理指令,如TM320 系列的FIRS ,LMS ,MACD 指令等。

EDA 技术

当今电子系统的复杂性在不断增加,而电子产品的更新换代越来越快,传统的设计方法难以适应。随着计算机技术的发展,ECAD 在某种程度上减轻了设计人员的工作压力,但其智能化、自动化水平仍不尽人意。于是EDA 技术作为一种全新的技术诞生了。它正改变着数字系统和设计方法,设计过程和设计观念。

EDA(即Electronic Design Automation) 即电子设计自动化,它是以计算机为工具,在EDA 软件平台上,对用硬件描述语言HDL 完成的设计文件自动地逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片进行适配编译、逻辑影射和编程下载等。设计者只需用HDL 语言完成系统功能的描述,借助EDA 工具就可得到设计结果,将编译后的代码下载到目标芯片就可在硬件上实现。这里的目标芯片就是PLD 器件

( FPGA/CPLD) 。FPGA/ CPLD 是EDA 技术的物质基础,这两者是分不开的。可以说没有PLD 器件,EDA 技术就成为无源之水。

EDA 技术作为一种现代电子系统开发方式,具有两方面特点。

修改软件程序即可改变硬件

由于FPGA/ CPLD 可以通过软件编程对该硬件的结构和工作方式进行重构,修改软件程序就相当于改变了硬件,这是非常有用的。软件可以使用自顶向下的设计方案,而且可以多个人分工并行工作,这些年来IP 核产业的崛起,将若干软核结合起来就可以构成一个完整的系统,这一切极大地缩短了开发周期和上市时间,有利于在激烈的市场竞争中抢占先机。

速度快,可靠性高

MCU 和DSP 都是通过串行执行指令来实现特定功能,不可避免低速,而FPGA/ CPLD 则可实现硬件上的并行工作,在实时测控和高速应用领域前景广阔;另一方面,FPGA/CPLD 器件在功能开发上是软件实现的,但物理机制却和纯硬件电路一样,十分可靠。而MCU 和DSP 芯片在强干扰条件下,尤其是强电磁干扰下,很可能越出正常的工作流程,出现PC 跑飞现象。EDA 高可靠性正好克服了它们这一先天不足。

结束语

单片机,DSP 和FPGA/ CPLD 各具特色,满足了不同需要,已经成为数字时代的核心动力。为了充分发挥它们的优势,三者结合成为一个新的发展趋势。

MCU 与DSP 的结合

MCU 价格底,能很好地完成通信和智能控制的任务,但信号处理能力差。DSP 恰好相反。把两者结合,能满足同时需要智能控制和数字信号处理的场合,如蜂窝电话,无绳网络产品等,这有利于减小体积,降低功耗和成本。

DSP 和FPGA/ CPLD 的结合

由于FPGA/ CPLD 兼有串/ 并行工作方式,高速度和宽口径适用性等特点,将DSP 与FPGA 集成在一个芯片上,可实现宽带信号处理,极大地提高信号处理速度。另外,FPGA可以进行硬件重构,功能扩展或性能改善非常容易。总之,单片机,DSP ,PLD/ EDA 极大地推动了信息技术的发展。要作为一名工程师,必须掌握从系统设计级、电路设计级到物理实现级整个过程分析设计能力,能熟练使用新器件,新的开发工具,并不断更新观念,只有这样,才能适应时代发展,才能把握现在,创造未来!

基于FPGA的QPSK调制解调电路设计与实现

基于FPGA的QPSK调制解调电路设计与实现数字调制信号又称为键控信号,调制过程可用键控的方法由基带信号对载频信号的振幅、频率及相位进行调制,最基本的方法有3种:正交幅度调制(QAM)、频移键控(FSK)、相移键控(PSK).根据所处理的基带信号的进制不同分为二进制和多进制调制(M进制).多进制数字调制与二进制相比,其频谱利用率更高.其中QPSK(即4PSK)是MPSK(多进制相移键控)中应用最广泛的一种调制方式。 1 QPSK简介 QPSK信号有00、01、10、11四种状态。所以,对输入的二进制序列,首先必须分组,每两位码元一组。然后根据组合情况,用载波的四种相位表征它们。QPSK信号实际上是两路正交双边带信号, 可由图1所示方法产生。 QPSK信号是两个正交的2PSK信号的合成,所以可仿照2PSK信号的相平解调法,用两个正交的相干载波分别检测A和B两个分量,然后还原成串行二进制数字信号,即可完成QPSK信号的解调,解调过程如图2所示。

图1 QPSK信号调制原理图 图2 QPSK信号解调原理图 2 QPSK调制电路的FPGA实现及仿真 2.1基于FPGA的QPSK调制电路方框图 基带信号通过串/并转换器得到2位并行信号,,四选一开关根据该数据,选择载波对应的相位进行输出,即得到调制信号,调制框图如图3所示。 图3 QPSK调制电路框图 系统顶层框图如下

图中输入信号clk为调制模块时钟,start为调制模块的使能信号,x为基带信号,y是qpsk调制信号的输出端,carrier【3..0】为4种不同相位的载波,其相位非别为0、90、180、270度,锁相环模块用来进行相位调节,用来模拟通信系统中发送时钟与接收时钟的不同步start1为解调模块的使能信号。y2为解调信号的输出端。 2.2调制电路VHDL程序 程序说明

1单片机并口简单应用(流水灯)

试验1 单片机并口简单应用(流水灯) 实验目的 1、了解单片机C语言程序的基本结构 2、了解单片机C语言程序的设计和调试方法 3、掌握顺序控制程序的简单编程 4、熟悉51单片机的端口使用 实验仪器 单片机开发试验仪、稳压电源、计算机 实验原理 1、硬件电路 如图1所示,流水灯硬件电路由发光二极管、单片机并口(P0)、限流电阻等组成。发光二极管连接成共阳极结构。发光二极管点亮的条件是:阳极接高电平、各阴极接低电平。因此,二极管公共端阳极就接成高电平,然后再按一定规则从P0口输出数据,发光二极管就会点亮。 图1 流水灯电路图 2、程序流程图如下。

实验内容:1、开发板接线图 延时 P0口初态循环右移1位 P0口状重新赋值0XFE 开始 P0口输出0XFE P0是否等于0X00 Y N

2、开发环境设置 打开keil软件,版本μ Vision2 ,μvision3,μvision4 都一样,在这里用μvision4版本演示,打开之后如下图,有的时候会默认打开上次使用的工程,单击Project 菜单,选择 Close Project 关闭了默认打开的工程,显示下图界面: 我们要建立新的工程,选择Project→ newμ vision projiect… 选择工程要保存的路径,输入工程文件名,如图

点击保存后会弹出一个对话框,要求用户选择单片机型号,可以根据用户使用的单片机来选择,我们使用的STC90单片机是兼容51内核的,Keil C51 几乎支持所有的51内核单片机,51内核具有通用型,如果程序用的资源不是太复杂,我们可以选择任意一款51单片机内核就行。例程以添加Atmel 的AT89C51来说明。如图,然后,单击确定(OK)。 功能描述 如果出现下面的界面:单击是就可以,意思是将单片机的启动代码添加到工程,我们不用修改。 到目前我们还没建立一个完整的工程,只是有工程的名字,框架,工程中还没有任何文件代码,(除了启动代码,有的keil 版本不显示启动代码),接下来我们添加文件及代码。 单击菜单File→New 选项,或者单击界面上的快捷图标,新建文件串口如下。

qpsk调制解调——基于fpga

一实验概述 本实验包括:分频器设计、计数器设计、串行移位输出器设计、伪码发生器设计、QPSK I/Q调制器设计、QPSK I/Q解调器设计,基于选项法中频调制器设计并将其综合起来组成一个系统。 二实验仪器 计算机ALTER公司的Quartus8.0 EDA试验箱。 三EDA及实验工具简介 EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。从应用领域来看,EDA技术已经渗透到各行各业,如上文所说,包括在机械、电子、通信、航空航航天、化工、矿产、生物、医学、军事等各个领域,都有EDA应用。 quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。Altera quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字

系统设计者的欢迎。 四 实验步骤及实验模块参数 (一)设计一个分频器,要求29 分频。 (二)设计计数器,计数值16。 (三)设计串行移位输出器,移位级数14。 (四)设计伪码发生器,伪码产生的数据数率要8Kb/s ,特征方程13 59+++x x x 。 (五)设计QPSK I/Q 调制器,调制载波288KHZ ,基带速率576KHZ ,系统时 钟4068KHZ 。 (六)设计QPSK I/Q 解调器,调制载波576KHZ ,基带速率288KHZ ,系统时钟4068KHZ 。 (七)设计选项法中频调制,调制载波是基带载波的16倍。 (八)设计中频调制对应的解调器,解调出I/Q 两路信号,并合成原始信号。 (九)系统综合,用模块构建整个系统,实现调制解调功能。 实验项目设计要求: 利用自己前列试验项目设计结果,构建如下框图所示的调制、解调系统。完成对下述系统的构建、调试、仿真,使之达到运行正确。 D

qpsk调制解调——基于fpga

一 实验概述 本实验包括:分频器设计、计数器设计、串行移位输出器设计、伪码发生器设计、QPSK I/Q 调制器设计、QPSK I/Q 解调器设计,基于选项法中频调制器设计并将其综合起来组成一个系统。 二 实验仪器 计算机ALTER 公司的Quartus8.0 EDA 试验箱。 三 EDA 及实验工具简介 EDA 技术就是以计算机为工具,设计者在EDA 软件平台上,用硬件描述语言VHDL 完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA 技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。从应用领域来看,EDA 技术已经渗透到各行各业,如上文所说,包括在机械、电子、通信、航空航航天、化工、矿产、生物、医学、军事等各个领域,都有EDA 应用。 quartus II 是Altera 公司的综合性PLD 开发软件,支持原理图、VHDL 、VerilogHDL 以及AHDL (Altera Hardware Description Language )等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD 设计流程。quartus II 可以在XP 、Linux 以及Unix 上使用,除了可以使用Tcl 脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。Altera quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。 四 实验步骤及实验模块参数 (一)设计一个分频器,要求29 分频。 (二)设计计数器,计数值16。 (三)设计串行移位输出器,移位级数14。 (四)设计伪码发生器,伪码产生的数据数率要8Kb/s ,特征方程13 59+++x x x 。 (五)设计QPSK I/Q 调制器,调制载波288KHZ ,基带速率576KHZ ,系统时 钟4068KHZ 。 (六)设计QPSK I/Q 解调器,调制载波576KHZ ,基带速率288KHZ ,系统时钟4068KHZ 。 (七)设计选项法中频调制,调制载波是基带载波的16倍。 (八)设计中频调制对应的解调器,解调出I/Q 两路信号,并合成原始信号。 (九)系统综合,用模块构建整个系统,实现调制解调功能。

基于FPGA的QPSK调制解调电路设计与实现

基于FPGA的QPSK调制解调电路设计与实现 数字调制信号又称为键控信号,调制过程可用键控的方法由基带信号对载频信号的振幅、频率及相位进行调制,最基本的方法有3种:正交幅度调制(QAM)、频移键控(FSK)、相移键控(PSK).根据所处理的基带信号的进制不同分为二进制和多进制调制(M进制).多进制数字调制与二进制相比,其频谱利用率更高.其中QPSK(即4PSK)是MPSK(多进制相移键控)中应用最广泛的一种调制方式。 1 QPSK简介 QPSK信号有00、01、10、11四种状态。所以,对输入的二进制序列,首先必须分组,每两位码元一组。然后根据组合情况,用载波的四种相位表征它们。QPSK信号实际上是两路正交双边带信号, 可由图1所示方法产生。 QPSK信号是两个正交的2PSK信号的合成,所以可仿照2PSK信号的相平解调法,用两个正交的相干载波分别检测A和B两个分量,然后还原成串行二进制数字信号,即可完成QPSK信号的解调,解调过程如图2所示。

图1 QPSK 信号调制原理图 图2 QPSK 信号解调原理图 2 QPSK 调制电路的FPGA 实现及仿真 2.1基于FPGA 的QPSK 调制电路方框图 基带信号通过串/并转换器得到2位并行信号,,四选一开关根据该数据,选择载波对应的相位进行输出,即得到调制信号,调制框图如图3所示。 基带信号clk start 串/并转换四选一开关 分 频 0°90°180°270° 调制信号 FPGA 图3 QPSK 调制电路框图 系统顶层框图如下

图中输入信号clk为调制模块时钟,start为调制模块的使能信号,x为基带信号,y是qpsk调制信号的输出端,carrier【3..0】为4种不同相位的载波,其相位非别为0、90、180、270度,锁相环模块用来进行相位调节,用来模拟通信系统中发送时钟与接收时钟的不同步start1为解调模块的使能信号。y2为解调信号的输出端。 2.2调制电路VHDL程序 程序说明 信号yy 载波相位载波波形载波符号 “00”0°f3 “01”90°f2 “10”180°f1 “11”270°f0

论文 基于FPGA的QPSK解调器的设计与实现

基于FPGA 的QPSK 解调器的设计与实现 Design and Realization of QPSK Demodulation Based on FPGA Technique 赵海潮(Zhao ,Haichao ) 周荣花(Zhou ,Ronghua ) 沈业兵(Shen ,Yebing ) 北京理工大学 (北京 100081) 摘要:根据软件无线电的思想,用可编程器件FPGA 实现了QPSK 解调,采用带通采样技术对中频为70MHz 的调制信号采样,通过对采样后的频谱进行分析,用相干解调方案实现了全数字解调。整个设计基于XILINX 公司的ISE 开发平台,并用Virtex-II 系列FPGA 实现。用FPGA 实现调制解调器具有体积小、功耗低、集成度高、可软件升级、扰干扰能力强的特点,符合未来通信技术发展的方向。 关键词:QPSK ;FPGA ;软件无线电;带通采样 中图分类号:TN91 文献标识码:A Abstract : This paper describes the design of QPSK demodulator based on the Xilinx's FPGA device. It is in accord with software radio, bandpass sampling and coherent demodulation techniques are used in the demodulation, and also make analysis with the spectrum. key words : QPSK ;FPGA ;software radio ;bandpass sampling 1、引言 四相相移键控信号简称“QPSK ”。它分为绝对相移和相对相移两种。由于绝对移相方式存在相位模糊问题,所以在实际中主要采用相对移相方式QDPSK 。它具有一系列独特的优点,目前已经广泛应用于无线通信中,成为现代通信中一种十分重要的调制解调方式。FPGA 器件是八十年代中期出现的一种新概念,是倍受现代数字系统设计工程师欢迎的新一代系统设计方式。FPGA 器件可反复编程,重复使用,没有前期投资风险,且可以在开发系统中直接进行系统仿真,也没有工艺实现的损耗。因此在小批量的产品开发、研究场合,成本很低。 本文按照软件无线电的设计思想,先进行计算机模拟仿真,具体实现中充分利用FPGA 的特点,并通过带通采样技术,成功的实现了对70MHz 中频QPSK 信号的解调。 2、解调器的设计与实现 在全数字实现QDPSK 解调的过程中,与AD 接口的前端需要很高的处理速度,但是这些处理的算法又比较简单,FPGA 器件独特的并行实时处理的特点刚好可以在这里得到体现,因此,ADC 以后的数字信号处理全部由FPGA 来实现。考虑到QDPSK 相干检测比差分检测有 2.3dB 功率增益,选择用相干解调算法实现解调。解调方框图如下: 图1解调框图 本文采用的解调方案是将AD 量化得到的数字信号)(n x 与NCO 产生的一对相互正交的本

单片机实验-单片机并行IO口的应用实验

单片机并行I/O口的应用实验 一、实验目的 1、熟悉Proteus软件和Keil软件的使用方法。 2、熟悉单片机应用电路的设计方法。 3、掌握单片机并行I/O口的直接应用方法。 4、掌握单片机应用程序的设计和调试方法。 二、实验内容或原理 1、利用单片机并行I/O口控制流水灯。 2、利用单片机并行I/O口控制蜂鸣器。 三、设计要求 1、用Proteus软件画出电路原理图。要求在P1.0至P1.7口 线上分别接LED0至LED7八个发光二极管,在P3.0口线上 接一蜂鸣器。 2、编写程序:要求LED0至LED7以秒速率循环右移。 3、编写程序:要求LED0至LED7以秒速率循环左移。 4、编写程序:要求在灯移动的同时,蜂鸣器逐位报警。 四、实验报告要求 1、实验目的和要求。 2、设计要求。 3、实验程序流程框图和程序清单。 4、电路原理图。 5、实验结果 6、实验总结。 7、思考题。 五、思考题 1、编程实现LED0至LED7以十六进制计数规律亮灯? 原理图:

程序清单: /*(1)LED0~LED7以秒速率循环右移 蜂鸣器逐位报警*/ ORG 0000H MAIN:MOV A, #11111110B;赋初值 LOOP:MOV P1,A ;赋值给P1口 CPL P3.0 ;低电平有效 LCALL DELAY ;调用延时电路 SETB P3.0 ;控制蜂鸣器叫的时间间隔 LCALL DELAY RL A LJMP LOOP DELAY:MOV R7,#0FFH LOOP1:MOV R6,#0F4H LOOP2:MOV R5,#02H DJNZ R5,$ ;"$"当前的PC值,R5的内容减1不为零,继续执行该语句 DJNZ R6,LOOP2 DJNZ R7,LOOP1 RET END /*(2)LED0~LED7以十六进制计数规律亮灯*/ ORG 0000H MOV A,#0FFH LOOP: MOV P1,A LCALL DELAY DEC A CJNE A, #0FFH,LOOP MOV A, #0FFH LJMP LOOP DELAY:MOV R7, #0A7H LOOP1:MOV R6, #0ABH LOOP2:MOV R5, #10H DJNZ R5, $ ;"$"当前的PC值。R5的内容减1不为零 DJNZ R6, LOOP2 DJNZ R7, LOOP1 RET END

单片机并口简单应用(流水灯)实验报告.doc

实验一单片机并口简单应用(流水灯) 实验目的 1、了解单片机汇编语言程序的基本结构 2、了解单片机汇编语言程序的设计和调试方法 3、掌握顺序控制程序的简单编程 实验仪器 单片机开发板、万利仿真机、稳压电源、计算机 实验原理 1、流水灯硬件电路 如图4-1所示,流水灯硬件电路由移位寄存器74LS164、功能选择开关J502、二极管、三极管、单片机并口(P0)、限流电阻等组成。发光二极管连接成共阳极结构。发光二极管点亮的条件是:阳极接高电平、各阴极接低电平。因此,通过程序控制74LS164的Q0端。Q0端输出0,公共端阳极就接成高电平,然后再按一定规则从P0口输出数据,发光二极管就会点亮。 图4-1 流水灯电路图 2、单片机流水灯程序设计 由上图可知,发光二极管要点亮,需要先把J502的2、3脚相连,三极管Q500导通,然后从P0口输出数据。 (1)控制三极管导通程序 控制三极管有两种方法,第一种:在74LS164的第8脚产生一个正脉冲,此时1脚为0,三极管就导通;为1,三极管就截止。 第二种:在单片机IO模拟74LS164时序,一次输出一个字节,只要Q0=0即可控制三极管开通。为1,三极管截止。

两种方法的程序流程如图4-2所示。 图4-2 流水灯位选信号控制 (2)产生流水灯效果程序 三极管导通后,就可以从P0口输出数据控制发光二极管。P0口输出数据既可以编写程序逐个输出,也可以将输出数据序列定义在存储器中,然后用读程序存储器指令逐个取出并输出到P0口。 程序流程图如图4-3所示。 图4-3 流水灯程序流程图

实验内容 1、直接输出法输出数据序列 2、查表法输出数据序列 实验步骤及调试信息 1、新建实验项目shiyan1 2、输入实验程序并补充完整 3、编译下载实验程序,并修改错误(按附录说明) 原因:缺少主程序 4、加入主程序重新产生代码并装入,出现以下错误。

基于fpga的qpsk调制解调的仿真及相关软件设计毕业设计

1 引言 1.1 研究背景 自1897年意大利科学家G.Marconi首次使用无线电波进行信息传输并获得成功后,在一个多世纪的时间中,在飞速发展的计算机和半导体技术的推动下,无线通信的理论和技术不断取得进步,今天,无线移动通信已经发展到大规模商用并逐渐成为人们日常生活不可缺少的重要通信方式之一。 随着数字技术的飞速发展与应用数字信号处理在通信系统中的应用越来越重要。数字信号传输系统分为基带传输系统和频带传输系统。频带传输系统也叫数字调制系统,该系统对基带信号进行调制,使其频谱搬移到适合信道传输的频带上数字调制信号有称为键控信号。在调制的过程中可用键控[1]的方法由基带信号对载频信号的振幅,频率及相位进行调制最基本的方法有三种:正交幅度调制(QAM)、频移键控(FSK)和相移键控(PSK)。 作为数字通信技术中重要组成部分的调制解调技术一直是通信领域的热点课题。随着当代通信的飞速发展,通信体制的变化也日新月异,新的数字调制方式不断涌现并且得到实际应用[2]。目前的模拟调制方式有很多种,主要有AM、FM、SSB、DSB、CW等,而数字调制方式的种类更加繁多,如ASK、FSK、MSK、GMSK、PSK、DPSK、QPSK、QAM等。如果产生每一种信号需要一个硬件电路甚至一个模块,那么能产生几种、十几种通信信号的通信机的电路将相当复杂,体积重量将会很大,而且要增加新的调制方式也是十分困难的。在众多调制方式中,四相相移键控(Quadrature Phase Shift Keying,QPSK)信号由于抗干扰能力强而得到了广泛的应用[3], [4],具有较高的频谱利用率和较好的误码性能,并且实现复杂度小,解调理论成熟,广泛应用于数字微波、卫星数字通信系统、有线电视的上行传输、宽带接入与移动通信等领域中[5],并已成为新一代无线接入网物理层和B3G通信中使用的基本调制方式[6]。现场可编程门阵列(Field Programmable Gate Array,FPGA)是20世纪9年代发展起来的大规模可编程逻辑器件,随着电子设计自动化(ElectronDesign Automation EDA)技术和微电子技术的进步,FPGA的时钟延迟可达到ns级,结合其并行工作方式,在超高速、实时测控方面都有着非常广阔的应用前景[7]。FPGA具有高集成度、高可靠性等特点,在电子产品设计中也将得到广泛的应用。FPGA器

单片机串并口转换实验

我也是刚入手单片机,今天编了一段小程序,就是关于单片机串口转并口和并口转串口的一个小实验,本程序在PTOTUES中完美运行。在单片机开发试板上也是完美运行。今天贴出来供大家分享,看完本历程,有助于提高您对单片机IO口的基本操作,锁存器的用法以及串并转换的使用技能 #include 本例程的电路连接图如上,在电路中使用了AT89C51单片机一块,74HC595八路串/并转换器,74HC165八路并串转换器和一片74HC573 锁存器。实验者请按上图连接好实验电路。 #include

#include< intrins.h > #define uchar unsigned char #define uint unsigned int #define ulong unsigned long code uint a[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; sbit SO=P1^0; //定义165的输出 sbit STCP=P1^1; sbit DS=P1^2; sbit SHCP=P1^3; sbit SHLD=P1^4; sbit CLK=P1^5; sbit cs573=P1^6; /**************************************************/ void delay(ulong X) //延时函数,采用了形参传递函数

{ while(X--); } /**************************************************/ void LED(); //函数声明 /**************************************************/ void main() //主函数 { while(1) { LED (); } } /****************************************************/

单片机可编程并行接口芯片8255的应用实验

单片机可编程并行接口芯片8255的应用实验

一:实验目的和要求 1、掌握中断系统外部中断源的使用方法。 2、掌握延时程序的编程及使用方法。 3、掌握Proteus软件与Keil软件的使用方法。 4、掌握单片机系统的硬件和软件设计方法。 二:设计要求 1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与8255接口。 2、在8255PA口或PB口的某一口线上产生周期500μS的连续方波,接示波器观察波形。 3、在8255PC口的PC0-PC3上接4个按键作输入,PC4-PC7上接4个发光二极管作输出,编程实现发光二极管正确指示按键的状态 三:电路原理 四:流程框图 五:实验结果 六:实验总结 通过本次试验,掌握了如何在单片机外部扩展I/O口,并且如何在程序中使用这些扩展出来的I/O口,为以后的学习和使用打下了一定的基础,存在的问题是在编写程序时不够熟练,需要多练习 七:思考题 1、在8255PC口上外接8个发光二极管,利用8255PC口的置位/复位控制字控制其按某种规律变化

四:流程框图 开始工作方式初始化开定时器 定时器初始化查询计数标志位溢出否 取反输出口A中内容送DPTR 设置C口命令DPTR指向控制位是否 开始DPTR指向C口C口内容送累加器DPTR指向控制位交换累加器内容 高低位累加器中内容送C 开始DPTR指向控制位A中内容送DPTR 定义查表执行次数查表数据送C口调用延时子程序 查询次数完否 否 是 修改变量值 1秒延时程序子程序返回 程序清单 ORG 0000H MOV DPTR, #0003H MOV A, #80H MOVX @DPTR, A MOV DPTR, #0000H MOV A, #0FFH MOVX @DPTR, A MOV IE, #00H MOV TMOD, #20H SETB TR1 MOV TL1, #06H MOV TH1, #06H LOOP0:JBC TF1, LOOP1 AJMP LOOP0 LOOP1:CPL ACC.0 MOVX @DPTR, A AJMP LOOP0 END

QPSK的FPGA实现

QPSK的FPGA实现 摘要 数字调制解调技术在数字通信中占有非常重要的地位, 数字通信技术与FPGA 的结合是现代通信系统发展的一个必然趋势。QPSK数字调制技术,具有频谱利用率高、频谱特性好、抗干扰性能强、传输速率快等突出特点,在移动通信、卫星通信中具有广泛应用价值,但是基于FPGA的全数字QPSK 调制解调仍在进一步研究发展中。 本文首先叙述了QPSK调制解调技术的工作原理和数字式调制与解调的特点。其次对QPSK的调制和解调设计展开讨论。设计包括QPSK的调制、解调两部分,基于对整个设计的要求进行分析及对QPSK实现FPGA进行功能的分解,以此划分成比较小的模块,自下而上设计系统;根据QPSK的原理分别画出QPSK调制、解调的实现框图。设计中设定每个比特对应特定的载波,并以载波作为比较,实现最后的对应的输出结果。最后基于VHDL 语言分别完成QPSK的调制与解调,完成系统的设计方案,在MAX+PLUSII 环境下对模块逻辑、时序进行仿真调试的仿真结果表明了该设计的正确性,并综合得出RTL的结构图。 关键词:QPSK,FPGA,调制,解调

FPGA IMPLEMENTATION OF QPSK ABSTRACT Technology of digital modulation and demodulation plays an important role in digital communication system and the combination of digital communication technology and FPGA is certainly a trend.QPSK digital modulation technique has features of high-spectrum utilization ratio,better spectrum specification, stronger anti-interference performance and faster baud rate and has been applied widely in mobile communication system and satellite communication system.But all-digital QPSK modulation and demodulation based on FPGA is still towards further research and development. At first, this paper describes the principle of QPSK modulation and demodulation technology as well as the characteristics of digital modulation and demodulation. In the following words we mainly provide the discussion combined with the research and design of the QPSK modulation and demodulation .This design has two parts, which are QPSK modulation and demodulation .The analysis on the whole design requirement and the decomposition of QPSK function in FPGA lay the basis for the smaller divided modules. Then we can start up the bottom-up design .Respectively, we draw QPSK modulation and demodulation diagram on the basis of the principle of QPSK. The design supposes each bit corresponds to a specific carrier .To achieve the final result of the corresponding output, we should take carrier as a comparison. In the end, we use VHDL to achieve the QPSK modulation and demodulation. After completing the whole system design, it goes on with simulation on module logic, timing in the MAX+PLUSII environment. The simulation results indicate that the design is correct and comprehensively deduce the RTL's chart.

单片机并行IO口的应用实验

一、实验目的 1、熟悉Proteus 软件和Keil 软件的使用方法 。 2、熟悉单片机应用电路的设计方法 。 3、掌握单片机并行I/O 口的直接应用方法 。 4、掌握单片机应用程序的设计和调试方法。 二、设计要求 1、用Proteus 软件画出电路原理图。要求在P1.0至P1.7口线上分别接 LED0至LED7八个发光二极管,在P3.0口线上接一蜂鸣器。 2、编写程序:要求LED0至LED7以秒速率循环右移。 3、编写程序:要求LED0至LED7以秒速率循环左移。 4、编写程序:要求在灯移动的同时,蜂鸣器逐位报警。 三、实验程序流程框图和程序清单 延时程序流程框图: 延时程序入口 设置循环体1的循环次数为 设置循环体2的循环次数为 设置循环体3的循环次数为 判断循环体3是否到达循环次 数 判断循环体2是否到达循环次 数 判断循环体1是否到达循环次 数 执行循环体 N Y 执行循环体 Y N 返回 执行循环体 Y N

实验程序流程框图: 开始 初始化 #FE A,#FF P1,设置 循环次数为七次 (A) P1,延迟 左移一位 P3.0清零 延迟 再将 P3.0置1 判断是否循环7次 延迟,(A) P1,左移一 位 P3.0清零 延迟 再将 P3.0置1 判断是否循环7次N 设置循环次数为7次 Y N Y 结束

汇编程序: ORG 0000H MOV A, #11111110B MOV P3, #0FFH MAIN : MOV R0, #07H LOOP1: LCALL DELAY MOV P3, A RL A CLR P2.0 LCALL DELAY SETB P2.0 DJNZ R0, LOOP1 MOV R0, #07H LOOP2: LCALL DELAY MOV P3, A RR A CLR P2.0 LCALL DELAY SETB P2.0 DJNZ R0, LOOP2 LJMP MAIN DELAY: M OV R7, #17H DL1: MOV R6, #98H DL0: MOV R5, #46H DJNZ R5, $ DJNZ R6, DL0 DJNZ R7, DL1 RET END

相关文档