上位机图像处理和嵌入式模块部署(mcu项目2:串口日志记录器)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

淘宝上面有一个商品蛮好玩的,那就是日志记录器。说是记录器,其实就是一个模块,这个模块的输入是一个ttl串口,输出是一个tf卡。也就是说,这个记录器的作用,就是把ttl的信息记录到tf卡上面,有点类似于飞机上面的黑匣子。当然为了使用的方便,一般记录器还会搭配一个32.768k的晶振,以及一个5v的纽扣电池,它的作用就是在log生成的时候,同步添加上时间信息,这对debug的人来说,还是非常方便的。

1、实体的日志记录模块

我们编写上位机程序的时候,都会手动添加一个log模块。但是,很多mcu的模块,本身flash就很少,自己又不想重新开发模块,所以补充添加一个这样的实体日志模块还是非常不错的。

2、主要实现的功能

需要实现的功能主要有这么几个方面,

(1)实现串口数据保存到tf卡上面;

(2)实现上位机对模块的配置;

(3)实现模块的低功耗运行。

3、上位机的开发

上位机开发,主要就是对模块进行配置,配置的内容包括但不限于,

(1)关于TTL的相关配置;

(2)关于TF卡的相关配置;

(3)关于RTC的相关配置;

(4)关于文件的相关配置;

(5)发送复位功能。

上位机这部分可以和客户的输入接口进行复用。通过一个按钮进行区分,同时添加一个LED灯说明。默认是客户的信息输入,按下按钮之后,就可以利用上位机对它进行设置。

4、电路的设计

整个硬件分成四个部分,分别是TTL、stm32f407、TF卡、RTC模块。TTL其实就是串口,这部分直接引出来即可。选用stm32f407,主要还是因为它资料比较多,本身也支持tf卡。TF卡部分,直接把sdio接线引出来即可。RTC模块。主要就是电源和晶振两部分注意下。

5、固件开发

固件开发本身包含了两部分,一部分是bootloader,另外一部分是App。Bootloader这部分差异不大,我们主要把重点放在App这部分。

从硬件流程来看,App的流程其实并不复杂。整个固件应该就是一个while(1) + 中断处理的形式就可以完成了。本身固件需要实现的内容如下所示,

硬件驱动部分的实现,

(1)GPIO输出功能实现;

(2)Key按键实现;

(3)数据串口和Debug串口实现;

(4)TF卡的读写;

(5)RTC功能的读取;

(6)内部flash的读写;

(7)看门狗功能。

中间件部分的实现,

(1)Fatfs文件系统的移植;

(2)串口命令的解析。

业务部分的实现,

(1)获取串口数据,保存到TF卡当中;

(2)实现上位机的配置;

(3)低功耗设计;

(4)一键恢复配置的功能。

相关推荐
云山工作室6 小时前
用于电动汽车的永磁同步电机调速系统建模与仿真(论文+)
stm32·单片机·嵌入式硬件·毕业设计·毕设
yuan199977 小时前
AD7689 12位串行ADC驱动与应用
单片机·嵌入式硬件
磨十三7 小时前
MCU 时钟系统全解析:主时钟、PLL、分频与外设时钟门控
arm开发·单片机·嵌入式硬件
逐步前行7 小时前
Proteus 8.9(四)51单片机仿真
嵌入式硬件·51单片机·proteus
DIY机器人工房7 小时前
嵌入式面试题:纹波率怎么计算;Buck 电路电感值的标准计算式是什么?
stm32·嵌入式硬件·面试题·diy机器人工房
DIY机器人工房8 小时前
嵌入式面试题:电容滤波,低频高频谁来滤?放置顺序怎么定?
stm32·单片机·嵌入式硬件·diy机器人工房
学习路上_write8 小时前
嵌入式系统bringup指南:软硬件调试
c语言·单片机·嵌入式硬件
磨十三10 小时前
ARM Cortex-M 系列 MCU:内核、指令、异常与中断解析
arm开发·单片机·嵌入式硬件
罗汉松(山水白河)11 小时前
关于串口与UDP通讯的实验
单片机·嵌入式硬件·网络协议·udp·tcp·串口、
d111111111d12 小时前
STM32外设--SPI读取W25Q64(学习笔记)硬件SPI
笔记·stm32·单片机·嵌入式硬件·学习