趙宏鈞,陸健,張樂年
(1.河南中煙工業(yè)有限責(zé)任公司許昌卷煙廠,河南 許昌461000;2.南京航空航天大學(xué)機(jī)電學(xué)院,江蘇南京210016)
努力自主創(chuàng)新、實(shí)現(xiàn)重點(diǎn)跨越成為引領(lǐng)未來(lái)科學(xué)技術(shù)發(fā)展的方向,煙草產(chǎn)業(yè)同樣需要技術(shù)創(chuàng)新。在自動(dòng)化程度越來(lái)越高的市場(chǎng)環(huán)境下,煙草設(shè)備自動(dòng)化程度的提高也迫在眉睫?;贔PGA的串行總線系統(tǒng)是煙草設(shè)備自動(dòng)化控制的核心系統(tǒng),其硬件部分主要包括信號(hào)發(fā)送卡和信號(hào)接收卡,本文主要討論信號(hào)發(fā)送卡的設(shè)計(jì)。信號(hào)發(fā)送卡通過(guò)PCI接口,插入工控機(jī)的PCI插槽中,實(shí)現(xiàn)將圖像處理結(jié)果的并行信號(hào)轉(zhuǎn)為串行信號(hào)發(fā)出;遠(yuǎn)程的信號(hào)接收卡通過(guò)帶有連接器的雙絞線和發(fā)送卡相連,將串行信號(hào)再轉(zhuǎn)成并行信號(hào)經(jīng)過(guò)驅(qū)動(dòng)后通過(guò)扁平電纜和剔除閥相連接,實(shí)現(xiàn)將信號(hào)發(fā)送卡傳來(lái)的串行信號(hào)還原為并行信號(hào),并發(fā)送給剔除閥,同時(shí)驅(qū)動(dòng)閥工作。這樣,工控機(jī)通過(guò)基于FPGA的串行總線控制遠(yuǎn)程剔除閥工作。
基于FPGA設(shè)計(jì)的串行總線的信號(hào)發(fā)送卡能實(shí)現(xiàn)實(shí)時(shí)高速通信,簡(jiǎn)化設(shè)備,有效降低設(shè)備的誤剔率,提高生產(chǎn)效率。本文將介紹信號(hào)發(fā)送卡的原理設(shè)計(jì)。
信號(hào)發(fā)送卡的硬件設(shè)計(jì)采用FPGA為主要核心部件。信號(hào)發(fā)送卡的電路設(shè)計(jì)要求主要有三點(diǎn):1)成為PCI總線的從設(shè)備,接收工控機(jī)發(fā)出的并行異物剔除信號(hào);2)將接收的并行信號(hào)轉(zhuǎn)為串行信號(hào)發(fā)出;3)保證發(fā)出的串行信號(hào)的實(shí)時(shí)性與完整性。根據(jù)以上的功能需求設(shè)計(jì)的信號(hào)發(fā)送卡原理圖主要由電平轉(zhuǎn)換電路,端口地址設(shè)定與串行速率調(diào)節(jié)電路以及數(shù)據(jù)串行輸出電路組成。
本課題為信號(hào)發(fā)送卡選用的是Lattice公司生產(chǎn)的LFXP-6型FPGA芯片,該芯片支持3.3 V的電平,而PCI接口芯片CH365支持的是5 V的電平,為了使PCI接口電路能與FPGA芯片成功對(duì)接,需在CH365芯片和FPGA芯片之間添加一個(gè)電平轉(zhuǎn)換芯片,這種根據(jù)芯片各自的電氣特性設(shè)計(jì)的電路,能使FPGA順利的讀取PCI總線上的數(shù)據(jù),進(jìn)行下一步操作。該電平轉(zhuǎn)換芯片選用的是SN74CB3T16210型號(hào)的芯片,該芯片的一些特點(diǎn)已有介紹。電平轉(zhuǎn)換電路的原理圖如圖1所示。
在圖1中,電平轉(zhuǎn)換芯片SN74CB3T16210的數(shù)據(jù)輸出引腳1B1-1B7與FPGA的I/O引腳I/O40-I/O47相連,編號(hào)為32的GND端口和FPGA的編號(hào)為79的GND端口相連;芯片的地址輸出引腳1B9、1B10、2B1-2B7和2B9與FPGA的I/O引腳I/O48-I/O53、I/O55-57和I/O60相連。這一連接成功的實(shí)現(xiàn)了電平轉(zhuǎn)換,當(dāng)工控機(jī)有圖像數(shù)據(jù)處理結(jié)果信號(hào)輸出時(shí),F(xiàn)PGA能通過(guò)CH365成為PCI總線的從設(shè)備,從總線接收數(shù)據(jù)處理結(jié)果信號(hào)。
本課題選用了DS-8和DS-4型的兩個(gè)撥碼開關(guān),其中DS-8撥碼開關(guān)用于設(shè)定端口地址,DS-4用于微調(diào)信號(hào)串行傳輸速率。端口地址設(shè)定與串行速率調(diào)節(jié)電路的原理圖如圖2所示,兩個(gè)撥碼開關(guān)的一端接電源,另外一端接有阻值為10 K的下拉電阻。撥碼開關(guān)接有下拉電阻的一端和FPGA的I/O引腳相連,其中DS-8撥碼開關(guān)與FPGA的引腳I/O136-I/O142和GND相連,DS-4撥碼開關(guān)與FPGA的引腳I/O132-I/O134和GND相連。
當(dāng)PCI局部總線向信號(hào)發(fā)送卡發(fā)送數(shù)據(jù)時(shí)先向FPGA發(fā)送觸發(fā)脈沖,通知FPGA準(zhǔn)備接收數(shù)據(jù)。在接收數(shù)據(jù)前,F(xiàn)PGA首先需要對(duì)PCI局部總線發(fā)出的端口地址做判斷,然后將接收到的數(shù)據(jù)存入寄存器中?;谶@樣的功能需求,本課題選用撥碼開關(guān)設(shè)定端口地址。FPGA選取10位地址信號(hào)中的5位與撥碼開關(guān)設(shè)定的值做比較,如果值相同,再根據(jù)其余5位地址信號(hào)向FPGA的四個(gè)寄存器中存入數(shù)據(jù)。
硬件電路是通過(guò)晶振的震蕩頻率產(chǎn)生脈沖信號(hào)的。晶振的震蕩頻率是固定的,但是電路中的信號(hào)傳輸速率需要根據(jù)需求調(diào)節(jié),所以需要設(shè)計(jì)分頻獲得合適的信號(hào)傳輸速率。為了從硬件和軟件雙渠道精確的控制信號(hào)傳輸速率,選擇撥碼開關(guān)設(shè)定值,并將該值與程序中為分頻設(shè)計(jì)的值相加,共同調(diào)節(jié)速率。
圖1 電平轉(zhuǎn)換電路
圖2 端口地址設(shè)定與串行速率調(diào)節(jié)電路
數(shù)據(jù)串行輸出電路主要有三部分組成:FPGA芯片、三態(tài)緩沖器,光電耦合器。其中本課題選擇的三態(tài)緩沖器的型號(hào)為74HC244。光電耦合器是依靠光電轉(zhuǎn)換來(lái)實(shí)現(xiàn)信號(hào)傳輸?shù)?,所以在傳輸電信?hào)的時(shí)候能夠很好的將輸入和輸出電信號(hào)隔離開來(lái)。這樣的電氣結(jié)構(gòu)使得輸入信號(hào)和輸出信號(hào)相隔離,并且將信號(hào)傳遞的方向被單一化,使得光電耦合器具備了電絕緣能力和抗干擾的能力。
光耦電路與FPGA芯片的連接電路如圖3所示,74HC244芯片是光電耦合器和FPGA芯片的橋梁。74HC244芯片的1G和2G引腳分別接地,使得輸入端和輸出端保持相同的狀態(tài)。輸入端引腳A1-A4和B1-B4分別與FPGA的I/O引腳I/O124-I/O131相連,輸出端與8組光電耦合器相連接。其中,1Y3引腳連接的光電耦合電路用于傳輸幀同步信號(hào),1Y2引腳連接的光電耦合電路用于傳輸位同步信號(hào),1Y1和2Y1-2Y4引腳連接的5路光電耦合電路均用于傳輸串行數(shù)據(jù),且每路串行數(shù)據(jù)均為32位,1Y1引腳連接的光電耦合電路作為備用數(shù)據(jù)傳輸電路。光電耦合器的另一端和2個(gè)并聯(lián)的9針串口連接器相連接,并接有阻值為10 KΩ的上拉電阻。
圖3 數(shù)據(jù)串行輸出電路
研制開發(fā)基于FPGA的串行總線,取代原有的剔除閥信號(hào)并行傳輸控制系統(tǒng),順應(yīng)了提高煙草異物剔除設(shè)備自動(dòng)化程度的需求。其中基于FPGA設(shè)計(jì)的信號(hào)發(fā)送卡保證了串行總線實(shí)現(xiàn)將異物剔除系統(tǒng)中經(jīng)工控機(jī)處理后的異物剔除信息高效的傳輸給剔除閥控制單元,最終實(shí)現(xiàn)精確剔除異物的目的。此研究結(jié)果將現(xiàn)場(chǎng)的并行傳輸方案改變?yōu)榇锌偩€方式的傳輸方案,削減了物理元器件的數(shù)量,系統(tǒng)結(jié)構(gòu)更為簡(jiǎn)單,設(shè)備的現(xiàn)場(chǎng)安裝及布線工作大為簡(jiǎn)化,可以實(shí)現(xiàn)設(shè)備的遠(yuǎn)程控制,方便設(shè)備今后的維護(hù)、升級(jí)工作。
[1]羅力凡,常春藤.基于VHDL的FPGA開發(fā)快速入門·技巧·實(shí)例[M].北京:人民郵電出版社,2009:2-6.
[2]Lattice Co.XP handbook.[OL].http://www.latticesemi.com.cn,2006.
[3]Brown S,Rose J.Architecture of FPGA and CPLD.IEEE Design and Test of Computers,1996:42-57.
[4]梁成志,王誠(chéng),趙延賓.Lattice FPGA/CPLD設(shè)計(jì)[M].北京:人民郵電出版社,2011:2-9.
[5]楊恒.FPGA/CPLD最新使用技術(shù)指南[M].北京:清華大學(xué)出版社,2005:12-15.
[6]楊林楠.基于FPGA的高速多路數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)工程,2007(7):35-37.