当前位置:首页 > 嵌入式 > 嵌入式教程

  引言:随着集成电路的不断发展,可编程逻辑器件FPGA因其功能强大,设计灵活,开发周期短等特点,得到越来越广泛的应用。于是片上可编程系统(System On Programmable Chip,SOPC)的设计方法也越来越受到重视。SOPC将微处理器、存储器、定时器、通用I/O接口等系统设计必需的功能模块以及用户设计的有特定功能的模块集成到一片可编程逻辑器件上,构建一个具备软,硬件在系统可编程功能的可编程片上系统。这种非常灵活的电路设计方式使得对整个电路系统的裁减、扩充、升级变的很容易。这样可以缩短电路设计的开发周期,节省开发成本。

  1 系统总体结构

  整个系统由xilinx公司的spartan3E高性能、低成本的90nm FPGA和一些外围电路组成。主要有AD转换器、FLASH存储器、系统PROM配置电路和电源模块等,其系统总体结构如图1所示。

  系统核心采用嵌入式技术,在一片芯片上实现,它包含Xilinx公司的一些标准总线IP核如中断控制器,通用输入输出端口等模块和带有PLB总线接口的用户自定义的数据采集与存储IP核。其中用户自定义的IP核是用VHDL语言设计的,它包含AD控制逻辑、FLASH控制逻辑、DMA传输控制逻辑和FIFO缓存模块等。

  整个系统设计可以分为硬件设计和软件设计两个部分。利用SOPC技术结合VHDL硬件描述语言,在芯片内部设计硬件控制系统;利用EDK(嵌入式开发套件)为特定硬件配置自动生成的软件包结合C语言,设计基于Microblaze处理器的软件控制程序。

  2 系统结构

  FPGA的硬件设计先确定要用的外部接口,然后进行IP核设计,将IP核的逻辑功能映射到FPGA芯片上。其系统结构框图如图2所示。

  2.1 AD转换芯片

  AD转换器采用MAXIM公司的MAXIM1308芯片,它是12位模数转换器(ADC)提供8个独立输入通道,独立的采样保持(T/H)电路为每个通道提供同时采样,提供+5V输入范围,20MHz、12位双向并行数据总线用来提供转换结果,并可接受数字输入来单独配置每一通道的开启和关闭。

  2.2 FLASH存储器

  FLASH存储器芯片采用8片三星公司的K9XXG08UXA系列的NAND Flash存储器,该存储器是按页进行读写按块擦除,通过I/O管脚分时复用发送命令/地址/数据。每片的存储容量为512MB。存储过程使用流水线方式对数据进行存储。

  2.3 FPGA配置电路

  Xilinx公司的FPGA器件是基于SRAM的内部结构,掉电后FPGA的内部逻辑丢失,因此外部需要一个配置芯片在每次上电时可以将配置数据加载到FPGA器件的内部SRAM中。配置芯片采用的是XCF04系列PROM串行配置芯片。当系统上电时,芯片以主动配置方式来实现系统中FPGA的硬件配置。通过高速的串行接口,整个芯片的配置工作可以在很短的时间内完成。

  2.4 系统电源模块

  电源模块的设计不仅需要为器件提供各种高性能的功率输出,还要包括选择合适的旁路、去耦电容,以滤除各种干扰信号,保证系统的稳定工作。Xilinx公司Spartan-3E XC3S500E FPGA需要三种电压供电才能正常工作:VCCAUX:1.2V±5%,VCCAUX:2.5V±5%,VCCO:3.3V±5%。利用TI公司TPS75003芯片加上必要的外围电路作为该系统的完整的电源解决方案。

  2.5 USB接口芯片

  USB芯片使用由FTDI公司推出的FT245R,该芯片主要完成USB串行总线和8位并行FIFO接口之间的相互协议转换。整个USB通信协议全部由芯片自动完成,无须考虑底层固件的编程。该芯片可以使用内部集成的时钟电路进行工作,也可以使用外部晶振,本系统中使用外部晶振。完全兼容USB2.0协议。它有256字节的接收缓冲区和128个发送缓冲区,可以进行数据的大吞吐量操作。通过8位并行数据口D[0:7]和4位读写状态/控制口RXF、TXE、RD、WR就可实现与微控制器的数据交换。

  3 FPGA系统硬件设计

  Xilinx公司EDK(嵌入式开发套件)的XPS(平台工作室)的系统组建面板以展开式的树和表形式显示所有硬件平台IP实例,因此用户可以方便地查看自己的嵌入式设计。在此面板中可以对IP元素、端口、属性以及参数进行配置。

  3.1 用户IP核设计

  使用XPS进行基于MicroBlaze的用户IP核的开发,该套件集成了硬件平台产生器、软件平台产生器、仿真模型生成器、软件编译器和软件调试工具等。

  为实现系统功能,需自定义一个IP核实现数据的采集与存储:该IP核包括五部分,分别为PLB总线接口模块、数据采集模块、数据缓存模块、数据存储模块FLASH读写控制逻辑。

  (1)数据采集模块:利用FPGA逻辑资源实现A/D采集电路的控制逻辑。在功能上,该AD控制逻辑相当于一个主控制器。该控制过程无需处理器参与。另外AD控制逻辑与AD数据接口的分离,使得高速采集与发送数据成为可能。它连接两片12位的8通道MAXIM1308转换器,可实现多通道的数据采集。

  (2)数据缓存模块:在FPGA内部设计FIFO将AD转换后的数据暂时存放其中。FIFO是Xilinx以FPGA片上Blockram为资源生成,FIFO模块的主要功能是数据缓冲,实现速率匹配。该异步FIFO模块在FIFO读、写控制模块的控制之下进行异步读写,FIFO的读时钟受数据存储模块控制,写时钟受数据采集模块的控制。FPGA内部设计了两片12位的FIFO与上述两片AD转换器相对应。

  (3)数据存储模块:对本系统使用VHDL语言专门设一个DMA控制器来连接FIFO缓存和外部FLASH存储阵列。当FIFO缓存容量达到一定的值时可以启动DMA控制器建立一个高速的通道以提供连续的数据传输,存储到FPGA外部FLASH存储器阵列。这个通道使得只要FIFO缓存中的数据达到一定的值时便能迅速地存储到外部FLASH中,主设备不必为了确定从端口是否能够发送或接收数据而不断地访问从外设的状态寄存器。这使得系统的整体效率有了较大的提高,同时避免了自定义外设FIFO中的数据上溢或下溢。并且该过程只需要Microblaze处理器很少的干预即可完成,极大地节省了CPU资源。

  (4)FLASH读写控制逻辑:主要实现K9XXG08UXA系列的NAND Flash存储器的读写时序,完成对FLASH的操作。

  在SOPC硬件系统设计过程中用户IP核的设计是关键,它的设计是否成功决定着整个系统设计是否可行。在用户IP核设计过程中AD控制器、FLASH控制器、DMA控制器的设计都比较成功的,图3是对用户IP核设计的部分验证:示波器捕获的读FLASH存储器ID号时序图,且实验证明读出来的FLASH存储器的ID号是正确的。其中通道0—4分别代表FLASH的CE(片选)、ALE(地址锁存)、CLE(命令锁存)、RE(读)、WE(写)信号。

  3.2 设计生成FPGA硬件系统

  在XPS嵌入式开发环境中将用户IP核和标准总线核添加到系统中并将它们互相按规则连接起来。XPS提供了一个交互式的开发环境,允许用户对硬件平台各个方面进行设置。其中,XPS在高层对硬件平台描述进行维护,此高层形式即为微处理器硬件规范(MHS)文件。MHS文件作为一个可以编辑的文本文件,是表示用户嵌入式系统硬件部分的主要源文件。XPS将MHS文件综合到硬件描述语言网表中,用于FPGA的布局布线形成FPGA系统的硬件结构,该过程即是生成硬件比特流的阶段,形成后缀名为.bit的文件。

  4 结束语

  本文介绍了基于SOPC的多通道数据采集系统设计,可以对多种关心的环境参数进行采集并研究其特性。利用MicroBlaze微处理器搭建数据此采集与存储的嵌入式可编程片上系统,可以由单个芯片完成整个系统的主要逻辑功能。便于系统实现小型化,集成化。



本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭