基于ATmegal28的LED显示屏图像数据解码设计

发布者:快乐舞蹈最新更新时间:2013-01-18 来源: 21IC 关键字:ATmegal28  LED显示屏  图像数据解码 手机看文章 扫描二维码
随时随地手机看文章

  随着LED-display.cnLEDw.com/">LED显示屏的普及和成本的降低,LED显示屏已经成为公共场合信息宣传的一种重要工具。目前实现对LED显示屏的文字图像更改的方法主要有:显示屏通过串口或网线与计算机连接实现更改;通过GPRS网络实现数据的远程传输,接收后在计算机上用特定软件解码后发送到LED显示屏显示。以上方法始终需要在计算机平台上实现,附加成本较高。设计利用手机作为发送端,发送彩信至GPRS模块,利用ATmegal28单片机直接对彩信图像进行解码然后发送到LED显示屏上进行显示。

  l JPEG解码可行性分析

  该设计所用全彩LED屏接收的数据格式为Xmp格式,Xmp格式是简化的BMP格式。Xmp格式在图像数据前有6个字节表示图像的属性,第1字节为1个点的字节数;第2字节为XMP文件中包含的图片个数;第3,4字节为图像的高;第5,6字节为图像的宽,其后为图像每点的颜色。每点的颜色用2个字节表示(16位色)。由于所用全彩LED屏只有64×64像素,所以JPEG解码后还需进行图像的缩放。

  JPEG解码过程中所需要的缓存主要包括原始JPEG图像数据的缓存、中间变量的缓存以及解出的Xmp数据的缓存。根据JPEG图像的复杂度及压缩比的不同,一般一帧320×240的彩色JPEG图像的大小在2~20 KB。JPEG解码缓存主要用于存储Huffman表,量化表,IDCT解码的临时结果等。这些大约需要8 KB。解出的Xmp数据的缓存要求的RAM相对比较固定为9 KB。综上JPEG解码大致需25 KB的RAM。ATmegal28内部只有4 KB的SRAM,所以该系统外扩了64 KB的外部RAM。

  2 软件实现

  该设计采用avr—gcc作为编译工具。avr-gcc默认设置栈由内部RAM的顶部向下生长。由于图像处理过程中需要占用大量的RAM空间,所以应该通过设置把所有数据区移到外部RAM,只留栈区在内部RAM,避免数据的相互覆盖。

  JPEG解码过程主要包括Huffman解码、反量化及IDCT变换、色彩变换等模块。该文采用的LED显示屏是64×64点像素,并且只能显示Xmp格式的图片。因此在JPEG解码后需增加图像的缩放模块。其流程框图如图1所示。

流程框图

  2.1 Huffman解码的实现

  Huffman解码是解码过程中重要的一环。传统的哈夫曼解码需要逐位查找哈夫曼表,进行比较判断,由于查找过程需要大量的移位及循环。这样的解码效率非常低。针对这种情况,充分考虑到ATmegal28的存储容量的限制,在读文件头时,软件事先构造出不同码长下的哈夫曼码字的最小值表和最大值表如表1所示,最小值在哈夫曼表中的索引以及哈夫曼树各叶子结点对应的编码表。 [page]

软件事先构造出不同码长下的哈夫曼码字的最小值表和最大值表

  在解码的时候,读取1串二进制数据,分别与各码长下的最大值和最小值进行比较,如果在哈夫曼表中没有该码长的码字,说明该比特数据不是完整的Huff_man编码,接着读取下一个比特数据加在前面的比特数据组成的新的码字,然后再在最小值表和最大值表中进行查找,直至找到确切的码字。最后把该码字减去同一码长下最小值,加上此最小值在哈夫曼表中的索引即可得到该码字在编码表中的位置。

  2.2 IDCT变换的实现

  将8×8块中的颜色分量单元的64个值逐一乘以对应的量化表内位置相同的系数,然后再将64个数据进行Z字型的重新排列,进行IDCT变换。IDCT的运算量很大,其中要进行大量的浮点乘法和加法运算,因而在解码过程中IDCT所占时间最多。采用行列分解法先将二维IDCT分解成一维8点的IDCT,对于一维8点IDCT采用Loeffler的快速算法。图2为Loef—fler算法的流程图,Loeffler算法运算因子的解释如图3 所示。

Loef

Loeffler算法运算因子的解释

  直接对旋转因子进行计算需要4次乘法和2次加法,这样1次8个点的一维IDCT变换总共需要14次乘法和26次加法。可以对旋转因子进行变形如式(1)所示: 

公式

  从而1次旋转因子计算只需要3次乘和3次加。进而进行1次一维IDCT只需11次乘和29次加。因为乘法运算的代价高于加法运算,所以这种变形是有益的。完成一次二维的IDCT运算总共要进行16次的8点一维IDCT运算。由于ATmegal28在速度方面的限制,在IDCT运算过程中把浮点操作改进为整形运算,并且把公式的值扩大211倍存储起来,为IDCT运算做准备。[page]

  2.3 图像的缩放

  由于该设计所使用的显示屏为64×64个像素,所以对于JPEG格式的彩信需要先进行解码,然后再进行缩放,使其成为64×64的格式。一般情况下,图像缩放是采用目标图像到源图像“逆向映射”法。但是考虑到ATmegal28 RAM容量的限制,如果先解出源图像,则会占用大量的RAM,因此采用源图像到目标图像的映射方法。当解出源图像一个像素的RGB值时,通过运算求出其在目标图像中的位置;先判断此位置是否为零,如果是,则直接存储;如果否,则求两数的平均值后存储。对于源图像中n个像素点对应目标图像1个像素点的情况,这个目标图像像素点的颜色分量I=I1/2n+…+In/2,其中:I1为对应源图像中第一个像素点的颜色分量,In为最后一个的颜色分量。

  该设计所用方法得到的Xmp格式图像与最近邻域法所得图像的比较如图4所示。图4(a)为Lena原图,图4(b)为采用最近邻域法得到的:Xmp格式图像,图4(c)为本文所用方法得到的Xmp格式图像。对比可知,这里所用的方法得到的图像像素点间过渡比较平滑,有比较好的显示效果。此方法是对最近邻域法的改进,既避免了在使用最近邻域法时源图像某些像素信息的丢失,又节省了系统的RAM资源。

该设计所用方法得到的Xmp格式图像与最近邻域法所得图像的比较

  3 硬件实现

  该系统的硬件实现框图如图5所示:

该系统的硬件实现框图

  系统以ATmegal28单片机为主要芯片,通过RS 232和TR800进行数据传输。ATmegal28通过命令读取TR800接收到的彩信图像,进行解码处理。然后通过RS 232把数据传输到全彩LED显示屏进行图像的更改。在Amegal28与外部SRAM之间使用了锁存器,该设计采用的是74AHC573。TR-800模块是一个高性能、功耗小的GPRS模块,它内嵌了WAP协议栈、TCP/IP协议栈、MMS协议栈便于用户的二次开发以及固件的升级。由于以上特点,该设计选用此模块来实现对彩信收发处理功能。LED显示屏的传输协议遵守Xmodem通信协议,采用CRC校验。整个系统运行效果表明,ATmegal28在采用16 MHz晶振的情况下解码167×173像素的JPEG图片大约需要1s。

  4 结 语

  提出适合于全彩LED显示屏的远程图像传输设计,并给出关键问题的解决方法。由于利用单片机实现了图像的软件解码,这给工程上应用带来便利。该设计能广泛应用于车载,或者户外广告屏的图像数据的处理传输。将计算量庞大的JPEG解码算法成功地在ATmegal28上进行移植,并由此实现全彩LED显示屏图像数据的远程更改,具有较强生产实用性。

关键字:ATmegal28  LED显示屏  图像数据解码 引用地址:基于ATmegal28的LED显示屏图像数据解码设计

上一篇:基于ATmega16L的便携设备电源系统设计
下一篇:OCMJ图形液晶显示器与AVR单片机的接口设计

推荐阅读最新更新时间:2024-03-16 13:16

LED显示屏高速数据通讯接口设计
摘要:本文阐述了利用CYPRESS公司EZ-USB FX2系列USB2.0集成芯片CY7C68013的高速Slave FIFO通用外部接口来实现PC机和LED点阵显示屏间数据通讯的设计方案,给出了其接口电路的硬件原理及底层软件的设计过程。 关键词:USB2.0;CY7C68013;FIFO;LED显示 1 引言 LED显示屏具有亮度高,故障低、能耗少、使用寿命长、显示内容多样、显示方式丰富等优点,可广泛用于公路、金融、证券、车站、码头、体育场馆等公共场合,其显示数据通常来自上位PC机,这就要求有一个高速通道来传输大量的显示数据,USB2.0接口无疑是一个很好的解决方案。 USB由总线提供电源,传输时具有CRC检错、纠错能
[电源管理]
基于GSM模块的LED显示屏设计
摘要:介绍TC35i型模块与AT89C51型单片机的硬件接口电路,详细分析AT89C51与TC35i之间信息传送的过程及如何从存储器中读取汉字代码并提供给LED显示屏,说明信息传送时需要注意的问题。 关键词:TC35i;AT89C51;LED显示屏;AT指令 1 引言 随着通信技术的发展,基于移动通信网络的服务功能正向工业控制和遥控领域扩展。为了适应这种需要,西门子公司推出新一代TC35i型无线通信GSM模块,基于该模块的短消息功能,可以快速、安全、可靠地实现用户信息处理等功能,特别适用于控制中心与终端设备距离很远或不便采用有线通信介质的场合。该系统由控制中心和若干显示屏组成,控制中心实时将最新信息发送到各显示屏,构成控制中心
[嵌入式]
基于GSM模块的<font color='red'>LED显示屏</font>设计
LED显示屏制作方法首要步骤
显示屏制作方法 LED屏幕,作为新的媒体,运动的发光图文,更容易吸引人的注意力,信息量大,随时更新,有着非常好的广告和告示效果。LED屏比霓虹灯更加简单,容易安装和使用,效果变化更多,可以随时更新内容,是很好的户内外发视觉媒体。LED屏幕属于高科技电子产品,价格比较高,以前集中在政府和单位中使用。技术不断进步,价格不断降低,组装和维护更加简单。小型的LED条屏,因为价格便宜,安装和使用简单,漫漫被大众接受,逐步走进大小店铺,应用更加大众化,逐步开始普及。应用也非常广泛:新媒体,新效果,新业务 LED条屏幕作为新的媒体,也是新型的装饰材料,可以嵌入到很多室内装饰当中,使装饰更加富有动感,不断更新的字幕,可以作为新告
[电源管理]
<font color='red'>LED显示屏</font>制作方法首要步骤
LED户外广告监管的难题及对策思考
  近年来,以 LCD 和 LED屏 幕为代表的户外视频媒体市场得到了极大的发展,产业迅速达到了数十亿元的规模,并且仍保持高速发展的态势。随着科技的发展, LED电子 显示屏 技术在社会各领域被越来越广泛使用,尤其是在户外广告领域。利用该技术发布户外广告信息量大、更新快、流动性强,但同时也给执法部门监管带较大难度。   一 、 LED 户外广告特点   广告形式新颖,受众较广。 LED显示屏 被广泛用于人流量多的公共场所、交通要道,以直观、形象、生动的广告形式吸引收视人的主动关注、受众范围更广,比传统媒体更具强制观赏性。除了可以户外广告宣传外,还可发布信息,丰富人们的文化娱乐生活,受到广大人民群众的肯定和喜爱。据国内领先的
[电源管理]
基于LPC2210的LED显示屏控制系统设计
   当LED显示器采用8位/16位微处理器时,存在运行速度慢、寻址能力弱和功耗大等问题。文中采用32位ARM7微处理器LPC2210为核心控制器件,完成LED显示屏控制系统的设计。系统采用可扩展、模块化设计。以LED显示屏的显示电路和ARM微处理器控制电路为核心,并通过LPC2210微处理器自带的锁相环(PLL),对系统进行倍频设计,有效提高了系统的可扩展性。通过对各模块的调度可方便实现点阵LED屏以双色、多样化方式显示各种信息,也可通过简单的级联实现屏的扩展。   随着计算机和半导体技术的发展,使LED大屏幕显示系统成为集计算机控制、视频、光电子、微电子、通信、数字图像处理技术为一体的显示设备。随着大屏幕显示技术的发展进步,
[单片机]
LED显示屏的分类详解
1. 按使用颜色分为: 单红色、单绿色、红绿双基色、红绿蓝三色、全彩、自然色;单基色LED显示屏(含伪彩色LED显示屏-显示器件),双基色LED显示屏和全彩色(三基色)LED显示屏。按灰度级又可分为16、32、64、128、256级灰度LED显示屏等。 2. 按使用功能分为: 图文显示屏、多媒体视频显示屏、行情显示屏、条形显示屏、利率显示屏、文本LED电子显示屏、图文LED电子显示屏、计算机视频LED电子显示屏、电视视频LED电子显示屏和行情LED电子显示屏等。行情LED电子显示屏一般包括证券、利率、期货等用途的LED显示屏。 3. 按使用环境分为: 室内LED显示屏、室外LED显示屏、半户外LED显示屏。LED大屏,
[电源管理]
LED显示屏色度处理技术
  1 引言   LED显示屏技术从二十世纪80年代初的单色显示屏,到80年代末的双基色显示屏,再到90年代中期的三基色(全彩色)显示屏,直到今天我们在平板显示领域广泛讨论的多基色(大于三基色)处理技术。LED显示屏的色度处理技术从最基本的基色波长选择、到白场色温的调配、再到为提高色彩还原度而进行的色彩空间变换处理和为改善画质的色度均匀性处理、直到今天我们为了扩大色域再现更多的自然界色彩而采取的多基色(大于三基色)处理。各种色度处理技术贯穿着LED显示屏的发展史,成为LED显示屏这门综合性学科中最核心的技术之一。   2 各类色度处理技术   2.1 基色波长的选择   LED显示屏在各行各业有着非常广泛的应用,而在不同的
[电源管理]
友达展示新款圆形AMOLED显示屏
友达光电(AUO)开发了新款圆形AMOLED显示屏,称之为True-Circle显示屏。与友达现有的OLED显示屏相比,其具有更薄的凸角,使得手表设计师在设计上更加灵活。   友达光电开发了新一轮的AMOLED显示器,他们称之为True-Circle显示器,与友达目前的OLED显示屏相比,它们具有更为突出的突出优势。 这使手表设计师能够更灵活地设计其设计。   Full-Circle AMOLED(左)需要耳状支持结构,True-Circle AMOLED(右)不需要,设计更加灵活   友达近日展出的两款样品直径分别为1.2英寸和1.4英寸。友达的目标是自2017年下半年开始量产。   友达目前的圆形AMOLED屏为自2
[手机便携]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

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

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