完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本次分享的设计以ST意法半导体公司生产的STM32系列产品STM32F407VGT6为控制核心,主要由扩展板和JPEG图片解码系统两大部分组成。
扩展板部分除了保留原有核心板STM32F4DISCOVERY的重力感应、三轴加速度传感器、3.5mm音频输出口、miniUSB(A-B两种接口)、100PIN GPIO、LED、用户按键以外,还扩展了TFT液晶,带有数字隔离的RS232、RS485及CAN总线接口、SD卡接口、以及带有光耦隔离的MOS管驱动及电机驱动模块。JPEG图片解码系统部分设计采用了从SD卡中读取编码的同时同步解码的方法,有效减少了系统内存的消耗,实现了一个能在内存有限的片上系统中进行JPEG图片解码的系统。 |
|
|
|
系统方案?
系统扩展板部分在原有STM32F4DISCOVERY开发套件的基础上增加了一些常用的外部设备接口,如:带有数字隔离的RS232电路、RS485电路及CAN总线接口电路,带有光耦隔离的MOS管驱动及电机驱动模块。用户通过该扩展板就可以与外部其他设备进行串行通信、CAN通信,同时还可以直接用该扩展板来驱动MOS管和电机,大大降低了用户的使用难度。 而JPEG图片解码系统则是以STM32F407VGT6为控制核心,以TFT液晶模块作为显示器,完成对解码后图片的显示,需要显示的图片存储在SD卡中,处理器通过SPI方式读取SD卡里面的图片信息,由于STM32F4内部RAM很小不能作为整幅图片的缓冲区,所以本系统的设计过程中采用了时间换空间的方式,即采用了边解码边显示的方法省去了外部数据RAM。JPEG图片解码过程是使用了DCT变换算法。 |
|
|
|
硬件设计?
整个系统的硬件设计主要由两部分组成:基于STM32F4DISCOVERY的扩展板和JPEG图片解码系统。其中扩展板部分主要包括:带有数字隔离的RS232电路、RS485电路及CAN总线接口电路和带有光耦隔离的MOS管驱动及电机驱动模块。而JPEG图片解码系统的硬件部分则主要有TFT液晶电路和SD卡接口电路组成。 |
|
|
|
软件设计?
1.JPEG图片解码过程: 读入JPEG/JFIF文件的相关信息; 读取Huffman表和构建Huffman树; DC系数的Huffman解码和AC系数的Huffman解码; 反量化和反Zig-zag扫描; DCT逆变换和颜色模式转换。 2.使用的解码算法如下: 从文件头读出文件的相关信息。JPEG文件数据分为文件头和图像数据两大部分,其中文件头记录了图像的版本、长宽、采样因子、量化表、哈夫曼表等重要信息。所以解码前必须将文件头信息读出,以备图像数据解码过程之用。 从图像数据流读取一个最小编码单元(MCU),并提取出里边的各个颜色分量单元。关于如何从数据流中把一个个连续存储的MCU分割开来,以及如何从各个MCU中将多个颜色分量分割开来。 将颜色分量单元从数据流恢复成矩阵数据。利用文件头给出的哈夫曼表,对分割出来的颜色分量单元进行解码,把其恢复成8×8的数据矩阵。 8×8的数据矩阵进一步解码。此部分解码工作以8×8的数据矩阵为单位,其中包括相邻矩阵的直流系数差分解码、利用文件头给出的量化表反量化数据、反Zig-Zag编码、隔行正负纠正、反向离散余弦变换等5个步骤,最终输出仍然是一个8×8的数据矩阵。 颜色系统YCrCb向RGB转换。将一个MCU的各个颜色分量单元解码结果整合起来,将图像颜色系统从YCrCb向RGB转换。排列整合各个MCU的解码数据。不断读取数据流中的MCU并对其解码,直至读完所有MCU为止,将各MCU解码后的数据正确排列成完整的图像。 |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
928 浏览 1 评论
1086 浏览 1 评论
12505 浏览 0 评论
5922 浏览 3 评论
17714 浏览 6 评论
1020浏览 1评论
1012浏览 1评论
931浏览 1评论
4680浏览 1评论
1086浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 18:23 , Processed in 0.916075 second(s), Total 88, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号