页面加载中,请稍候
来源:电子科技发布时间:2013-01-2416浏览
询问 AI摘要:长期以来烟草称重定级系统自动化程度不高引起了相当多的关注,因此设计了一款新型的烟草称重读卡定级器来解决这一问题。该烟草称重读卡定级器采用ARM最新一代Cortex-M3内核的STM32F103VC为主控制器,并将嵌入式实时多任务操作系统μC/OS-II引入系统软件设计部分。本设计极大提高了烟草定级系统的自动化程度,同时又增强了系统的实时性与可靠性。目前,本烟草称重读卡定级器已成功运用于某烟草定级系统中。
关键词:STM32F103VC:μC/OS-Ⅱ;任务调度
0 引言
在传统的烟草收购系统中,烟叶分拣、称重、定级都是依靠人工完成的,由于人工操作效率低下以及人力成本的逐年提高,近年来国内的烟草收购站陆续引入了自动化设备。例如烟农信息由IC卡感应器获取,烟叶的称重与打包由原烟打包机完成,定级由专门的定级器完成,烟叶数据的存储与处理由独立的电脑管理。但这些自动化设备往往是离散的,在完成称重、定级等基本功能的同时也给管理带来巨大困难。如何将称重、定级、分拣自动化设备的功能整合在一起,如何真正实现烟草称重定级统的智能化控制,已经成为烟草行业所要面临的重要问题。
本文提出了一种全新的烟草称重定级智能控制的解决方案,此方案采用嵌入式系统的设计思想,硬件部分采用ARM最新一代Cortex-M3内核的STM32F103VC为主控制器,配合外围电路工作,软件部分引入实时多任务操作系统μC/OS-II,实现多任务的并行运行,不仅实现了烟草称重、读卡、定级功能的三合为一,又进一步提高了系统的可靠性。
1 系统结构及功能概述
烟草称重读卡定级系统总体结构如图1所示,系统由RFID读卡模块、烟草称重读卡定级器以及机械传动部分组成。烟草称重读卡定级器具有读卡控制、烟草定级、重量锁定、电子标签读写、记录保存查询等一系列功能。若干台烟草称重读卡定级器可通过RS485总线连接组成网络,与上位机进行数据通讯。
系统启动后,贴有电子标签的烟叶筐通过传送带送到指定位置,传动带停止,烟草称重读卡定级器显示当前烟叶重量,并控制读卡模块中的RFID读卡器发出一特定频率的无线电波,烟叶筐上的电子标签接收电波,将标签内的初始数据(烟农信息、烟叶产地、采摘时间等)发送给读卡器,此时,烟草称重读卡定级器将获取的重量信息、烟叶信息传送至上位机进行存储。定级员根据烟草的各项指标确定烟叶等级,选择烟草称重读卡定级器上相应的等级按钮,将等级信息传至上位机中,完成烟叶的定级等功能。同时通过电子大显示屏与喇叭播报此筐烟叶的等级和总量等信息,向烟农展示烟叶收购信息。
2 硬件设计方案
烟草称重读卡定级器以微控制器STM32F103VC为核心,并在其周围扩展外设构成系统。微控制器STM32F103VC使用高性能的ARM Cortex-M3 32位的RISC内核,内置高速存储器(高达128k字节的闪存和20k字节的SRAM),具有丰富的硬件接口资源,以其为中心构建的烟草称重读卡定级器硬件框图如图2所示。
2.1 A/D转换部分
烟叶筐放置到秤台上后,秤台上的电阻应变式传感器将重量信号转变为电压信号,该电压信号传送给CS5532完成A/D转换。CS5532芯片是美国Cirrus Logic公司推出的一种具有极低噪音的、多通道△-∑型ADC,可达到24位分辨率的输出结果,精度高、动态特性宽。转换后的数据从CS5532的同步串行接口输出至微控制器STM32F103VC,同时可在240×64点阵式液晶显示器上显示当前烟草的重量。
2.2 读卡处理部分
系统采用FNUHFD2180读卡器进行RFID数据采集,该读卡器可对符合ISO18000-6C协议的电子标签进行读写。读卡器通过UART2与烟草称重读卡定级器通讯,烟草称重读卡定级器控制读卡器发射一特定频率的无线电波能量给烟叶框上的电子标签,用以驱动标签电路将内部的数据送出,读卡器依序接收解读数据,送至烟草称重读卡定级器进行相关处理。
2.3 串行通讯部分
STM32F103VC利用串行口与外围设备进行数据通讯,其中与上位计算机通讯使用UART1,串行数据通讯格式采用波特率9600b/s;1位起始位8位数据位,无校验,1位停止位。根据程序里预先定义好的协议,上位计算机与控制器进行数据通讯。控制器与读卡器通讯使用UART2,与LCD显示屏通讯使用UART3。
2.4 存储部分
存储部分采用铁电存储器M31256,该存储芯片具有非易失性、读卡速度快以及读写功耗极低等诸多优点,提供256kb的存储空间。FM31 256采用I2C总线形式与STM32F103VC通信,芯片上的时钟线SCL、数据线SDA与STM32F103VC上的I2C接口相连,严格按照I2C总线协议进行命令写入与数据交换。
3 管理软件设计
烟草称重读卡定级器的软件设计引入嵌入式实时操作系统μC/OS-II,μC/OS-II是一种基于优先级的抢占式多任务实时操作系统,包含了实时内核、任务管理、时间管理、任务间通信同步(信号量、邮箱、消息队列)和内存管理等功能。操作系统内核的主要工作是对任务(ta sk)进行管理和调度。操作系统将整个应用系统程序分解为多个小任务,系统并发运行多个任务,从而提高处理器的利用率,加快程序的执行速度,提高系统的实时响应。
3.1 任务划分与设计
根据烟草称重读卡定级系统所要实现的功能,考虑系统实时性、可靠性的要求,进行任务的划分并创建任务,按其优先级从高到低分别是初始化任务、键盘扫描任务、ADC任务、主串口通讯任务、读卡串口任务、空闲任务。每个任务在4种不同的状态中转换:休眠态、就绪态、挂起态和运行态。在运行状态下,还可能由于发生中断而转向中断服务子程序。任务管理函数的调用将引起各任务状态间的转换,系统软件流程图如图3所示。
系统上电复位后,首先进行嵌入式处理器与外设的初始化,完成系统时钟、GPIO口以及中断相关参数的配置。系统使用外部中断2读取A/D转换结束信号,定时器中断2为μC/OS-II系统提供时钟节拍,串行口中断1用于上位机通讯,串行口中断2用于读卡器通讯。然后是初始化μC/OS-II操作系统,同时液晶显示开始画面。接着创建初始化任务,完成应用任务(包括键盘扫描任务、ADC任务、主串口通讯任务、读卡串口任务)以及空闲任务的创建,信号量与互斥量的创建,邮箱消息的建立,窗口看门狗初始化。最后启动多任务,此时,任务交由操作系统管理与调度。
程序代码大体如下所示:
新闻来源:电子科技,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。
暂无评论哦,快来评论一下吧!

2026-06-10

2026-06-25

2026-06-09