数码相框毕业论文1(10)
重庆邮电大学本科毕业设计(论文)
的扇区数=BPB_RootEntCnt[2]×32/BPB_BytePerSec[2]。
第四节 音频数据传输模块
ADSP-BF533将SD卡中的WAV格式的音频文件读取出来,放在SDRAM中,通过SPORT DMA的的方式传输给ADl836进行D/A转换。
一、配置ADl836内部寄存器
ADl836内部有11个16位的可编程寄存器,其功能描述见表4.4。ADl836复位之后,将寄存器的所有位都设置为零,因此在使用ADl836之前,需要对寄存器进行配置。
表4.4 ADl836内部寄存器描述
地址 0x0000 0x0001 0x1100 0x1101 0x1110 寄存器名 DAC控制寄存器1 DAC控制寄存器2 ADC控制寄存器1 ADC控制寄存器2 ADC控制寄存器3 功能 设置DAC数据端口的工作模式,数 据传输位数,输出频率等。 DAC输出闭音选择 设置各DAC通道输出的音量 设置ADC的采样频率,对模拟 信号的增益大小等。 设置ADC数据端口的工作模式,数 据传输位数,输入闭音选择等。 设置ADC的时钟频率,差分或单端 输入选择等。 0x0010~0x0111 DAC输出音量控制寄存器 程序中对ADl836内部寄存器设置如下:
volatile short Codec1836TxRegs[CODEC_1836_KEGS_LENGTH]= {
DAC_CONTROL_1 | 0x010, //设置数据端口为I2S模式,16位传输 DAC_CONTROL_2 | 0x000, DAC_VOLUME_0 | 0x3ff, DAC_VOLUME_1 | 0x3ff, DAC_VOLUME_2 | 0x3ff, DAC_VOLUME_3 | 0x3ff, DAC_VOLUME_4 | 0x000, DAC_VOLUME_5 | 0x000,
41
重庆邮电大学本科毕业设计(论文)
ADC_CONTROL_1 | 0x000, ADC_CONTROL_2 | 0x000, ADC_CONTROL_3 | 0x000, };
二、SPORT口初始化
SPORT口在发送数据时,需要进行初始化,设置发送数据的时钟信号、帧同步信号、字长以及发送使能等。
系统中对SPORT口的初始化如下: void Init_Sport0(void) {
*pSPORT0_TCRl=TFSR | LTFS | TCKFE; //时钟、帧同步信号均由外部产生,最高位在前;
*pSPORT0_TCR2=SLEN_16 | TXSE | TSFSE; //数据位宽为16,次数据端口使能,帧同步信号设置为左右通道模式;
}
三、DMA初始化
SPORT口在传输数据时,使用DMA的方式,其初始化如下: void Init_DMA(void) {
*pDMA2_CONFIG=WDSIZE_16 | FLOW_1; //16位传送,自动缓冲模式
*pDMA2_START_ADDR=(void*)iTxBufferl; //设置起始地址 *pDMA2_X_COUNT=count; //设置传输的个数 *pDMA2_X_MODIFY=2; //设置地址增量 }
void Enable_DMA_Sport0(void) {
*pDMA2_CONFIG=(*pDMA2_CONFG | DMAEN); //DMA使能 *pSPORT0_TCRl =(*pSPORT0_TCRl | TSPEN); //SPORT发送使能
}
42
重庆邮电大学本科毕业设计(论文)
第五节 图像文件解码模块
一、BMP解码
BMP图像的显示比较简单,只要按照BMP文件的格式读取文件头,然后由文件头提供的信息读取出RGB数据送显示屏显示即可。
void BMP_rgb24(void) {
int i, j; int a, b;
for(i=0; i<262; i++) //将线性数据转换成2维数据,空出54个字节 {
for(j=0; j<960; j++) {
TempBuffer_img[i][j]=TempBuffer[i×960+j+54]; } }
for(i=0; i<262; i++) //将GBR调整成RGB {
for(j=0; j<320; j++) {
a=TempBuffer_img[i][j×3]; b=TempBuffer_img[i][j×3+2]; TempBuffer_img[i][j×3]=b; TempBuffer_img[i][j×3+2]=a; } }
for(i=0; i<262; i++) //数据扫描方式调整
{
for(j=0; j<960; j++) {
DisplayBuffer[i][j]=TempBuffer_img[261-i][j]; } }
43
重庆邮电大学本科毕业设计(论文)
}
二、JPEG解码
JPEG解码是编码的逆过程,如图4.7所示,主要包括:熵解码,反量化,反离散余弦变换三部分。
压缩图像数据熵解码反量化IDCT原始图像数据编码表量化表 图4.7 JPEG解压缩过程
实际上,JPEG的编解码都是以一个一个的MCU为单位进行的[21]。所谓MCU是图像中一个正方矩阵像素的数据,这些矩阵的大小由亮度Y和色度Cr、Cb的采样方式决定,大多图片的采样因子为4:l:l或l:l:l。记三个分量中水平采样因子最大值为Hmax,垂直采样因子最大值为Vmax,那么单个MCU矩阵的宽度为8×Hmax像素,高度为8×Vmax像素。每个MCU又分为若干个数据单元,数据单元的大小为8×8像素,所以每个MCU的数据单元数为Hmax×Vmax。对一幅JPEG图像进行解码,就是逐个对每一个MCU内8×8数据单元进行图4.7所示的解压缩过程。图4.8是对一幅JPEG图像进行解码的程序流程图。
44
重庆邮电大学本科毕业设计(论文)
开始色度空间转换根据JPEG标记码读取文件信息根据读取的信息,计算图像的MCU块数i++初始化解码过的MCU块数i为0初始化解码过的MCU内部的数据单元数j为0将解码后的数据存入相应的缓冲区Yi 图4.8 JPEG图像解码流程图 1、熵解码 熵解码包括两个过程,首先对得到的压缩数掘的比特流进行Huffman解码,再用DPCM法对得到的直流分量进行处理得到DC系数,用RLE编码法对得到的中间数据进行处理得到交流AC系数,这里重要介绍Huffman解码。 Huffman编码是可变长度的编码,为了提高压缩效率,它的编码输出没有对比特流进行保护,这就增加了解码的难度。目前国内外文献中,对解码技术常用的方法有以下一些:二元树搜寻法[22-24]、直接表对应法[25]、分类群组搜寻法[26,27]和CHT法[28,29]。二元树搜寻法是逐位读入码流,然后查找Huffman表,判断是否存在此码长的码字,如果没有则继续读入一位码流来判断,直到找到正确的码字进行解码。此方法最节省存储空间,但解码效率低下,速度很慢。直接表对应法是直接从码流中读取最大码长位数的数据,然后直接从存储器中查询匹配的码字,这种方法的解码速度比较快,但需要的存储空间比较大。如果此码流中最大码长为K,则解码B寸需要耗费2K的存储空问。分类群组搜寻法是二元树搜寻法和直接表对应法的结合,它将查找表划分成几组子表,这样存储空间效率有较大的改善,但解码速度比直接表对应法小。 45
相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




