中文字幕无码人妻在线二区,在线高清字幕二区三区,亚洲成人 小说区 图片区 都市一区,欧美日韩精品一区二区三区不卡
當前位置 : 首頁 > > T-BOX方案 > 熱敏打印機方案

航芯方案分享 | 熱敏打印機方案


隨著電子信息化、自動化程度提高,條碼識別技術的發(fā)展,熱敏打印機的應用范圍也在不斷擴大,已從傳統(tǒng)的辦公和家庭傳真文檔,快速向商業(yè)零售、工業(yè)制造業(yè)、交通運輸業(yè)、物流、金融、彩票、醫(yī)療、教育等新興專業(yè)應用領域拓展。


本文將為大家介紹基于上海航芯ACM32F403的熱敏打印機設計方案。


打印原理


熱敏打印機的原理是,在介質基底上(通常是紙)覆上一層熱敏材料,將熱敏材料加熱一段時間后變成深色(一般是黑色,也有藍色)。這種化學反應是在一定的溫度下進行的。高溫會加速這種化學反應。當溫度低于60℃時,熱敏材料需要經(jīng)過相當長,甚至長達幾年的時間才能變成深色;而當溫度為200℃時,這種反應會在幾微秒內完成。


熱敏打印機有選擇地在熱敏紙的確定位置上加熱,由此就產(chǎn)生了相應的圖形。加熱是由與熱敏材料相接觸的打印頭上的一個小電子加熱器提供的。加熱器排成方點或條的形式由打印機進行邏輯控制,當被驅動時,就在熱敏紙上產(chǎn)生一個與加熱元素相應的圖形??刂萍訜嵩氐耐贿壿嬰娐?,同時也控制著進紙,因而能在整個標簽或紙張上印出圖形。



圖1. 熱敏打印機的原理


使用芯片


本文描述的熱敏打印機方案,是基于上海航芯ACM32F403系列的MCU進行設計。


ACM32F403芯片采用高性能內核,支持Cortex-M33和Cortex-M4F指令集。芯片內核支持一整套DSP指令用于數(shù)字信號處理,支持單精度FPU處理浮點數(shù)據(jù),同時還支持Memory Protection Unit(MPU)用于提升應用的安全性。


ACM32F403系列芯片最高工作頻率可達180MHz,內嵌數(shù)學硬件加速,內置最大512KB的eFlash和最大192KB SRAM。芯片集成了一個12位多通道2M sps高精度ADC、一個12位2通道的DAC、多達3路運放、2路比較器,集成了1個高級定時器,6個通用16位定時器,1個通用32位定時器,2個基本16位定時器,1個系統(tǒng)看門狗,1個獨立看門狗,一個低功耗的實時鐘(RTC),內置多路UART、LPUART、SPI、I2C、I2S、CAN、全速USB等豐富的通訊外設,內建AES、CRC、TRNG等算法模塊。


方案特點


?支持藍牙、USB、UART等多種通訊接口的打印方式


?支持無任務時自動進入斷電模式,續(xù)航時間更長


?支持打印高溫、缺紙和低電量報警


?SPI FLASH存放字庫,支持在線更新字庫,可調整字體、大小、粗細等


?支持MCU和BLE芯片固件在線升級


設計方案



圖2. 基于ACM32F403熱敏打印機設計方案框圖


功能介紹


1.1多接口打印流程


本方案可以通過UART、USB和藍牙接口接收數(shù)據(jù),并通過ACM32F403芯片的Timer,GPIO,ADC、SPI等模塊進行熱敏打印機頭的打印工作。


具體流程如下:


1)通過UART、USB和藍牙接口接收數(shù)據(jù),數(shù)據(jù)需要通過GBK碼的方式發(fā)送,并存儲到芯片內部;


2)將每個字的GBK碼,通過SPI接口查詢到SPI FLASH上字庫中對應的數(shù)據(jù),并傳輸?shù)酱蛴uffer中;


3)芯片通過Timer來控制步進電機運行的速度和打印機頭加熱的時間,通過GPIO來控制加熱使能和控制步進電機的前進和后退,ADC來檢測打印機溫度,最終完成打印工作。



圖3. 多接口打印流程


1.2 字庫更新流程


本方案內部firmware實現(xiàn)了一個UART接收數(shù)據(jù),SPI下載數(shù)據(jù)的系統(tǒng),采用類似7816 T=1的數(shù)據(jù)格式進行傳輸,將字庫的BIN文件下載到SPI FLASH中,以實現(xiàn)字庫的下載和更新。因為片外SPI FLASH大小的原因,默認只支持24*24大小的字體打印,如果更換字體,需要重新下載字庫文件。



圖4. 字庫下載流程


本方案支持字庫的更新,可以調節(jié)打印字體的字體、大小,粗細等參數(shù)。字庫更新后需要修改firmware代碼,以實現(xiàn)不同字體的打印。



圖5. 字體設置參數(shù)


1.3 字庫調用流程


本方案中的SPI FLASH中能存放字體大小為16*16或24*24的字庫,并且有完整的配套firmware代碼。


具體字庫調用流程如下:


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


2)根據(jù)GBK碼計算出該文字在字庫中的內碼;


3)通過SPI接口讀取字庫中內碼的數(shù)據(jù),數(shù)據(jù)長度根據(jù)字體大小來定;


4)將讀出的數(shù)據(jù)傳輸?shù)酱蛴C頭,完成打印。



圖6. 字庫調用流程


1.4 數(shù)據(jù)打印流程



圖7. 數(shù)據(jù)打印軟件流程



圖8. 打印機芯和步進電機原理圖


數(shù)據(jù)打印流程:


1)打印機開機流程;


2)將打印數(shù)據(jù)通過SPI接口傳輸?shù)酱蛴C緩存;


3)判斷是否是第一行,如果是打開電機Timer,并前進一步;


4)判斷是否是最后一行或者是否缺紙,如果是進入打印機關機流程;


5)開始加熱,打開加熱Timer,并等待加熱完成;


6)循環(huán)2)~5),直到打印完畢。


打印機開機流程:


1)將打印機DST(選通脈沖)信號設為低電平;


2)將打印機LATCH(數(shù)據(jù)鎖存)信號設為高電平;


3)打開熱敏頭邏輯電源;


4)打開熱敏頭加熱電源;


打印機關機流程:


1)停止加熱Timer;


2)關閉熱敏頭加熱電源;


3)將打印機DST(選通脈沖)信號設為低電平;


4)將打印機LATCH(數(shù)據(jù)鎖存)信號設為高電平;


5)關閉熱敏頭邏輯電源。


1.5 電源控制系統(tǒng)介紹



圖9. 電源控制系統(tǒng)介紹


1)供電:系統(tǒng)采用單節(jié)鋰電池4.2V或者USB 5V供電;


2)異常:當MCU內部程序跑飛/死機時,首先可以按下SW1復位MCU,再不行可以按住正常開/關機鍵,再插入USB線使MCU復位;


3)開機:系統(tǒng)未通電時,按住開/關機鍵,此時MCU上電,MCU開始從eFlash啟動,初始化成功后將POWER_ON/OFF信號置高,雙色燈中的綠燈點亮(InitPass_常亮、內部鋰電池充電滿_常亮),若初始化失敗或檢測到異常/錯誤(比如電池電量低,外設初始化失敗、通信不正常等),將雙色燈中的紅燈點亮(Err1_常亮、Err2_1s閃、Err3_快閃);


4)關機:系統(tǒng)通電時,按住開/關機鍵,Power_Check引腳會檢測到一個下降沿,并且接著會有持續(xù)的低電平,松開按鍵后,再將電源控制信號拉低;


5)正常關機的順序是:先滅燈,然后斷電機驅動電源和外設電源,再斷MCU電源;


6)PB1為開/關機按鍵與系統(tǒng)喚醒鍵,SW1為系統(tǒng)喚醒按鍵與復位鍵,通常情況,用戶按一下是要喚醒系統(tǒng),長按是正常開關機;


7)沒有打印任務時,需要關閉電機電源和外設電源,來節(jié)省鋰電池電量;所以系統(tǒng)經(jīng)過定時進入待機前,MCU關閉電機驅動電源/外設電源后,進入待機。


資源分享


Gitee資源:


https://gitee.com/acm32-mcu/thermal_printer


ACM32F303對比STM32F103差異說明:


https://aijishu.com/a/1060000000295866


STM32F103標準外設庫SPL移植說明(ACM32F403):


https://aijishu.com/a/1060000000306636


航芯MCU軟件HAL庫使用說明及STM32 API差異說明:


https://aijishu.com/a/1060000000296281


如需銷售咨詢,請郵件至:sales@aisinochip.com