FPGA_ASIC-SOPC技术在多总线融合测试系统中的应用
sopc技术与应用
Sopc技术与应用SOPC它是用可编程逻辑技术把整个系统放到一块硅片上,来用于嵌入式系统的研究和电子信息处理.SOPC是一种特殊的嵌入式系统,它是片上系统(SOC),即由单个芯片完成整个系统的主要逻辑功能但它不是简单的SOC,它也是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。
SOPC的特点SOPC前提是SOC系统,所以SOPC继承着了SOC的各种特点,而且SOPC兼具这PLD和FPGA 的优点,一般概括其特点为:(1)至少包含一个嵌入式处理器内核(2)具有小容量片内高速RAM资源;(3)丰富的IPCore资源可供选择;(4)足够的片上可编程逻辑资源;(5)处理器调试接口和FPGA编程接口;(6)可能包含部分可编程模拟电路;(7)单芯片、低功耗、微封装。
SOPC的技术内容:SOPC设计技术涵盖了嵌入式系统设计技术的全部内容,除了以处理器和实时多任务操作系统(RTOS)为中心的软件设计技术、以PCB和信号完整性分析为基础的高速电路设计技术以外,SOPC还涉及目前以引起普遍关注的软硬件协同设计技术。
由于SOPC的主要逻辑设计是在可编程逻辑器件内部进行,而BGA封装已被广泛应用在微封装领域中,传统的调试设备已很难进行直接测试分析,因此,必将对以仿真技术为基础的软硬件协同设计技术提出更高的要求。
同时,新的调试技术也已不断涌现出来,如Xilinx公司的片内逻辑分析ChipScopeILA就是一种价廉物美的片内实时调试工具。
SOPC技术主要应用以下三个方向:(1)基于FPGA嵌入IP硬核的应用。
这种SOPC系统是指在FPGA中预先植入处理器。
这使得FPGA灵活的硬件设计与处理器的强大软件功能有机地结合在一起,高效地实现SOPC系统。
(2)基于FPGA嵌入IP软核的应用。
这种SOPC系统是指在FPGA中植入软核处理器,如:NIOSII核等。
用户可以根据设计的要求,利用相应的EDA工具,对NIOSII及其外围设备进行构建,使该嵌入式系统在硬件结构、功能特点、资源占用等方面全面满足用户系统设计的要求。
多核SOC系统整合过程FPGA软处理器应用论文
多核SOC系统整合过程中的FPGA软处理器应用摘要:当代soc设计流程的核心环节逐步转向将成熟的ip整合为一个更大的芯片系统。
随着芯片系统规模越来越大,各种ip之间相互的影响也越来越复杂,甚至导致整个芯片系统无法协同工作。
本文提出了一种利用多核软处理器进行soc软硬件系统分析和动态调试的方法,大大加速了soc的开发质量和速度。
关键词:soc软硬件系统fpga软处理器芯片系统现代的soc芯片系统,典型的如手机芯片,不断变得越来越复杂,功能越来越强大——通讯,多媒体,网络,照相摄影设备等等不断丰富,使gtsoc芯片的设计难度不断上升。
除了外在的芯片规模在不断上升之外,我们发现,芯片的设计正在变得越来越“软”,这个“软”主要表现在以下方面:(1)soc芯片的主体已经从传统的硬逻辑电路,逐步演化为各种各样处理器相互通过片上总线系统相互连接。
这些处理器软件的编程逐步取代硬件逻辑设计成为soc设计中最耗费人力的环节。
(2)一个soc团队中,软件人员的数量超越硬件逻辑设计人员,目前,典型的比率是6:1(3)软件设计必须和芯片硬件设计几乎同时开始,而不是象以前那样拿到了芯片才开始软件开发(4)软件的功能划分,调试环境的能力,继承性和兼容性成为影响硬件ip选择的重要因素(5)软硬件协同后,各个ip模块之间的影响变得特别复杂,越发难以分析验证,也就越发难以选择各个ip模块在传统的芯片设计过程中,芯片的硬件行为是通过工作站上的软件来仿真的,但对soc而言,一方面各个处理器ip已经越来越复杂,精确仿真处理器模型的建立越来越费劲,甚至根本就没有;一方面系统规模膨胀速度指数级增长,越来越大,严重挑战了仿真软件的性能,目前主流的工作站,在当前规模的soc软件仿真条件下,系统的运行能力不到lhz是非常正常的,而由于应用的复杂,嵌入式操作系统的流行,使得soc系统光启动操作系统什么都没干,就至少需要数千万个时钟周期,在这样的运行性能下,进行软件调试也成了不可能的任务了。
基于SOPC高速图像实时处理技术研究与实现
基于SOPC高速图像实时处理技术研究与实现吴建平;叶玉堂;刘霖;张静;孙强;周恋玲;谢煜【摘要】本文针对现今高速数字图像信号的复杂算法实时处理要求以及系统实时升级问题,设计一种基于FPGA的SOPC高速图像实时处理系统平台,移植可定制高效操作系统Xilkernel,并采用多线程编程、软件仿真以及在线实时调试方法,成功地实现了高速系统实时处理功能.FPGA操作可并行执行及硬件反应时间精确到纳秒(ns)级,因而该系统实时处理性能相对于其它处理平台有明显的优势,同时也满足了在不需更改硬件架构情况下实现系统的实时更新.%A high-speed real-time image processing system based on System on a Programmable Chip (SOPC) of Field Programmable Gate Array (FPGA) was designed against the real-time requirements of complex algorithms for high-speed digital image signal and the existing problems that the system was updated in real time. The customized and efficient operating system Xilkernel was transplanted. And the methods of multi-thread programming, software simulation and real-time debugging online were applied. The real-time processing function of high-speed system has been achieved successfully. The operation of FPGA could be performed in parallel and the responsive time of its hardware could be accurate to nanosecond (ns) level. So the real-time processing properties of the system have more advantages over other processing platforms, and the real-time updates of the system without changing the hardware circuit have also been implemented.【期刊名称】《光电工程》【年(卷),期】2011(038)008【总页数】8页(P124-131)【关键词】SOPC;MicroBlaze;Xilkernel;多线程编程【作者】吴建平;叶玉堂;刘霖;张静;孙强;周恋玲;谢煜【作者单位】电子科技大学光电信息学院,成都610054;电子科技大学光电信息学院,成都610054;电子科技大学光电信息学院,成都610054;电子科技大学光电信息学院,成都610054;电子科技大学光电信息学院,成都610054;电子科技大学光电信息学院,成都610054;电子科技大学光电信息学院,成都610054【正文语种】中文【中图分类】TP510.100 引言近年来,随着科学技术的发展,要求嵌入式系统具有更多的功能、更好的性能和灵活性,传统上的设计方法已经不适应这种要求。
实验七 SOPC 基础实验
实验七SOPC 基础实验SOPC即System-On-a-Programmable-Chip(可编程片上系统),本章通过一系列的实验,使学习者对SOPC的应用有较为深刻的认识,并对FPGA的仿真与设计环境有深入的了解,为进一步的工作奠定基础。
7.1 SOPC概述SOPC是PLD和ASIC技术融合的结果,它是一种特殊的嵌入式系统。
首先它是片上系统(SOC),即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。
由于FPGA无论在逻辑门密度还是在运行频率等诸多方面都取得了长足进步,基于FPGA的嵌入式系统成为SOPC的热点。
目前已经可以把处理器软核、ASIC硬核、数字信号处理器件以及网络控制等各种数字逻辑控制器以IP核的形式集成到FPGA芯片里,构成嵌入式系统。
7.2 基本硬件设计实验嵌入式开发环境EDK是用于设计嵌入式处理系统的集成软件,是利用嵌入式PowerPC™硬处理器核和/或Xilinx MicroBlaze™软处理器核进行Xilinx平台FPGA设计时所需的全部技术文档和IP。
EDK包括硬件部分和软件部分:1. 硬件部分:Xilinx Platform Studio (XPS)XPS是设计嵌入式处理器系统硬件部分的开发环境和用户图形界面。
可使用底层系统生成器BSB(Base System Builder )创建XPS工程,BSB能够快速和有效地创建工程设计。
Xilinx推荐使用BSB向导来创建任何新的嵌入式设计工程,BSB能够满足你所有设计的需要,并且可以帮助你节省很多时间。
使用BSB创建XPS的过程如下:创建顶层工程文件(*.xmp File)选择板型选择和配置处理器选择和配置多重I/O口添加内部的外围设备设置软件观看系统摘要页2. 软件部分:Software Development Kit (SDK)SDK是综合的开发环境,是对XPS的补充,可用C/C++进行嵌入式软件应用的编写和验证。
基于SOPC嵌入式系统多功能数字钟
基于sopc嵌入式系统-多功能数字钟绪论近年来,随着半导体技术的飞速发展,现代高密度现场可编程逻辑器件FPGA(Field Programmable Gate Array)的设计性能及性价比已完全能够与ASIC(Application Specific Integrated Circuit)抗衡。
在这样的背景下,一种被称为SOPC(System on a Programmable Chin)的新技术出现了。
SOPC技术可以使设计人员充分利用FPCA的逻辑单元以及植入FPGA内部的存储模块和DSP模块,并使用FPGA制造厂商提供的软核处理器设计出可灵活裁剪、扩充、可升级的嵌入式处理系统。
在过去的几年中,几种RISE(Reduced Instruction Set Computing 精简指令集)软核处理器相继面世。
使用SOPC开发产品或进行产品的原型设计,可有效减低产品上市风险、降低开发成本、缩短产品上市周期。
由于可编程逻辑器件已经得到广泛的应用,并且PLD和FPGA的系统门数已经发展到百万级,为了简化设计,降低成本和缩短产品周期,可编程逻辑器件供应商以其芯片灵活性和功能完备性的技术优势,掀起了一场设计可编程片上系统的潮流SOPC技术,其实质就是将PLD中容入更多模块,特别是高端的微处理器和数字信号处理器。
钟表的数字化给人们生产生活带来了极大地方便,而且大大的扩展了钟表原先的报时功能。
诸如定时自动报警、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动的自动启动等,所有这些,都是以钟表数字化为基础。
因为,研究数字钟及扩大其应用,有着非常现实意义。
本次数字钟设计主要采用SOPC技术,设计有系统对外部机械按键模块进行扫描获取部分指令,对外部时钟分频后进行小时24分频计时模块、分钟60分频计时模块、秒钟60分频计时模块,并进一步建立年月日计时判断模块。
采用LED数码显示时、分、秒,以24小时计时方式,蜂鸣器则作为闹钟声音提示用。
基于FPGA的集成式测试系统的设计与实现
based on FPGA is designed,the detailed design of backplane bus is introduced and the key design of
data synchronization,arbitration mechanism and so on are discussed. The design of USB2.0 bus based on
CY7C68013A chip and the transmission mechanism of the function sub card are also introduced. The
backplane bus has a 50 MB/s instantaneous transmission rate and supports the simultaneous operation of
收稿日期:2020-04-13
模块化插卡式结构设计具有以下优点:
1)功能扩展卡的引脚设计基本一致,增强了设
计的兼容性,也利于系统后续设计的可扩展性和可
稿件编号:202004103
作者简介:钱宏文(1975—),男,江苏无锡人,研究员级高级工程师。研究方向:集成电路应用和微系统。
- 75 -
《电子设计工程》2021 年第 5 期
总 线 后 状 态 机 跳 转 回 初 始 状 态 时 ,6 个 BR 信 号全
高,对应 6 个 BG 信号也全高,等待开始新的一轮 总 线
裁决。
同时传输。功能卡一次获取的数据量为 500 字节,设
计数据缓存 FIFO 位宽为 16 位,为保证数据在传输中
不至丢失,各功能卡的数据缓存 FIFO 深度至少应为
基于FPGASOPC的温度控制系统设计
20科技资讯 SCIENCE & TECHNOLOGY INFORMATION信 息 技 术DOI:10.16661/ki.1672-3791.2018.21.020基于FPGA/SOPC的温度控制系统设计①王佳宁 于存江 程子轩(长春大学电子信息工程学院 吉林长春 130000)摘 要:本文介绍了一种基于FPGA/SOPC和温度传感器DS18B20的硬件电路温度控制方法。
利用DS18B20采集数字信号,采用FPGA芯片进行数据处理,并通过处理后的数据对继电器进行控制,从而实现对温度的实时调控。
本设计利用Verilog HDL在开发环境下进行硬件电路的设计。
最后利用MODELSIM软件进行模拟仿真试验,在0℃~55℃范围内,测量误差为±1℃,从而实现硬件电路的温度控制。
关键词:FPGA SOPC DS18B20 温度控制中图分类号:TN47 文献标识码:A 文章编号:1672-3791(2018)07(c)-0020-02现今,电子元器件在工业领域当中得到了非常广泛的应用,但是其应用效果和作用在不同的温度环境下的表现也有较大差距。
那么,如何更好地发挥元件的功能,就需要提高整个元件的稳定性,也要保持元件的最佳工作温度。
在这里,温度控制链路就起着非常重要的作用。
然而,普通的温控系统对温度采集和数据处理间存在很多不平衡的缺点,如何解决温度采集和处理数据的实时性和精确性,就需要合理的设计方案。
综合考虑,本设计是一种在FPGA 上实现SOPC温度采集和监测控制系统。
SOPC (System On a Programmable Chip )即可编程片上系统,它将CPU、ROM、RAM、I/O端口和DSP集成到一个FPGA芯片中。
SOPC的设计灵活开放,可以软硬件剪裁、扩展、升级、并具有可编程功能。
1 系统总体方案设计温度控制系统的设计包括以下几个部分:F P GA、DS18B20、MAX232、报警模块、继电器模块和1602LCD 等。
杭州康芯SOPC实验开发系统说明
杭州康芯SOPC实验开发系统说明(型号:GW48-PK2S)1、关于ASIC、CPLD、sopc、FPGAASIC(Application Specific Intergrated Circuits)即专用集成电路,是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。
目前用CPLD(复杂可编程逻辑器件)和FPGA(现场可编程逻辑阵列)来进行ASIC设计是最为流行的方式之一,它们的共性是都具有用户现场可编程特性,都支持边界扫描技术,但两者在集成度、速度以及编程方式上具有各自的特点。
ASIC的特点是面向特定用户的需求,品种多、批量少,要求设计和生产周期短,它作为集成电路技术与特定用户的整机或系统技术紧密结合的产物,与通用集成电路相比具有体积更小、重量更轻、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。
在二○世纪九十年度末,可编程逻辑器件(PLD)的复杂度已经能够在单个可编程器件内实现整个系统。
完整的单芯片系统(SOC)概念是指在一个芯片中实现用户定义的系统,它通常暗指包括片内存储器和外设的微处理器。
最初宣称真正的SOC――或可编程单芯片系统(SOPC)――能够提供基于PLD的处理器。
在2000年,Altera发布了Nios处理器,这是Altera Excalibur嵌入处理器计划中第一个产品,它成为业界第一款为可编程逻辑优化的可配置处理器。
本文阐述开发Nios处理器设计环境的过程和涉及的决策,以及它如何演化为一种SOPC工具。
Altera很清楚地意识到,如果我们把可编程逻辑的固有的优势集成到嵌入处理器的开发流程中,我们就会拥有非常成功的产品。
基于PLD的处理器恰恰具有应用所需的特性。
一旦定义了处理器之后,设计者就“具备”了体系结构,可放心使用。
因为PLD和嵌入处理器随即就生效了,可以马上开始设计软件原型。
CPU周边的专用硬件逻辑可以慢慢地集成进去,在每个阶段软件都能够进行测试,解决遇到的问题。
fpga应用领域_fpga应用三个主要方向
fpga应用领域_fpga应用三个主要方向FPGA简介FPGA(Field Programmable Gate Array)于1985年由xilinx创始人之一Ross Freeman发明,虽然有其他公司宣称自己最先发明可编程逻辑器件PLD,但是真正意义上的第一颗FPGA芯片XC2064为xilinx所发明,这个时间差不多比摩尔老先生提出著名的摩尔定律晚20年左右,但是FPGA一经发明,后续的发展速度之快,超出大多数人的想象,近些年的FPGA,始终引领先进的工艺。
fpga的优势1)通信高速接口设计。
FPGA可以用来做高速信号处理,一般如果AD采样率高,数据速率高,这时就需要FPGA对数据进行处理,比如对数据进行抽取滤波,降低数据速率,使信号容易处理,传输,存储。
2)数字信号处理。
包括图像处理,雷达信号处理,医学信号处理等。
优势是实时性好,用面积换速度,比CPU快的多。
3)更大的并行度。
这个主要是通过并发和流水两种技术实现。
并发是指重复分配计算资源,使得多个模块之间可以同时独立进行计算。
FPGA的基本特点1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。
2)FPGA可做其它全定制或半定制ASIC电路的中试样片。
3)FPGA内部有丰富的触发器和I/O引脚。
4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。
5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
那么fpga的应用领域有哪些呢?主要的方向又是什么呢?具体的跟随小编来了解一下。
fpga应用的三个主要方向第一个方向,也是传统方向主要用于通信设备的高速接口电路设计,这一方向主要是用FPGA处理高速接口的协议,并完成高速的数据收发和交换。
这类。
浅述SOPC在控制系统中的应用状况
理的 AI SC方法 , 具有简单 、 活性和 可扩充 性特点 , 介绍 了一 灵 并
个基 于 F G P A的面 向工业过程控 制 的模 糊控制实 验系统 F I 原 CS
种被称 为 S P O C(Ss m o rg m beC i) yt naPo a mal hn 的新 技术 出 e r
手段 。
12 S P . O C技 术 的 发 展 情况
以往 的 SC设计依赖 于 固定 的 A I ( p l ao pcf n o SC A pi t nS ei I・ ci i c
遗 传算 法等) 并利用 S P O C技术的嵌入式单 芯控制器 技术 的研 究
得 到广 泛的开展 。在模糊算法方 面 , 文献… 提出一种模糊控 制推
1 1 SC概 述 . o
SC Ss m—o o ( yt e n—a h ) —C i 可称为 系统级 芯片 , p 也称 片上系
统, 是一个有专用 目标 的集成 电路 , 中包含 完整 系统 并有嵌 入 其
软件的全部 内容 。SC设计实 质上是把各 个子 系统 的 I o P核组 装 为一个大 的片上 系 统。所 谓 I P核 即专有 知识 产 权 (ne et l Itlc a l u Poet) , rpr 核 是提 供 中央 处理 器 ( P 数 字 D P外设 互 连接 口 y C U) S (C) P I 和通用 串行总线 ( S 等足 够可靠 的各种 功能 的功能块 , U B) 它们 的设计和再利用是保证 系统 级芯片 开发效 率和质 量 的重 要
堡墨篓 堡! 噩 ! !
浅述 S P O C在 控 制 系统 中的应 用 状 况
Dic s i n o h p ia in o h OPC i n r lS se s u so n t e Ap lc to ft e S n Co to y tm
基于FPGA的SOPC设计
襄 樊学 院学报
J u a f in fn U nv r i o r lo a g a i e st n X y
Au .2 1 g, 0 0 V 1 1N 0 b- 8 3
第 3 卷第 8 1 期
基于 F G 的 S P PA O C设 计
王 培 元
SP O C的设计 .
1 系 统 总体 设 计
本 S P 系统主要实现推箱子游戏 ,系统由一个 3b is 软核处理器 、液晶显示器 、 D A OC 2 i Nol t I S R M、 F AS L H、键 盘等 组成 。设计 的关 键是定 制 N o 软核 处理 器 以及处 理器 与外 围器件 的接 口电路 . isI I
系统综合软件来完成的. 在定制 中要注意处理器的时钟频率 ,外部 R M 总线(vl 三态桥) A Aa n o 、外部 R M A 接 口、外 部 Fah接 口 、键盘 PO、L D数 据线 及控 制信号 线 、L DPO、定 时器 、S s m 的参数 设置 . l s I C E I yt I e D
收 稿 日期 :2 1—6 1; 订 日期: 000 .8 000.8 修 2 1.80 作 者简 介 :王培 元(9 3 ) 男 , 17一 , 湖北 宜 城人 , 樊学 院物理 与 电子工 程学 院讲师 襄
王 培 元 :基 于 F G 的 S P PA O C设 计
1 DR M 存 储器 .S A 4 系统 使用 的 S A 是 HYN X公 司 的 HY 7 6 12 , 是一 款具 有 6Mbt 量 1 宽 的 S R DR M I 5 V 4 6 0这 4 i容 6位 D AM ,
关 键 字 :F G P A;S P O C:N o ;u / . isI COSI I I
sopc的现状及发展趋势
SOPC现状及发展趋势System-on-a-Programmable-Chip,即可编程片上系统。
用可编程逻辑技术把整个系统放到一块硅片上,称作SOPC。
可编程片上系统(SOPC)是一种特殊的嵌入式系统:首先它是片上系统(SOC),即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。
以SOPC为核心的电子产品,是近几年集成电路中发展最快的产品.SOPC将进一步扩大适用领域,将复杂专用芯片挤向高端和超复杂应用.SOPC是PLD和ASIC技术融合的结果,目前0.13微米的ASIC产品制造价格仍然相当昂贵,相反,集成了硬核或软核CPU、DSP、存储器、外围I/O及可编程逻辑的SOPC芯片在应用的灵活性和价格上有极大的优势。
SOPC 被称为“半导体产业的未来”。
SOPC是一个融合体:融合了SOC和FPGA的技术,同时也在ASIC和可编程器件之间找到一个折衷点,未来很难预测。
几家主要的可编程器件厂商都相继推出了自己的SOPC产品,它们各有特点。
SOPC中一个重要的部件是CPU,因为没有这个大脑,也就谈不上SOPC了。
围绕着这个CPU,各个厂家各出其招.首先是软核的方案,Altera成功推出Nios和Nios II,在Cyclone等系列上得到了广泛的应用;Xilinx也不甘落后,推出了MicroBlaze,新的系列产品都支持这个CPU。
在SOPC中使用软核的好处不言而喻,和普通SOC中使用软核有异曲同工之处。
一方面给使用者带给了设计上的灵活性,同时升级到其他系列产品也很方便;几款软核还可以嵌入RTOS。
Nios还给用户提供了自定义命令的功能。
可以说软核的使用加快了FPGA市场的普及。
正是因为看到这个市场,CPU的风云人物ARM也不甘落后,也和Actel一起推出了Cortex-M1,也准备在FPGA软核这个市场上大显身手。
FPGA_ASIC-多通道超声探伤数据采集处理技术
多通道超声探伤数据采集处理技术The Data Acquisition and Processing Technique for Multi-channel Ultrasonic Testing(中国海洋大学)刘 贵 杰 李 帆Liu,Guijie Li,Fan 摘要:设计了一种以DSP嵌入式处理器为核心、基于FPGA技术的四通道数字式超声探伤数据采集与处理系统。
采用高速A/D转换芯片,在对超声回波信号采集的同时实现了采样数据的在线压缩,在FPGA的控制下实现了高速数据的缓冲存储,设计的系统体积小、功耗低、功能强、集成度高,尤其适合于高速、高精度的超声无损检测。
关键词:超声检测;数据采集与处理;数据压缩;现场可编程门阵列中国分类号:TP274 文献标识码:BAbstract:A new type data acquisition and processing system for four channel digitalized ultrasonic testing based on FPGA was developed. The system,which took DSP embedded processor as core, adopted high-speed A/D conversion chip.It realized on_line compression of sampled data while collecting ultrasonic echo signal.Besides,it carried out the buffer of high-speed data saving under the control of FPGA.The system designed has a characteristic of small volume,low consumption,strong function,high integration degree,and it is especially suitable for the high speed and high accuracy ultrasonic nondestructive testing.Keywords: ultrasonic testing,data acquisition and processing, data compression, FPGA超声波检测作为一种常用的无损检测技术之一,具有穿透力强、设备简单、检测灵敏度高、使用方便和安全性好的优点,在产品质量控制、结构完整性评估、部件剩余寿命预测等领域有着广泛的应用。
基于FPGA和SOPC的视频图像处理系统的研究
基于FPGA和SOPC的视频图像处理系统的研究摘要:介绍基于EDA技术的数字视频图像系统的实现方案。
本设计利用Altera公司最新的SoPC(可编程片上系统)解决方案——以NiosII嵌入式软核处理器为核心,实现视频图像处理系统。
文中介绍系统框图和部分仿真结果。
用FPGA来实现视频图像处理,加快了数据的处理速度,提高了系统的实时性和可靠性,节约了硬件成本。
关键词:FPGA SOPC 视频图像处理1 本项目研究的理论与实际意义近年来,视频图像处理系统以实时性强,适于远程控制,便于管理人员操作等优点。
日益在银行、交通、仓管、军事等行业的安防方面得到了广泛的应用。
基于FPGA和SOPC技术的视频图像处理除了具有优越的抗干扰性能,保持图像信息清晰稳定以外,还具有设备小巧不需附带其他设施、价格适中等优点,通过适当的地址编码控制,它可以实现点对点、点对多点、单向和双向实时的多媒体通信。
可以广泛地应用于公寓式、别墅式家庭、大型会议室、多媒体教室等,只要增加信令功能,即可把此项技术应用于无线可视电话系统,应用前景非常广阔。
2 国内外研究现状及分析视频图像处理系统是进行数字图像处理、多媒体和视频网络传输的前提,它可以为各种图像处理算法提供待处理的原始数字图像。
数字图像处理技术被广泛应用于可视电话、电视会议、监控系统等各种民用、商用及工业生产领域中。
各种处理算法也日趋成熟,相关的硬件技术不断地推陈出新。
视频处理的主流实现方案有两种: 一是基于ASIC,该方案一般采用意法、AMD等公司的专用视频处理芯片;二是基于DSP,主要采用TI、ADI等公司的DSP信号处理器。
它们作为辅处理器,可在主CPU控制下进行视频信号的采集压缩。
但在这些数字图像处理系统中,一个突出的问题就是数据量庞大,特别是在图像帧速率和分辨率要求比较高的场合均无法获得令人满意的效果,并且修改很不方便。
随着FPGA的发展,通过SOPC技术实现视频采集已成为一种易于开发、设计灵活的方案,并且有很好的实时性。
SOPC简介
在二十世纪九十年代末,可编程逻辑器件(PLD)的复杂度已经能够在单个可编程器件内实现整个系统,完整的单芯片系统(SOC)概念是指在一个芯片中实现用户定义的系统。
在一个SOC设计中,将涵盖到包括微处理器、DSP芯片、存储器件、I/O、控制逻辑、混合信号模块(Mixed-Signal Blocks )等在内的许多部分。
在系统设计复杂度不断的提高及新产品市场周期不断缩短的压力下,把FPGA及微处理器的核心内嵌在同一芯片上,构建成为一个可编程的SOC系统体系框架结构,建成所谓的可编程芯片系统SOPC(System on a Programmable Chip),从而为系统设计者提供了又一灵活快捷的设计方法与途径。
SOPC 是一种新的系统设计技术,也是一种新的软硬件综合设计技术。
通过它,可以很快地将硬件系统(包括微处理器,存储器,外设以及用户逻辑电路等)和软件设计都放在一个可编程的芯片中,以达到系统的IC 设计。
这种设计方式,具有开发周期短以及系统可修改等优点。
设计完成的SOPC 可以通过HARDCOPY 转为ASIC 芯片,从而可以实现快速量产。
在2000 年,Altera 发布了Nios软核RISC 处理器,这是Altera Excalibur 嵌入处理器计划中第一个产品,它成为业界第一款为可编程逻辑优化的可配置处理器。
Altera 把可编程逻辑的固有的优势集成到嵌入处理器的开发流程中,一旦定义了处理器之后,设计者就“具备”了体系结构,可以马上开始设计软件原型。
CPU 周边的专用硬件逻辑可以慢慢地集成进去,在每个阶段软件都能够进行测试,解决遇到的问题。
另外,软件组可以对结构方面提出一些建议,改善代码效率和/或处理器性能,这些软件/硬件权衡可以在硬件设计过程中间完成。
为了减轻设计者的负担,最佳的途径是把所有和处理器子系统相关的底层详细资料集中到单个工具中。
Altera 提供了这样的工具SOPC Builder,它包括两方面的内容:第一,它具有直观的图形用户接口(GUI),便于设计者准确地添加和配置系统所需的外设(包括存储器,定制外设和IP 模块)。
ARM,DSP,FPGA,CPLD,SOPC,SOC之间有什么区别和联系.
arm是一种嵌入式芯片,比单片机功能强,可以针对需要增加外设。
类似于通用cpu,但是不包括桌面计算机。
DSP主要用来计算,计算功能很强悍,一般嵌入式芯片用来控制,而DSP用来计算,譬如一般手机有一个arm芯片,主要用来跑界面,应用程序,DSP可能有两个,adsp,mdsp,或一个,主要是加密解密,调制解调等。
FPGA和CPLD都是可编程逻辑器件,都可以用VHDL或verilog HDL来编程,一般CPLD 使用乘积项技术,粒度粗些;FPGA使用查找表技术,粒度细些,适用触发器较多的逻辑。
其实多数时候都忽略它们的差异,一般在设计ASIC芯片时要用FPGA验证,然后再把VHDL 等程序映射为固定的版图,制作ASIC芯片,在设计VHDL程序时,有可能要使用C仿真。
SOC就是单片系统,主要是器件太多设计复杂,成本高,可靠性差等缺点,所以单片系统是一个发展趋势。
SOPC就是可编程芯片系统,就是可以用FPGA/CPLD实现一个单片系统,譬如altera的Nios软核处理器嵌入到Stratix中。
●FPGA与CPLD的区别系统的比较,与大家共享:尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点:CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。
换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。
②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性③在编程上FPGA比CPLD具有更大的灵活性。
CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。
④FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。
⑤CPLD比FPGA使用起来更方便。
SOPC技术及应用
15
1.1 SOPC及其技术 及其技术
1.1.1 嵌入式系统 1.1.2 SoC简介 简介 1.1.3 SOPC技术 技术
16
1.1.1 嵌入式系统
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可 裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格 要求的专用计算机系统。 外围设备 嵌 入 式 微 处 理 器 外围设备
12
参考书目
《Nios II系统开发设计与应用实例》 北京航空航天大学出版社 《SOPC技术与应用》机械工业出版社 《FPGA与SOPC设计教程-DE2实践》 西安电子科技大学出版社 《基于FPGA的嵌入式开发与应用》 电子工业出版社
13
第1章 绪论
14
第1章 绪论
1.1 SOPC及其技术 及其技术 1.2 Nios II软核处理器 软核处理器 1.3 开发工具 1.4 开发平台 1.5支持 支持SOPC的FPGA简介 支持 的 简介
3
基于HardCopy技术的SOPC系统
发周期长、产品上市慢、一次性成功率低、 发周期长、产品上市慢、一次性成功率低、有 最少投片量要求、设计软件工具繁多且昂贵、 最少投片量要求、设计软件工具繁多且昂贵、 开发流程复杂等。 开发流程复杂等。
24
构成SOPC的三种方案
1
基于FPGA嵌入IP硬核的SOPC系统
3
基于HardCopy技术的 技术的SOPC系统 基于 技术的 系统
21
构成SOPC的三种方案
IP硬核直接植入FPGA存在以下不足: IP硬核直接植入FPGA存在以下不足: 硬核直接植入FPGA存在以下不足
1 基于FPGA嵌入 硬核的 嵌入IP硬核的 基于 嵌入 硬核的SOPC系统 系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SOPC技术在多总线融合测试系统中的应用作者:方甲永,肖明清,刘文杰来源:微计算机信息摘要:多总线融合测试系统基于LXI总线,兼容PXI、VXI、GPIB、1553B、ARINC429,RS422、RS485总线。
实现多总线融合的测试系统必须解决LXI总线到其它总线的协议转换。
本文采用SOPC技术在一块FPGA芯片上实现了LXI到GPIB、1553B、ARINC429、RS485、RS422总线的协议转换,软件层基于µC/OS-Ⅱ实时操作系统和lwip协议,开发了应用程序。
关键词:多总线融合;SOPC;µC/OS-Ⅱ;Lwip目前测控系统中仪器与计算机之间常见的连接方式有串行总线、并行总线。
串行总线主要有RS-232总线、RS-422总线、RS-485总线、USB总线、IEEE1394(FireWire)总线、ARINC 429总线和1553B总线等;并行总线中主要有IEEE-488(GPIB)总线、SCSI总线、MXI总线等。
每种总线都有其各自的特色和相应的应用领域。
目前尚没有那种总线能够适用于所有的应用领域,因此多总线共存的局面将在很长一段时间存在。
典型的多总线融合式自动测试系统包含的总线平台有LXI、PXI、VXI、GPIB、1553B、ARINC429、RS485、RS422等。
由于各种总线的机械特性、电气特性、传输协议等标准的不同,只有在数字接口总线上开发出一系列接口转换器,才能使不同的总线相互兼容。
1 多总线融合测试系统的模型和解决方案组建多总线融合的自动测试系统必须以一种总线为主,本系统基于LXI总线,融合了PXI、VXI、GPIB、1553B、ARINC429、RS485、RS422等总线,系统模型如图1所示。
选用LXI总线作为基础总线组建系统是由其本身的优点和测试系统的发展趋势决定的。
2004 年Agilent公司和VXI科技公司在结合了GPIB和VXI总线优点的基础上,开发了基于以太网的LXI总线[1]。
Agilent公司指出了组建LXI自动测试系统的10个优点:易于使用、灵活性高、模块化和可扩缩性、性能强、分布式应用、长寿命、成本低、通过IEEE1588同步、机架空间、合成仪器,LXI 解决了系统开发者所面临的各种主要问题:降低成本、缩小系统尺寸、简化集成、提高吞吐率,以及为硬件和软件的重复利用提供更多机会[2]。
这些好处使LXI 成为适应当前和未来的测试体系结构的新一代总线。
[1]图1 多总线融合测试系统模型基于LXI总线组建多总线测试系统,其他测试总线系统向LXI总线转换可以分为两种情况:1)VXI、PXI 总线系统需要零槽控制器来完成LXI到PXI、VXI的转换,这些零槽控制器不仅具备协议转换的功能而且具有独立的嵌入式处理器和时钟,来完成对VXI、PXI板卡的控制,这类转换器开发困难,所以本系统选用了市场上成熟的商品;2)LXI到GPIB、1553B、ARINC429、RS422、RS485的扩展,相对于第1种情况,这类转换器开发起来比较简单。
转换器主要完成协议间的转换,所以我们基于SOPC技术开发了通用总线转换器。
2 基于SOPC技术通用总线转换器的总体设计方案SOPC(System on a Programmable Chip,片上可编程系统)是由Altera公司倡导提出的,这个概念其实是SOC (System On Chip,片上系统)概念的扩展。
它将处理器、存储器、I/O口、LVDS、CDR等系统设计需要的功能模块集成到一个PLD器件上,具有灵活的设计方式、可裁减、可扩充、可升级,并具备软硬件在系统的可编程能力[5]。
Nios II是Altera特有的基于通用FPGA架构的软CPU内核。
一个Nios II处理器由Nios II CPU和一系列外设组成,Altera提供SOPC Builder软件用于生成所需要的处理器结构。
本转换器所需生成的CPU及功能外设包括:32位标准型Nios II软核、串口组件、以太网组件、1553B组件,其中1553B为用户自定义外设组件,其他两个外设组件Altera已经提供。
转换器总体功能结构框图如图2所示,其中 RS485、RS422接口由Nios II自带的UART外设加相应的电平转换芯片产生;以太网接口采用Nios II提供的LAN 91C111控制组件,并用相应的控制芯片LAN 91C111实现,而对于1553B总线Nios II并没有提供外设组件,因此针对1553B的实现有三种方案可以选择:1)在FPGA剩余的门电路中,用硬件描述语言实现1553B逻辑;2)采用外部协议转换芯片,并且把协议芯片当作普通的外部设备PIO来控制;3)采用外部协议转换芯片,定制用户外设,把协议芯片当作外部存储设备来控制。
从以上三种方案中不难看出,第一种方案实现难度最大,需要用户对1553B协议非常熟悉。
第二种方案实现最为简单,但是这种方案适于较为简单的组件,对于1553B协议控制芯片,如采用这种方案将极大的增加软件的工作量。
对于第三种方案,用户自定义组件、自定义指令,不仅极大地减少了软件工作量,而且自定义的组件可以进行封装后重复利用,同时自定义指令也提高了执行效率。
所以我们采用了方案3来实现1553B逻辑。
图2 通用转换器总体设计方案GPIB、ARINC429总线,因为他们的逻辑实现起来比较简单,而且有成熟的FPGA硬件逻辑设计电路,所以我们在FPGA芯片剩余的空间内用VerilogHDL硬件描述语言来实现。
3 开发流程图3 开发流程图系统的开发可以分为三部分,如图3所示。
三部分可以同时进行也可以分别进行,第一部分为Nios II软核处理器及其外设的设计,所用的软件为SOPC Builder ,需要做的主要工作是自定义组件BU61688控制逻辑的设计。
第二部分GPIB和ARINC429总线逻辑Verilog HDL 源代码的书写,所用的软件是Quartus II,第一部分生成的Nios II 处理器及其外设与第二部分的总线逻辑也是在Quartus II软件中通过原理图输入方式或文本输入方式进行组合的。
第三部分为操作软件的书写,是在开发环境Nios II IDE中进行的,所需做的主要工作是在µC/OS-Ⅱ实时操作系统的基础上开发应用程序,主要包括TCP/IP协议的实现,嵌入式Web 界面的实现,以及与其它接口进行通讯的应用程序。
4 基于µC/OS-Ⅱ实时操作系统的软件设计在Nios II IDE中进行软件设计时需要实现复杂的TCP/IP协议,并且要进行网络接口到其它数据接口转化的多任务操作,如果不采用嵌入式操作系统,软件的工作量很大,而且工作效率也比较低。
在Nios II IDE 中已经移植了µC/OS-Ⅱ操作系统,而且移植了基于µC/OS-Ⅱ操作系统的轻量TCP/IP协议,这就大大降低了我们编程的工作量。
4.1 嵌入式TCP/IP协议的实现。
Nios II IDE中已经嵌入了lwip协议,具体的实现过程及实现函数如图4所示[4]。
图4 lwip协议实现过程接收数据流程:网络接口驱动通过low_level_input()函数从网络接口接收数据包,区分是ARP包还是IP包。
如果是ARP包将调用ARP功能函数处理这个包,如果是ARP请求,则发送一个ARP地址应答包,如果是ARP应答报,则更新ARP地址影射表。
如果是一个IP包,则更新ARP地址影射表,然后将数据包交由ip_input()函数处理,ip_input()函数将数据包进行简单的处理后分析该数据包是否需要转发,如果需要则进行转发,如果数据包有误则发送ICMP包。
如果该包是发送给本机的正常数据包,ip_input()则根据数据包的类型,分别发送给udp_input(),tcp_input()或icmp_input()函数进行处理。
如果是发送给icmp_input()的的数据包则必然是echo包,由icmp处理函数发送应答。
如果是发送给UDP或TCP协议的数据包,UDP或TCP协议的处理函数将进行相应的处理,最后发送给应用程序。
发送数据流程:当应用程序需要发送一个数据包时,它将调用UDP或TCP协议处理函数udp_send()或tcp_write()函数发送一个数据包,UDP或TCP协议处理函数接到数据后,将对数据进行打包、分段,然后发送给IP层的ip_output_if()函数(需要的时候调用ip_route函数进行路由选择),该函数把数据打包、封装然后调用网络接口驱动函数low_level_output()函数将数据发送给网络接口。
4.2 应用软件设计图5 程序层次结构图4.1讲述了lwip协议实现的具体过程,但是我们在编辑应用程序时并没有直接调用协议栈中的回调函数,图5表示了应用程序的层次结构,我们在开发应用程序时调用了Nios II IDE中提供的标准接口函数。
例如在对lwip协议的初始化和网络接口的初始化时我们调用了Nios II IDE提供的两个初始化函数lwip_stack_init()和lwip_devices_init(),而在实现lwip协议时我们调用了lwip提供的标准套字编程接口函数,它跟普通的socket API 一样是基于open_read_write_close模型的,提供了一套标准的方法使用lwip,在这里我们不进行详细的讲解。
lwip_stack_init()函数的原型是void lwip_stack_init(int thread_prio, void (*init_done_func)(void *), void *arg) 其中thread_prio是TCP/IP协议的优先级,init_done_func()是协议初始完后调用的函数,这个函数可以完成设备的初始化和任务的建立,arg是传递给init_done_func()函数的变量,一般情况下为0。
lwip_devices_init()函数的原型是int lwip_devices_init(int rx_thread_prio) 函数的返回值表示网络接口设备初始化成功,接下来你就可以创建基于TCP/IP协议的任务,rx_thread_prio是网络接口接收发送数据任务优先级,在这个函数中还需要调用其它两个函数get_mac_addr()和get_ip_addr()。
其中get_mac_addr()函数的原型为err_t get_mac_addr(alt_lwip_dev* lwip_dev),在这个函数内部你要填写网络设备的MAC地址。
函数get_ip_addr()的原型为int get_ip_addr(alt_lwip_dev* lwip_dev, struct ip_addr* ipaddr, structip_addr* netmask, struct ip_addr* gw, int* use_dhcp),你可以动态或者静态的获得IP地址,只需修改use_dhcp 的值,如果静态获得IP地址,你需要在相应的区域内手动输入初始化值[7]。