采用ARM与FPGA芯片实现独立视频源LED显示系统的设计

发布者:csw520最新更新时间:2020-08-24 来源: elecfans关键字:ARM  FPGA芯片  独立视频源  LED显示系统 手机看文章 扫描二维码
随时随地手机看文章

目前,显示屏按数据的传输方式主要有两类:一类是采用与计算机显示同一内容的实时视频屏;另一类为通过USB、以太网等通信手段把显示内容发给显示屏的独立视频源显示屏,若采用无线通信方式,还可以随时更新显示内容,灵活性高。此外,用一套嵌入式系统取代计算机来提供视频源,既可以降低成本,又具有很高的可行性和灵活性,易于工程施工。因此,独立视频源LED显示系统的需求越来越大。


本系统采用ARM+FPGA的架构,充分利用了ARM的超强处理能力和丰富的接口,实现真正的网络远程操作,因此不仅可以作为一般的LED显示屏控制器,更可以将各显示节点组成大型的户外广告传媒网络。而FPGA是一种非常灵活的可编程逻辑器件,可以像软件一样编程来配置,从而可以实时地进行灵活而方便的更改和开发,提高了系统效率。


1 独立视频LED系统

LED显示屏的主要性能指标有场扫描频率、分辨率、灰度级和亮度等。分辨率指的是控制器能控制的LED管的数量,灰度级是对颜色的分辨率,而亮度高则要求每个灰度级的显示时间长。显然,这3个指标都会使得场扫描频率大幅度降低,因此需要在不同的场合对这些指标进行适当的取舍。通常灰度级、亮度和场扫描频率由单个控制器决定,而分辨率可以通过控制器阵列的方式得到很大的提高。这样,每个控制器的灰度和亮度很好,场扫描频率也适当,再通过控制器阵列的形式,实现大的控制面积,即可实现颜色细腻的全彩色超大屏幕的LED显示控制器。独立视频LED系统完全脱离计算机的控制,本身可以实现通信、视频播放、数据分发、扫描控制等功能。为了实现大屏幕、全彩色、高场频,本系统采用控制器阵列模式,如图1所示。

采用ARM与FPGA芯片实现独立视频源LED显示系统的设计

图1 独立视频LED系统结构

系统可以通过网络接口(以太网接口)由网络服务器端更新本地的数据,视频播放部分则通过对该数据进行解码,获得RGB格式的视频流。再通过数据分发单元,将这些数据分别发送到不同的LED显示控制器上,控制器将播放单元提供的数据显示到全彩色大屏幕LED上。


2 通信接口和视频播放单元

本系统的通信接口和视频播放部分由ARM uClinux实现。ARM (Advanced RISCMachine)是英国ARM公司设计开发的通用32位RISC微处理器体系结构,设计目标是实现微型化、低功耗、高性能的微处理器。Linux作为一种稳定高效的开放源码式操作系统,在各个领域都得到了广泛的应用,而uClinux则是专门针对微控制领域而设计的Linux系统,具有可裁减、内核小、完善的网络接口协议和接口、优秀的文件系统以及丰富的开源资源等优点,正被越来越多的嵌入式系统采纳。系统中使用Intel XScale系列的PXA255芯片,与ARM v5TE指令集兼容,沿用了ARM的内存管理、中断处理等机制,并在此基础上做了一些扩展,如DMA控制器、LCD控制器等。由于ARM9的处理能力有限,目前只用其播放320×240像素的视频。


系统视频播放的数据来自于系统中的SD存储卡(Secure Digital Memory Card)。更新SD卡的数据有两种方式:一种是用计算机更新SD卡的数据;另一种是通过网络接收服务器的数据,直接由ARM更新SD卡。此外,播放器也可以直接播放网络传送的MPEG-4格式数据口由于XScale未提供物理层接口,若想实现网络功能需外接一片物理层芯片。本系统选用SMSC公司的高性能100M以太网控制器LAN9118。


3 视频数据分发

由于控制器采用阵列模式,因此需要对视频源提供的数据进行分发,将不同行列的数据正确地送入不同的控制器。


3.1 数据分发单元方案

本系统中的LED控制器灰度级高达3×12位(可显示多达64G种颜色)、控制区域为128×128点。系统播放单元提供的数据为320×240像素,因此需要分解成6个LED控制器来控制(见图1)。因此,需要将PXA255提供的RGB数据分3组发送到这6块控制器,以FPGA实现,方案如图2所示。

采用ARM与FPGA芯片实现独立视频源LED显示系统的设计

图2 数据分发单元方案

LCD接口子模块接收PXA255 LCD接口的数据和控制信号,将这些输入的数据进行逐点校正之后存入SDRAM,然后将该场数据分成3 组,每组128行(最后一组只有64行,为了后面控制板的一致性,此处由总线调度器补零),同时发送,之后由LED显示控制器处理。


3.2 存储器分配和总线调度

为了方便各模块间的接口,有利于不同时钟域的数据同步,系统的存储器采用两级存储模式,即SDRAM作为主存储器,而各模块也有相应FIFO作为Cache, SDRAM具有容量大、带宽高、价格便宜等优点;但是控制比较复杂,每次读写有多个控制和等待周期。因此为了提高效率,通常采用地址递增的碎发读写方式,而不能像SRAM那样随时读取任意地址的数据。


本方案采用完全动态的内存分配机制,即每个模块请求时,如果不是同一场数据,则可以分配到一块新的内存,而一旦该内存的数据不再有效,则释放这块内存。这样,每块内存都有自己的属性,标志是使用中的内存,还是空闲内存,以及当前内存中的数据是否在等待被使用的队列中,因此内存需要分成3块。其中一块存储逐点校正参数,一块存储当前场数据,另一块存储上一场数据(即正在发送的数据)。这就要求在一个场同步周期内需要将数据发送完毕,而这一要求是完全可以达到的。


总线调度是本模块的核心部分,必须精确计算总线带宽的占用情况,确定各部分FIFO的深度,以保证各个FIFO不会出现溢出或读空的现象。


总线调度器需要调度3块存储器,还需要为每一个模块维护一个偏移地址的首地址,以及一个偏移地址计数寄存器。为了便于计算偏移地址,用SDRAM物理上的两行存储一行的数据,而将多余部分空余。


总线调度器的仲裁算法为:逐点校正参数与校正后数据写人SDRAM的优先级一样,采用先来先得的方式占用总线,分别由各自FIFO的指针来触发总线占用。一场数据写入SDRAM完毕之后,开始发送。需要依次读出第n,n+ 128,n+ 256行的数据给数据发送FIFO0,1,2,等待数据发送单元启动发送。


3.3 LCD接口和逐点校正

PXA255 的LCD接口配置为smart panel形式,具体时序关系可参考PXA255的手册。FPGA根据这些时序关系,将数据读入,进行下一步的处理。


由于在生产过程中LED管的参数不可能完全一致,因此为了获得良好的图像显示效果,必须对LED管进行筛选。这也是LED屏价格昂贵的一个重要原因。


采用逐点校正技术,可逐点调节LED的亮度,将显示屏亮度的一致性提高一个数量等级,从而可以使采购厂商放宽LED在亮度和颜色方面的要求,LED采购的成本也随之大大降低。此外,系统采用的逐点校正技术,可以在线修改校正参数,使得LED屏在投入运营之后也可以修改校正参数,补偿由于LED管老化对显示效果的影响,提高LED屏的使用寿命。因此,逐点校正技术使LED模块作为室内外全彩色显示屏的基本元件成为理想方案。


逐点校正参数存于SD卡中,在系统上电之后,ARM首先将该数据通过LCD接口(此时配置为GPIO)传送到FPGA, FPGA将其存入SDRAM 中。此后,即可对LCD接口输入的数据进行校正。


3.4 数据发送

发送帧头由4字节的同步头+数据当前行号+ID号组成。由于图像的连续像素值的相关性比较高,因此使用伪随机码作为同步头,其同步性能比较可靠。当前行号用于控制器判断是否出现丢帧,并根据当前的行号决定当前数据的存储地址。由于每一组数据实际上由两个控制器分别处理(见图1),所以需要判断标志来截取不同的数据部分。ID号即是不同控制器截取某行中不同列数的标准,数据在发送时ID为零。


4 全彩色LED显示控制器

全彩色LED显示控制器负责接收、转换和处理串入的RGB三基色信号,以一定的规律和方式将信号传送到LED显示屏上显示。控制器直接决定了显示屏的显示效果,也决定了LED显示屏性能的优劣。控制器的结构如图3所示。

采用ARM与FPGA芯片实现独立视频源LED显示系统的设计

图3 显示控制器结构框图

控制器的架构与数据分发类似,也采用二级存储模式,主要有数据接收、Gamma校正和交织、扫描控制输出以及总线调度和SDRAM控制四部分。


4.1 存储器分配和总线调度

由于数据输入场频与LED扫描场频通常不能成整数倍关系,可能出现输入一场数据结束,该场数据的处理结果(Gamma校正和交织后)需要写入SDRAM,而此时扫描一场没有结束,即正在读的那个区域不能覆盖,而上一场的数据还没有显示也不能覆盖,因此交织地写入(即扫描的读出)需要开辟三块分区。


总线仲裁算法为:控制输出模块和写人模块采用先来先得的算法,而校正和交织过程的读写,则优先级最低,可以在前面二者申请时被挂起,只有当前二者不再需要总线时,才可以分配到总线的使用权。


4.2 数据接收

数据接收单元除了需要同步判决、串并转换之外,还要确定一行中哪些数据需要本控制器处理。控制器截取每行中第128×ID-128×(ID+1)-1列的数据,同时将ID号加1,其他数据原样输出,送给下一级控制器。这样的控制方法比常用的拨码开关法更加灵活可靠。


4.3 Gamma校正和交织

Gamma校正可以使LED显示效果更接近于人眼的生理特性,而且由于PXA255输出的是8位数据,系统需要将其校正为12位,大大提高了显示的对比度。由于LED显示控制器采用逐位显示的方法,输入的数据与输出到LED显示屏上的数据组织形式不一样:前者按像素点排列,而后者则按像素数值的不同位数组织。


4.4 控制输出

12位数据显示的时间分别为(64,32,16,8,4,2,1,1/2,1/4,1/8,1/16,1/32) * 128 * Tsclk,其中Tsclk为串行移位时钟。交织之后,不同权重的数据显示信号显示有效时间不同,即可达到显示的效果。


总线调度器将交织后的数据写入本模块的FIFO。由模块内部生成读取该FIFO的控制信号,并对其进行计数。模块内需要对移位个数及权重进行计数,以决定发出锁存信号及显示信号的有效时间。


5 结论

实验测试结果表明,该系统亮度合适,使用分辨率细腻(64G色),场扫描频率高(约400 Hz),像素高(320×240点),可用于户外广播级应用。该设计通过逐点调节亮度,从而可以使采购厂商放宽LED在亮度和颜色方面的要求,LED采购的成本也随之降低,从8位增至12位使图像的颜色等级大大增加,特别在低亮度区可使图像完美再现,而Gamma校正则使LED显示屏所进行的亮度变换更符合人眼的生理特点。此外,除接收来自ARM的信号外,还可通过HDMI接口接收来自机顶盒的数据信号,有广阔的市场应用前景。

关键字:ARM  FPGA芯片  独立视频源  LED显示系统 引用地址:采用ARM与FPGA芯片实现独立视频源LED显示系统的设计

上一篇:基于CAN总线与ARM的汽车节能控制装置设计
下一篇:基于ARM和FPGA的硬件平台实现嵌入式数控系统

推荐阅读最新更新时间:2024-11-02 06:05

基于ARM9处理器芯片S3C2440的服装舒适性检测系统
  一般来说,当人体皮肤温湿度处于热湿舒适性状态时,人们的智力、体力(手工)或感觉方面的表现均处于高水平状态,另外热湿舒适性是人们处于最佳健康状态的必要条件。通过对人体不同状态下不同部位的服装压力、温度湿度的测量,可以得到人体着装后的不同部位的压力、温湿度的分布状况。对测量结果进行分析可以为服装压力、热湿舒适性的客观评价提供量化指标,为服装的款式与结构设计提供科学依据。近年来越来越多的研究人员开展了有关服装功能测试的研究,并且取得了较多进展,但是相关的服装功能测试仪器的研发远远滞后于时代的需要。本文设计了基于ARM技术的便携式的服装压力、温湿度测量系统。   1 服装舒适性检测系统的构成   服装舒适性检测系统由数据采集模块、
[单片机]
基于<font color='red'>ARM</font>9处理器芯片S3C2440的服装舒适性检测<font color='red'>系统</font>
并入软银 9 个月,ARM 发生了哪些改变?
  2016 年 7 月,日本软银集团以 243 亿英镑(约新台币 1.03 兆元)天价收购英国 IP 矽智财大厂  ARM  的消息,震撼全球科技圈。自从 2016 年 9 月软银完成收购至今,9 个多月过去了,软银创办人孙正义眼中“集团未来成长战略的核心之一”──这块烫金拼图  ARM ,发生了哪些变化?又面临哪些新的挑战?下面就随网络通信小编一起来了解一下相关内容吧。   首先, ARM  为了扩大生态圈,更积极走到台前和市场沟通。在刚落幕的 2017 台北国际电脑展中,ARM 以过去罕见的盛大规模参展,IP、 物联网 两大事业群总裁亲自来台发表演说,多位高阶主管轮番召开记者会、解说新产品,相当重视台湾市场。   ARM 
[网络通信]
ARM CPU大小端
ARM CPU大小端: 大端模式:低位字节存在高地址上,高位字节存在低地址上 小端模式:高位字节存在高地址上,低位字节存在低地址上 STM32属于小端模式,简单的说,比如u32 temp=0X12345678; 假设temp地址在0X2000 0010. 那么在内存里面,存放就变成了: 地址 | HEX | 0X2000 0010 | 78 56 43 12 | CPU到底是大端还是小端,可以通过如下代码测试: //CPU大小端 //0,小端模式;1,大端模式. static u8 cpu_endian; //获取CPU大小端模式,结果保存在cpu_endian里面 void fi
[单片机]
<font color='red'>ARM</font> CPU大小端
ARM微处理器上实现Rijndael加密算法
引 言 2000年10月2日,美国国家标准局NIST宣布,比利时密码学家Joat Daemen和Vincent Rijmen设计的“RijndaeI算法”以安全性好、运算速度快、存储要求低、灵活性强最终当选AES。该算法对目前的各种威胁是免疫的。这标志着信息技术有了新的安全工具,为计算机网络和电子商务的发展提供了强有力的保障。 在当前数字信息技术和网络技术高速发展的后PC时代,嵌入式系统技术已经广泛地渗透到科学研究、工程设计、军事技术、各类产业和商业文化艺术以及人们的日常生活等方方面面中,成为目前最热门的技术之一。 本文使用北京博创兴业科技有限公司研制的UP-NETARM300嵌入式开发板,在ARM SDT 2.51集成
[嵌入式]
基于ARM7 μC/OSII的数据采集系统设计
在一些工业现场中,设备长时间运行容易出现故障,为了 监控 这些设备,通常利用数据采集装置采集他们运行时的数据并送给 PC 机,通过运行在PC机上的特定软件对这些数据进行分析,以此判断当前运行设备的状况,进而采取相应措施。当前常用的数据采集装置,在其系统软件设计中,多采用单任务顺序机制。这样就存在系统安全性差的问题。这对于稳定性、实时性要求很高的数据采集装置来说是不允许的,因此有必要引入嵌入式操作系统。笔者以μC/OSII为操作系统平台,基于ARM7系列处理器,对一种高性能的数据采集系统开发进行了探索。 1μC/OSII嵌入式操作系统简介 嵌入式操作系统μC/OSII(microcontroller operating sy
[嵌入式]
Atmel新款ARM7闪存微控制器密度达64KB
Atmel Corporation日前推出ARM7基础闪存微控制器系列,起价低于3美元。AT91SAM7S32/64是接脚少的智能型ARM7(Smart ARM7)微控制器系列(SAM7S系列)的首批产品,其闪存密度分别为32KB和64KB。           此外,该系列还提供128KB及256KB版本,型号为AT91SAM7S128/256。这些产品整合了全套安全运行功能,其安全运行功能包括由片上(on-chip)RC振荡器计时的监视器、电源监控器以及闪存的硬件保护。由于 AT91SAM7微控制器提供低成本的开发工具,因此能为因成本问题一直只能提供8位性能的众多应用带来32位的实时处理能力。           AT91SAM
[嵌入式]
Nvidia:ARM CPU性能先天强过x86 CPU,更适合高性能计算
   近日,Nvidia公司宣称ARM CPU性能先天强过x86 CPU,因此更适合用于未来的高性能计算。    Nvidia Tesla营销总监Sumit Gupta在近期采访中称x86系统唯一的真正优势是能够在微软Windows等系统上运行的更快,但若需在最小功耗下取得最高性能,ARM才是未来的选择,因此它也是超级计算的最佳选择。    Gupta解释说ARM架构兴起于嵌入式领域,功耗限制很流行,不足1W被认为是正常状态。性能从芯片的概念设计阶段就受到限制,迫使工程师必须在能效比上特别创新。而英特尔和AMD的x86架构则从PC的角度进行考虑,机器通常接入电源,没什么严苛的功耗限制。 “x86最优先考虑的向来是如何在
[工业控制]
15.ARM处理器的启动流程
ARM处理器启动流程涉及三方面的知识: 启动方式 地址布局 启动流程 S3c2440的ARM处理器的启动流程: 2440支持 Nor Flash启动,Nor Flash的大小2MB Nand Flash启动,Nand Flash的大小256MB 所以2440把uboot和kernel、FileSystem放到Nand Flash来启动的 地址布局: Nand Flash Memory Mapping: 上图左边的结果是选择Nor Flash时启动时内存地址的布局,右边是选择Nand Flash启动的内存地址的布局。 开发板上电后,会在地址0处取第一条地址来执行。如果是Nor Flash,0地址就应该安排上Nor
[单片机]
15.<font color='red'>ARM</font>处理器的启动流程
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved