基于STM32的自动气象站控制模块设计

发布时间:2023-08-17  

1、引  言

随着居民生活水平的提高和气象意识的增强,近年来自动气象站得到了大力的发展。自动气象站需要可视化的人机界面,既能发布动态的气象数据,也能对气象站发送控制指令。因此,自动气象站拥有可视化的液晶显示控制模块是非常重要的。


为了节约硬件资源,采用STM32F103VET6单片机驱动7寸触摸屏作为显示控制模块的硬件平台。为实现多任务处理,移植经过裁剪和修改的UC/OS-II操作系统。同时移植可裁剪的界面设计软件接口UCGUI,实现可视化人机界面。构建软硬件可裁剪的自动气象站控制模块,即能满足自动气象站工作现场的任务需求,也减少了软硬件资源的浪费,充分发挥了嵌入式产品在工控现场的优势。


2、系统整体框图

采用STM32F103VET6作为主控制器芯片,利用TFT屏驱动程序和触摸驱动程序驱动7寸触摸屏,系统整体框图如图1所示。


针对该CPU移植UC/GUI和UC/OS-II是本文的关键。液晶驱动程序和触摸驱动程序配合UCGUI提供的接口函数,搭建可视化人机交互界面,移植适用于本系列CPU的UC/OS-II实现多任务处理。

基于STM32的自动气象站控制模块设计

图1  系统整体


3、驱动触摸屏硬件电路设计

基于价格和性能的综合考虑,选择STM32F103VET6作为主控制器芯片。STM32F103系列CPU采用CORTEX-M3内核,最高工作频率72MHz,拥有256~512KBFLASH程序存储器,并行LCD接口,兼容8080/6800模式。


LCD模块采用群创AT070TN90系列TFT屏。该液晶显示模块由LCD面板,SSD1963控制电路电源与调压器电路,背光控制电路4部分组成。其中SSD1963控制电路包含了1块SSD1963控制芯片,负责与处理器进行通信,根据处理器传输过来的数据刷新内部显存,控制LCD面板刷新显示。


TFT显示屏与STM32F103的接口如图2所示。

基于STM32的自动气象站控制模块设计

图2  TFT显示屏与STM32F103的接口电路

TFT显示屏表面贴有一块XPT2046控制的四线制触摸屏,该触摸屏的Y+,Y-,X+,X-分别与XPT2046的4个引脚相连。当屏幕被按下时,XPT2046内部的125KHz转换速率的逐步逼近型12位A/D转换器执行2次A/D转换计算触摸位置,然后以SPI总线方式传送给CPU。


4、系统软件设计

4.1、LCD底层控制函数的实现

移植GUI接口主要实现包括画点、线、矩形、多边形、位图等功能。GUI所有的系统函数都是通过调用这些接口函数来实现的,而这些接口函数又都是基于画点函数来实现,几乎GUI显示功能都最终调用画点函数,所以LCD驱动程序重点在画点函数的编写。


/*在指定坐标画指定颜色的点*/

vOIDLCD_SETPOINT(U16X,U16Y,U16C)

LCD_WRITECOM(0X002A);

LCD_WRITERAM(X>>8);

LCD_WRITERAM(X&0X00FF);

LCD_WRITERAM(HDP>>8);

LCD_WRITERAM(HDP&0X00FF);

LCD_WRITECOM(0X002B);

LCD_WRITERAM(Y&0X00FF);

LCD_WRITERAM(VDP>>8);

LCD_WRITERAM(VDP&0X00FF);

LCD_WRITECOM(0X002C);

LCD_WRITERAM(C);

实现了对LCD像素的操作,进而修改移植UCGUI图形接口,从而方便UCGUI通过调用该最底层函数来实现丰富的图形界面。

4.2、UCGUI组织结构

UCGUI是一种小型嵌入式图形界面接口,独立于CPU和LCD控制器,对系统要求很低。8/16/32位CPU,2~6KB的RAM,30~60KB的ROM,2KB的堆栈即可满足。UCGUI接口完全对外开放,结构如表1所示。

表1 UCGUI源码组织结构

基于STM32的自动气象站控制模块设计

4.3、修改配置UCGUI头文件工作

移植UCGUI的前提就是修改配置头文件。根据硬件电路设计,显示器控制器型号,以及设计中将使用UC/OS操作系统的实际情况,配置头文件具体修改如下:

基于STM32的自动气象站控制模块设计


基于STM32的自动气象站控制模块设计

将该修改完头文件的UCGUI源码包编译进工程,利用GUI自带的图形接口函数,便可在LCD屏上任意位置画任意的图形。实现自动气象站的多任务处理的功能,给液晶显示控制模块移植一个结构小巧的UC/OS-II操作系统也是必不可少的。

4.4、UC/OS-II框架结构

UC/OS-II是免费的公开的源代码,具有可剥夺内核。绝大部分代码用C语言编写,仅有与CPU相关的代码用汇编编写,总量也仅为200行左右,被压缩到最低限度以便移植到任意一种CPU上。只要有标准的C交叉编译器,汇编器和连接器等软件工具,就可以将UC/OS-II移植到例如STM32这样的CPU中。因为其执行效率高,占用空间小,实时性好,可扩展性强,最小内核可编译至2KB,所以UC/OS-II能完美运行于STM32中。

UC/OS-II可大致分成核心、任务处理、时间处理、任务同步与通信、CPU的移植等5个部分。

1)核心部分(OSCORE.C)包括操作系统初始化,系统运行,中断进出的前导、时钟节拍、任务调度、事件处理等部分。

2)任务处理部分(OSTASK.C)包括任务的建立、删除、挂起、恢复等。因为UC/OS-II是以任务为基本调度单位的,所以该部分也很重要。

3)时钟部分(OSTIME.C)UC/OS-II中最小时钟单位是TIMETICK(时钟节拍),任务延迟等操作在此完成。

4)任务同步与通信部分此部分包括信号量、邮箱、邮箱队列、事件标志等部分。主要用于任务间的互相联系和对临界资源的访问。

5)与CPU的接口部分该部分是UC/OS-II针对CPU移植的部分。该部分牵扯到SP等系统指针,所以通常由汇编语言编写。

4.5、UC/OS-II修改裁剪工作

UC/OS-II在STM32上移植,前提需要修改3个文件,它们是OS_CPU.H,OS_CPU_C.C,OS_CPU_A.ASM。


1)临界代码段

UC/OS-II为保证某段代码完整执行,需要临时关闭中断,代码执行完成后开启中断。UC/OS-II通过OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()2个宏来实现中断的打开和关闭,对于M3内核,栈增长方向是向下增长,因此需要宏定义OS_TASK_GROWTH为1。

基于STM32的自动气象站控制模块设计

基于STM32的自动气象站控制模块设计

5、测试结果

在μVISION4集成开发环境中编写测试代码。在主函数MAIN()中,系统函数OSTASKCREATEEXT()创建系统主任务APPTASKSTART(),在主任务中创建2个系统实际运行的任务APPTASK_LCD()和APPTASK_LED(),设置任务优先级和任务栈大小,2个任务用于液晶显示和LED闪烁。APPTASK_LCD()和APPTASK_LED()的任务配置如表2所示。

表2任务参数设置

基于STM32的自动气象站控制模块设计

系统在2个任务情况下运行效果如图4所示。

基于STM32的自动气象站控制模块设计

图4 显示控制模块

结果表明多任务运行流畅,工作稳定。因此,该自动气象站控制模块工作可靠有效。


6、结论

设计基于STM32的自动气象站控制模块。STM32单片机的高速、低耗的优越性能完全可以满足触摸屏主控制芯片的要求,TFT液晶显示器可以满足更复杂、多彩、灵活的显示任务,符合显示屏性能不断攀升的发展趋势。将UC/OS-II操作系统和UC/GUI图形接口同时移植到F103系列CPU中,实现多任务处理,完全适应自动气象站多变的任务需求,能承担更加灵活的液晶显示任务。相比传统的自动气象站控制模块,设计在实现多任务,多界面的前提下,将软硬件资源的消耗上降到最低,体现了现代电子设备设计的低功耗低成本的特点。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    MVP-6200系列可通过凌华科技的AFM(自适应功能模块)插槽进行扩展。 凌华科技提供全面的功能模块设计服务,允许用户根据自己的具体需求定制功能扩展选项。 这包括但不限于四个主要的类别:专用......
    个用于额外存储的 M.2 2280 M-key。 MVP-5200 和 MVP-6200系列可通过凌华科技的AFM(自适应功能模块)插槽进行扩展。 凌华科技提供全面的功能模块设计服务,允许用户根据自己的具体需求定制功能......
    硬件测试文档包括以下内容:单板功 能模块划分、各功能模块设计输入输出信号及性能参数、各功能模块测试点确定、各测试参 考点实测原始记录及分析、板内高速信号线测试原始记录及分析、系统 I/O 口信号线测试原 始记......
    -6200系列可通过凌华科技的AFM(自适应功能模块)插槽进行扩展。 凌华科技提供全面的功能模块设计服务,允许用户根据自己的具体需求定制功能扩展选项。 这包括但不限于四个主要的类别:专用的连接器、集成......
    据上传到中心站,可以根据采集的数据进行开关量的采集。电能表的硬件设计分成数据采集计量模块设计、主控制模块(MCU)设计、电源模块设计等3部分,如图4所示。   2.2 存储器的选择 在电......
    统电力数据采集器相比具有显著优点。 5、结论 本文介绍的电力数据采集系统采用ST公司的ARM芯片STM32F103ZE,芯片包含丰富的功能模块,系统无需外扩芯片即可实现A/D转换、数据通信等功能,大大简化了硬件设计......
    方案进行分析,然后结合系统硬件电路设计、软件系统设计等方面介绍系统的功能。 1 系统总体方案设计 如图 1 所示,系统采用 STM32 单片机作为微控制器,太阳能模块为系统提供电源。传感器组包括 YL-69......
    易完成复杂的控制任务。  标准三:可扩展能力三菱PLC的可扩展能力包括I/O点数的扩展、存储容量的扩展、联网功能的扩展、各种功能模块的扩展等。在选择三菱PLC时,经常需要考虑三菱PLC的可扩展能力。  标准四:特殊功能单元特殊功能单元种类的多少与功能......
    使用可扩展的PMIC避免重新设计汽车摄像头模块电源电路;汽车摄像头模块设计人员必须在缩短上市的同时,创建更小的摄像头模块设计,这些设计可扩展并可重复用于各种类型的图像序列化器和传感器。在本文中,我将解决汽车摄像头模块设计的几个关键设计......
    电路经检测处理后就能产生报警信号。热释电红外传感器的工作探测范围为10-20m,并且,可以在-10℃~+40℃温度范围内正常工作。 2.2 控制模块设计 控制模块使用51式单片机编程实现。程序代码如图3所示。 程序功能......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>