雙網(wǎng)傳真機(jī)的編譯碼電路設(shè)計(jì)與實(shí)現(xiàn)
摘要:對(duì)雙網(wǎng)數(shù)字傳真機(jī)硬件系統(tǒng)中的編碼和譯碼電路進(jìn)行設(shè)計(jì),并采用FPGA芯片進(jìn)行系統(tǒng)實(shí)現(xiàn)和驗(yàn)證。其中的編譯碼電路分別采用兩級(jí)編碼和快速譯碼的思路,利用硬件描述語(yǔ)言設(shè)計(jì)和仿真,簡(jiǎn)化了邏輯電路的實(shí)現(xiàn)。驗(yàn)證測(cè)試表明,該電路增強(qiáng)了系統(tǒng)的穩(wěn)定性和可靠性,提高了編譯碼效率,縮短了開(kāi)發(fā)周期。
關(guān)鍵詞:編譯碼電路;FPGA;碼表;雙網(wǎng)傳真機(jī)
0 引言
傳真通信規(guī)程是將要掃描的電平信號(hào)值進(jìn)行A/D轉(zhuǎn)換,再經(jīng)過(guò)圖像二值化處理,表示成連續(xù)交替黑白點(diǎn)的數(shù)據(jù)序列(I/O序列),再對(duì)該數(shù)據(jù)序列進(jìn)行編碼后,調(diào)制發(fā)送;接收端對(duì)收到的編碼數(shù)據(jù)信號(hào)解調(diào)后進(jìn)行譯碼,最后由熱敏頭打印輸出。
在傳真通信中,對(duì)傳真圖像數(shù)據(jù)進(jìn)行編碼和譯碼是傳真通信的關(guān)鍵技術(shù)。改進(jìn)的Huffman碼(MHC)是ITU—T.4向各國(guó)推薦的一維標(biāo)準(zhǔn)碼,主要應(yīng)用于三類(lèi)傳真機(jī)上。MHC碼是一種常用的變長(zhǎng)碼,其信源的消息與碼字之間的關(guān)系是一對(duì)一的,是信息保持型的壓縮方法。雙網(wǎng)傳真系統(tǒng)完成與Internet和PSTN網(wǎng)絡(luò)的傳真通信,采用嵌入式系統(tǒng)的設(shè)計(jì)思路劃分軟硬件。其中,傳真協(xié)議采用軟件實(shí)現(xiàn),傳真編譯碼和外圍設(shè)備控制器采用硬件實(shí)現(xiàn),以降低設(shè)計(jì)復(fù)雜度,提高傳真效率。
1 傳真機(jī)硬件系統(tǒng)模型
硬件電路模塊應(yīng)包括:CIS掃描電路模塊(A/D轉(zhuǎn)換)、編碼電路模塊(圖像二值化處理)、譯碼電路模塊、打印電路模塊、步進(jìn)電機(jī)驅(qū)動(dòng)電路模塊及時(shí)鐘電路模塊。并以NiosⅡ軟核處理器、CIS掃描器件、步進(jìn)電機(jī)、TPH打印器件為硬件平臺(tái),通過(guò)FPGA實(shí)現(xiàn)硬件電路模塊。上層軟件通過(guò)讀寫(xiě)寄存器來(lái)控制外圍設(shè)備和編譯碼電路,完成編碼數(shù)據(jù)的讀取和譯碼數(shù)據(jù)的寫(xiě)入。圖1給出了硬件系統(tǒng)功能模塊劃分邏輯圖。
其中,時(shí)鐘電路用來(lái)產(chǎn)生掃描、打印及步進(jìn)電機(jī)所需的時(shí)序信號(hào);由時(shí)鐘電路產(chǎn)生的CIS時(shí)鐘周期為2.6μs,打印時(shí)鐘周期為4.96μs,步進(jìn)電機(jī)時(shí)鐘周期為10 ms。數(shù)據(jù)地址讀寫(xiě)總線接口與NiosⅡ處理器直接交互各種控制命令及讀寫(xiě)數(shù)據(jù),產(chǎn)生外圍設(shè)備的工作使能信號(hào),通過(guò)地址選通信號(hào),完成各個(gè)模塊與NiosⅡ處理器之間數(shù)據(jù)的交互。
2 外圍設(shè)備控制單元
外圍設(shè)備的控制主要是通過(guò)對(duì)CIS掃描器件、TPH打印器件和步進(jìn)電機(jī)發(fā)出相應(yīng)的控制時(shí)序信號(hào)完成掃描、打印和步進(jìn)電機(jī)的驅(qū)動(dòng)等功能。該部分采用硬件實(shí)現(xiàn)可以產(chǎn)生超過(guò)定時(shí)中斷周期的更小周期的時(shí)序信號(hào)和時(shí)序要求精確的驅(qū)動(dòng)信號(hào),同時(shí)可以通過(guò)配置控制寄存器,對(duì)掃描和打印的功能進(jìn)行選擇,上層軟件通過(guò)狀態(tài)寄存器來(lái)判斷電路的工作狀態(tài)。表1和表2給出了寄存器的詳細(xì)描述。
2.1 CIS掃描及A/D轉(zhuǎn)換
設(shè)計(jì)采用的CIS器件具有最高1.7 MHz的掃描時(shí)鐘,且有效掃描寬度為216 mm(A4紙的寬度),每行有1728個(gè)掃描點(diǎn)。FPGA片內(nèi)的數(shù)字邏輯產(chǎn)生驅(qū)動(dòng)信號(hào)CIS_si和CIS_clk,并將模擬信號(hào)接入A/D轉(zhuǎn)換器的模擬輸入端口,由FPGA片內(nèi)數(shù)字邏輯實(shí)時(shí)對(duì)A/D轉(zhuǎn)換器的輸出進(jìn)行采集。圖2給出了CIS接口時(shí)序。其中,CIS_si為行啟動(dòng)信號(hào),每行有1728個(gè)掃描點(diǎn),每隔10ms啟動(dòng)一次CIS_si。由于掃描最快能達(dá)到1.8ms/line,而打印最快只能達(dá)到10 ms/line,所以掃描完成后且預(yù)留出步進(jìn)電機(jī)工作的時(shí)間,這樣就能滿(mǎn)足該系統(tǒng)的要求。CIS_clk為2.6μs的掃描時(shí)鐘,占空比為0.254。ADC_clk為AD采樣時(shí)鐘,周期與CIS_clk相同,占空比為0.046。
A/D轉(zhuǎn)換的原理是通過(guò)CIS掃描器件把原稿的光信號(hào)轉(zhuǎn)化為電信號(hào),將CIS掃描器件獲得的模擬電信號(hào)通過(guò)A/D轉(zhuǎn)換器件轉(zhuǎn)化為8 b的數(shù)字信號(hào)在ADC_clk的下降沿送入掃描數(shù)據(jù)緩沖區(qū)。
評(píng)論