USER GUIDE / DATA MOVEMENT & TIMERS / THERMAL PRINTER / SOFTWARE OPERATION GUIDE

软件操作指南

软件配置需要按照本章节描述的先后顺序配置。

动态配置

动态配置由 PDMA 将相关动态配置数据写入 TPC FIFO 实现,要求数据 word 对齐,PDMA 操作详见 PDMA 章节,动态配置如下:

打印头动态配置

表 1 打印头动态配置表
标志 描述
shift data打印数据
dst data加热时间
加热触发下一次锁存前的等待时间
加热信号是否输出
自动控制模式下,支持动态设置,锁存是否触发下一次加热,若不触发下一次加热则上报主流程控制单元加热完成状态,并使主流程进入 IDLE

步进电机 0

表 2 步进电机 0 动态配置表
标志 描述
sm0 data 动态配置循环步每步时长

步进电机 1

表 3 步进电机 1 动态配置表
标志 描述
sm1 data 动态配置循环步每步时长

数据输出单元 DMA 请求

数据输出单元 DMA 请求数据为所要移位输出的数据,word 对齐,32 位有效。

数据总长度会根据 sft_byte_len 以及 channel num 的不同而不同,为所有使能通道的总和,即 sft_byte_len x channel_num。通过 PDSBC 寄存器配置通道数和 sft_byte_len。数据格式如下:

表 4 数据输出单元数据格式说明表
标志 描述
shift_data 移位输出数据

加热单元 DMA 请求

加热单元 DMA 请求数据为加热时间设置,以及触发下一次加热的等待时间,word 对齐,每个时间设置需要 32bit,0~23bit 为时间,24~31 为状态控制以及保留位。

数据总长度会根据 DST channel num 的不同而不同,通过 PDDBC 寄存器配置加热通道数。数据格式如下:

表 5 加热单元数据格式说明表
标志 描述
Reserved 保留位
lat_trigger_nxt_dst 锁存是否触发下一次加热,为 0 时下一次加热不由锁存触发且上报主流程控制单元加热完成状态使主流程进入 IDLE
dst_wait_time 本次加热完成后触发下一次锁存前的等待时间
dst_enable 是否输出加热信号。1:真加热;0:假加热。
dst_time 加热时间

步进电机 DMA 请求

步进电机 DMA 请求数据为循环步每步时间,32bit 有效,word 对齐。数据格式如下:

表 6 步进电机单元数据格式说明表
标志 描述
step_cnt 循环步每步时长

基础配置

数据移位输出

数据移位输出基础设置:移位时钟相位,时序(setup,hold),空闲状态电平,输出大小端转换,输出通道数量(1~16),单次输出长度(输出通道数>4:max 128 byte,输出通道数<4:max 256 byte),触发后等待时间。

涉及寄存器:PDSBC, PDSWC

锁存

锁存基础设置:空闲状态电平,触发后等待时间。

涉及寄存器:PDLBC,PDLWC,PDLAC

加热

热控基础设置:空闲状态电平,输出通道数量(1~8),触发后等待时间,最大加热时间。

涉及寄存器:PDDBC,PDDWC,PDDMAC

步进电机

步进电机基础设置:电机输出模式,空闲状态电平,开始步电平,循环步电平,结束步,开始步时长,循环步步数(1~64),循环步索引中断屏蔽,结束步时长,步最大时长。

涉及寄存器:PM0BC, PM0SSC, PM0ESC,PM0MSC,PM0RIM0, PM0RIM1 PM1BC, PM1SSC, PM1ESC,PM1MSC, PM1RIM0, PM1RIM1 PMCMS, PMCILC, PMCSLC, PMCELC,PMCnRLC0, PMCnRLC1

看门狗

可参考以下流程:

  1. 复位默认 WDT 计数关闭。

  2. 清零 WDT 计数。

  3. 配置 WDT 计数全值和半值。

  4. 配置 WDT 计数频率。

  5. 配置 WDT 是否触发中断。

  6. 配置 WDT 计数使能,并选择 RTC 时钟源。

中断

PINTM 负责中断屏蔽。

模式操作

TPC 打印头手动模式

按照顺序进行配置:

开始

  1. 进行打印头基础设置,参考 1.1.4.2 章节。

  2. 进行打印头 Shift Data FIFO 和 Dst Timer FIFO 的 DMA 设置。

  3. 设置 PDENS[5:2],使能手动模式以及 shift data,latch 和 dst 模块。

  4. 设置 PDSMC[0],开始数据移位输出,等待 PINT[1] 置位,等到 PINT[1] 后写 1 清除。

  5. 设置 PDLMC[0],开始锁存,等待 PINT[2] 置位,等到 PINT[2] 后写 1 清除。

  6. 设置 PDDMC[0],开始加热,等待 PINT[3] 置位,等到 PINT[3] 后写 1 清除。

停止

  1. 手动模式支持 quick stop,quick stop 设置后立即进入 IDLE,分别通过 PDSMC,PDLMC,PDDMC 的 Bit1 设置。

TPC 打印头自动非对齐模式

按照顺序进行配置:

开始

  1. 进行打印头基础设置,参考 1.1.4.2 章节。

  2. 进行打印头 Shift Data FIFO 和 Dst Timer FIFO 的 DMA 设置。

  3. 设置 PDENS[0],PDENS[5:3],使能自动非对齐模式以及 shift data,latch 和 dst 模块。

  4. 设置 PDDMC[0],开始自动非对齐流程。

停止

  1. quick stop:立即停止,进入 IDLE,通过设置 PDDMC[1] 实现。

TPC 步进电机手动单步模式

按照顺序进行配置:

开始

  1. 进行步进电机基础设置,参考 1.1.4.2 章节。

  2. 进行步进电机 Timer FIFO 的 DMA 设置。

  3. 设置 PMnENS,使能手动单步模式以及电机 IO。

  4. 设置 PMnMC[0] 开始,等待 PINT 步进电机 FINISH 状态置位,单步运行完成。

停止

  1. 手动模式只支持 quick stop,quick stop 设置后立即进入 IDLE,通过设置 PMnMC[1] 实现。

手动单循环步骤完成后就停止,并上报 FINISH,不需要额外的操作。

TPC 步进电机自动非对齐模式

按照顺序进行配置:

开始

  1. 进行步进电机基础设置,参考 1.1.4.2 章节。

  2. 进行步进电机 Timer FIFO 的 DMA 设置。

  3. 设置 PMnENS,使能自动非对齐模式以及电机 IO。

  4. 设置 PMnMC[0] 开始。

停止

  1. quick stop:立即停止,进入 IDLE,通过设置 PMnMC[1] 实现。

TPC 自动对齐模式

对齐模式下,dotline 加热完成和 stepmoto 循环步都完成后才发起下一个 dotline 的打印,以及步进电机的下一个循环步。按照顺序进行配置。

开始

  1. 进行打印头基础设置,参考 1.1.4.2 章节。

  2. 进行步进电机基础设置。

  3. 进行打印头 Shift Data FIFO 和 Dst Timer FIFO 的 DMA 设置。

  4. 进行步进电机 Timer FIFO 的 DMA 设置。

  5. 设置 PDENS,使能自动对齐模式以及 shift data,latch 和 dst 模块。

  6. 设置 PMnENS,使能自动对齐模式以及电机 IO。

  7. 设置 PFCENS,使能自动控制流程。

  8. 设置 PAFC,开始。

停止

  1. quick stop,当 FIFO 空时,完成。