锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

基于Cortex M3的嵌入式POS系统设计

时间:2024-03-29 12:37:09

针对目前嵌入式收款机系统在功能和性价比方面存在不足的问题,介绍了一种基于Cortex M3芯片的嵌入式收款机系统。该系统功能全面、性能良好、界面完善、具有故障分析和机器自检功能。运行结果表明,该系统实现了预期目标。

 

本文介绍了以STM32F107 单片机为核心的POS 机、数据采集和数据输出的小规模销售系统。目前的嵌入式收款机系统在硬件和软件方面在成本上没有有效的控制,在功能上没有很充分地开发。而此款POS 系统平台则拥有成本低廉、操作方便、易于自检维修等方面的优势。

 

POS 机的基本作业原理是先将商品资料输入进SPIFlash 中存储,商品上的条码可以通过扫描枪上的光学读取设备直接读入,根据条形码在收款机内存中的商品数据库找到该商品的相关内容,当然也可以直接用输入条形码。每一笔商品销售明细资料亦可自动统计,并且最多可以存一万笔以上交易记录。

 

1 系统设计

 

1.1 硬件结构

 

本系统采用 Cortex M3 为内核的32 位微处理器STM32F107VC,其主频为72 Hz,该芯片内部采用哈佛结构,内部集成了最大存储空间为256K 的Flash和64K 的SRAM,还有大量的I/O 口和外设(2 个I2 C 总线,3 个SPI,2 个I2 S,5 个U,2 个CAN 等等)连接在2 个APB 总线上。

 

该系统硬件主要包括:收款数据处理模块、收款程序存储模块、收款数据存储模块、串口调试模块、收款显示模块、报表、USB 模块。系统硬件结构框图如图1所示。

 

 

图1 系统硬件结构框图
图1 系统硬件结构框图

 

 

系统的实物图如图2 所示。

 

 

 

图2 系统的实物图
图2 系统的实物图

 

 

在初始化时,为了便于用户或者维修人员及时了解设备运转情况和数据存储情况,调试信息务必显示在液晶屏上。通过CH452 键盘将中英文输入信息输入到设备上,通过扫描枪将商品中的条形码读取到设备中,最后还可将交易记录输出到小票打印机上,最多可以一次性记录一万次交易信息。交易信息、用户等资料存放在SPI Flash中,时钟信息放在RTC 备用器中。

 

1.2 外设设备

 

1.2.1 输入/输出芯片和显示芯片

 

CH452 是数码管和键盘扫描控制芯片,可以同时进行64 键的键盘扫描和8 位数码管的操作,具有BCD 译码、闪烁、移位、段位寻址等功能,还能对 提供上电复位信号。

 

本次研究对象中CH452的 交换数据功能是通过级联的4 线串行接口完成的。在键盘扫描期间,DIG7~DIG0 引脚用于列扫描输出,并且可以依次从DIG0 ~DIG7 输出高电平,同时其余的引脚置0。SEG7 ~SEG0引脚都带有内部下拉,用于行扫描输入,在键盘扫描期间输出被禁止。

 

启用键盘扫描功能后,4 线串行接口中的DOUT 引脚的功能由串行接口的数据输出变为键盘中断输出以及按键数据输出。如果有DIGm(m=0,1,2…7)与SEGn(n=0,1,2 …7)的键被按下,那么当DIGm 输出高电平时,SEGn 可以检测到高电平;如果按键有效,按键产生的代码通过DOUT 引脚就能够产生中断,CPU 则用串行接口来读取代码。

 

另外,CH452 仅支持每次同时按下一个键,如果有多个键值按下,则取按键代码较小的按键。

 

表1、表2 是在DIG7~DIG0 与SEG7~SEG0 之间8×8 矩阵的按键编址,按键按下时,状态码位6 总是置1,而按键代码共有7 位,所以当键按下时,CH452 所提供的实际按键代码在下表中的按键编址基础上偏移40H。也就是说,本文设定的按键代码的取值范围应该在40H~7FH 之间。

 

CH452 还可以控制8 个数码管和64 个LED 灯,在这次项目中根据不同的界面可以用来显示时间、商品价格等可以用数字表示的参数。

 

 

表1 DIG7 ~DIG4 与SEG7 ~SEG0 之间的编址;表2 DIG3 ~DIG0 与SEG7 ~SEG0 之间的编址

 

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章