你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于ST-emWIN的实时数据采集系统(NUCLEO-F411RE)  

[复制链接]
原来是他 发布时间:2015-8-11 14:50
一、应用背景
在一些控制项目中,需要对温度,压力及其它模拟量进行采集,采集到的数据能够实时的显示出来,而采用上位机界面实现成本较高,通常要额外的电脑或者其它硬件,采用TFT 液晶屏是一种比较理想的方式,从目前常用的3.2 寸/4.3 寸/5.7 寸/7 寸触摸屏都能很好的实现实时数据显示,实现硬件的成本低。
二、功能描述
本实时数据采集系统实现的功能如下:
1、  采用 ST_emWIN 图形库来实现GUI 界面,其中用到了按钮,图表,文字,列表项等多种控件。emWin 图形库由德国SEGGER 公司开发,可为图形LCD 设计提供高级支持。它适用单任务或是多任务系统环境。架构基于模块化设计,由不同的模块中的不同层组成。包括液晶驱动模块,内存设备模块,窗口系统模块,窗口控件模块,反锯齿模块和触摸屏及外围模块。其主要特性包括丰富图形库,多窗口、多任务机制,窗口管理及丰富窗口控件类(按钮、检验框、单/多行编辑框、列表框、进度条、菜单等),多字符集和多字体支持,多种常见图像文件支持,鼠标、触摸屏支持,灵活自由配制等特性。
         在移植emWIN 之前,需要做好LCD 驱动,这里采用的是SSD1289 控制器的3.2 寸LCD 模块。因为 NUCLEO-F411RE开发平台上面的MCU 为64 引脚,采用16 位方式和LCD 通信,这里用PB0-PB7 和PC0-PC7组合的方式实现16 位驱动。
         整个实时数据采集系统的GUI 界面由3 个窗口组成。最上面是状态窗口,在里面实现了标题和时间显示。下面是主窗口,在主窗口里面又分为两个部分:一部分是四个按钮,分别是【开始采集】、【停止采集】、【存储数据】、【时间设置】。因为没有增加SD 卡部分,这里无法使用XBF 字体来显示汉字,用英文字符表示。另一部分是波形显示窗口,左边是幅度值:0-3.3V。带网格显示,最多可以显示4096 个点。【开始采集】和【停止采集】的回调函数相对简单,分别由定时器控制波形数据的显示与停止。第三个窗口是数据记录窗口,它被隐藏在底部,由按钮【存储数据】的回调函数进行触发到顶部进行显示。数据记录窗口又由两个部分组成。左边是三个按钮,分别是【增加数据记录】【删除数据记录】和【确认返回】,右边是数据记录表,每一条记录由【当前时间头+采集数据】组成。若增加SD 卡驱动后,可以将记录实时保存到SD 卡中。最后一个按钮是【时间设置】,它在回调函数中,建立一个对话框,用于实现对实时时钟的【时:分:秒】进行修改,确定后,即可实时显示修改好的时间。具体的界面如下:
1.PNG
2.PNG
3.PNG
2、RTC 实时时钟:STM32F4 系列的实时时钟相对简单,比STM32F1 系列更加直观和容易设置。在NUCLEO-F411RE 上实现了年月日时分秒的数据,在界面上仅显示了时分秒。
3、 ADC 数据采集:因为是用于演示,用F411RE 自带ADC 模块实现一路DMA 方式的数据采集。在存储数据过程中,采用了“乒乓双缓冲”方式实现数据存储。
4、预留SD 卡存储功能:这个数据采集系统,要实现长时间数据存储,在不借助上位机的情况下,必须用SD 卡来实现。因为没时间做扩展板,所以硬件稍麻烦一点,软件上实现更快一些。建议存储空间在4G 以上,利用定时器控制,每隔100ms 向SD 卡保存一次数据。
5、额外功能:既然在TFT 上移植了emWIN,可以轻松实现其它一些小应用,比如简易计算
器。
4.PNG
三、硬件设计
此设计最大限度的利用了本身开发平台,没有外扩资源,仅用了一个外部可调电阻,使用了定时器,ADC,串口,SPI 等资源。
硬件比较简单:
5.PNG
四、软件设计
软件采用的是标准固件库进行开发,使用的是MDKV5.13 版本,跟以前相比,有一些变化。
整个工程文件如下:
6.PNG

在成功移植emWIN 之前,要自己完成一些驱动。
7.PNG

有了这些,emwiN 移植就比较容易了。
8.PNG

使用的是最新的 STemWIN5.26 固件库,程序最主要的内容是GUI_APP 文件,这个是多窗口和控件回调函数文件。因为使用了3 个窗口,1 个对话框窗口,多个控件,所以回调函数众多。这里仅截图部分,以说明:

1、创建状态窗口
9.PNG
2、状态窗口的回调函数
10.PNG

3、创建主窗口
11.PNG

4、主窗口的回调函数
13.PNG

5、创建记录窗口:
14.PNG

6、记录窗口的回调函数
15.PNG
五、总结
通过此次对STM32F411RE 的评估,看到了使用emWIN 时,在STM32F1 和STM32F4 性能上的一些差异。通过软件的使用和摸索,也看到了使用标准固件库和CubeFX 软件的差异。在ST 大力推广 CubeFX 的今天,逐步替换标准固件库也要慢慢启动了。
下面是一些其他效果附图:
16.PNG
17.PNG
19.PNG


源代码 核心代码文件.rar (12.98 KB, 下载次数: 348)
收藏 4 评论23 发布时间:2015-8-11 14:50

举报

23个回答
你好我好大家好! 回答时间:2015-8-11 18:10:09
谢谢                                       
tx17775275311 回答时间:2020-7-3 22:18:45
大神,我想咨询一下,我是用串口不停的接收数据,然后接一个数据就 跳到画图控件函数里,但是发现我只能接收6个数据才会跳一次画图函数,造成丢数据,我想咨询一下是怎么回事么
安臣 回答时间:2015-8-18 17:28:10
沐紫 发表于 2015-8-11 15:42
你的头像好性感啊

头像是  一个歌手的照片   她的专辑很好听   谭艳  你去听听嘛
Paderboy 回答时间:2015-8-11 14:55:57
多谢分享。。。必须学习
埃斯提爱慕 回答时间:2015-8-11 14:57:36
提示: 作者被禁止或删除 内容自动屏蔽
mark0668 回答时间:2015-8-11 14:58:44
谢谢分享
Alliances 回答时间:2015-8-11 15:01:02
谢谢分享,赞一个。。。
安臣 回答时间:2015-8-11 15:09:01
纪念一下。要好好的学习了
creep 回答时间:2015-8-11 15:35:18
安臣 发表于 2015-8-11 15:09
纪念一下。要好好的学习了

记得你和宽哥都有这个板子。
沐紫 回答时间:2015-8-11 15:42:46
安臣 发表于 2015-8-11 15:09
纪念一下。要好好的学习了

你的头像好性感啊
阿本 回答时间:2015-8-12 08:05:24
谢谢分享      
yanhaijian 回答时间:2015-8-12 10:10:11
我感觉GUI是嵌入式中间件中最复杂的。
安臣 回答时间:2015-8-18 17:27:39
creep 发表于 2015-8-11 15:35
记得你和宽哥都有这个板子。

我没有这个板子,宽哥有个
恋之花 回答时间:2018-3-1 15:58:35
多谢版主
恋之花 回答时间:2018-3-1 16:01:40
12下一页

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版