双网传真机的编译码电路设计与实现
2.2 步进电机控制
在传真机硬件系统中,步进电机的主要作用是根据当前工作状态,驱动扫描或打印夹纸的滚轴。步进电机的时钟周期为10 ms,满足系统要求。扫描时步进电机反转,打印时正转。通过控制寄存器,可以实现标准和精细两种扫描模式。
2.3 打印器件
设计所用的热敏打印器件系统采用SHECHA216-UH,其接口时序如图3所示(data表示数据在锁存信号有效后输出)。其中,heater_clk为打印头时钟,1 MHz,50 %占空比;heater_latch_n为打印头锁存信号,低电平有效,每隔10ms锁存一次;heater_trobe[3:0]为打印头加热段选信号,在10 ms内,这四个信号依次低有效一次。本文引用地址:http://www.amcfsurvey.com/article/191102.htm
3 编码电路单元设计
对一个二值传真信源来说,一副传真图像是由扫描线上的像素组成的,而每一扫描线又总是由一些连续的黑像素和白像素组成,连续发生的黑像素为连‘1’,白像素为连‘0’,也称之为黑游程和白游程。连‘1’的个数称为黑游程长度,连‘0’的个数称为自游程长度。黑白游程总是交替出现的。游程长度就等于一条扫描线上的像素总数,A4幅面一般为1 728。本项目使用的图像二值化方法是固定阈值法,即将A/D转化后的8 b数据和阈值做比较,得到‘0’或‘1’(白点或黑点)。当总线地址为01H时,读取32位编码寄存器。
无失真的信源编码方式中,使用最多的是变长码,其中最优的编码是Huffman码,改进的Huffman码(MHC)是三类传真机信源编码的标准。MHC所做的主要改进是将码字分为终止码和形成码,能够用较短的编码来表示较长的连续黑点或自点。0~63的游程长度用终止码表示,64整数倍的游程长度由形成码表示,任意游程长度大于63的码字表示为“形成码+终止码”。例如,当白游程长度为131 b(128+3)时,编码表示为‘100101000’,即,白游程长度128 b的形成码‘10010’加上白游程长度为3 b的终止码‘1000’。行同步码EOL的格式为‘0000000000 01’。WRLC为白游程长度编码,BRLC为黑游程长度编码。每一行的第一个游程长度编码为白码字,黑白游程长度码字连续交替。收到连续的六个EOL后表示该页结束。根据T.4的表述,一页编码后的传真数据格式如表3所示。
在构建码表时,构建四个不同的码表单元,即黑、白游程形成码码元单元和黑、白游程终止码码元单元。同时需要存储黑白游程编码码元的长度信息。终止码码表的地址是按游程长度编写的,即0~63,而形成码的码表地址共有27个。这样存储可以通过黑白计数值直接找到地址,码表所存储的信息为17位,表4给出了MHC码表的输出说明。
例如,编码得到的码元信息是‘0111’,这是白游程2所代表的码元,则码元的有效长度为‘0100’(4位),码元信息为‘011100000000 0’(13位)。在码元黑白属性发生改变时,如果当前游程的计数长度小于64,则取计数长度的低6位为地址,查找对应码表(终止码表)中的17位数据;如果游程长度大于或等于64,则取计数长度的高5位为地址,查找对应码表(形成码表)中的17位数据。NiosⅡ处理器进行数据交换,采用32位寄存器接口。每次查找完MHC码表后,采用二级编码电路对一级编码电路得到的信息再进行一次编码,将17位编码数据转换成32位编码数据。图4给出了编码状态转移图。
评论