你的位置:电感厂 > 先锋技术功率电感

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

2015-10-28 12:16:00      点击次数:
上一篇:有助于ADC测量其自身供电电压的重组基准 贴片电感

  随着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。ATmeg交流电感器al28内部只有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所示,最小值在哈夫曼表中的索引以及哈夫曼树各叶子结点对应的编码表。

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

  在解码的时候,读取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)所示:大电流电感

  • 改变常规阻抗匹配的被动元器件的商品化  

    前言

    近年来安装在移动通信终端的移动通信天线的设计难度逐渐增高。随着LTE这种新型通信方式的增加,宽频带的使用越来越广泛。另一方面,由于二次电池等大型化的因素,

  • Lm2596双电源+15V转正负5V,出问题,求解决!!上电后输出不正常,发烫!


    当然要有问题!2个非隔离降压电源无法做正负电源,这样相当于输出短路,所以发烫是必然的。能具分析一下吗??不怎么懂自己画个拓扑图,芯片的VIN、VOUT接的是

  • 无线通信信号干扰分析与解决攻略 4月08日 第三届·无线通信技术研讨会 立即报名 12月04日 2015•第二届中国IoT大会 精彩回顾 10月30日ETF•智能硬件开发技术培训会 精彩回顾 10月23日ETF•第三届 消费

  • 使用运算放大器需要注意这6个事项!
  • 放大器和视频滤波器电路板设计技巧
  • 我是电源白痴
  • 电力变压器直流电阻的快速测量方法----静态测量
  • 开关电源一次侧的地,与二次侧的地
  • 凌力尔特推出同步降压-升压型转换器 LTC3111
  • 深入分析RFID与NFC的关系
  • 基于DSP三环控制的逆变电源的设计
  • RC振荡频率计算问题
  • 基于电感升压开关型变换器的LED驱动电路设计