




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于FPGA的单片机接口扩展设计摘 要你的内容似乎是“硬件设计”,注意将开题报告中的课题类型一览和论文相对应。当今电子产品逐渐趋于智能化、人性化,电子产品的发展已经离不开单片机。随着人们消费要求的提高,对电子产品的功能要求越来越高,电子产品的升级换代逐渐受到主控芯片资源匮乏的约束,而更换高级的CPU又会带来产品版本的不兼容和成本大幅上升的风险,而且会造成设计难度加大,设计周期变长。随着可编程逻辑器件及EDA技术的发展,可编程逻辑器件的价格越来越低,在系统设计中经常会用到FPGA扩展单片机的相关资源,来实现低成本、高性能的产品设计。单片机具有性价比高、功能灵活、易于人机对话、强大的数据处理能力等特点;而FPGA则具有高度、高可靠性以及开发便捷、规范等特点,根据两者的特点,设计一种基于C8051F340单片机与Actel FPGA的总线接口逻辑电路,实现单片机与可编程逻辑器件数据与控制信息的可靠通信,运用此接口通过Verilog HDL编程可为单片机扩展通用I/O和一些带有硬件协议的特殊接口,例如I2C接口、SPI接口、PCI接口和通用串口等。关 键 词:单片机,FPGA,接口扩展,总线接口,Verilog HDL写的太笼统,第一段压缩,第二段具体化,摘要是毕业设计的浓缩,别人通过摘要可以了解你的设计的具体和细节内容。英文摘要题目采用三号大写字母,可分成1-3行居中打印。每行左右两边至少留2个字符空格。THE DESIGN OF LCD DISPLAY SYSTEMBASED ON MCUABSTRACT英文摘要内容采用小四号小写字体,每段开头留四个字符空格。英文摘要须与中文摘要内容相对应;英文摘要约300-450个实词在此处键入英文摘要内容关键词用小四号小写,每一关键词之间用逗号分开,最后一个关键词后不打标点符号。关键词要反映毕业设计说明书(论文)的主要内容,数量一般为4-6个KEY WORDS: 目 录前 言1第1章 绪论21.1 设计思想概述21.2 Actel ProASIC3系列FPGA概述21.3 C8051F340单片机概述3第2章 单片机与FPGA接口的设计52.1 接口方式选择52.2 总线的复用性选择52.3 总线复用方式的配置82.3.1 总线接口配置82.3.2 总线的端口配置82.4 总线复用方式的时序逻辑8第3章 FPGA的扩展实例123.1 I2C总线在FPGA上的模拟实现123.1.1 I2C概述123.1.2 I2C接口设计133.2 SPI总线在FPGA上的模拟实现173.2.1 SPI总线接口协议173.2.2 SPI总线接口设计18第四章 电路设计及分析204.1 电源模块设计204.2接口电路设计224.3电路辐射干扰测试分析23结 论25参考文献26致谢27附录28 前 言微控制器是现代电子产品中不可缺少的一个部分,各大半导体厂商在不断推出复杂的高级CPU的同时,也同时推出了一些的超小封装的微控制芯片,这种超小封装的控制器适用于特定的某一方面,与通用的CPU相比具有体积小、功耗低、成本低等优点,在便携式电子产品中有着广泛的应用。但是这种超小封装的微控制芯片的I/O数量十分有限,接口单一,限制了控制器的挂接设备的数量和种类。随着电子产品逐渐趋于集成化、智能化、便携化,人机交互、通信互联、多设备管理等任务大大了加重了对电子产品的“心脏”微控制器的运作负担,尤其是对主控芯片的I/O数量和一些特殊接口的需求,使得一些低端控制器能胜任的工作不得不交由价格昂贵的高级控制芯片来完成,以获得更多的I/O和特殊接口,然而这无疑加大了产品的成本,削弱了产品的市场竞争力。随着电子技术的发展,可编程逻辑器件的集成度越来越高,而成本却越来越低,现在已有半导体厂商推出了价格十分低廉的FPGA芯片,为上述问题的解决提供了另一种思路:用FPGA为那些I/O数量不足或是缺少某些特殊接口的微控制器扩展接口和I/O而不必采用价格更贵的高端控制器芯片。而且为了适应电子产品不断智能化的要求,系统运行的任务越来越多,某些复杂的算法亦可交由FPGA来完成,为产品的更新换代节省成本,而且由于FPGA是硬线逻辑,比软件模拟接口具有实时性好、处理速度快等优点,能减轻主控芯片的运行负担,增加系统的管理能力,使系统更加稳定、高效!第1章 绪论1.1 设计思想概述FPGA作为一种新型的可编程逻辑器件,可以取代现有的全部微机接口芯片,实现微机系统中的存储器、地址译码等多种功能,具有更高的密度、更快的工作速度和更大的编程灵活性,被广泛的应用于各种电子类产品中。在功能上,单片机具有性价比高、功能灵活、易于人机对话、强大的数据处理能力等特点;而FPGA具有高速、高可靠性以及开发便捷、规范等优点,因此两类器件相组合的电路结构将在许多高性能仪器仪表和电子产品中被广泛应用。基于这种需求,本文设计了C8051F340单片机与FPGA的总线接口逻辑电路,实现了单片机与FPGA数据与控制信息的可靠通信,是FPGA与单片机优势互补,组成灵活的、软硬都可现场编程的控制系统。1.2 Actel ProASIC3系列FPGA概述Actel公司是单芯片FPGA解决方案的领导性厂商,早期以反熔丝FPGA为主,致力于航天航空以及军事领域,造就了其在可靠性、安全性等领域上独领风骚的辉煌。Actel Flash 架构的 FPGA 无需配置芯片,其开关结构采用130nm的Flash工艺,具有掉电非易失特点,一旦完成编程后,配置数据就会成为 FPGA 结构的固有部分,在系统上电时无需从外部载入配置数据。Actel特有的带模拟功能FPGA -Fusion,在ProASIC3的基础上增加了ADC、Flash Memory、模拟IO、RTC等部件,使单个芯片的集成度更高,不仅大大降低了PCB板的面积,降低成本,更是提高了安全性和可靠性,并实现了单芯片的解决方案。Actel Flash 架构的FPGA具有类似于 ASIC 的功率特性,无需上电启动功耗和配置功耗,其无论是静态功耗和动态功耗都比基于SRAM的FPGA低很多,特别适用于电池供电产品和其它对功耗敏感的应用,而功耗是基于 SRAM FPGA 器件所面对的难题。另外Fusion可实现自睡眠模式,通过内部的LDO和RTC可实现睡眠和唤醒模式;IGLOO系列特别为手持设备设计,最低静态功耗可达5W,其独特的Flash*Freeze模式无需关断电源、外部时钟即可进入低功耗模式,并能保存RAM的内容数据。Actel Flash 架构的FPGA具有上电即可运行 (LAPU) 特性,上电时间非常短,一般只需要几十微秒,无需特别的上电时序要求,这种上电即行特性可以为外部器件提供时钟、复位信号等,取代复位芯片、时钟调整电路、数据地址译码电路等,简化整个系统的设计同时提高了安全性,因此Actel FPGA可以用于对上电时间有苛刻要求的场合。Actel Flash 架构的FPGA具有两种加密功能,FlashLock和AES,这种特性只有在非易失性的 Flash架构的FPGA才能实现,FlashLock和AES都具有128位的密钥,FlashLock用于保护器件非授权的访问,例如:编程、擦除、校验等;AES是国际上标准的加密算法,取代先前的56位DES加密算法,可以对用户的编程文件进行加密,经过加密的编程文件可以进行任何途径传输,为远程升级提供了保障。Actel Flash 架构的FPGA对固件错误有很好的免疫作用,所谓固件错误是指当大气中产生的高能中子轰击到 FPGA的配置单元或者布线结构的时候,使得晶体管状态发生了改变,导致系统的一次彻底的实效,这种错误将会一直存在并被检查修正为止,固件错误问题在基于SRAM的FPGA中普遍存在,并且是不可能避免,而基于Flash 架构的FPGA对大气中的高能中子有很好的免疫作用。1.3 C8051F340单片机概述C8051F340/1/2/3/4/5/6/7 器件是完全集成的混合信号片上系统型 MCU。下面列出了一些主要特性: 下面加上标点u 高速、流水线结构的 8051 兼容的微控制器内核(可达 48MIPS) u 全速、非侵入式的在系统调试接口(片内) u 通用串行总线(USB)功能控制器,有 8 个灵活的端点管道,集成收发器和 1K FIFO RAM u 电源稳压器 u 真正 10 位 200 ksps 的单端/差分 ADC,带模拟多路器 u 精确校准的 12MHz 内部振荡器和 4 倍时钟乘法器 u 多达 64KB 的片内 FLASH 存储器 u 硬件实现的SMBus/ I 2 C、增强型UART(最多两个)和增强型SPI串行接口 u 具有 5 个捕捉/比较模块和看门狗定时器功能的可编程计数器/定时器阵列(PCA) u 片内上电复位、VDD 监视器和时钟丢失检测器 u 多达 40 个端口 I/O(容许 5V 输入) 具有片内上电复位、VDD 监视器、电压调整器、看门狗定时器和时钟振荡器的C8051F340/1/2/3/4/5/6/7 器件是真正能独立工作的片上系统。FLASH 存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新 8051 固件。用户软件对所有外设具有完全的控制,可以关断任何一个或所有外设以节省功耗。 片内 Silicon Labs 二线(C2)开发接口允许使用安装在最终应用系统上的产品 MCU 进行非侵入式(不占用片内资源)、全速、在系统调试。调试逻辑支持观察和修改存储器和寄存器,支持断点、单步、运行和停机命令。在使用 C2 进行调试时,所有的模拟和数字外设都可全功能运行。两个 C2 接口引脚可以与用户功能共享,使在系统调试功能不占用封装引脚。 每种器件都可在工业温度范围(-45到+85)内用 2.7V-5.25V 的电压工作。电源电压大于 3.6V 时,必须使用内部稳压器。对于 USB 通信,电源电压最小值为 3.0V。端口 I/O 和/RST引脚都容许 5V 的输入信号电压。C8051F340/1/2/3/4/5/6/7 采用 48 脚 TQFP 封装或 32 脚 LQFP封装。C8051F340单片机的系统原理框图如图1-1所示。第2章 单片机与FPGA接口的设计2.1 接口方式选择单片机与FPGA的接口方式一般有两种:u 独立方式u 总线方式独立方式即单片机与FPGA地位平等,不存在主、从机之分,采用通用的通信接口(例如串口)与FPGA进行数据传输和通信,此种方法占用I/O数目非常少,但是通信双方需要制定详细可靠的数据传输和通信协议,时序复杂且不易抽象,而且由于是串口传输,数据速率低,尤其当FPGA挂接的外设较多时这种通信方式的缺点尤为突出。单片机与FPGA以总线方式通信,即将FPGA挂接在单片机外部扩展总线上,FPGA占用单片机的外部RAM的地址空间,属于单片机的从设备。以这种方式通信有许多其他方式不具备的优点:u C8051F系列单片机具有很强的外部总线扩展能力,利用片外三总线结构很容易实现单片机与FPGA的总线接口,对于单片机来说其内部的EMIF接口属于纯硬件时序,且并行传输,速度快,通信可靠。u 对与FPGA来说其内部是硬线逻辑电路,非常方便与高速时序电路接口,在FPGA中通过逻辑切换,单片机易于与SRAM或ROM接口。u 单片机有直接访问外部总线的指令MOVX,采用EMIF 通信接口编程十分高效、简洁,速度要比前一种方式快得多。综合上述特点,单片机与FPGA的接口初步选定为总线方式。2.2 总线的复用性选择C8051F系列单片机的外部总线有两种配置方式:u 数据总线和地址总线复用的方式u 非复用方式在复用方式,单片机的数据总线和地址总线的低 8 位共享相同的端口引脚:AD7:0。在该方式下,要用一个外部锁存器(74HC373 或相同功能的逻辑门)保持 外部总线地址的低 8 位。外部锁存器由 ALE(地址锁存使能)信号控制,ALE 信号由外部存储器接口逻辑驱动。图2-1 给出了复用方式配置的一个例子。图2-1 单片机外部总线复用方式配置示例字体格式请核对在复用方式,可以根据 ALE 信号的状态将外部 MOVX 操作分成两个阶段。在第一个阶段,ALE 为高电平,地址总线的低 8 位出现在 AD7:0。在该阶段,地址锁存器的Q输出与D输入的状态相同。ALE 由高变低时标志第二阶段开始,地址锁存器的输出保持不变,即与锁存器的输入无关。在第二阶段稍后,当/RD 或/WR 有效时,数据总线控制 AD7:0端口的状态。在非复用方式,数据总线和地址总线是分开的。图 2-2 给出了非复用方式配置的一个例子。图2-2 单片机外部总线非复用方式配置示例下面这段话到底是复用还是非复用?本设计中C8051F340单片机为48脚封装,总共有4个8位端口,非复用外部总线要占用3个端口,再加上4根控制总线,I/O消耗的数目过多。在非复用方式下只需占用单片机2个8位端口和4根控制线即可实现总线连接,另外FPGA内部可以实现总线复用方式下的地址锁存器的逻辑功能,单片机就可以在不需要外加锁存器的情况下与FPGA采用总线复用的接口通信,单片机仅通过二十根I/O线在FPGA与单片机之间进行通信和控制信息交换,这样可以节省单片机和FPGA芯片的I/O线。综上所述,C8051f340单片机与FPGA接口采用数据总线和地址总线复用的方式,且不需外部锁存器,示意原理如图2-3所示图2-3 单片机和FPGA总线接口方式原理框图2.3 总线复用方式的配置2.3.1 总线接口配置配置外部存储器接口的过程包括下面 5 个步骤:1. 配置相应端口引脚的输出方式为推挽或漏极开路(最常用的是推挽方式),并在交叉开关中跳过这些引脚。2. 配置对应 EMIF 引脚的端口锁存器为休眠态(通常将它们设置为逻辑1)。3. 选择复用方式。4. 选择存储器模式(只用片内存储器、不带块选择的分片方式、带块选择的分片方式或只用片外存储器)。5. 设置与片外存储器或外设接口的时序2.3.2 总线的端口配置当采用复用方式时,外部总线接口位于端口 4、3和 1(访问片外存储器时)。使用 EMIF 时,应用 P1SKIP寄存器将交叉开关配置为跳过控制线 P1.7(/WR)、P1.6(/RD)和 P1.3(ALE)。外部存储器接口只在执行片外 MOVX 指令期间使用相关的端口引脚。一旦 MOVX 指令执行完毕,端口锁存器或交叉开关重新恢复对端口引脚的控制。端口锁存器应被明确地配置为使外部存储器接口引脚处于休眠状态(不使用时),通常将它们设置为逻辑1。在执行 MOVX 指令期间,外部存储器接口将禁止所有作为输入的那些引脚的驱动器(例如,读操作期间的 Data7:0)。端口引脚的输出方式(无论引脚被配置为漏极开路或是推挽方式)不受外部存储器接口操作的影响,始终受 PnMDOUT 寄存器的控制。在大多数情况下,所有 EMIF 引脚的输出方式都应被配置为推挽方式。2.4 总线复用方式的时序逻辑采用总线方式的数据传输和通信接口重要的是要详细了解C8051F340单片机的总线读写时序,根据时序图来设计逻辑结构,其通信的时序必须遵循单片机内固定的总线方式读、写时序。FPGA的逻辑设计也相对比较复杂,在程序设计上必须与接口的单片机程序相结合,严格安排单片机能访问的I/O空间。在复用方式下,C8051F340单片机的读写时序如图2-4和图2-5所示。图2-4 复用方式16位MOVX时序图2-5 带块选择的复用8位MOVX时序在总线应用时,单片机的P4口是作为地址/数据总线分时复用的,因此应在总线接口模块中设计一个三态缓冲器,实现P4口的三态接口;又因为单片机在访问外部空间时,它的地址为16位,因此借助地址锁存使能信号ALE在FPGA中实现高8位与低8位地址的编码,组合成16位地址,然后再根据单片机的读写信号,实现对FPGA的读写操作。通过对单片机总线读、写时序的分析,设计了图2-6所示的接口电路。在FPGA中,设计了两个模块:一个是总线接口模块,负责单片机与FPGA的总线接口逻辑;另一个是寄存器单元及外部接口模块,运用总线接口模块来操作此模块。图2-6 单片机与FPGA总线接口逻辑图第3章 FPGA的扩展实例这里叫实例不太合适3.1 I2C总线在FPGA上的模拟实现3.1.1 I2C概述I2C总线是Philips推出的芯片间串行传输总线,因为其具有连线少(仅需一条串行时钟线和一条串行数据线),允许多主机控制,具有裁决和同步功能,可随添加或摘除总线上的子器件等诸多优点,所以已被广泛应用。另外由于Philips和其他厂商提供了种类众多的I2C兼容芯片,促使其成为世界性的工业标准。I2C总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达25英尺,并且能够以10Kbps的最大传输速率支持40个组件。I2C总线的另一个优点是,它支持多主控(multimastering), 其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,最高传送速率100kbps。各种被控制电路均并联在这条总线上,但就像电话机一样只有拨通各自的号码才能工作,所以每个电路和模块都有唯一的地址,在信息的传输过程中,I2C总线上并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器),这取决于它所要完成的功能。CPU发出的控制信号分为地址码和控制量两部分,地址码用来选址,即接通需要控制的电路,确定控制的种类;控制量决定该调整的类别(如对比度、亮度等)及需要调整的量。这样,各控制电路虽然挂在同一条总线上,却彼此独立,互不相关。 I2C总线在传送数据过程中共有三种类型信号, 它们分别是:开始信号、结束信号和应答信号。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。I2C规则:u 空闲时SCL和SDA必须保证为高电平,以等待起始位的发生。u 启动和停止条件。在SCL稳定为高电平期间,SDA产生一个由高电平到低电平的跳变,此时即可启动总线;结束条件与此相反,在SCL稳定为高电平期间,SDA产生一个由低电平到高电平的跳变。u 位传送。位传送发生在SCL稳定在高电平期间,此时不允许SDA线上发生数据跳变,否则会导致总线失控。每个时钟脉冲传送一个数据位。u 应答位。在启动条件和停止条件之间传送器给接收器的数据个数没有限制,每个8位字节后加一个应答位。主传送器产生高电平的应答位,由接收器将该位拉低,称为应答信号(ACK);主器件为接收器时,在接收了最后一个字节后不发应答信号,称为非应答信号(NO ACK)。从器件必须在接收到每个字节后产生一个应答位,主器件也必须在接收从传送器传送的每个字节后产生一个应答位。u 写模式。主传送器首先向数据线发送从接受器地址,地直末尾一位为0,表示要进行写操作,得到应答后便向从接收器发送数据,每发送一个字节,读取一次应答位,为ACK则接着发送,位NO ACK则发送停止位。数据传送完后同样发送停止位。u 读模式。同样由主传送器发送从接收器地址,地址末尾一位为1,表示要进行读操作。读完一个字节后发送应答位,如果想继续操作,发送ACK,如果想结束读操作,发送NO ACK。3.1.2 I2C接口设计要使接口模块正常工作,CPU必须首先要通知模块执行什么操作,而后再把需要的数据依次送入模块中,考虑到I2C总线的速率可以在0-3.4Mbit/s之间,为了适应不同外设的需要,模块还应在CPU的控制下自由调整数据传送速率。因此,CPU应能够向模块发送数据速率控制数据、I2C总线工作模式控制数据、信息交换数据,同时还能从模块中读取工作状态数据、模块接收数据。据此设计出基于FPGA的I2C总线接口模块如图3-1所示。图3-1 I2C总线接口模块该设计由7个单元组成,它们分别是:用于调整I2C总线数据传输速率的Clock单元;用于实现同CPU并行接口的PcPort单元;用于产生I2C总线工作时序的I2CStep单元;用于产生数据传输时序的BitTiming单元;用于产生I2C总线使能信号的EnI2C单元;用于产生I2C总线接口模块工作状态指示的Status单元;用于产生I2C总线接口时钟信号SDL和数据串行输入输出信号SDA的I2CPORT单元。u Clock单元整个接口模块以CPU的系统时钟作为主时钟信号,模块传输数据的速率受该时钟频率的控制,时钟频率高则模块传数据的速率也高,反之亦然。考虑到各种具有I2C总线接口的芯片的工作速率差别较大(从几十Kbits/s到几Mbits/s),该接口模块的工作速率必须能够灵活调整,以适应不同外设芯片的接口需要。Clock单元实际上就是一个分频器,它在输出频率控制码CKSEL7.0的控制下产生对PCCLK分频后合适的时钟信号供I2C接口使用。u I2CStep单元通过对I2C总线各种工作模式的分析,可知不同的工作模式都是按特定的工作流程串行输入、输出数据的,例如字节写模块的工作流程为:发送开始信号、串行输出被叫芯片的片选地址、发送写信号、等待被叫芯片响应、串行输出被叫芯片存储单元的地址、等待被叫芯片响应、串行输出写入的数据、等待被叫芯片响应、发送结束信号结束本次操作。为了使接口模块正确工作,模块在接收到来自MCU的工作模式控制信号I2CMD2.0后,根据工作模式的不同产生接口模块工作流程。当前流程结束后有Status单元产生IncStep信号,控制工作流程指向下一阶段。该模块的功能类似一个计数器,它在I2CMD2.0和I2CMD2.0Step的共同作用下,产生长度不等的工作流程信号Step6.0。u BitTiming单元在I2C总线工作流程的不同阶段,I2C接口模块需要按一定的时序完成不同的工作,通过对总线数据传输模块的分析可知,在一个数据传输模式的所有工作流程中,输入、输出8位数据的工作流程用时最长,需要25个工作时序周期,为了满足所有工作流程的需要,工作时序BitTiming单元被设计成最长可产生31个时钟周期的工作时序。该单元在IncStep=1时复位工作时序;在EnTiming信号有效后的每个SysCLK的上升沿使工作时序信号EnTiming加1,用于控制I2CPORT单元按给定的时序串行输入、输出数据信息。u Status单元在I2C总线工作过程中,MCU需要随时了解I2C接口模块的发送数据寄存器是否为空、接收寄存器是否准备数据好、从机响应信号是否正确、当前工作流程是否完成等工作状态,只有在发送数据为空时,MCU才可以向接口模块写入待传送数据;只有在接受数据寄存器准备好后,MCU才可以从接口模块读入正确的接收数据;从机响应信号不正确时,MCU应立即发出结束信号结束本次操作;当前工作流程未完成前不能进行下一流程。这些状态信号全部由Status单元产生。在该单元中,共有4种输出信号,它们分别是:用于指示发送数据寄存器是否为空的TxSTS状态,该状态在MCU写入数据后置1,数据被发送后清0;用于指示接收数据准备好状态的RxSTS信号,该信号在模块接收到完整的数据后置1,数据被MCU读后清0;用于指示模块工作状态的ACKSTS信号,该信号在模块工作正常(接收到从机响应信号)时自动置1,工作不正常时自动清0;用于使工作流程指向下一阶段的IncStep信号,该信号在当前工作流程完成后由模块自动产生,用于使模块的工作流程指向下一阶段。u EnI2C单元在I2C总线接口模块中,BitTiming单元何时开始产生工作时序,需要时序信号控制,I2CPORT单元何时向I2C总线输出信息、何时从I2C总线上读入信息也需要时序信号控制。这些控制时序的产生由EnI2C单元完成。EnI2C单元在I2CMD2.0、Step6.0、TxSTS、RxSTS等信号的控制下,从预先存储于单元内部的一组I2C工作时序信息中读出当前时序信息输出,控制BitTiming和I2CPORT单元完成。u I2CPORT单元本单元是整个设计的核心,用于完成数据的I2C总线输出及I2C总线输入数据的读入。同时产生接口模块的各种工作状态。该单元的工作过程为:在SysCLK的下降沿分别读入工作使能信号和工作时序信号,如果此时EnIdle=1,则强制I2C总线进入空闲模式;如果EnStart=1,则使I2C总线输出开始新号;如果EnWire=1,则使I2C总线输出8位数据信号;如果EnRead=1,则从I2C总线读入8位数据;如果EnOutACK=1,则使I2C总线输出主机响应信号;如EnStop=1,则使I2C总线输出结束信号;在整个工作过程中,模块会自动根据工作情况,设置各种状态控制信号。u PcPort单元的是实现该单元是模块CPU的接口,CPU通过该单元向接口模块写入工作模式控制信息、需要发送的数据以及I2C工作速度控制信息;同时通过该单元读入从机响应信息、从机输出数据、发送接收寄存器状态等信息。图3-2 I2C模块应用示意图3.2 SPI总线在FPGA上的模拟实现3.2.1 SPI总线接口协议SPI(Serion Perpheral Interface)总线接口是一个全双工,同步串行数据接口。许多微处理器、微控制器和外部设备具有这个接口。它能够实现在微控制器之间或微控制器与外部设备之间通信。SPI是一个环形总线结构,通常有4条线组成,即:串行时钟线(SCK)、主机输出从机输入线(MOSI)、主机输入从机输出线(MISO)和从机选择线 SS_N。SCK靠主机和数据流来驱动。MOSI数据线从主机输出数据作为从机的输入数据。MISO数据线传送从机输出的数据作为主机的输入数据。在大多数情况下,使用一个SPI作为主机,它控制数据向1个或几个从机传送。主机驱动数据从它的SCK和MOSI端到各从机的SCK和MOSI端,被选择的从机驱动数据从它的MISO端到主机的MOSI端。SS_N控制线用于从机选择控制。SCK的相位和极性能改变SPI的数据格式,时钟极性CPOL=0,串行数据的移位操作由时钟正脉冲触发,时钟极性CPOL=1,串行数据的移位操作由负脉冲 触发,时钟相位CPHA=0,串行数据的移位操作由时钟脉冲前沿触发,时钟相位 CPHA=1,串行数据的移位操作由时钟脉冲后沿触发,时钟相位CPHA=0时SPI的数据转换时序图如图3-3所示。图3-3 CPHA=0时SPI的数据转换时序图在图3-3中SCK信号在第一个SCK周期中的前半周期无效,在这种模式中,SS的下降沿示意数据传送的开始,因此,SS在连续串行字节之间必须被取反和重新申明。时钟相位CPHA=1时SPI的数据转换时序图如图3-4所示。图3-4 CPHA=1时SPI的数据转换时序图在图3-4中SCK信号从无效电平到有效电平的第一边沿意味着在这种模式下数据传送的开始,SS信号能保持有效的低电平在连续串行字节之间,这种模式用于只有一个主机和一个从机的系统中。在SPI传送数据时,8位数据从一个SPI接口移出时,另一个SPI接口也开始移出8位数据,这样主机的8位移位寄存器和从机的8位移位寄存器可以被看作是16位移位寄存器,16位移位寄存器移动8个位置就实现了在主机和从机之间交换数据。基于FPGA的SPI 接口设计中,从SPI总线上接收的数据被保存在一个接收寄存器中,发送的数据被写到一个发送寄存器中。3.2.2 SPI总线接口设计为了满足扩展微控制器的SPI接口功能,基 于FPGA的SPI接口必须具有以下功能:1)与微控制器的接口功能;2)8位外部从机选择功能;3)时钟极性和相位选择的不同,有四种数据传输模式;4)SPI数据传送完成标志。SPI接口接口的结构框图如图3-5所示。图3-5 SPI接口的结构框图从图3-5中可以看出基于FPGA的SPI设计主要由两大部分组成,即与微控制器接口的控制部分和SPI接口控制部分。与微控制器接口的控制部分通过三总线方式 使FPGA与微控制器相连接,实现微控制器的SPI接口功能扩展。SPI接口控制部分主要实现SPI接口与其他SPI接口的通信。其系统的软件设计主要包括两部分,第一部分是C8051F单片机与SPI接口之间通信的软件设计,在这一部分中,主要是对SPI接口中数据传送完成位的检测和对FPGA中各寄存器的读写操作。第二部分是SPI接口功能的Verilog语言软件设计,在这一部分中采用层次化设计的方法。顶层中包括两大模块,即微控制器接口模块和SPI接口模块,在微控制器接口模块中建立了接口中各寄存器的地址和构造了各寄存器,在SPI接口控制模块中又包括SPI控制模块、SPI逻辑模块、SPI移位接收模块和SPI移位发送模块等。图3-6 SPI接口模块应用示意图第四章 电路设计及分析4.1 电源模块设计在本设计中,C8051F单片机采用3.3V供电。Actel FPGA内核采用1.5V供电,I/O端口采用3.3V供电。LED的逻辑电压为5V,驱动电压24V。设计采用三片LM317线性稳压芯片分别产生1.5V、3.3V和5V供电系统,采用1653负压芯片为LED提供驱动负压(前面说是正电压)。考虑到317稳压芯片的功耗和输入输出压差的要求,决定使用12V外部直流输入作为整个系统的供电电源。LM317系列线性稳压芯片是高精度三端可调正电压输出集成稳压器输出电压可在1.2V37V的范围内调节。图4-1 5V供电系统317系列稳压器ADJ端和VOUT端之间是1.25V的基准电压,在图4-1中稳压器输出U=1.25*(R9/R8+1),通过设置R9和R8的电阻值即可实现输出电压的调节,需要注意的是LM317有最低负载电流要求,一般要求Iout2.55mA,即要求Vout/(R8+R9)2.55mA。图4-2 3.3V供电系统图4-3 LED负压驱动4.2接口电路设计单片机与FPGA以总线方式通信,即将FPGA挂接在单片机外部扩展总线上,FPGA占用单片机的外部RAM的地址空间,属于单片机的从设备。单片机仅通过二十根I/O线在FPGA与单片机之间进行通信和控制信息交换。单片机端总线I/O分配如图4-4所示。图4-4 单片机端总线I/O分配FPGA内部是硬件逻辑,总线分配I/O很随意,考虑到FPGA的某些功能固定管脚分配和PCB布线时难易程度,FPGA的I/O分配如图4-5所示。图4-5 单片机与FPGA接口电路其它电路设计请参见附录电路原理图 4.3电路辐射干扰测试分析在高速数字电路中,电磁干扰是一个不容忽视的问题。辐射干扰一般是通过电磁感应的形式在空间进行传播的,图4-6 是测试电子设备产生辐射干扰的基本方法,或表示电子设备产生的干扰信号通过电磁感应向空中辐射的原理。图4-6 中,电子设备表示干扰信号源,V1 表示测量仪表,C1 表示电子设备对大地的电容,C2 表示电子设备与天线偶合的电容,即:电子设备通过电场对天线产生感应,这里的天线也可以看成是被干扰的设备。图11 的测试方法就是测试电子设备周围规定距离某处的电磁场强度,由于干扰信号一般都是一个频率成份非常丰富的非正弦波,因此,无法对它进行直接测量,只能对它其中某一个频率信号单独进行测量。图4-6 辐射干扰模型电子设备与天线感应产生的电流是位移电流,一般频率很高的位移电流在电路中每处的电流方向以及电流大小和电压幅度都是不一样的,我们无法对它直接进行测量,因此,在进行信号测量的时候一般都使用谐振天线,使天线谐振回路对某个频率的干扰交流信号产生谐振,然后再检测谐振信号的电压幅度。在测试过程中,天线需要经常进行调谐,调谐就是调节天线振子的长度,或磁感应天线谐振回路中的电容,更多的是调谐选频放大器输入回路中的谐振电路参数。 在本设计中,为了防止电磁干扰,对PCB布线的线宽和线距都采取了经验保守值,最小线距10mil,并在PCB板的双面大面积铺地网络,以降低信号间的串扰。结 论在本次设计中,参考分析了许多数字电路知识和电路板设计的经验技巧,通过对单片机和FPGA经典电路的分析应用,设计了A3P125 FPGA扩展C8051F单片机资源的开发实验电路板。在本次设计中关键在于单片机与FPGA的接口设计,为了方便编程和后续开发,本设计中采用的并口是最好的选择。采用总线接口方便单片机和FPGA的严密结合以构成一个可扩展的整体系统。本开发实验板可用于单片机编程开发和FPGA的Verilog语言编程,A3P125 FPGA共有71个用户IO,通过Verilog HDL编程可实现单片机的各种接口的扩展,并可以将FPGA看做挂在总线上的外设,依靠中断实现数据传输和通信,不占用单片机过多资源,使系统在增加外设的情况下而不增加系统负担,更加方便于系统级的软件编程。排版参考文献1 江思敏,姚鹏翼PADS电路原理图和PCB设计M北京:机械工业出版社,20079.2 周树新,何勇视频精讲:PADS2007原理图与布板设计典型实例M北京:电子工业出版社,200911.3 刘韬,楼兴华FPGA数字系统设计与开发实例导航M北京:人民邮电出版社,20056.4 夏宇闻Verilog数字系统设计教程M第二版北京:航空航天大学出版社,2008.5 Stephen Brown & Zvonko Vranesic数字逻辑基础与Verilog设计M夏宇闻北京:机械工业出版社,2007.6 Steve Kilts高级FPGA设计:结构、设计与优化M孟宪元北京:机械工业出版社,2009.7 Howard Johnson,Martin Graham高速数字设计M沈立,朱来文,陈宏伟电子工业出版社2005.8 周志坚同步电路设计技术及规则D深圳,华为技术有限公司,2007:127.8 刘法治常用电子元件器件及典型芯片应用技术M北京:机械工业出版社,200612.9 那文鹏,王昊通用集成电路的选择与使用M北京:人民邮电出版社,20045.10 李朝青单片机&DSP外围数字IC技术手册M北京:北京航空航天大学出版社,20031.11 张海风HyperLynx仿真与PCB设计M北京:机械工业出版社,2005912 李景华,杜玉远可编程逻辑器件及EDA技术M沈阳:东北大学出版社,2000.13 徐志军,徐光辉CPLD/FPGA的开发与应用M北京:电子工业出版社,2002.14 游志宇,张洪,董秀成MCS-51与FPGA_CPLD总线接口逻辑设计J单片机与嵌入式系统应用,2008:29-32.15 李华MCS-51系列单片机接口技术M北京:北京航空航天大学出版社1993.致谢大学四年已接近尾声,在大学四年里我学到了坚实的知识基础,交到了许多朋友,也学到了许多做人的道理,感谢河南科技大学给了我这次成长的机会。在毕业设计过程中,王恒迪老师作为本次设计的首席指导教师,对作者在设计中遇到的困难给予了悉心的指导,感谢王恒迪老师崇高的师德和对育人事业的不辞劳苦,同时也向在毕业设计中辛勤工作的各位老师表示由衷的感谢。在本次设计过程中作者也得到了许多同学诚挚的帮助和关怀,在此不再一一列举,作者对所有给予关心和帮助的朋友一并表示深深的感谢!附录电路原理图写成附录一、附录二等等,把原理图中的大字去掉,在word中加入标题袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服务抗压方法培训
- 中考体育培训总结
- 2026届黑龙江省鸡西虎林市东方红林业局化学九上期末达标检测试题含解析
- 山东省聊城市第三中学新校区2024-2025学年高三上学期第一次月考生物试题
- 2025年电站安全规程考试题库及答案
- 安徽省砀山县联考2026届九年级英语第一学期期末考试试题含解析
- 2026届内蒙古自治区赤峰市翁牛特旗第一中学九年级化学第一学期期末达标测试试题含解析
- 2026届四川省成都嘉祥外国语学校化学九上期末预测试题含解析
- 2026届安徽省六安市裕安区英语九上期末学业质量监测模拟试题含解析
- 2026届三门峡市重点中学化学九上期中复习检测试题含解析
- 2025版煤矿安全规程学习培训课件
- 初中人教英语七年级至九年级全册单词表(按单元)
- 法律基础(第4版)PPT完整全套教学课件
- 《中小企业划型标准规定》补充说明
- 房屋租赁信息登记表
- 六年级上册数学课件-1.6 长方体和正方体的体积计算丨苏教版 (共15张PPT)
- 质量总监.安全生产责任制考核表
- 小学生汉字听写大赛题库
- 第一框 关爱他人
- 渗透检测培训教材(1)
- 空调专业常用英文词汇
评论
0/150
提交评论