《電子技術(shù)應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的打印機走紙控制系統(tǒng)
NI-LabVIEW 2025
基于FPGA的打印機走紙控制系統(tǒng)
來源:微型機與應用2010年第21期
董盈鈞,孔 明,馬忠祥
(中國計量學院,浙江 杭州 310018)
摘要: 提出了一種基于FPGA的打印機走紙控制系統(tǒng)的設計方案,充分利用FPGA高速處理數(shù)據(jù)的能力及自上而下設計方法的優(yōu)勢,運用Quartus II軟件圖像設計與程序設計相結(jié)合的開發(fā)方法,利用反饋式控制系統(tǒng)的設計理念,實現(xiàn)了打印機走紙系統(tǒng)的閉環(huán)控制,提高了走紙速度和精度。敘述了控制系統(tǒng)的軟件設計和硬件設計,并給出了詳細電路圖。
Abstract:
Key words :

摘  要: 提出了一種基于FPGA打印機走紙控制系統(tǒng)的設計方案,充分利用FPGA高速處理數(shù)據(jù)的能力及自上而下設計方法的優(yōu)勢,運用Quartus II軟件圖像設計與程序設計相結(jié)合的開發(fā)方法,利用反饋式控制系統(tǒng)的設計理念,實現(xiàn)了打印機走紙系統(tǒng)的閉環(huán)控制,提高了走紙速度和精度。敘述了控制系統(tǒng)的軟件設計和硬件設計,并給出了詳細電路圖。
關鍵詞: 走紙控制系統(tǒng);閉環(huán)控制;打印機;FPGA;Quartus II

    隨著經(jīng)濟的持續(xù)高速發(fā)展和信息化工程的大力推廣,作為介質(zhì)輸出重要工具的票據(jù)打印機得到了廣泛應用,同時隨著需求的增加,對票據(jù)打印機的速度和精度的要求也越來越高[1]。目前市場上的票據(jù)打印機的走紙控制系統(tǒng),主要以單片機為核心,采用開環(huán)方式直接控制步進電機,由于自身硬件的限制,其速度和精度都難以提高。因此,本文提出一種基于FPGA的打印機走紙閉環(huán)控制系統(tǒng)。系統(tǒng)以FPGA為核心,能大大提高票據(jù)打印機走紙的速度和精度,且采用普通直流電機代替步進電機,結(jié)構(gòu)簡單、性能可靠、成本較低。
現(xiàn)場可編程門陣列FPGA(Field-Programmable Gate Array)是在PAL、GAL等邏輯器件的基礎上發(fā)展起來的。由于它具有集成度高、速度快、開發(fā)周期短、費用低、用戶可定義功能及可重復編程和擦寫等許多優(yōu)點,其應用領域不斷擴大。這些器件的靈活性和通用性使它們成為了研制和開發(fā)復雜數(shù)字系統(tǒng)的理想選擇[2-3]。
1 系統(tǒng)整體設計
    本系統(tǒng)作為打印機控制系統(tǒng)的一部分,采用了ARM+FPGA的結(jié)構(gòu),該結(jié)構(gòu)以高速FPGA處理器來完成電機的閉環(huán)控制,以ARM處理器來實現(xiàn)FPGA的功能控制,使得運動控制精度更高、速度更快。同時在提高控制系統(tǒng)通用性、可移植性的指導思想下,將系統(tǒng)核心部件的軟、硬件設計成一個模塊,可以方便地移植到不同的設備上[4]。
2 FPGA內(nèi)部邏輯設計
    本系統(tǒng)內(nèi)部分為五個模塊,分別為接口模塊、寄存器模塊、反饋信號處理模塊、顯示模塊和時鐘處理模塊。其結(jié)構(gòu)如圖1所示。

2.1 接口模塊
    接口模塊包括鎖存器、譯碼器、收發(fā)三態(tài)門和輸出選擇器。它的主要功能是與ARM進行通信,接受ARM發(fā)出的指令和數(shù)據(jù),并傳遞給寄存器模塊存儲,或是將寄存器中的數(shù)據(jù)傳遞給ARM進行處理。
    在接口模塊的四個器件中,為了實現(xiàn)數(shù)據(jù)總線和地址總線的復用,收發(fā)三態(tài)門的作用至關重要。它的作用為轉(zhuǎn)換總線的收發(fā)狀態(tài),即在接收數(shù)據(jù)時,寄存器的數(shù)據(jù)輸入總線和數(shù)據(jù)/地址總線接通,而輸出選擇器的數(shù)據(jù)輸出總線處于高阻狀態(tài);在發(fā)送數(shù)據(jù)時,輸出選擇器的數(shù)據(jù)輸出總線與數(shù)據(jù)/地址總線接通,而寄存器的數(shù)據(jù)輸入總線處于高阻狀態(tài)。這樣可避免總線上的數(shù)據(jù)沖突。
2.2 寄存器模塊
    寄存器模塊由8個寄存器組成,地址從0XFFF0到0XFFF7。具體設定見表1。


    控制寄存器的功能為存儲ARM發(fā)出的控制信息。系統(tǒng)根據(jù)該存儲器的數(shù)值決定自己的工作狀態(tài)。其中D2~D0位為脈沖預分頻設置位,系統(tǒng)根據(jù)這三位的值決定對光電編碼器信號的分頻數(shù)。D3為控制啟動位,該位置1時,系統(tǒng)發(fā)出控制信號,否則不發(fā)出。D4~D7位功能未定。
    脈沖匹配預設值寄存器的功能為存儲脈沖匹配預設值,設置范圍為0~255,根據(jù)實際需要可擴展寄存器的位數(shù)。系統(tǒng)將光電編碼器的反饋值計數(shù)后與預設值比較,從而判斷運動是否到位。
速率寄存器的功能為存儲電機的轉(zhuǎn)動速率,可提供給ARM讀取或直接顯示。
2.3 反饋信號處理模塊
    反饋信號處理模塊及時鐘模塊的頂層原理圖如圖2所示。反饋信號處理模塊包括倍頻模塊和信號處理模塊。
倍頻模塊的功能是將光電編碼器輸出的反饋信號進行二、四倍頻,或者不進行倍頻,供后續(xù)模塊使用。同時,因為FPGA運行過程不可避免會導致輸出信號相對原始信號有延遲,所以對光電編碼器輸出的零位信號進行處理,使其與輸出信號相符,起到零位信號的標定作用。

    信號處理模塊包括選擇器、比較器和速率計算器。該模塊首先根據(jù)控制寄存器的數(shù)值,選擇指定的輸入信號,然后分別由比較器和速率計算器處理。比較器將信號計數(shù)后與脈沖匹配預設值寄存器中的數(shù)字比較,若相等,則輸出一個脈沖。速率計算器的功能為計算電機的轉(zhuǎn)動速率,然后輸出給速率寄存器。
2.4 時鐘模塊
    時鐘模塊包括時鐘分頻器和時鐘計數(shù)器。由晶振提供的時鐘為48 MHz,頻率過高。由于輸出脈沖脈寬是時鐘周期的兩倍,所以輸出脈寬太小,不利于后續(xù)處理,需由時鐘分頻器分頻后才能被倍頻和顯示模塊使用。時鐘計數(shù)器的功能為定時輸出脈沖,提供給速率計算器。
2.5 顯示模塊
    顯示模塊由十進制轉(zhuǎn)換器和掃描器組成。速率計算器的二進制數(shù)值需由十進制轉(zhuǎn)換器轉(zhuǎn)換成十進制,然后通過掃描器將數(shù)值的每一位在數(shù)碼管上顯示。其頂層示意圖如圖3所示。

3 仿真及實驗結(jié)果
     本系統(tǒng)是以Altera公司的Quartus II為平臺、采用Verilog HDL語言開發(fā)的。Quartus II作為Altera公司的專用開發(fā)平臺,包括設計輸入、編譯、仿真、器件編程等功能。它使用方便,允許用戶用原理圖、語言編程、波形圖等多種輸入方法進行設計。
    圖4是在設定為4倍頻、預設值為9模式下的系統(tǒng)仿真波形圖。其中add為數(shù)據(jù)/地址總線,en為鎖存信號,we為寫信號,oe為讀信號,ina和inb為相位差為90°的兩路方波信號(代替光電編碼器的輸出信號),int0為脈沖匹配信號。


    系統(tǒng)先將控制指令FA寫入地址為F0的寄存器,然后將預設值9寫入地址為F1的寄存器,在如此的設定下,系統(tǒng)得到ina和inb倍頻后的脈沖信號outc,對outc計數(shù),并與預設值比較,獲得脈沖匹配信號int0。從圖中可看出,每10個outc脈沖得到一個int0脈沖,與預定的功能完全一致。最后,系統(tǒng)讀取地址為F0的寄存器的值,由outp輸出。由于軟件不能對三態(tài)門進行仿真,所以未將讀取的數(shù)據(jù)從數(shù)據(jù)/地址總線輸出。
    將程序綜合、編譯、下載后,在實際系統(tǒng)中的實驗結(jié)果與仿真結(jié)果完全一致,系統(tǒng)能精確地輸出電機控制信號。且因FPGA的快速數(shù)據(jù)處理能力,能接受并處理頻率高達100 kHz的光電編碼器的輸出信號,所以大大提高了系統(tǒng)的速度。另一方面,由于輸出的控制信號通過其他電路的處理,可直接用于精確控制直流電機的啟動停止,不需用步進電機提高系統(tǒng)的精度,節(jié)約了成本。
    由于運動控制系統(tǒng)的控制邏輯較多,若采用分立元件進行設計,由于系統(tǒng)過于復雜,線路互聯(lián)延遲及布線等原因極易造成系統(tǒng)不穩(wěn)定,從而影響系統(tǒng)的控制精度。而FPGA器件能提高系統(tǒng)的集成度,可方便地解決以上問題。以FPGA設計的反饋式打印機走紙控制系統(tǒng)實現(xiàn)簡單,便于調(diào)試,運行可靠,且在控制速度、精度、成本上較目前市場上的產(chǎn)品有所提高。
參考文獻
[1] 《電子計算機及外部設備》期刊編輯部. 國內(nèi)外票據(jù)打印機現(xiàn)狀與國內(nèi)市場趨勢[J]. 電子計算機及外部設備,1999,23(2):75-76.
[2] 褚振勇,齊亮,田心紅,等.FPGA設計及應用[M].西安:西安電子科技大學出版社,2006.
[3] Altera. Configuration handbook [EB/ OL ] . http: //www. altera. com, 2004-11-05.
[4] 冉龍明.基于ARM和FPGA的數(shù)控系統(tǒng)研究及實現(xiàn)[D].成都:電子科技大學,2008.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。