首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
» 一种基于ARM9的彩色TFT-LCD模块设计及实现(2)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
一种基于ARM9的彩色TFT-LCD模块设计及实现(2)
发短消息
加为好友
我是MT
当前离线
UID
1023166
帖子
6651
精华
0
积分
3328
阅读权限
90
来自
燕山大学
在线时间
230 小时
注册时间
2013-12-19
最后登录
2016-1-5
论坛元老
UID
1023166
性别
男
来自
燕山大学
1
#
打印
字体大小:
t
T
我是MT
发表于 2015-10-2 18:53
|
只看该作者
一种基于ARM9的彩色TFT-LCD模块设计及实现(2)
性价比
,
硬件
,
技术
2.1.3 JPEG图像解码
JPEG是一种目前广泛使用的静态图像压缩标准,它以其显着的压缩效率和较低的图像质量损失获得了广泛应用,成为国际通用的标准。
JPEG的目的是提供一种使用于各种连续色调图像的压缩方法,并且能够易于硬件实现,具有良好的性价比。为了满足各种应用需求,它提供了两种压缩编码技术:基于离散余弦变换(DCT)的有损压缩编码和基于DPCM 的无损编码,这两种编码方式可以采用4种操作模式来实现:顺序编码、累进编码、无损编码及层次编码。其中基于DCT变换的顺序编码方式最常用。
以基于离散余弦变换的顺序编码方式来说明JPEG图像解码的过程。图像解码是压缩编码的反过程,解码的码流起始位置标志信息,解码器根据 JPEG压缩图像的文件头信息,得到原始图像的基本信息。得到原始图像信息后,解码器根据JPEG文件中的霍夫曼表进行解码。由于熵编码过程中使用霍夫曼编码分别对DC及AC系数进行编码,其中系数编码的顺序采用zig-zag序列,因此实现解码时需要考虑这些相关实现过程,详细信息请参考相关文献 [5]。根据量化系数表,经霍夫曼解码后的系数与相应的量化值进行乘积,然后进行反余弦变换。需要注意的是,JPEG 图像使用的是YCrCb模型,其中Y 是亮度分量,Cr及Cb是色度分量,需要将系数的色彩空间从YCrCb转换到RGB空间,最终得到图像的R、G、B 数据值,这些数据才可以在液晶显示屏上显示。
根据JPEG 文件交换格式提供的资料文献[6],YCrCb色彩空间到RGB色彩空间的转换见公式(1)。
考虑到延时应尽量小,程序在NOR Flash存储器上执行效率低。图像解码算法中应合理安排在ARM9中的内存分配。设计过程中将频繁访问的程序代码及数据搬运到ARM9内部高速缓冲存储器中,从而提高编码的效率。由于顺序编码方式最常用,它通常称为JPEG 基本系统(BaseLine)。设计过程中,实现的JPEG 图像解码支持顺序编码,完全可以满足应用要求。
2.2 TFT-LCD LQ080V3DG01
实验中选用LQ080V3DG01彩色液晶显示模块测试设计效果。LQ080V3DG01 由彩色TFT-LCD面板、驱动电路、控制电路、供电电路及背光单元组成。它支持最大分辨率为640×480的图形和文字显示,数据输入格式为 18bit,其中红绿蓝各占6bit,提供的颜色共262 144种。
TFT-LCD需要+3。3V或+5V供电电压,背光需要交流电源供电。输入的控制信号有4个:帧同步信号VSYNC、行同步信号HSYNC、数据使能信号ENAB及时钟信号CK。数据线宽度是18bit,红绿蓝各占6bit,分别是R [0∶5]、G [0∶5]及B [0∶5],颜色配置信息如表1所示。
表1 输入数据信号及颜色显示配置
LQ080V3DG01液晶显示屏的数据线共18bit,对于24bit的彩色图像以及24bit的ARM9S3C2440X的TFT-LCD 控制器而言,其接口并不兼容。设计中为了适应LQ080V3DG01液晶显示屏的接口,分别舍弃了8bit R、G、B 值的低2位,测试结果显示效果良好。如果选用的TFTLCD是24bit数据线,则可以直接连接到LCD控制器相应的数据线。
3 模块设计方案的实现
3.1 工作流程
在ARM9执行初始化后,主程序就等待外部模块通过串口发送指令。外接模块通过RS232串口与本模块通信,根据通信协议发送不同的指令,实现相应的功能。在约定的串口波特率下,通信协议如下:显示图像时首先发送指令0x55,然后再发送图像在图像库中的编号;显示字符时首先发送指令0x56,然后再发送字符在字符库中的编号,最后发送字符在液晶屏上显示的横轴及纵轴坐标。需要说明的是,在NAND Flash存储空间中的图像库及字符库是自己定义的,可以重新下载更新。软件流程图如图3示。
图3 软件流程图
3.2 彩色图像显示
所设计的模块支持24bit彩色RGB及JPEG两种格式的图像显示。因为像素数据可以直接送到液晶接口控制模块显示,而JPEG格式的图像则必须经过解码之后才能显示,所以图像在显示前,需要先判断图像数据是什么格式。如果图像数据是JPEG格式,则必须经过图像解码,解码后得到原始彩色图像的像素数据值R、G、B,这些数据经过显示控制单元送到液晶屏显示。如果图像是原始图像的数据,则可以直接送到液晶控制模块进行显示。
由于要显示的图像存储在NAND Flash的图像库存储空间,所以在将彩色图像输出到TFT-LCD显示时,首先要将需要显示的图像数据从NAND Flash中读取出来,得到一幅24bit彩色图像的完整原始图像数据。原始图像数据中,一个像素占用3byte,其中R、G、B 各占1byte。将数据输出给TFT-LCD 显示前,需要根据LCD接收的数据格式将图像数据进行转换,然后才能输出显示,图像数据按照从上到下,自左向右的顺序输出[9]。同样,将TFT-LCD 按照相同的顺序进行扫描,最终完成整幅图像的显示。
NAND Flash存储着大量的图像数据,为了区分不同的图像数据,将相应的图像输出显示,模块采用RS232串口与外界通信。通过发送不同的指令,可以将在NAND Flash上存储的相应图像读取出来,输出在TFT-LCD上,最终实现各种彩色图像的显示。
3.3 字符显示
字符采用16×16点阵,由于每个像素占用3byte,所以每个字符占用768byte。可以将常用字符存储在NAND Flash中,作为字符库使用,需要时调用即可。当显示字符时,首先要确认相应字符在存储器中的位置,然后根据地址信息对相应字符进行操作,最后根据字符要显示的位置在液晶屏上输出,实现字符在液晶屏上的显示。
实验过程中为字符库分配8Mbyte空间,可以存储10 922个字符。字符库还可以实现更新,只需将存储器NAND Flash对应地址空间的内容替换即可。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议