当前位置:首页 > 嵌入式 > 嵌入式硬件

在许多传统行业中,高精度温度数据采集系统是不可缺少的。近年来,随着高精度ADC价格的不断下降以及其功能的不断完善,研制廉价的多路、快速、高精度温度采集系统成为了可能。美国德州仪器公司(TI)推出的带24位ADC的微处理器MSC1210,特别适合于测量高精度温度、压力传感器等输出的微弱信号。本文以MSC1210作为测量、信号处理以及通讯的核心,设计了高精度温度采集系统模块。该系统测量通道易于扩充,测量精度高,可以快速地进行高精度数据测量。

系统总体方案设计

本系统的硬件部分主要由前端数据采集、处理电路和后端数据处理、LCD电路组成。两部分通过RS-232串行接口进行通信。系统的总体方案构图如图1所示。


图1 系统总体结构

数据采集部分的软硬件设计

硬件电路设计

数据采集部分的核心器件选用了MSC1210Y5。这主要是因为该微处理器具有24位的 ADC,其有效精度高于22位。其内部包含完整的前向通道(包括输入缓存器、模拟开关电路、可编程增益放大器和ADC以及数字滤波部分)和后向通道— DAC,这些都是完成测控系统的必须部分。此外,该处理器通过改变命令寄存器的方式对内部通道功能进行设置,用指令就可以选择输入缓存器、设置放大增益、控制通道开关切换、进行偏置校正等,使用非常方便。数据采集部分的电路结构原理图如图2所示。

本系统中两个核心芯片MSC1210Y5和MAX3223的功耗都很低,因此,在设计中板上的电源(3.3V)由后端系统通过RS-232接口提供。除了RS-232接口的接线,以及接入J1、 J2插座的信号(8个AIN线、REF以及公共地)线外,本系统的硬件部分不再需要其它连接,使用非常方便。此外,设计时还在电路中预留了一部分接口线供以后扩展系统功能使用,包含了第二串行口以及四根可配置为SPI接口、中断输入和I/O端口的备用接口线。


图2 数据采集电路结构原理图

软件设计

在基于此电路的高精度测温模块应用中,MSC1210Y5完成了微弱信号的多路切换、信号缓冲、编程放大、24位ADC、数字滤波、数据处理、信号校准以及串口通信等功能。MSC1210Y5包含2个串口,本设计中选取其中的一个串口用来与后端人机交互系统通信,负责接收后端发送的控制命令和控制参数以及发送前端采集、处理的数据。数据采集电路的程序主要任务是:控制内部的ADC的测量过程,读取转换的数据;与后端 (S3C44B0X系统)进行通信,读取上位机的命令和有关的控制参数,同时向上位机传送转换后的数据。数据采集电路的程序控制流程如图3所示。

串口开始接收上位机送过来的命令和数据时,将依次读到的后端系统的2字节串码(暂存在R6,R7)的控制字传送到MSC1210Y5内部寄存器ADCON1 和ADCON0,从而实现对ADC控制命令的写入。其后将ADCON3、ADCON2、ADMUX和PDCON寄存器的内部写入相应的命令和参数值,从而完成对MSC1210Y5内ADC的设置和启动。向后端系统发送数据时,由于ADC是24位精度,转换数据必须分为3个字节传送,即将寄存器1、2、3的 ADC转换结果依次通过送SBUF发送,同时在这个过程中还包含发送同步字符、CRC校验等过程。


图3 数据采集电路的程序控制流程

嵌入式GUI应用系统概述

该系统后端的硬件部分主要由三大块构成:以S3C44B0X为核心的系统板,集JTAG调试电路、系统电源、LCD接口电路的辅助板,以及LCD屏。

后端的软件部分也由三个部分组成:系统启动加载程序,嵌入式实时多任务操作系统mC/OS-II,和基于mC/OS-II的应用程序。根据系统应用的需要,其中基于mC/OS-II的应用程序主要包括串行口通信程序和基于mC/GUI的图形用户接口程序。

系统中的串口用于S3C44B0X控制器向前端数据采集部分发送控制命令和控制参数,并实时接收前端发送的采集数据,送由控制器处理和进行LCD显示。当操作系统mC/OS-II启动时,自动初始化串行口。由于应用程序是多任务系统,为了实时监测串行口信息,设计时在系统中单开了一个串行口扫描任务,从而可保证信息不丢失。

由于mC/GUI提供了源代码,在开发应用程序时,用户可以首先将核心文件、LCD驱动文件和需要的字体文件包含在自己的工程里,然后再根据内存设备、输入设备、空间和窗口管理部分等硬件的实际需要来具体开发。开发步骤如下。

(1) 按照实际需要,定制自己的mC/GUI开发环境。其中包括对mC/GUI目录的筛选,以及目录中文件的筛选;

(2) 指定硬件设备的地址,编写接口驱动代码。这里需要修改LCDConf.h文件;

(3) 编译、连接、调试子程序;

(4)修改子程序并测试,增加需要的功能;

(5)若开发多任务应用,则需要修改GUI_MAXTASK和GUI_OS宏,实现mC/GUI与操作系统的结合;

(6)编写自己的应用程序。

由于mC/GUI不支持ARM7处理器S3C44B0X,因此,要把mC/GUI移植到系统平台上,需要自己完成mC/GUI在系统硬件平台上的各种驱动,具体包括S3C44B0X中内置的LCD控制器的正确初始化,以及画点、画线、填充等LCD驱动函数的编写等。

LCD 控制器初始化:S3C44B0X LCD控制器上的正确初始化包括各种控制寄存器的正确配置以及显存的正确设置与映射。其中显存的映射是将S3C44B0X专用LCD DMA的源地址设为显存起始地址值,该值是在rLCDSADDR1中配置。此外,LCD控制器还需对REGBANK中的其他可编程寄存器进行编程,以控制相应的寄存器值,并确定垂直/水平象素、数据接口的数据宽度、接口时间及刷新率等。

LCD驱动函数编程:在LCD的驱动函数中,最底层的驱动函数是画点函数和取点函数。在mC/GUI中显示字、图形都与这两个函数有关,它们直接与显存通话。为了显示出字符和位图,还须参考uC/GUI的 LCDMemC.c,写DrawBitLine1BPP、DrawBitLine2BPP和DrawBitLine4BPP函数,并配置 GUIConf.h和LCDConf.h中的常数。完成了上面的各个驱动函数后,就可以采用mC/GUI的Demo程序对所移植的mC/GUI进行测试了。

结语

采用TI公司的微控制器MSC1210Y5开发的高精度数据采集系统,采集精度高,抗干扰能力强。具有较高的应用和推广价值。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

随着人工智能(AI)技术的迅速发展,人们对于通用人工智能(AGI,即Artificial General Intelligence)的期待也日益高涨。通用人工智能指的是具备像人类一样全面智能的计算机系统,能够执行各种复杂...

关键字: 人工智能 计算机 数据

华为手表作为一款功能齐全的智能手表,具有多种实用的功能。本文将对华为手表的功能进行详细介绍,帮助用户更好地了解和使用这款智能手表。

关键字: 华为手表 功能 智能手表

在数字化时代,数据的数量和价值飞速增长,如何安全、有效地存储和管理这些数据成为了一个重要的问题。刻录机,作为一种同时具有数据存储和备份功能的设备,在这方面发挥着越来越重要的作用。本文将向大家介绍刻录机的定义、工作原理以及...

关键字: 刻录机 数据

在数字时代,数据已经成为企业的重要资产。随着云计算技术的快速发展,云服务器已成为企业和个人存储数据的重要平台。然而,数据的存储和处理也面临着多种安全威胁。本文将探讨如何使用云服务器确保存储数据的安全性。

关键字: 数据 云服务

摘要:针对窃电手法的隐蔽化和专业化,为减少公司范围内窃电行为,大力整治用电市场秩序,保持反窃电高压态势,结合当前新疆反窃查违工作中的实际,依托用电信息采集系统,融合多源系统数据,采用开盖记录+计量异常途径对用电行为进行分...

关键字: 计量异常 采集系统 用电行为分析

北京——2023年9月21日,近期,亚马逊云科技作为参展商参与了久负盛名的IBC 2023 (欧洲广播电视展)并宣布推出一系列聚焦营收增长的媒体与娱乐(Amazon Web Services for M&E)行业解决方案...

关键字: 亚马逊 数据

STIF2023第四届国际科创节暨DSC2023国际数字服务大会(数服会)定于12月15日在北京举行,主题为:数实融合 推动高质量发展。日前,活动筹备工作正式启动。

关键字: 国际科创节暨 数据

随着信息时代的到来,数据存储成为了一项基本需求。Flash存储器成为了一种常见的存储设备,用于存储各种类型的数据,如文档、图片、视频等。本文将详细介绍如何使用Flash存储器以及如何写入数据,帮助读者了解Flash存储器...

关键字: Flash 存储器 数据

在信息爆炸时代,大量的数据涌现出来,如何准确、高效地理解和传达这些复杂的数据成为许多领域所面临的挑战。可视化作为一种强大的数据处理和展示手段,通过图形、图表和动画等方式将抽象的数据转化为直观的可视形式,帮助用户更容易地理...

关键字: 视觉化 数据 可视化技术

随着信息时代的到来,数据成为了我们生活和工作中不可或缺的一部分。然而,海量的数据对我们来说往往难以理解和利用。这时,数据可视化技术的出现为我们提供了一种直观、有效的方式来展示和解读数据。本文将探讨数据可视化的作用以及其在...

关键字: 数据 信息 可视化
关闭
关闭