航芯方案分享(|_热敏打印机方案)
随着电子信息化和自动化程度的提高,以及条形码识别技术的发展,热敏打印机的应用范围也在不断扩大,已经从传统的办公和家庭传真文件迅速扩展到商业零售、工业制造、交通运输、物流、金融、彩票、医疗、教育等新的专业应用领域。
本文将介绍基于上海航信ACM32F403的热敏打印机的设计方案。
印刷原理
热敏打印机的原理是在介质基材(通常是纸)上涂上一层热敏材料,热敏材料加热一段时间后会变黑(通常是黑色或蓝色)。这个化学反应是在一定的温度下进行的。高温会加速这种化学反应。当温度低于60时,热敏材料变黑需要很长时间,甚至几年。当温度为200时,反应将在几微秒内完成。
打印机有选择地在某个位置加热热敏纸,从而产生相应的图形。加热由打印头上与热敏材料接触的小型电子加热器提供。排列成正方形点或带的加热器由打印机逻辑控制,当被驱动时,在热敏纸上产生对应于加热元件的图形。控制加热元件的相同逻辑电路也控制纸张馈送,使得图形可以印刷在整个标签或纸张上。
图一。热敏打印机原理
使用芯片
本文介绍的热敏打印机方案是基于上海航信的ACM32F403系列单片机。
ACM32F403芯片采用高性能内核,支持Cortex-M33和Cortex-M4F指令集。该芯片的核心支持一组用于数字信号处理的DSP指令,用于浮点数据处理的单精度FPU,以及用于提高应用安全性的内存保护单元(MPU)。
ACM32F403系列芯片最大工作频率为180MHz,内置数学硬件加速,最大512KB eFlash和最大192KB SRAM。该芯片集成了一个12位多通道2M sps高精度ADC、一个12位双通道DAC、多达3个运算放大器和2个比较器,并集成了一个高级定时器、6个通用16位定时器、1个通用32位定时器、2个基本16位定时器、1个系统看门狗、1个独立看门狗和一个低功耗实时时钟(RTC),内置多通道UART、LPUART和SPI。
程序特征
支持蓝牙、USB、UART等通信接口的打印方式。
支持无任务时自动关机模式,续航时间更长。
支持打印高温、缺纸和低电量报警。
SPI存储字体,支持字体在线更新,可以调整字体、大小、粗细等。
支持MCU和BLE芯片固件在线升级
设计方案
2.基于ACM32F403的热敏打印机设计框图
功能介绍
1.1多界面打印流程
该方案可以通过UART、USB、蓝牙接口接收数据,通过ACM32F403芯片的定时器、GPIO、ADC、SPI等模块实现热敏打印头的打印。
具体流程如下:
1)通过UART、USB、蓝牙接口接收数据,需要用GBK码发送,存储在芯片中;
2)通过SPI接口在SPI FLASH上查询每个字的GBK码到字库中对应的数据,并传输到打印缓冲区;
3)芯片通过定时器控制步进电机的运行速度和打印头的加热时间,通过GPIO控制加热使能和步进电机的正反转,ADC检测打印机温度,最终完成打印工作。
图3。多界面印刷过程
1.2字体更新流程
在这个方案中,固件实现了一个UART接收数据,SPI下载数据的系统,使用类似于7816 T=1的数据格式进行传输,将字体的BIN文件下载到SPI FLASH中,下载更新字体。由于片外SPI闪存的大小,默认情况下仅支持24*24字体打印。如果更改字体,需要重新下载字体文件。
图4。字体下载过程
该方案支持字体的更新,可以调整打印字体的字体、大小、粗细等参数。字体库更新后,需要修改固件代码来打印不同的字体。
图5。字体设置参数
1.3字体调用流程
在这个方案中,SPI FLASH可以存储16*16或者24*24的字体,并且有完整的配套固件代码。
具体的字体调用过程如下:
1)从UART、USB或BLE接口接收待打印字符的GBK码;
2)根据GBK码,计算字库中该字符的内码;
3)通过SPI接口读取字体库中内码的数据,数据长度根据字体大小确定;
4)将读取的数据传输到打印头,完成打印。
图6。字体调用过程
1.4数据打印流程
图7。数据打印软件的流程
图8。打印机机芯和步进电机示意图
数据打印过程:
1)打印机启动过程;
2)通过SPI接口向打印机缓存传输打印数据;
3)判断是否是第一行,如果是,打开电机定时器,向前一步;
4)判断是最后一行还是缺纸,如果是,进入打印机关机过程;
5)开始加热,打开加热定时器,等待加热完成;
6)循环2)~5),直到打印完成。
打印机启动过程:
1)将打印机DST信号设置为低电平;
2)将打印机锁存信号设置为高电平;
3)打开热敏头的逻辑电源;
4)打开热头加热电源;
打印机关机过程:
1)停止加热定时器;
2)关闭热头加热电源;
3)将打印机DST信号设置为低电平;
4)将打印机锁存信号设置为高电平;
5)关闭热敏头的逻辑电源。
1.5电源控制系统介绍
图9。电源控制系统介绍
1)电源:系统采用4.2V或USB 5V的单节锂电池供电;
2)异常:MCU内部程序运行/崩溃时,先按SW1复位MCU,然后按住正常开/关键,再插入USB线复位MCU;
3)开机:系统未开机时,按住开/关键。当MCU上电时,MCU将从eFlash启动。初始化成功后,POWER_ON/OFF信号会置高,双色灯中的绿灯亮(InitPass_ always on,内部锂电池充满电_ always on)。如果初始化失败或检测到异常/Err1_(如电池电量低、外设初始化失败、通信异常等。)
4)关机:系统上电时,按住开/关键,Power_Check引脚会检测到一个下降沿,然后会有一个连续的低电平。释放按键后,拉低电源控制信号;
5)正常关机顺序是:先关灯,再关电机驱动电源和外围电源,再关MCU电源;
6)PB1是开/关键和系统唤醒键,SW1是系统唤醒键和复位键。通常用户按一下就可以唤醒系统,长按就是正常的开关机;
7)没有打印作业时,需要关闭电机电源和外设电源,以节省锂电池电量;因此,在系统进入待机状态之前的某个时间,MCU关闭电机驱动电源/外围电源,然后进入待机状态。
推荐阅读
- Poco X6 5G可能是这款手机的调整版本
- 在优酷上怎么上传文章,怎么用优酷上传文章
- 魅族21即将上市11月15日开始提前预订
- OPPO Reno11和Reno11 Pro预计将于本月晚些时候推出
- 苹果计划在iOS18中集成生成式AI
- 谷歌Drive更新了Android和iOS版主页
- Vault发布2024年实习排名
- 尼桑风雅图片_尼桑风雅
- Nuvve和BlueBird装备德克萨斯州第一支全电动学校舰队
- 世界素食月素食的利与弊
- 如何挑选最适合夏天的香水
- 武磊替补出场 西班牙人2-0格拉纳达 武磊替补10分钟一脚射门,佩德罗萨世界波,西班牙人2-0格拉纳达
- 英雄无敌4天界英雄传地图游戏介绍,英雄无敌4天界英雄传地图
- 阿拉德之怒充钱能退么,阿拉德之怒怎么申请退款
- 微波炉有什么害处吗咱们自己使用,常用微波炉的坏处
- 汽车定损后可以不在4s店维修吗,汽车定损后可以不修车吗
- 支付宝转账到银行卡要扣手续费吗,支付宝转账到银行卡要多久
- 里约奥运会乒乓球几个项目,里约奥运会乒乓球有哪些项目
- q币怎么换成支付宝零钱,怎样把Q币转成零钱