软硬件全开源,航芯方案分享 | 热敏打印机方案
随着电子信息化、自动化程度提高,条码识别技术的发展,热敏打印机的应用范围也在不断扩大,已从传统的办公和家庭传真文档,快速向商业零售、工业制造业、交通运输业、物流、金融、彩票、医疗、教育等新兴专业应用领域拓展。
本文将为大家介绍基于上海航芯ACM32F403的热敏打印机设计方案。
打印原理
热敏打印机的原理是,在介质基底上(通常是纸)覆上一层热敏材料,将热敏材料加热一段时间后变成深色(一般是黑色,也有蓝色)。这种化学反应是在一定的温度下进行的。高温会加速这种化学反应。当温度低于60℃时,热敏材料需要经过相当长,甚至长达几年的时间才能变成深色;而当温度为200℃时,这种反应会在几微秒内完成。
热敏打印机有选择地在热敏纸的确定位置上加热,由此就产生了相应的图形。加热是由与热敏材料相接触的打印头上的一个小电子加热器提供的。加热器排成方点或条的形式由打印机进行逻辑控制,当被驱动时,就在热敏纸上产生一个与加热元素相应的图形。控制加热元素的同一逻辑电路,同时也控制着进纸,因而能在整个标签或纸张上印出图形。
图1. 热敏打印机的原理
使用芯片
本文描述的热敏打印机方案,是基于上海航芯ACM32F403系列的MCU进行设计。
ACM32F403芯片采用高性能内核,支持Cortex-M33和Cortex-M4F指令集。芯片内核支持一整套DSP指令用于数字信号处理,支持单精度FPU处理浮点数据,同时还支持Memory Protection Unit(MPU)用于提升应用的安全性。
ACM32F403系列芯片最高工作频率可达180MHz,内嵌数学硬件加速,内置最大512KB的eFlash和最大192KB SRAM。芯片集成了一个12位多通道2M sps高精度ADC、一个12位2通道的DAC、多达3路运放、2路比较器,集成了1个高级定时器,6个通用16位定时器,1个通用32位定时器,2个基本16位定时器,1个系统看门狗,1个独立看门狗,一个低功耗的实时钟(RTC),内置多路UART、LPUART、SPI、I2C、I2S、CAN、全速USB等丰富的通讯外设,内建AES、CRC、TRNG等算法模块。
方案特点
ㆍ支持蓝牙、USB、UART等多种通讯接口的打印方式
ㆍ支持无任务时自动进入断电模式,续航时间更长
ㆍ支持打印高温、缺纸和低电量报警
ㆍSPI FLASH存放字库,支持在线更新字库,可调整字体、大小、粗细等
ㆍ支持MCU和BLE芯片固件在线升级
设计方案
图2. 基于ACM32F403热敏打印机设计方案框图
功能介绍
1.1多接口打印流程
本方案可以通过UART、USB和蓝牙接口接收数据,并通过ACM32F403芯片的Timer,GPIO,ADC、SPI等模块进行热敏打印机头的打印工作。
具体流程如下:
1)通过UART、USB和蓝牙接口接收数据,数据需要通过GBK码的方式发送,并存储到芯片内部;
2)将每个字的GBK码,通过SPI接口查询到SPI FLASH上字库中对应的数据,并传输到打印buffer中;
3)芯片通过Timer来控制步进电机运行的速度和打印机头加热的时间,通过GPIO来控制加热使能和控制步进电机的前进和后退,ADC来检测打印机温度,最终完成打印工作。
图3. 多接口打印流程
1.2 字库更新流程
本方案内部firmware实现了一个UART接收数据,SPI下载数据的系统,采用类似7816 T=1的数据格式进行传输,将字库的BIN文件下载到SPI FLASH中,以实现字库的下载和更新。因为片外SPI FLASH大小的原因,默认只支持24*24大小的字体打印,如果更换字体,需要重新下载字库文件。
图4. 字库下载流程
本方案支持字库的更新,可以调节打印字体的字体、大小,粗细等参数。字库更新后需要修改firmware代码,以实现不同字体的打印。
图5. 字体设置参数
1.3 字库调用流程
本方案中的SPI FLASH中能存放字体大小为1616或2424的字库,并且有完整的配套firmware代码。
具体字库调用流程如下:
1)从UART、USB或BLE接口接收需要打印文字的GBK码;
2)根据GBK码计算出该文字在字库中的内码;
3)通过SPI接口读取字库中内码的数据,数据长度根据字体大小来定;
4)将读出的数据传输到打印机头,完成打印。
图6. 字库调用流程
1.4 数据打印流程
图7. 数据打印软件流程
图8. 打印机芯和步进电机原理图
数据打印流程:
1)打印机开机流程;
2)将打印数据通过SPI接口传输到打印机缓存;
3)判断是否是第一行,如果是打开电机Timer,并前进一步;
4)判断是否是最后一行或者是否缺纸,如果是进入打印机关机流程;
5)开始加热,打开加热Timer,并等待加热完成;
6)循环2)~5),直到打印完毕。
打印机开机流程:
1)将打印机DST(选通脉冲)信号设为低电平;
2)将打印机LATCH(数据锁存)信号设为高电平;
3)打开热敏头逻辑电源;
4)打开热敏头加热电源;
打印机关机流程:
1)停止加热Timer;
2)关闭热敏头加热电源;
3)将打印机DST(选通脉冲)信号设为低电平;
4)将打印机LATCH(数据锁存)信号设为高电平;
5)关闭热敏头逻辑电源。
1.5 电源控制系统介绍
图9. 电源控制系统介绍
1)供电:系统采用单节锂电池4.2V或者USB 5V供电;
2)异常:当MCU内部程序跑飞/死机时,首先可以按下SW1复位MCU,再不行可以按住正常开/关机键,再插入USB线使MCU复位;
3)开机:系统未通电时,按住开/关机键,此时MCU上电,MCU开始从eFlash启动,初始化成功后将POWER_ON/OFF信号置高,双色灯中的绿灯点亮(InitPass_常亮、内部锂电池充电满_常亮),若初始化失败或检测到异常/错误(比如电池电量低,外设初始化失败、通信不正常等),将双色灯中的红灯点亮(Err1_常亮、Err2_1s闪、Err3_快闪);
4)关机:系统通电时,按住开/关机键,Power_Check引脚会检测到一个下降沿,并且接着会有持续的低电平,松开按键后,再将电源控制信号拉低;
5)正常关机的顺序是:先灭灯,然后断电机驱动电源和外设电源,再断MCU电源;
6)PB1为开/关机按键与系统唤醒键,SW1为系统唤醒按键与复位键,通常情况,用户按一下是要唤醒系统,长按是正常开关机;
7)没有打印任务时,需要关闭电机电源和外设电源,来节省锂电池电量;所以系统经过定时进入待机前,MCU关闭电机驱动电源/外设电源后,进入待机。
资源分享
Gitee资源:
https://gitee.com/acm32-mcu/t...
ACM32F303对比STM32F103差异说明:
https://aijishu.com/a/1060000...
STM32F103标准外设库SPL移植说明(ACM32F403):
https://aijishu.com/a/1060000...
航芯MCU软件HAL库使用说明及STM32 API差异说明:
https://aijishu.com/a/1060000...
如需销售咨询,请邮件至:sales@aisinochip.com
软硬件全开源,航芯方案分享 | 热敏打印机方案相关推荐
- 原装世嘉土星手柄(Sega Saturn)转USB小板,软硬件全开源
上次用模块制作了一个SS手柄转USB的控制器, 原装世嘉土星SS手柄(Sega Saturn)改USB接口,实现低延时USB格斗手柄_f78fk_liuyu的博客-CSDN博客_土星手柄接口 使用良好 ...
- 软硬件全开源,航芯方案分享 | 旋钮温控器方案
温控器用于控制室内暖通设备,通过暖通设备为室内环境提供冷源和热源,从而调节室内温度环境,为人们提供舒适的生活环境. 旋钮式温控器更为结构简洁.操作简便,降低了用户的使用难度,提供智能化的控制方法,实现 ...
- 航芯案例分享 | 驾驶员监控系统全解析 为驾驶安全护航
考虑到道路上的汽车数量不断增加,对 ADAS(高级驾驶辅助系统)需求的不断增长可能不足为奇! 大多数驾驶员因在驾驶时分心而遭遇事故,尤其是在夜间,所以许多汽车制造商都在提供驾驶员监控系统,增进道路安全 ...
- 航芯技术分享 | 一文读懂什么是量子密码
被喻为"重要数据保险箱"的安全芯片已经渗入人们生活的方方面面.随着5G.物联网.车联网的迅速发展,为安全芯片开启了新的应用场景,同时也带来了新的挑战. 本文将带大家深入了解安全芯片 ...
- 航芯技术分享 | BMS专题之电池均衡如何提高电池寿命
随着新能源及电动汽车的迅速发展,能量密度比更高的锂电池得到了更多运用,而锂电池串联使用过程中,为了保证电池电压的一致性,必然会用到BMS来提升电池的使用性能和使用寿命. 上海航芯通用MCU ACM32 ...
- 恩智浦i.MX6Q开发板软硬件全开源提供核心板原理图
iTOP-IMX6开发平台是基于NXP的IMX6系列芯片开发的产品,该产品广泛应用于车载系统.数字标牌.金融设备.人机界面.机上娱乐系统.工业控制.医疗设备.仪器仪表.智慧城市.商业电子等多种领域等设 ...
- 软硬件全开源5种操作系统迅为IMX6开发板稳定运行看得见
全工业级底板经过严苛高低温检测-40°C到85°C稳定运行 系统支持Android4.4.2/6.0系统 Linux + Qt4.7/5.7系统 Ubuntu12.04/16.04系统 开发板硬件原理 ...
- 全开源中小规模邮件服务器架设方案
一.安装apache+php+mysql+phpMyAdmin 官方网站:http://www.apache.org http://www.php.net http://www.mysql.com 安 ...
- 极术公开课|基于安谋科技STAR-MC1处理器的上海航芯ACM32芯片及方案介绍
内容介绍 上海爱信诺航芯电子科技有限公司(简称:上海航芯)成立于2008年1月,是具有市场竞争力和行业优势的本土集成电路设计企业佼佼者,专注于安全和MCU芯片的研制,已有累计3亿颗芯片出货.公司量产的 ...
- ESP32开发板开源啦 ESP32-IOT-KIT全开源物联网开发板
鸽了已久的 ESP32开发板计划 终于赶在年前与大家见面了,本来上个月就能一睹芳容的,无奈年末好多事儿堆在一起,又碰巧手机出了问题,以前的照片全部丢失.为不影响开源效果,这期间一直在完善资料,Gith ...
最新文章
- linux 文件批量转utf8
- php的功能和特点,php有什么特点
- kmd缅甸计算机学校,缅甸福星孔子课堂博睿国际学校分课堂举行2017年春节联欢会...
- 深入Nginx之《常用参数配置技巧》
- 用回溯法找出n个自然数中取r个数的全排列
- Leetcode 31. Pow(x, n) 解题报告
- mac10.12 安装“任何来源”软件解决
- MAC OSX 正確地同時安裝 PYTHON 2.7 和 PYTHON3
- 万能的应用商店_WiFi万能助手
- 计算机软硬件的组成及主要技术指标,计算机软硬件系统的组成及主要技术指标...
- Vue人资中台--打包上线
- 数据库理论第八章部分作业——基于《数据库系统概念》第七版
- 基于HTML旅游网站项目的设计与实现——千岛湖旅游景点网站模板(6个页面)HTML+CSS+JavaScript
- iOS: UIScrollView的属性zooming
- 二本本科,银行外包开发工作 4 个月有余。聊聊外包公司工作的一些真实感受!...
- HTML期末学生大作业-在线电影网站html+css+javascript
- Java 遍历map(Java8)
- IIS事件查看器_WebServer事件查看器_帮助查看IIS-Web服务器事件执行日志
- 程序员和产品经理的那些“恩怨情仇”
- 德意志民族与大和民族的比较研究(转载)