0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于S3C2440芯片和单片机设计压装数据采集系统的设计

电子设计 来源:电子产品世界 作者:李湘波 2020-02-29 08:04 次阅读

引言

随着经济和社会的发展,我国的工业水平和信息技术水平也得到了飞速发展。其中工业中最为常见的零部件组装和装备压装监测设备也得到了不断的改进。压装的过程其实就是按规定的技术要求将零部件进行组培和连接,使之成为半成品或者成品的工艺过程。如图1所示,就是将两个零部件进行过盈无键组装配合,使之牢固结合在一起。工业中很多机械设备都是通过这种压装方式组合到一起的,包括火车轮对、轴承、汽车发动机、变速器、底盘等关键部件。压装的质量决定了以后产品的使用质量和人民的生命财产都息息相关。我们知道压装质量的评判标准,主要是根据压装过程中压力和位移的变化曲线来确定的。而压力位移曲线的获取这就需要由良好的运行稳定的数据采集系统来提供。基于此,本文提出一种基于UCOS-II的数据采集系统,在保证实时准确的数据的基础上,使整个压装监测设备能准确地实时监测压装曲线,自动判断压装结果,并将结果进行存储和统计。

基于S3C2440芯片和单片机设计压装数据采集系统的设计

1 、压装监测设备系统总述

如图2所示,该压装监测系统主要由两部分组成,第一部分是由主控芯片S3C2440构成核心控制和数据处理单元;它实现压力位移的数据曲线图绘制、数据的分析处理、数据的存储以及人机交互相关功能的实现。第二部分是由C8051f060作为控制单元的数据采集系统,主要的任务是数据实时采集、数据发送、指令的接收以及PLC控制。系统的大概工作流程如下:首先通过人机交互S3C2440发送指令给C8051f060,C8051f060处理指令之后通过PROFIBUS总线实现对PLC的开始或停止等相关操作,当接收到开始指令时,C8051f060会同时采集压装过程的位移和压力数据,并将这些数据实时发送给S3C2440,最后S3C2440会对这些数据进行曲线图绘制、结果判定等操作。

2 、压装数据采集系统

本文的重点是对压装设备的采集系统进行论述。根据上面的系统总述,我们知道该数据采集系统必须达到以下方面的要求。第一,ADC的选择,ADC必须是精度足够高,由于同时采集压力和位移数据,并且采集的数据量很大,所以必须选择多通道的高速高精度AD转换器。第二,数据传输能力,由于设备压装一次所需要的时间很短,为了保证采集之后的数据能迅速并实时地在ARM上绘制并判断,所以数据传输必须采用高速的传输协议。第三,I/O口的数量,由于该数据采集系统除了采集数据之外,它还得实现对PLC的控制,所以在除去其它包括存储芯片I/O,采集I/O,数据传输I/O等I/O口之外,必须还得留有多余的I/O口对PLC进去控制,所以I/O口数量要求比较多。

2.1 数据采集系统硬件设计

鉴于以上要求,我们选取C8051f060作为该数据采集系统的控制芯片。C8051f060是完全集成的混合信号片上系统型MCU,里面具有两个16位精度1Msps最高转换速度的AD转换器,转换数据直接存储到RAM中,不需额外软件开销,可同时使用的硬件SMBus,高速SPI及两个UART串行端口,具有 59 个数字 I/O 引脚。其中串口和SPI口都可直接和ARM连接无需其它驱动电路传感器方面,该系统采用压力传感器C9B,位移传感器PY1,然后对其产生的电压信号进行滤波放大送到单片机的AD采集端。

2.2 数据采集系统软件设计

由于该数据采集系统是以8为单片机为控制控制芯片,它得同时处理数据采集转换、SPI数据传输、串口接收、PLC控制等多个任务。而且对于压装系统来说,由于机器压装一次速度很快,并且所采集的数据量也很大,所采集及传输必须具有很高的实时性。如果用传统的单片机编写程序模式,它的程序规模会很大,系统调试复杂,特别在这种需要运行多个并行任务的情况,就显得有些力不从心,更主要的是系统的稳定性和实时性很难得到保障。

基于S3C2440芯片和单片机设计压装数据采集系统的设计

所以本数据采集系统采用能实现多任务同时运行的UCOS-II实时操作系统。UCOS-II是有Micrium公司提供的一款可移植、可裁剪的小型多任务实时操作系统,它具有执行效率高、占用空间小、实时性优良和扩展性良好的特点。虽然体积小但它包含了任务调度、任务管理、时间管理、内存管理和任务间的通信和同步等功能。UCOS-II中最大可支持64个任务,分别对应优先级为0—63,高优先级任务可以抢占低优先级CPU资源。多任务操作系统是把CPU的执行分为多个很多个时间块,任务A执行完后它会把CPU的使用权交给任务B,而且高优先级的任务每执行会主动放弃一段CPU的使用时间,把使用权交给其它的任务,这样多个任务依次轮转运行,由于时间块很短,这些任务就好像是在同步并行运行了。

本数据采集系统如图3所示将其功能模块划分为四个任务:数据采集任务、数据发送任务、PLC通信任务、串口读写任务。

基于S3C2440芯片和单片机设计压装数据采集系统的设计

(1)数据采集任务:数据采集任务就是每次压装开始时,通过C8051f060单片机片内的AD转换器进行双通道的数据采集,采集的速度为5kHz。并同时将采集到的数据通过DMA方式保存到片外RAM中去。压装停止时,停止采集。

(2)数据发送任务:数据发送任务是将放在片外RAM中所采集的压力和位移数据,通过SPI协议传输给ARM处理器,ARM再对这些数据进行曲线图绘制和压装结果的判断等操作。在片外RAM没有采集数据时,该任务会处于休眠等待状态。

(3)PLC通信任务:该系统通过在C8051f060上设置了14个I/O口与PLC通信,7个输入和7个输出。该任务是一方面监测ARM传送过来的指令,然后对7个输出口进行操作,另一方面不断监测7个输入I/O口,观察PLC有没有发送指令给ARM。

(4)串口读写任务:串口读写任务简单来讲就是接收并读取来自ARM经过RS232发送过来的指令,然后发送PLC给ARM的一些信号。

其中最关键的核心任务是数据发送和数据采集这两个任务。因为只有等运行采集任务,在片外RAM中保存了数据之后,数据发送任务才能发送。所以在任务的调度上为了协调好两者的关系,于是在这两个任务之中加入了一个任务之间通信的信号量。开始时信号量为0表示RAM中没有采集的数据,即数据发送任务不能进行,当RAM中保存了一个数据之后,信号量置1,数据发送任务就可以运行了,当数据发送速度大于数据的采集速度时,即RAM中的数据为零时,这时候信号量又置0,使得数据发送任务等待数据采集任务。所以加入信号量之后就能保证任务之间能正常有秩序的运行。

3 、总结

UCOS-II是一款实用性很强的小型嵌入式实时操作系统,随着整个嵌入式行业的发展,它的应用也越来越广泛,优越性也愈加明显。在此压装监测设备上,笔者把它移植到了功能强大的C8051f060单片机上,通过多任务并行执行调度方式,实现了压装监测设备的一个核心单元,即实时数据采集系统。UCOS-II与C8051f060的结合,使得该数据采集系统能实时准确地采集到压力和位移数据,并快速的发送给上层处理单元,使得整个压装监测设备能正常稳定地运行,并取得预期效果。

责任编辑:gt


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    451

    文章

    49750

    浏览量

    418410
  • 单片机
    +关注

    关注

    6024

    文章

    44393

    浏览量

    629535
  • 数据采集
    +关注

    关注

    38

    文章

    5574

    浏览量

    113202
收藏 人收藏

    评论

    相关推荐

    s3c2440为例的arm芯片的启动过程

    本文将以s3c2440为例详细讲述 arm 芯片的启动过程。s3c2440支持两种启动模式:NAND FLASH 启动和非 NAND FLASH 启动(一般是NOR FLASH 启动,并且可以配置
    的头像 发表于 12-02 14:13 3428次阅读
    以<b class='flag-5'>s3c2440</b>为例的arm<b class='flag-5'>芯片</b>的启动过程

    s3c2440 pdf datasheet

    s3c2440 pd
    发表于 07-10 23:45 571次下载

    S3C2440应用电路图

    S3C2440应用电路图
    发表于 09-14 10:34 149次下载
    <b class='flag-5'>S3C2440</b>应用电路图

    基于S3C2440的无线物流终端机的设计与应用

    提出一种基于ARM920T 内核的ARM9 芯片S3C2440 的无线物流终端机方案。系统充分利用S3C2440 的片内资源,通过串行通信方式扩展各个应用模块,包括RFID 读写器、G
    发表于 01-07 14:36 104次下载

    基于S3C2440检测系统的设计与应用

    本文首先介绍了基于S3C2440 芯片的检测系统硬件结构,然后分析了OV9650 和LCD 工作原理并驱动了OV9650 和LCD 进行数据采集
    发表于 01-25 14:47 34次下载

    s3c2440 mmc和camera的linux驱动

    本站提供的s3c2440 mmc和camera的linux驱动资料,详细讲诉了s3c2440 mmc和camera的linux驱动的步骤,希望对你的学习有所帮助。
    发表于 05-25 15:53 54次下载
    <b class='flag-5'>s3c2440</b> mmc和camera的linux驱动

    LTC2207在S3C2440和EP3C25控制下的采集应用

    本设计中数据采集系统的核心器件是凌力尔特公司的A/D转换芯片LTC2207。本文研究了在ARM核S3C2440芯片和FPGA的控制下对直流
    发表于 02-28 11:23 1776次阅读
    LTC2207在<b class='flag-5'>S3C2440</b>和EP<b class='flag-5'>3C</b>25控制下的<b class='flag-5'>采集</b>应用

    基于S3C2440和μC%2fOS的FAT文件系统的设计与实现

    基于S3C2440和μC%2fOS的FAT文件系统的设计与实现
    发表于 01-04 17:03 5次下载

    s3c2440芯片中文手册

    ARM s3c2440中文手册,包括芯片信息,寄存器指令格式,外设信息,接口等等。
    发表于 04-06 11:45 4次下载

    s3c2440全套中文手册

    s3c2440全套中文手册
    发表于 03-19 11:24 61次下载

    S3C2440芯片的详细资料(英文版)

    s3c2440芯片的详细资料+原理图,你值得拥有!
    发表于 05-19 11:11 0次下载

    裸机学习s3c2440

    裸机学习s3c2440
    发表于 10-13 14:23 29次下载
    裸机学习<b class='flag-5'>s3c2440</b>

    s3c2440用户资料手册

    s3c2440用户资料手册
    发表于 10-16 09:10 27次下载
    <b class='flag-5'>s3c2440</b>用户资料手册

    S3C2440如何设置系统时钟

    S3C2440如何设置系统时钟 S3C2440是一款嵌入式处理器,属于SAMSUNG公司的ARM9系列。系统时钟是嵌入式系统中非常重要的一个
    的头像 发表于 09-02 15:12 858次阅读

    基于S3C2440的裂纹实时测量系统的设计

    电子发烧友网站提供《基于S3C2440的裂纹实时测量系统的设计.pdf》资料免费下载
    发表于 10-11 09:42 2次下载
    基于<b class='flag-5'>S3C2440</b>的裂纹实时测量<b class='flag-5'>系统</b>的设计