关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 一款新型烟草称重读卡定级器的设计与实现

一款新型烟草称重读卡定级器的设计与实现

作者:时间:2013-01-24来源:网络收藏

2 硬件设计方案
烟草称重读卡定级器以微控制器STM32F103VC为核心,并在其周围扩展外设构成系统。微控制器STM32F103VC使用高性能的ARM Cortex-M3 32位的RISC内核,内置高速存储器(高达128k字节的闪存和20k字节的SRAM),具有丰富的硬件接口资源,以其为中心构建的烟草称重读卡定级器硬件框图如图2所示。

b.JPG


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所示。

c.JPG


系统上电复位后,首先进行嵌入式处理器与外设的初始化,完成系统时钟、GPIO口以及中断相关参数的配置。系统使用外部中断2读取A/D转换结束信号,定时器中断2为μC/OS-II系统提供时钟节拍,串行口中断1用于上位机通讯,串行口中断2用于读卡器通讯。然后是初始化μC/OS-II操作系统,同时液晶显示开始画面。接着创建初始化任务,完成应用任务(包括键盘扫描任务、ADC任务、主串口通讯任务、读卡串口任务)以及空闲任务的创建,信号量与互斥量的创建,邮箱消息的建立,窗口看门狗初始化。最后启动多任务,此时,任务交由操作系统管理与调度。
程序代码大体如下所示:
d.JPG



评论


相关推荐

技术专区

关闭