<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 雙網(wǎng)傳真機(jī)的編譯碼電路設(shè)計與實現(xiàn)

          雙網(wǎng)傳真機(jī)的編譯碼電路設(shè)計與實現(xiàn)

          作者: 時間:2011-07-11 來源:網(wǎng)絡(luò) 收藏

          h.JPG



          4 譯碼電路單元設(shè)計
          對于MHC碼而言,首先它是一個變長碼,發(fā)送端在編碼時把游程長度所對應(yīng)的碼元數(shù)據(jù)不留間隙的存入發(fā)送緩沖區(qū)中,經(jīng)過調(diào)制載波后發(fā)送出去。接收端解調(diào)出來的數(shù)據(jù),即編碼數(shù)據(jù),譯碼時從該數(shù)據(jù)序列中分離出碼字,由碼字去找出所對應(yīng)的游程長度,輸出到打印緩沖區(qū),就完成了譯碼過程。要提高譯碼速度,可以采用多步合一的方法,減少查找碼表的次數(shù),也就是一次輸入多個碼元。根據(jù)碼表的特點,對白譯碼而言,第一次可直接輸入4個碼元,對于黑譯碼,第一次可輸入2個碼元,隨后每次可輸入2個碼元或1個碼元。
          譯碼時,通過Avalon總線接口將編碼數(shù)據(jù)寫入一個32×256 b的緩沖區(qū);譯碼完成后,將數(shù)據(jù)送到打印緩沖區(qū),由信號控制模塊控制打印緩沖區(qū)的復(fù)位、讀時鐘、讀請求和打印頭時鐘信號,打印緩沖區(qū)的大小為1×2 048 b。當(dāng)寫入個數(shù)記到1 728時,就會進(jìn)行讀操作。如果出現(xiàn)誤碼,寫入個數(shù)超過1 728時,F(xiàn)IFO清零,此時不進(jìn)行讀操作,而是將誤碼的那行數(shù)據(jù)丟棄,并加入一行白點(1 728個‘0’)。傳真譯碼電路如圖5所示。
          在譯碼電路中,檢測到EOL后,將對譯碼緩沖區(qū)的數(shù)據(jù)交替地進(jìn)行白譯碼、黑譯碼、白譯碼操作。其中譯碼碼表的地址和數(shù)據(jù)寬度均為8 b。譯碼時,接收4 b數(shù)據(jù)(白碼元),通過形成的8 b地址來查找碼表并返回一個8 b數(shù)據(jù)Ram_Data,并根據(jù)此數(shù)據(jù)低2位的值來進(jìn)行下一步操作。當(dāng)Ram_Data低2位為‘01’時,輸出數(shù)據(jù)高6位的值,此時終止碼使能有效;當(dāng)Ram_Data低2位為‘11’時,輸出數(shù)據(jù)高6位的值,此時形成碼使能有效;當(dāng)Ram_Data低2位為‘00’時,表示接收1 b數(shù)據(jù)和Ram_Data相加形成新地址;當(dāng)Ram_Data低2位為‘10’時,表示接收2 b數(shù)據(jù)和Ram_Data相加形成新地址;繼續(xù)查找碼表,重復(fù)操作,直到譯出碼元或出錯為止。查找黑白碼表不同的是:對于白譯碼而言,由于最短碼字長度為4,所以第一次可直接查找4 b碼元,隨之可查找2 b或1 b碼元;而對于黑譯碼而言,由于最短的碼字長度為2,所以第一次查找2 b碼元,隨之可查找2 b或1 b碼元;輸出的6 b數(shù)據(jù)為連續(xù)黑點或連續(xù)白點的個數(shù)。將譯碼后的數(shù)據(jù)存入1×2 048 b的打印緩沖區(qū),當(dāng)存儲數(shù)據(jù)滿一行時,輸出到打印頭打印,待清空后再進(jìn)行下一行的譯碼。掃描到打印一行的時間要求是10 ms,所以譯碼完成后進(jìn)行等待,直到數(shù)據(jù)鎖存后再進(jìn)行下一行的譯碼。譯碼狀態(tài)轉(zhuǎn)移圖如圖6所示。

          i.JPG



          5 仿真驗證與系統(tǒng)測試
          采用基于碼表遍歷的驗證策略,對電路進(jìn)行仿真驗證,并查看輸出波形圖,結(jié)果均與設(shè)計要求一致。仿真部分波形圖如圖7所示。

          a.JPG


          其中,fifo_data為編碼數(shù)據(jù);dot_cont為譯出的總點數(shù);white_black_flag為黑白標(biāo)志位,‘1’表示黑,‘0’表示白。
          該電路通過QuartusⅡ環(huán)境下的SOPC配置CPU核,在Altera公司的FPGA開發(fā)板上進(jìn)行下載,并在NiosⅡ開發(fā)環(huán)境中使用軟件測試該電路,通過寄存器驅(qū)動電路工作,經(jīng)過掃描,CPU核向電路寫入編碼數(shù)據(jù),待輸出標(biāo)識位有效后,再讀出譯碼后數(shù)據(jù),通過傳真機(jī)打印出來。綜合結(jié)果表明電路可以工作在100 MHz時鐘頻率下。
          將傳真標(biāo)準(zhǔn)樣張編碼數(shù)據(jù)送給譯碼模塊完成對譯碼電路的測試,打印出的圖像滿足測試標(biāo)準(zhǔn)。然后將標(biāo)準(zhǔn)樣張原稿經(jīng)過掃描編碼,送給譯碼打印,輸出打印結(jié)果與原稿比對。通過反復(fù)調(diào)試,軟硬件運行穩(wěn)定,達(dá)到系統(tǒng)功能指標(biāo)。

          6 結(jié)語
          本文采用兩級編碼和快速譯碼的設(shè)計思路,在FPGA芯片上實現(xiàn)了電路和外設(shè)控制器。上層軟件通過寄存器接口完成對硬件系統(tǒng)的控制,經(jīng)過仿真驗證與測試,電路對傳真數(shù)據(jù)正確,與軟件系統(tǒng)相配合為高性能的提供了可靠的技術(shù)基礎(chǔ)。


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();