JPEG图片解码系统解决方案(硬件、程序源码、设计报告及视频)-电路方案


ARM-STM32校园创新大赛ᄃ

项目报告

题 目:基于STM32F4DISCOVERY的扩展板设计及JPEG图片解码系统

学 校:***

指导教师:***

视频观看地址:http://v.youku.com/v_show/id_XNjIwMDE0OTU2.html

题 目: 基于STM32F4DISCOVERY的扩展板设计及JPEG图片解码系统
关键词: 扩展版 数字隔离 JPEG 图片解码

摘要
基于STM32F4DISCOVERY的扩展板设计及JPEG图片解码系统是以ST意法半导体公司生产的STM32系列产品STM32F407VGT6为控制核心,主要由扩展板和JPEG图片解码系统两大部分组成。扩展板部分除了保留原有核心板STM32F4DISCOVERY的重力感应、三轴加速度传感器、miniUSB(A-B两种接口)、3.5mm 音频输出口、100PIN GPIO、LED、用户按键以外,还扩展了TFT液晶,带有数字隔离的RS232、RS485及CAN总线接口,SD卡接口、以及带有光耦隔离的MOS管驱动及电机驱动模块。JPEG图片解码系统部分设计采用了从SD卡中读取编码的同时同步解码的方法,有效减少了系统内存的消耗,实现了一个能在内存有限的片上系统中进行JPEG图片解码的系统。

引言
众所周知ST意法半导体公司生产的基于Cortex-M3内核的STM32系列产品具有杰出的低功耗控制以及众多的外设,而且具有很高的性价比,在国内Cortex-M3市场一直遥遥领先,拥有很高的市场占有率。近来ST公司又相继推出基于Cortex-M4内核的一系列产品,其中STM32F407VGT6就是其典型的代表,为了新产品的推广,ST意法半导体公司也推出了一款官方学习套件STM32F4DISCOVERY,以便于用户更加快速、方便的掌握新产品的使用和开发。官网推出的F4套件主旨意在实现用户快速地对STM32F4产品的评估,除板载LED灯、传感器、音频处理、MINIUSB OTG接口外,再无任何配套资源,而专用的评估平台价格在两千元左右,作为学习使用,性价比不高。
本STM32F4DISCOVERY扩展板设计及JPEG图片解码系统正是通过在原有STM32F4DISCOVERY开发套件的基础上增加各种常用外设,如TFT液晶,带有数字隔离的RS232、RS485及CAN总线接口,SD卡接口、以及带有光耦隔离的MOS管驱动及电机驱动模块等各种外设,以扩展其基本功能。在工业控制通信中,隔离设计非常重要,因此,此扩展板增加的隔离模块,具有真正的实用价值。
此外本设计还加入了JPEG图片解码系统,JPEG标准应用于连续变化的静止图像,是一种适用范围非常广泛、通用性很强的技术,它结合采用了预测编码、不定长编码等多种压缩方法,在图像质量损失较小的情况下,达到了较高的压缩比,因此在静止图像压缩上得到了广泛的应用。JPEG应用的领域包括互联网、彩色传真、打印、扫描、数字摄像、遥感、移动通信、医疗图像和电子商务等等,目前网站上百分之八十的图像都是采用JPEG的压缩标准。所有这些都极大地方便了开发者的评估和使用,充分发挥了ST公司官方原装开发板的强大功能。
作为补充,在最后移植了一个Julia集的分形动画演示,这个最早出现在STM32F4评估板平台上。Julia集是一个在复平面上形成分形的点的集合,它最早由法国数学家Gaston Julia发现。Julia集合可以由下式进行反复迭代得到:f(z) = z2 + c, 其中z是复平面某一点,c是一个复常数。把这个公式反复迭代,最终会得到一个复数C,然后根据C的模的大小,把这个点映射成不同的颜色,漂亮的Julia集分形图像就画出来了。通过这个分形动画可以充分展示STM32F4 运算性能。
系统方案
系统扩展板部分在原有STM32F4DISCOVERY开发套件的基础上增加了一些常用的外部设备接口,如:带有数字隔离的RS232电路、RS485电路及CAN总线接口电路,带有光耦隔离的MOS管驱动及电机驱动模块。用户通过该扩展板就可以与外部其他设备进行串行通信、CAN通信,同时还可以直接用该扩展板来驱动MOS管和电机,大大降低了用户的使用难度。
而JPEG图片解码系统则是以STM32F407VGT6为控制核心,以TFT液晶模块作为显示器,完成对解码后图片的显示,需要显示的图片存储在SD卡中,处理器通过SPI方式读取SD卡里面的图片信息,由于STM32F4内部RAM很小不能作为整幅图片的缓冲区,所以本系统的设计过程中采用了时间换空间的方式,即采用了边解码边显示的方法省去了外部数据RAM。JPEG图片解码过程是使用了DCT变换算法。
系统硬件设计
硬件设计整体框图如下图1所示,整个系统的硬件设计主要由两部分组成:基于STM32F4DISCOVERY的扩展板和JPEG图片解码系统。其中扩展板部分主要包括:带有数字隔离的RS232电路、RS485电路及CAN总线接口电路和带有光耦隔离的MOS管驱动及电机驱动模块。而JPEG图片解码系统的硬件部分则主要有TFT液晶电路和SD卡接口电路组成。

图1 系统整体硬件框图
3.1 通信接口电路
通信接口电路如下图2所示,主要由RS232通信电路、RS485通信电路和CAN通信电路组成,其中RS232通信部分采用的是广泛应用的MAX232接口芯片。RS485通信部分采用的是MAX487接口芯片,MAX487具有限摆率驱动器,可以减小EMI,以降低由不恰当的终端匹配电缆引起的反射,可以实现最高250kbps的无差错数据传输,此外MAX487还具有功耗低、接收器输入阻抗低等特点,使得总线上最多可以有128个MAX487收发器。CAN通信电路部分采用的是美国TI公司生产的高速EMC优化CAN 收发器SN65HVD1050D,它是一款高性能的CAN收发器,提供线路跨接、过压、接地失效保护、过温保护以及宽泛的共模范围,该器件可以承受相当大的电压瞬态,较高的可靠性和高达1Mbps的信号传输速度,使得SN65HVD1050D非常适合众多工业及汽车应用。
数字隔离器采用了两片ADI公司的双通道磁耦ADUM1201隔离芯片,它是一款性能出色的高速隔离芯片,采用磁耦隔离技术,比传统光耦方式更加稳定、可靠。
在隔离电源方面,采用了国内金升阳公司的DC/DC隔离电源,实现5V到5V的电源隔离。


图2 RS232/RS485/CAN通信接口
3.2 三级电源电路:
该扩展板可以支持24V--48V的电机,为满足驱动电机要求,采用了宽输入电压范围的LM317电源芯片作为第一级输出,输出电压:15V,为H桥驱动器供电;采用LM2575/LM2576/LM2596芯片将电压降为5V,作为第二级输出,用于光耦器件、HALL传感器、放大器等供电,通过跳线开关选择,同时又可以为STM32F4 DISCOVERY开发板供电,实现了系统可以脱离电脑供电运行。采用AMS117电源芯片输出3.3V,作为第三级输出。
电机驱动电路:
电机驱动电路由三个部分组成:6N137光耦隔离电路、IR2130 H桥驱动器和75N75MOS管桥电路。

系统软件设计
JPEG图片解码过程如下:
1、读入JPEG/JFIF文件的相关信息;
2、读取Huffman表;
3、构建Huffman树;
4、DC系数的Huffman解码;
5、AC系数的Huffman解码;
6、反量化;
7、反Zig-zag扫描;
8、DCT逆变换;
9、颜色模式转换。
使用的解码算法如下:
1、从文件头读出文件的相关信息。JPEG文件数据分为文件头和图像数据两大部分,其中文件头记录了图像的版本、长宽、采样因子、量化表、哈夫曼表等重要信息。所以解码前必须将文件头信息读出,以备图像数据解码过程之用。
2、从图像数据流读取一个最小编码单元(MCU),并提取出里边的各个颜色分量单元。关于如何从数据流中把一个个连续存储的MCU分割开来,以及如何从各个MCU中将多个颜色分量分割开来。
3、将颜色分量单元从数据流恢复成矩阵数据。利用文件头给出的哈夫曼表,对分割出来的颜色分量单元进行解码,把其恢复成8×8的数据矩阵。
4、8×8的数据矩阵进一步解码。此部分解码工作以8×8的数据矩阵为单位,其中包括相邻矩阵的直流系数差分解码、利用文件头给出的量化表反量化数据、反Zig-Zag编码、隔行正负纠正、反向离散余弦变换等5个步骤,最终输出仍然是一个8×8的数据矩阵。
5、颜色系统YCrCb向RGB转换。将一个MCU的各个颜色分量单元解码结果整合起来,将图像颜色系统从YCrCb向RGB转换。
6、排列整合各个MCU的解码数据。不断读取数据流中的MCU并对其解码,直至读完所有MCU为止,将各MCU解码后的数据正确排列成完整的图像。
算法流程图如下:

图3 软件算法流程图

系统创新
本系统设计创新点:
扩展板设计中增加了隔离通信设计,在市场上所能见到的开发学习板中,几乎都没有增加这个设计。
评测与结论
扩展板设计从原理图制作,PCB版制作总计花费了一个月的时间,送厂加工花费一周时间,焊接PCB及调试各模块花费半个月时间。经过实际测试,采用该扩展板能够比较流畅地进行JPEG的图片解码,进行JULIA集分形的动画演示时,开启了FPU模块,并使用了数学库,演示动画时每个画面在300ms左右。

经过对其他外设资源的验证,该扩展板可以很好地支持STM32F4DISCOVERY平台并能在此平台上将STM32F4的高性能发挥出来。

附录


图4 扩展板实物图正面

图5 扩展板实物图反面

图6 实物图演示-1

图7 实物图演示-2

图8 实物图演示-3

图9 实物图演示-4
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/m0_66999594/article/details/139610915

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值