FPGA 與VHDL 的微型打印機(jī)的驅(qū)動設(shè)計_第1頁
FPGA 與VHDL 的微型打印機(jī)的驅(qū)動設(shè)計_第2頁
FPGA 與VHDL 的微型打印機(jī)的驅(qū)動設(shè)計_第3頁
FPGA 與VHDL 的微型打印機(jī)的驅(qū)動設(shè)計_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、【W(wǎng)ord版本下載可任意編輯】 FPGA 與VHDL 的微型打印機(jī)的驅(qū)動設(shè)計 摘 要:為了取代傳統(tǒng)利用單片機(jī)驅(qū)動微型打印機(jī),使用Alt era 公司的FPGA 芯片EP3C25Q240C8N 設(shè)計驅(qū)動打印機(jī)的硬件控制電路,并正確控制微型打印機(jī)的工作時序。軟件使用硬件描述語言VH DL 實現(xiàn)對微型打印機(jī)的時序控制,并通過Quar tus 軟件平臺到FPGA 調(diào)試通過,證明該方法行之有效,完全可以取代傳統(tǒng)利用單片機(jī)來驅(qū)動微型打印機(jī),且抗干擾性好,可靠性高,具有較強(qiáng)的可移植性。 0 引 言 FPGA 即現(xiàn)場可編程邏輯陣列。是在CPLD 的根底上發(fā)展起來的新型高性能可編程邏輯器件。FPGA的集成度很高

2、,其器件密度從數(shù)萬門到數(shù)千萬門不等,可以完成極其復(fù)雜的時序與組合邏輯電路功能,適用于高速、*度的高端數(shù)字邏輯電路設(shè)計領(lǐng)域。新一代的FPGA 甚至集成了中央處理器( CPU ) 或數(shù)字處理器( DSP) 內(nèi)核,在一片F(xiàn)PGA 上開展軟硬件協(xié)同設(shè)計,為實現(xiàn)片上可編程系統(tǒng)( SOPC) 提供了強(qiáng)大的硬件支持。對微型打印機(jī)的驅(qū)動,傳統(tǒng)方法是使用單片機(jī)是實現(xiàn)對其的時序控制。隨著FPGA 在各領(lǐng)域的普及使用,以及對微型打印機(jī)的需要,因此要實現(xiàn)FPGA 對微型打印機(jī)的時序控制。 當(dāng)前各ASIC 芯片制造商都相繼開發(fā)了用于各自目的的HDL 語言,但是大多數(shù)都為標(biāo)準(zhǔn)化和通用化。惟一被公認(rèn)的是美國國防部開發(fā)的VH

3、DL 語言,它已成為IEEE ST D_1076 標(biāo)準(zhǔn)。另外從近期HDL語言發(fā)展的動態(tài)來看,許多公司研制的硬件電路設(shè)計工具業(yè)都逐漸向VHDL 語言靠攏,使得他們的硬件電路設(shè)計工具也能支持VHDL 語言。 VHDL 語言可以支持自上而下和基于庫的設(shè)計方法,而且還支持FPGA 的設(shè)計。 1 微型打印機(jī)簡介 RD DH 型微型打印機(jī)采用熱敏加熱點(diǎn)陣打印方式,是一款體積小,打印速度快的打印輸出設(shè)備。該型打印機(jī)可采用標(biāo)準(zhǔn)并行接口,RS 232 串行接口,T TL電平串口,485 接口,USB 接口,打印速度到達(dá)50 m/ s,分辨率為8 點(diǎn)/ mm,384 點(diǎn)/ 行,打印紙張采用57 mm熱敏紙??纱蛴?/p>

4、國標(biāo)一、二級漢字庫中全部漢字和西文字、圖標(biāo)共8 178 個。微型打印機(jī)并行接口與CENTRONICS標(biāo)準(zhǔn)接口兼容,可直接由微機(jī)并口或單片機(jī)控制。其26 線雙排插座引腳序號如圖1 所示。此26 個并口各引腳信號定義如下表1 所示。 圖1 雙排插座引腳序號 表1 微型打印機(jī)26 并口各引腳定義 對打印機(jī)的驅(qū)動主要是對其工作時序開展正確的控制,RD DH 型并行接口定時圖如圖2 所示。 圖2 并行接口定時圖 2 總體系統(tǒng)設(shè)計 使用Altera 公司的Cyclon ?系列的FPGA 芯片EP3C25Q240C8N 實現(xiàn)對RD DH 型微型打印機(jī)的硬件電路控制,使用Quar tus 開發(fā)工具,通過VHD

5、L 語言實現(xiàn)對微型打印機(jī)的軟件功能實現(xiàn)。 2. 1 硬件電路設(shè)計 如圖3 所示為打印機(jī)與FPGA 的連接示意圖。 DATA 1 DATA8 表示打印機(jī)的8 個數(shù)據(jù)位,他們的邏輯“1”表示高電平,邏輯“0”表示低電平; STB 為數(shù)據(jù)選通觸發(fā)脈沖,下降沿時讀入數(shù)據(jù); ACK 為答復(fù)脈沖,低電平表示數(shù)據(jù)已被承受; BUSY 為高電平時表示打印機(jī)正忙,此時不接收數(shù)據(jù)。 由于 ACK 和BUSY 輸出的是5 V 的TT L 電平,而FPGA 的I/ O 口標(biāo)準(zhǔn)為3. 3 V LVCMOS 電平,因此這兩個信號作為FPGA 的輸入信號時,要開展分壓,保證電路正常運(yùn)行。 圖3 FPGA 與打印機(jī)連接示意圖

6、 2. 2 軟件設(shè)計 軟件平臺采用A ltera 公司的FPGA 開發(fā)平臺Q uartus 。 Quartus 提供了一種與器件構(gòu)造無關(guān)的設(shè)計環(huán)境,設(shè)計者不需要精通器件的內(nèi)部構(gòu)造,只需要運(yùn)用自己熟悉的輸入工具( 如原理圖輸入或數(shù)字電路描述語言輸入) 開展設(shè)計,利用Quar tus 可以將這些設(shè)計轉(zhuǎn)換為終構(gòu)造所需要的格式。有關(guān)構(gòu)造的詳細(xì)知識已寫入開發(fā)工具軟件,設(shè)計人員無需手工優(yōu)化自己的設(shè)計。軟件的開發(fā)流程如圖4 所示。 圖4 軟件開發(fā)流程圖 使用VHDL 硬件描述語言來開展軟件設(shè)計。 對微型打印機(jī)的驅(qū)動主要是對其工作時序開展正確的控制,利用VHDL 常見的狀態(tài)機(jī)來實現(xiàn)對打印機(jī)的工作時序的控制,根

7、據(jù)時序圖1 所示的時序,狀態(tài)機(jī)使用4 個狀態(tài),狀態(tài)轉(zhuǎn)換圖如圖5 所示。 初始狀態(tài)STA TE0 時,數(shù)據(jù)選通觸發(fā)脈沖信號STB 置“1” ( 高電平) ,檢測打印機(jī)是否正忙,如果打印機(jī)為空閑狀態(tài)( busy= “0”) ,轉(zhuǎn)入下一狀態(tài)STAT E1,否則( busy = “1” ) 繼續(xù)執(zhí)行ST AT E0; 在狀態(tài)STAT E1,將數(shù)據(jù)寫入打印機(jī),直接轉(zhuǎn)入下一狀態(tài); 在狀態(tài)STAT E2,將數(shù)據(jù)選通觸發(fā)脈沖信號STB 置“0” ,打印機(jī)讀數(shù)據(jù),轉(zhuǎn)入下一狀態(tài); 在狀態(tài)ST ATE3,檢測數(shù)據(jù)是否已經(jīng)被承受,若數(shù)據(jù)已被承受( ACK = “0” ) ,打印機(jī)轉(zhuǎn)入初始狀態(tài)ST AT E0,等待承受新數(shù)據(jù),若數(shù)據(jù)未被承受( ACK = “1” ) ,繼續(xù)執(zhí)行STAT E3 直到數(shù)據(jù)被承受。 圖5 狀態(tài)轉(zhuǎn)換圖 3 結(jié) 語 使用FPGA 與V

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論