雙網(wǎng)傳真機(jī)的編譯碼電路設(shè)計與實(shí)現(xiàn)
2.2 步進(jìn)電機(jī)控制
在傳真機(jī)硬件系統(tǒng)中,步進(jìn)電機(jī)的主要作用是根據(jù)當(dāng)前工作狀態(tài),驅(qū)動掃描或打印夾紙的滾軸。步進(jìn)電機(jī)的時鐘周期為10 ms,滿足系統(tǒng)要求。掃描時步進(jìn)電機(jī)反轉(zhuǎn),打印時正轉(zhuǎn)。通過控制寄存器,可以實(shí)現(xiàn)標(biāo)準(zhǔn)和精細(xì)兩種掃描模式。
2.3 打印器件
設(shè)計所用的熱敏打印器件系統(tǒng)采用SHECHA216-UH,其接口時序如圖3所示(data表示數(shù)據(jù)在鎖存信號有效后輸出)。其中,heater_clk為打印頭時鐘,1 MHz,50 %占空比;heater_latch_n為打印頭鎖存信號,低電平有效,每隔10ms鎖存一次;heater_trobe[3:0]為打印頭加熱段選信號,在10 ms內(nèi),這四個信號依次低有效一次。本文引用地址:http://www.ex-cimer.com/article/191102.htm
3 編碼電路單元設(shè)計
對一個二值傳真信源來說,一副傳真圖像是由掃描線上的像素組成的,而每一掃描線又總是由一些連續(xù)的黑像素和白像素組成,連續(xù)發(fā)生的黑像素為連‘1’,白像素為連‘0’,也稱之為黑游程和白游程。連‘1’的個數(shù)稱為黑游程長度,連‘0’的個數(shù)稱為自游程長度。黑白游程總是交替出現(xiàn)的。游程長度就等于一條掃描線上的像素總數(shù),A4幅面一般為1 728。本項(xiàng)目使用的圖像二值化方法是固定閾值法,即將A/D轉(zhuǎn)化后的8 b數(shù)據(jù)和閾值做比較,得到‘0’或‘1’(白點(diǎn)或黑點(diǎn))。當(dāng)總線地址為01H時,讀取32位編碼寄存器。
無失真的信源編碼方式中,使用最多的是變長碼,其中最優(yōu)的編碼是Huffman碼,改進(jìn)的Huffman碼(MHC)是三類傳真機(jī)信源編碼的標(biāo)準(zhǔn)。MHC所做的主要改進(jìn)是將碼字分為終止碼和形成碼,能夠用較短的編碼來表示較長的連續(xù)黑點(diǎn)或自點(diǎn)。0~63的游程長度用終止碼表示,64整數(shù)倍的游程長度由形成碼表示,任意游程長度大于63的碼字表示為“形成碼+終止碼”。例如,當(dāng)白游程長度為131 b(128+3)時,編碼表示為‘100101000’,即,白游程長度128 b的形成碼‘10010’加上白游程長度為3 b的終止碼‘1000’。行同步碼EOL的格式為‘0000000000 01’。WRLC為白游程長度編碼,BRLC為黑游程長度編碼。每一行的第一個游程長度編碼為白碼字,黑白游程長度碼字連續(xù)交替。收到連續(xù)的六個EOL后表示該頁結(jié)束。根據(jù)T.4的表述,一頁編碼后的傳真數(shù)據(jù)格式如表3所示。
在構(gòu)建碼表時,構(gòu)建四個不同的碼表單元,即黑、白游程形成碼碼元單元和黑、白游程終止碼碼元單元。同時需要存儲黑白游程編碼碼元的長度信息。終止碼碼表的地址是按游程長度編寫的,即0~63,而形成碼的碼表地址共有27個。這樣存儲可以通過黑白計數(shù)值直接找到地址,碼表所存儲的信息為17位,表4給出了MHC碼表的輸出說明。
例如,編碼得到的碼元信息是‘0111’,這是白游程2所代表的碼元,則碼元的有效長度為‘0100’(4位),碼元信息為‘011100000000 0’(13位)。在碼元黑白屬性發(fā)生改變時,如果當(dāng)前游程的計數(shù)長度小于64,則取計數(shù)長度的低6位為地址,查找對應(yīng)碼表(終止碼表)中的17位數(shù)據(jù);如果游程長度大于或等于64,則取計數(shù)長度的高5位為地址,查找對應(yīng)碼表(形成碼表)中的17位數(shù)據(jù)。NiosⅡ處理器進(jìn)行數(shù)據(jù)交換,采用32位寄存器接口。每次查找完MHC碼表后,采用二級編碼電路對一級編碼電路得到的信息再進(jìn)行一次編碼,將17位編碼數(shù)據(jù)轉(zhuǎn)換成32位編碼數(shù)據(jù)。圖4給出了編碼狀態(tài)轉(zhuǎn)移圖。
評論