与非网 爱板网 星际娱乐场城 摩尔吧 买芯片 硬来 元件库

是德科技创新测量工具,开启毫米波测量新视野

支持USB Type-C™标准,实现100W大功率供电控制

ROHM新款USBPD评估板带来基础设施的新变革

58mm USB 热敏打印机(写字库源代码+字库软件+USB 电脑打印机模式等)

58mm USB 热敏打印机(写字库源代码+字库软件+USB 电脑打印机模式等)

可能感兴趣的项目设计:应用于 POS 机、收银机等80mm 高速微型打印机(原理图、上位机、程序源码)

附件内容截图:

字库改组:
为了便于处理,我们对字模进行如下改组:
把 16 X 16 汉字,分成左边从上到下16个字节,和右边16个字节,目的是可以把一个汉字当成两个 16X8 字母或数字处理。
改组后,字模数据从 RAM 读出送往打印机时,无论是汉字还是字母或数字,第n行点的 "字节数据" 就是: n, n+16, n+16*2, n+16*3......一行取48个字节, 8*48=384 个点。

把 24 X 24 汉字,分成左边从上到下 24行 X 12列, 和右边 24 X 12 数据,一行 12bit 数据存放在半字 16bit 中的低12bit, 左右半边都有 24个"半字",或 48 个字节,一个24X24汉字变成96个字节了。如此处理字模时,把一个汉字当成两个 24 X 12 字母或数字来处理。 不管汉字字母或数字,第n行点的 ”半字数据“ 就是 n,n+24,n+24*2,n+24*3......取32个"半字",刚好够 12bit*32=384 个点,即一行可打 32个字母,或16个汉字。

字模写入 SPI FLASH 时,完成以上变换。打印时,NUC123 从 SPI FLASH 读出的字模,认为是上述变换后的格式。

高速 SPI 接口传输数据
打印时,字模数据要从 W25Q16 中通过 SPI 接口读取,再通过 SPI 接口移入打印头。
一行 16个 24 X 24 汉字有 16*96 = 1536 个字节。字符行与行之间一般有一到三个空行,走纸最快时 90mm/秒,694us 走一行,在这个时间内要读取所有 1536个字节,放入 RAM 打印缓冲区。代码中,把 SPI 配置成 28.8Mbps 从FLASH 中读取字模,为便于用示波器查看波形,每次收发 16bit 中间,插入一个空闲 CLK,收发完 1536 Byte 要经过 1536/2 = 768 次 17bit 时钟,时间为 768*17/28.8 = 453us。关键是 SPI 收发 16bit 中间不能再有额外间隙,否则 28.8Mbps 失去意义,所以代码中,使能 SPI 的 FiFo,同时配置 PDMA 来完成 SPI 收发。
点数据移入打印头,SPI 速率配置为 4.8Mbps,384个点。数据传输时间约为 384/4.8 = 80us,走纸最快 90毫米/秒 时 694us走一行,数据早传完了。走纸速度再快一倍也来得及。

USB 打印机模式
USB 打印模式,上位机传输过来的,是图形点阵数据与命令混在一起,无需从 SPI FLASH 中读字模,只要把点数据从USB数据流里分离出来,移入打印头即可。代码中定义了一个 4096 字节的环形缓冲区。
USB 数据中断: 分析数据流,见函数 PTR_Data_Receive(), 遇图形点阵数据流,写入环形缓冲区。遇命令立即执行,或为执行做好准备。若有打印命令或走纸命令,就把 “走纸行数” 通过全局变量 StepIncrease 传给主循环代码。
主循环里,1>若传过来的走纸行数 StepIncrease 不为0,就启动走纸。2>若已在走纸,就检查环形缓冲区是否有待打印数据——比较写入指针与读出指针的值可得知,若有待打印数据,就会在纸每走过一行时,把数据送入打印头并加热打印。
走纸,加热和数据传输,三者同时处理的时序
需要走纸时,只要设定速度值全局变量 pStepM_TimLimit,然后调用走纸启动函数 PaperRollStart() 就开始走纸了,何时走下一行,何时停止,都在 Timer1 中断代码里处理。中断外面无需再处理走纸的事。
需要说明的是:有一个走纸剩余行数全局变量 RemainderStep, 在此变量非0时,可以随时加大这个值,加长走纸行数。

再来看何时把数据串入打印头,何时加热,下图用鼠标点击可放大。
打印开始时,先启动走纸,前面空一两行没事,一行只有 0.0625mm。
把第一行点数据,串入打印头后,就等待走纸到第三行——由剩余步数全局变量 RemainderStep 的值可得知。只要一走到第三行,立即输出点数据到加热头,并启动加热定时。然后就去处理下一行点数据。
每次在走到新的一行时(实际是两行), 都立即启动已准备好的、这一行数据的加热,接着代码去准备下一行点数据。 何时加热停止呢? 不用担心,由 Timer2 中断代码处理了。

打印开始时,必须知道要走几行, 两行一个点,一行 16 X 16 字符,要走 32行,一般还要加上开头和结尾的空行。
连续打印时,只要剩余行数 RemainderStep 不为0——走纸未停,可以随时增加这个值,加长走纸行数,继续打印后续数据。

由以上分析可知,走纸是独立的,想走多快,设定一个速度就可以了,走纸的同时,处理打印数据。所以,走纸有多快,打印就可以有多快!

星际娱乐场相关文件

星际娱乐场图文件
ZKT-Sorce.zip
描述:写字库工具软件的 C++ 源代码
源代码
NUC123_USB_Printer_V1.10.zip
描述:USB 电脑打印机模式
教程
NUC123_VCOM_Printer_V1.03.zip
描述:虚拟串口模式,按键打测试页
其他文件
NUC123SeriesBSP_SPI_Flash.zip
描述:写字库的 NUC123 的源代码
收藏 (9)
扫码关注星际娱乐场城

星际娱乐场城星际娱乐场折扣劵获取途径:

星际娱乐场城7~10折折扣劵(全场通用):对本星际娱乐场进行评分获取;

星际娱乐场城6折折扣劵(限购≤100元星际娱乐场):申请成为卖家,上传星际娱乐场,审核成功后获取。

(版权归http://www.nuvoton-m0.com/所有)

版权声明:星际娱乐场城所有星际娱乐场均源于网友上传或网上搜集,供学习和研究使用,其版权归原作者所有,对可以提供充分证据的侵权信息,本站将在确认后24小时内删除。对本星际娱乐场进行投诉建议,点击投诉本星际娱乐场反馈给星际娱乐场城。

换一批 more>>

大家都在看:

继续阅读

  • 应用于 POS 机、收银机等80mm 高速微型打印机(原理图、上位机、程序源码)

    微型打印机概述: 微型打印机广泛使用在各个行业,例如金融业、零售业、餐饮业、彩票业、交通运输行业、加油站、医疗卫生等等。热敏微型打印机是指采用是用加热的方式使涂在打印纸上的热敏介质变色。 本方案为 80mm 热敏打印机,使用 IPI 800932 打印头,带自动剪纸刀。应用范围广泛,可用于 POS 机、收银机、ATM 等各种票据打印。本方案采用新唐 ARM Cortex-M4 NUC505 微控制器,打印速度可达每秒 150mm,支持多元传输方式,包含蓝牙、串口、网口、 USB printer class 等,并支持以太网信息通信及数据传输;具备缺纸检测与过热保护星际娱乐场等功能;提供参考源代码,方便客户容易进行二次开发。系统示意框图:方案特点 新唐科技 ARM Cortex-M4 NUC505 系列,主频速度达 100Mhz,内嵌 128kSRAM 及 USB 2.0 全速设备。运用弹性高,具备多元数据传输方式,高速打印,每秒达150mm。NuMicro芯片内建新唐专利之创新之加密及保护机制,保障客户智慧财产权。附件内容截图:
芯片低价购
销量
83
查看
1049
参数名 参数值
发布于 2017 年 01 月 13日
Moore8直播课堂

资源中心

马上在线购买ROHM新款USBPD产品

助力于电源设计的免费资料下载等您来拿

玩转可控硅调光,这种LED驱动器IC才靠谱

集成650V MOSFET,这款反激式开关IC已经上天了