振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(5)

简介: 振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(5)

注解目录

1、znFAT 的起源

1.1 源于论坛

(那是一个论坛文化兴盛的年代。网友 DIY SDMP3 播放器激起了我的兴趣。)

1.2 硬盘 MP3 推了我一把

(“坤哥”的硬盘 MP3 播放器,让我深陷 FAT 文件系统不能自拔。)

1.3 我的导师-- 顾国昌教授

(哈军工时期的老教授,德高望重的人生导师。)

1.4 我的母校-- 哈工程

(隐藏牛校哈工程,网络名嘴张雪峰所言非虚。振南给你讲讲母校历史:哈军工、

工程学院、哈船院、哈工程。)

1.5 那场严重超时的答辩会

(20 分钟的答辩超时 1 小时,老师表示赞叹。现场承诺要把文件系统写成书。)

1.6 时隔多年的谢师会

(承诺必须兑现,5 年之后的谢师会,我擎书谢师。不要轻易作出承诺,除非你真

得能作到!)

2、高手如云 认清对手

2.1 国外 FAT 方案简介

1 )FATFS

2 )EFSL

3 )UCFS

4 )TFFS

5 )DOSFS

(列举那些主流 FAT 文件系统方案,并进行详细介绍。)

2.2 国内 FAT 方案简介

1 )ZLG/FS

2 )沁恒 FAT

(国内尚无成型开源的 FAT 文件系统方案。但是我们要支持国货。)

3、硬刚高手 挑战自己

3.1 与高手竞速

3.2 挑战自己

(这一节我写了一个月。环比各大知名方案,看看到底谁更快!最终,挑战了自我。)

4、znFAT 精彩应用大赏

4.1 振南的精彩实验

4.1.1 SD 卡 卡 WAV 音频播放器

4.1.2 SD 卡电子滚动屏

4.1.3 SD 卡 卡 MP3 播放器

4.1.4 AT89S51 离线下载器

4.1.5 数据采集导入 EXCEL

4.1.6 串口文件窃取器

4.1.7 录音笔于 (基于 VS1003B) )

4.1.8 文件无线传输实验

4.1.9 嵌入式脚本程序解释器

4.1.10 绘图板实验(基于 STM32F4 ,屏幕截图存为 BMP 图片)

4.1.11 MEMS 声音传感器“ 硅麦” 录音实验

(znFAT 的最大亮点在于各种精彩的应用,希望振南的这些实验可以让你眼前一亮。)

4.2 精彩的第三方项目应用

4.2.1 仿 仿 Metro UI 系统应用实验

4.2.2 通过 U 盘对产品进行升级

4.2.3 嵌入式网页服务器

4.2.4 STM32+LD3320 作声控音频播放器

4.2.5 BMP 图片浏览

4.2.6 VGA 显示 SD 卡中的图片(基于 FPGA) )

4.2.7 汉字电子书(基于 STM8) )

4.2.8 文本语音合成实验(TTS ,基于 NUC120) )

4.2.9 《跳跃小猫》动画播放(基于 FPGA NIOSII)

4

znFAT 精彩应用大赏

4.1 振南的精彩实验

1.SD 卡 WAV 音频播放器

所需主要硬件:

STC15L2K60S2(主 CPU 芯片,位于ZN-X开发板基板)

TLC5615(12 位 DAC,位于基础实验模块)

SD/SDHC 卡(使用 SD 卡模块与基板接驳)

实验功能描述:在此实验中,STC51 单片机通过 nFAT 打开 SD 卡根目录下名为 est.wav的文件并读取其数据,定时将数据写入 TLC5615 得到相应的电压(WAV 文件选用 PCM编码的 8位 mono 格式)。拟合出来的声音信号经后级音频电路隔直滤波处理,最终产生较为理想的音频效果,如图 18.7 所示。

图 18.7 SD 卡 WAV 音频播放器实验示意图

实际硬件平台如图 18.8 所示

图 18.8 SD 卡 WAV 音频播放器实验硬件平台

2.SD 卡电子滚动屏

所需主要硬件:STC15L2K60S2

16X16 点阵(由 4个8X8 点阵构成,位于基础实验模块)

SD/SDHC 卡

实验功能描述;将要进行滚动显示的 TXT 文本文件与汉字库文件(HZK16)放入SD卡根目录下。单片机通过 znFAT 读取文本文件中的字符编码,并从 HZK16 中获取其对应的字模数据。最终送到 16X16 点阵进行滚动显示(16X16 点阵采用 片74HC595 两两级联,分别控制其行与列。单片机通过定时动态扫描的驱动方式实现滚动显示的效果。)实验示意如图 18.9 所示。

图 18.9 SD 卡电子滚动屏实验示意图

实际硬件平台如图 18.10 所示。

图 18.10 SD 卡电子滚动屏实验硬件平台

3.SD卡MP3播放器

所需主要硬件:STC15L2K60S2

MP3 模块(采用 VS1003B MP3 音频解码芯片)

SD/SDHC 卡

实验功能描述:STC51单片机通过 znFAT 读取 SD 卡中的 MP3 文件将其数据写入MP3 模块中进行解码播放。使用两个按键实现上一首与下一首的切换。实验示意如图 18.11所示

实际硬件平台如图 18.12 所示。

图 18.11 SD 卡 MP3 播放器实验示意图

图 18.12 SD 卡 MP3 播放器实验硬件平台

4.AT89S51离线下载器

所需主要硬件:STC15L2K60S2

AT89S51(由 Atmel 研制的 51 核单片机,可支持串行 ISP 程序下载)

SD/SDHC 卡

实验功能描述:所谓“离线下载器”是指不需要计算机而完成对单片机芯片的程序烧录此实验读取 SD 卡中的烧录文件,比如 bin 或 hex,将其中的程序代码通过 AT89S51 的ISP 接口(可使用 STC51 的硬件 SPI,或者采用IO 模拟时序)写它的 FlashROM 中并让程序开始运行。实验示意如图 18.13 所示。

图 18.13 SD 卡 MP3 播放器实验示意图

实际硬件平台如图 18.14 所示。

图 18.14 AT89S51 离线下载实验硬件实验平台

5.数据采集导入 EXCEL

所需主要硬件:ATMEGA128(Amtel 的 8 位AVR 单片机,位于ZN-X开发板基板)

PCF8563_DS18B20(基础资源模块)

SD / SDHC 卡(使用 SD 卡模块与基板接驳)

实验功能描述:在这个实验中,我们通过 AVR 单片机采集实时钟芯片 PCF8563 的年月日时分秒的时间信息、温度传感器 DS18B20 的温度数据以及一路模拟量信号(由 AVR 单片机的片内 ADC 直接进行采集)。每秒钟采集一次数据,我们在 AVR 单片机中对获取的这三种数据进行处理,转换为 EXCEL 软件可以识别的表格数据格式(CSV 格式)将其存人SD卡根目录下的znmcu.csv 文件中。实验示意如图1815 所示。

图 18.15 数据采集导入 EXCEL 实验示意图

实验硬件平台如图 18.16 所示。

实验效果如图 18.17~18.18 所示。

振南评注:我做这一实验,主要是因为有很多人问我:“能不能把数据存成 XLS 文件?这样就可以使用 EXCEL对数据进行一些处理了,比如作曲线图等”Office 中的 EXCEL确实有很强的数据统计和处理功能,它的表格文件格式通常是 XLS 文件。但是如果我们想把数据直接存成 XLS 的形式却是有些困难的,因为 XLS 文件的结构非常庞杂。针对这一问题,曾经有很多人产生过这个的疑问;“难道 nFAT 没有把数据写成XLS 格式的功能吗?它不能创建xxx.xls 文件吗?”振南要说:其实 nFAT 作为一个嵌人式 FAT32 文件系统方案只负责数据

图 18.16 数据采集导入 EXCEL 实验硬件平台

图 18.17 数据采集存为 CSV 文件直接以表格形式导入到 EXCEL 软件中

的读/写,它根本不管这些数据是什么意义,只知道数据是一堆字节而已。一个特定格式的文件,它的数据必定遵循一定的结构规范。它在文件系统的层面上对数据进行了更为具体的定义。简言之,文件格式是文件系统应用层面上的东西,它的实现取决于使用者以何种结构进行数据的存储。要让 EXCEL 能够识别记录在文件中的数据,不仅仅是创建一个扩展名为 XLS的文件就可以的,更重要的是我们要知道数据的具体结构和组织方式。如果你还是没听懂,那我问你:“难道你把一个扩展名为 MP4 的电影文件改成 MP3 就能听音乐了吗?”不知道你有没有留意过EXCEL还支持一种叫作 CSV 的文件格式,即号分隔格式。它使用一种非常简单的表达方法来描述数据的表格结构(在各列数据中间用空格分开即可)。具体的文件格式如图 18.19 所示。

图 18.18 一路模拟量与温度在 EXCEL 中生成的曲线图

图 18.19 CSV 文件的数据格式

相关文章
|
6月前
|
存储 数据采集 语音技术
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(6)
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(6)
|
6月前
|
传感器 开发框架 算法
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(7)
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(7)
|
6月前
|
存储 算法 语音技术
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(3)
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(3)
|
6月前
|
存储 语音技术 芯片
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(8)
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(8)
|
6月前
|
存储 IDE 语音技术
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(9)
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(9)
|
6月前
|
传感器 数据采集 算法
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(4)
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(4)
|
6月前
|
存储 机器学习/深度学习 机器人
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(1)
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(1)
|
6月前
|
存储 传感器 数据采集
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(2)
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(2)