0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于上海航芯ACM32F403热敏打印机设计方案

科技绿洲 来源:上海航芯 作者:上海航芯 2022-04-08 16:46 次阅读

随着电子信息化、自动化程度提高,条码识别技术的发展,热敏打印机的应用范围也在不断扩大,已从传统的办公和家庭传真文档,快速向商业零售、工业制造业、交通运输业、物流、金融、彩票、医疗、教育等新兴专业应用领域拓展。

本文将为大家介绍基于上海航芯ACM32F403的热敏打印机设计方案。

打印原理

热敏打印机的原理是,在介质基底上(通常是纸)覆上一层热敏材料,将热敏材料加热一段时间后变成深色(一般是黑色,也有蓝色)。这种化学反应是在一定的温度下进行的。高温会加速这种化学反应。当温度低于60℃时,热敏材料需要经过相当长,甚至长达几年的时间才能变成深色;而当温度为200℃时,这种反应会在几微秒内完成。

热敏打印机有选择地在热敏纸的确定位置上加热,由此就产生了相应的图形。加热是由与热敏材料相接触的打印头上的一个小电子加热器提供的。加热器排成方点或条的形式由打印机进行逻辑控制,当被驱动时,就在热敏纸上产生一个与加热元素相应的图形。控制加热元素的同一逻辑电路,同时也控制着进纸,因而能在整个标签或纸张上印出图形。

pYYBAGJP9TeAUbLhAADQPR7bMQI481.png

图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芯片固件在线升级

设计方案

pYYBAGJP9UaAJMShAADf48Pl8Rg387.png

图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来检测打印机温度,最终完成打印工作。

pYYBAGJP9ViAKb9eAABKcYsUdXU424.png

图3. 多接口打印流程

1.2 字库更新流程

本方案内部firmware实现了一个UART接收数据,SPI下载数据的系统,采用类似7816 T=1的数据格式进行传输,将字库的BIN文件下载到SPI FLASH中,以实现字库的下载和更新。因为片外SPI FLASH大小的原因,默认只支持24*24大小的字体打印,如果更换字体,需要重新下载字库文件。

pYYBAGJP9WKAe4bZAAAhCFO8Hos774.png

图4. 字库下载流程

本方案支持字库的更新,可以调节打印字体的字体、大小,粗细等参数。字库更新后需要修改firmware代码,以实现不同字体的打印。

pYYBAGJP9WyAbGu8AAB_j02EvIw317.png

图5. 字体设置参数

1.3 字库调用流程

本方案中的SPI FLASH中能存放字体大小为16*16或24*24的字库,并且有完整的配套firmware代码。

具体字库调用流程如下:

1)从UART、USB或BLE接口接收需要打印文字的GBK码;

2)根据GBK码计算出该文字在字库中的内码;

3)通过SPI接口读取字库中内码的数据,数据长度根据字体大小来定;

4)将读出的数据传输到打印机头,完成打印。

poYBAGJP9XaAKNO9AABmQrGfycI405.png

图6. 字库调用流程

1.4 数据打印流程

pYYBAGJP9YCAEQePAADRtoezwTY877.png

图7. 数据打印软件流程

pYYBAGJP9YuATjinAAGlRHE6_wE939.png

图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 电源控制系统介绍

poYBAGJP9b2AEdywAAEGK0EDLoo156.png

图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关闭电机驱动电源/外设电源后,进入待机。

审核编辑:彭菁
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 锂电池
    +关注

    关注

    256

    文章

    7684

    浏览量

    163394
  • 热敏打印机
    +关注

    关注

    1

    文章

    45

    浏览量

    11990
  • 上海航芯
    +关注

    关注

    1

    文章

    35

    浏览量

    3760
收藏 人收藏

    评论

    相关推荐

    基于上海航ACM32F403热敏打印机设计方案

    ACM32F403芯片采用高性能内核,支持Cortex-M33和Cortex-M4F指令集。芯片内核支持一整套DSP指令用于数字信号处理,支持单精度FPU处理浮点数据,同时还支持Memory Protection Unit(MPU)用于提升应用的安全性。
    发表于 04-08 20:30 1399次阅读
    基于<b class='flag-5'>上海航</b>芯<b class='flag-5'>ACM32F403</b>的<b class='flag-5'>热敏</b><b class='flag-5'>打印机设计方案</b>

    求条码打印机开发方案|条码打印机设计方案

    寻找条码打印机设计方案这方面开发经验的工程师合作!有成熟方案最好。同时也欢迎有POS设备、条码设备方面开发经验的工程师发邮件给我商谈看有无合作机会。对此我们将严守保密,如有意向者请发邮件给我,我将及时回复:gzpcb@vip.qq.com谢谢
    发表于 06-03 11:13

    热敏小票打印机的原理介绍

    本帖最后由 微笑的鱼020 于 2016-5-25 16:57 编辑 热敏小票打印机为何物 热敏小票打印机其实是小票打印机的其中一
    发表于 05-25 16:47

    热敏打印机的设计

    想自己设计一个简单的热敏打印机,现有LPC1114板一块,热敏打印机芯一个,控制程序该如何编写?哪位大神能指点一下啊???
    发表于 04-18 16:17

    分享一个不错的CH32F103热敏打印机方案

    CH32F103热敏打印机方案分享概述相比针式、笔式打印机,微型热敏
    发表于 02-28 06:25

    上海航ACM32F403开发板首发试用】-开箱报告

    非常开心有机会参加电子发烧友论坛组织的上海航ACM32F403开发板试用活动。非常幸运的获得了上海航
    发表于 11-14 13:47

    上海航ACM32F403开发板首发试用】--高级定时器

    本次试用的上海航ACM32F403开发板,板载一款ACM32F403RET7 MCU。该系列MCU具有非常丰富片上外设,并且具有较高的系统频率180MHz,ARMv8-M 架构同时支
    发表于 11-14 13:54

    如何将U盘程序从STM32F103移植到ACM32F403上呢

    中,调用Read_Memory();来实现的。Read_Memory();函数内每次传输64字节数据。ACM32F403代码移植要点本文基于上海航官方USB例程进行移植,移植后的程序结构如下图所示
    发表于 11-22 16:13

    上海航ACM32F403开发板首发试用】上海航ACM32F403开发板试用--高级定时器

    本次试用的上海航ACM32F403开发板,板载一款ACM32F403RET7 MCU。该系列MCU具有非常丰富片上外设,并且具有较高的系统频率180MHz,ARMv8-M 架构同时支
    发表于 12-02 17:41

    上海航ACM32F403开发板首发试用】UART2使用

    本次试用的上海航ACM32F403[开发板]板载一款ACM32F403RET7 MCU。该系列MCU具有非常丰富片上外设,并且具有较高的系统频率180MHz,[ARM]v8-M 架构
    发表于 12-12 17:16

    什么是热敏打印机

    什么是热敏打印机 热敏打印机图片 热敏打印机的原理是,在淡色材料上(通
    发表于 10-13 09:19 5125次阅读

    视频打印机热敏头/灰度

    视频打印机热敏头/灰度        视频打印机热敏
    发表于 12-31 10:23 1211次阅读

    航芯方案分享 | 热敏打印机方案

    应用领域拓展。 本文将为大家介绍基于上海航ACM32F403热敏打印机设计方案打印原理 热敏
    的头像 发表于 04-08 17:29 3050次阅读
    航芯<b class='flag-5'>方案</b>分享 | <b class='flag-5'>热敏</b><b class='flag-5'>打印机</b><b class='flag-5'>方案</b>

    基于上海航芯主控芯片ACM32F403应用方案介绍

    本文将介绍T-BOX的主要功能,以及基于上海航芯主控芯片ACM32F403、安全芯片S6A/S6B的T-BOX应用方案
    的头像 发表于 05-12 10:09 2161次阅读
    基于<b class='flag-5'>上海航</b>芯主控芯片<b class='flag-5'>ACM32F403</b>应用<b class='flag-5'>方案</b>介绍

    热敏打印机的设计实现

    热敏打印机是一种通过对热敏纸加热之后显示文字或图案的打印机
    的头像 发表于 07-21 14:32 2253次阅读
    <b class='flag-5'>热敏</b><b class='flag-5'>打印机</b>的设计实现