当前位置:首页 > 嵌入式 > 嵌入式硬件

摘 要: 介绍了一种采用SoPC技术,适用于光照度不够均匀造成图像灰度过于集中环境下的视频处理与显示设计。该系统基于FPGA技术,通过将NiosⅡ软核处理器、用户自定义逻辑模块、存储器、I/O等集成到单块低成本的FPGA上,实现对解码芯片SAA7113H的初始化及配置、视频图像灰度信号直方图统计以及灰度均衡化的实时处理与显示。其设计灵活、可靠性高,并且降低了成本和功耗。
关键词: SoPC;I2C;灰度直方图统计;灰度均衡化

 当前基于软核处理器的图像系统已成为研究的热点,使用FPGA来构建基于片上可编程系统(SoPC)的图像处理系统,已成为一种趋势[1]。因此,本文采用SoPC技术,在Altera公司单片Cyclone系列FPGA上使用IP资源复用技术集成了NiosII软核处理器及各种输入输出接口,完成了对视频图像的采集、预处理、存储和显示几大功能。本系统对图像进行了灰度均衡化处理,使系统应用更广。由于直方图均衡能直接从已知的图像中提取信息,不需要额外的参数说明,所以在军用、航空、商业等领域,特别是红外图像增强领域[2]有实际的意义。SoPC是Altera公司提出来的一种灵活、高效的柔性设计,不需要修改硬件[3],就可方便地扩展和修改嵌入式视频采集功能。同时,由于融入众多的IP核,保证了设计的高效、快速。
1 系统总体结构及工作原理
 系统框图如图1所示。系统上电后,Nios II软核中的I2C控制总线对视频采集模块SAA7113H进行配置,FPGA依靠像素时钟和行、场信号同步采集SAA7113H芯片输出的视频信号中的灰度视频数据,把采集到的灰度数据进行灰度直方图统计和灰度分布均衡化处理。Nios II软核外部加一个延迟模块,与灰度转换模块输出的信号同步之后,视频输入模块开始工作,通过存储控制、DMA控制器传输视频信号,LCD显示控制等模块显示所采集的信号。所有处理都采用流水线操作,大大节省了系统的处理时间。

2 系统硬件设计
2.1 视频解码芯片SAA7113H初始化
 本系统中视频解码器的初始化配置由Nios II软核处理器通过I2C总线完成,主要包括对视频解码器的工作模式,输出行、场同步参考信号的时序关系以及输出数字信号的格式等进行设置。I2C总线是由Philips公司开发的一种两线制总线,由一条串行数据线SDA和一条串行时钟线SCL组成,可以实现数据通信,完成芯片配置。首先,I2C总线控制器发出一个数据传输的起始条件:SCL信号保持高电平、而SDA信号由高电平变为低电平时,开始传输地址数据流。起始条件满足后,发出一个8 bit的设备从地址,所有的外围设备开始响应起始条件并转换下一个8 bit寄存器地址(7 bit地址+1 bit读写位),由高位到低位依次传输。外围设备识别出传输地址后,在第9个时钟脉冲(确认位)把数据线变为低电平,然后开始将8 bit数据写入或者读出寄存器(读写位决定了数据的传输方向)。当时钟线SCLK为高电平、而数据线SDA由低电平变为高电平时,表示一次数据传输完成,停止I2C总线,等待下一次的传输开始。图2为I2C总线的数据传输时序图。

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

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

嵌入式开发作为信息技术的关键支柱,在全球数字化转型浪潮中扮演着无可替代的角色。从传统的嵌入式微控制器到如今先进的片上系统(SoC),再到与云计算、人工智能深度融合的智能终端,嵌入式系统的演进与发展始终紧跟时代脉搏。本文将...

关键字: 嵌入式开发 智能应用

嵌入式开发是一种专门针对特定硬件平台设计和实现软件系统的工程实践,它涵盖了从需求分析、系统设计、编程实现、调试测试直到产品部署及维护的全过程。本文将深入探讨嵌入式开发的主要阶段,分解其流程并阐述每个步骤的关键要点,以便于...

关键字: 嵌入式开发 嵌入式软件
关闭
关闭