1、引言
八路脈沖量輸入模板(Pl)的功能是對8路0-50kHz閥值電壓在0-5V、0-12V、0-24V電平的脈沖量信號進(jìn)行測量,可以進(jìn)行相應(yīng)的頻率型和累積型信號的計(jì)算。頻率型和累積型分別適用于不同的場合。當(dāng)對累積精度要求較高時使用累積型組態(tài),而當(dāng)對瞬時流量精度要求較高時使用頻率型組態(tài)。
2、模板的主要技術(shù)指標(biāo)
1. PI模板可允許八路脈沖量信號輸入,并且通道之間是點(diǎn)點(diǎn)隔離的;
2. 信號頻率的輸入范圍:頻率型信號為0-50kHz,累積型信號為0-2kHz,輸入電流大于7mA;
3. 對輸入的脈沖量信號采用專用設(shè)備FPGA進(jìn)行計(jì)數(shù),做批處理;
4. 通過工程師站配置所需信息:每一路可選擇輸入信號范圍和類型及對應(yīng)的工程量量程、上下限報(bào)警點(diǎn)等,并記憶于模板上的非易失性存儲器中;
5. 根據(jù)所配置的信息,智能節(jié)點(diǎn)實(shí)現(xiàn)自動測量;
6. 最小辨識的輸入脈沖信號寬度為5μs,分辨率1Hz;
7. 具有整形處理、掉電保護(hù)、通信故障自檢與報(bào)警及CPU故障自檢與報(bào)警功能;
8. 專用計(jì)數(shù)設(shè)備FPGA與脈沖量信號之間采用了光電隔離措施,抗干擾能力強(qiáng);
9. 可安裝于測量現(xiàn)場,通過CANBUS總線將每一路的測量信息傳送到主控模板,方便地組成智能分布式控制系統(tǒng)。
3、模板的硬件組成及總體設(shè)計(jì)
PI模板選用MCgslZD64為微處理器,配以Altera公司生產(chǎn)的ACEXIK系列現(xiàn)場可編程門陣列即GA器件EPIK10、AGILENT公司的高速光耦合器6N136、施密特觸發(fā)器74HC14、總線驅(qū)動器PCA82C250等組成。PI模板設(shè)置了8路輸入通道,用來采集0-50kHz閥值電壓在0-5V、0-12V、0-24V電平的脈沖量信號,信號通過高速光耦合器6N136,再經(jīng)施密特觸發(fā)器74HC14對信號整形,整形后的信號進(jìn)入FPGA器件EPIK10,在該器件內(nèi)部完成對8路脈沖量信號的計(jì)數(shù),同時微處理器MC9512D64實(shí)現(xiàn)對FPGA器件的控制,從而完成對8路脈沖量的計(jì)數(shù)及結(jié)果的存取,并通過CAN總線通信將結(jié)果傳送到主控模板。
該設(shè)計(jì)選用了Altera公司生產(chǎn)的ACEXIK系列FPGA器件EPIK10實(shí)現(xiàn)對8路脈沖量的計(jì)數(shù),對于該器件的設(shè)計(jì)及功能的實(shí)現(xiàn)是PI模板設(shè)計(jì)的重點(diǎn)和難點(diǎn),下面就從可編程邏輯器件開始做詳細(xì)的介紹。Pl模板總體設(shè)計(jì)如圖1所示。
圖1 PI模板總體設(shè)計(jì)圖
4、FPGA實(shí)現(xiàn)8路脈沖量計(jì)數(shù)的設(shè)計(jì)
4.1 CPLD與FPGA的區(qū)別
在主控模板的設(shè)計(jì)中,采用了CPLD實(shí)現(xiàn)了總線的轉(zhuǎn)換,在脈沖量模板中又使用了FPGA來實(shí)現(xiàn)對脈沖量的計(jì)數(shù)。概括起來FPGA和CPLD都是由邏輯單元、I/O單元和互連三部分組成的,I/O單元的功能基本一致,單元、互連以及編程工藝則各不相同,而它們的區(qū)別又決定了它們應(yīng)用范圍的差別。
在選擇可編程邏輯器件時,所選器件的邏輯資源量能否滿足系統(tǒng)的要求是首要考慮的因素,但在實(shí)現(xiàn)調(diào)試前很難準(zhǔn)確確定芯片耗費(fèi)的資源。PLD器件的應(yīng)用大都是在使用開發(fā)軟件前大概估算一下所需資源量,選擇有一定冗余的器件以便充分滿足系統(tǒng)的設(shè)計(jì)要求,同時也要考慮系統(tǒng)設(shè)計(jì)完成后,有可能增加新的功能,以及后期硬件升級的可能性。本系統(tǒng)設(shè)計(jì)時選用的是可編程邏輯器件的主流廠家Altera公司新近提供的一款中等密度器件ACEXIK系列的FPGA器件EPIK10。
ACEXIK系列采用SOPC設(shè)計(jì),是基于Altera公司的查找表結(jié)構(gòu)的一種現(xiàn)場可編程門陣列(FPGA),性能高,功率低。ACEXIK系列基于靜態(tài)存儲器SRAM結(jié)構(gòu),管腳之間的延遲低于3.5ns,集成了10000-100000個可用門。
4.2 配置器件
基于靜態(tài)存儲器SRAM結(jié)構(gòu)的可編程器件在芯片掉電時其存儲的數(shù)據(jù)將丟失,所以這類FPGA必須與一塊EPROM或EZPROM連用—將各點(diǎn)的編程數(shù)據(jù)存儲在E2PROM(或EPROM中)。芯片每次上電工作時,首先將各編程點(diǎn)的觸發(fā)器按E2PROM中存儲的數(shù)據(jù)置位,則FPGA芯片就能執(zhí)行所設(shè)計(jì)的功能。因?yàn)樵谶@種方式中,各實(shí)際的連接器件并未像CPLD那樣被燒死,換用其他編程數(shù)據(jù)即可按其他的設(shè)計(jì)結(jié)果工作,所以常將這種方式稱為配置(Configure)。
Altera的配置器件可以存儲基于SRAM工藝的ACEX、FLEX、APEX系列器件的配置數(shù)據(jù),提供的配置器件支持ISP,簡化了設(shè)計(jì)流程,并且可以現(xiàn)場升級;支持多重端口電壓標(biāo)準(zhǔn),支持3.3V和5V電壓,適合于混合電壓設(shè)計(jì)使用,并且密度范圍寬。該設(shè)計(jì)中選用的EP1K10器件的配置器件可以是EPC1、EPC2和EPC1441,它們都支持3.3V和5V電壓,不同的是存儲空間大小不同,設(shè)計(jì)中選用了EPC1441,它可存儲440800個字節(jié)。
所有的APEX、FLEX和ACEX系列器件可以控制整個配置過程,在不需要控制器的條件下可以自動的從配置器件當(dāng)中讀取數(shù)據(jù),完成配置過程。如圖2所示,是用EPC1441配置EP1K10器件的電路圖。
EPC1441將配置數(shù)據(jù)存儲在EPROM中,用內(nèi)部振蕩器存儲串行時鐘數(shù)據(jù)的輸出。OE、nCS和DCLK引腳為地址計(jì)數(shù)器和輸出三態(tài)緩沖器提供控制信號。配置器件發(fā)送一串連續(xù)的配置數(shù)據(jù)到它的DAIA引腳,這樣數(shù)據(jù)就被發(fā)送到EP1K10的DATA0或DATA輸入引腳上,完成了配置過程。
4.3 開發(fā)軟件Max+PlusII的功能及使用
對于CPLD/FPGA的設(shè)計(jì)來說,成功與否在很大程度上取決于EDA開發(fā)軟件。在提供高性能芯片的同時,Altera公司也提供了強(qiáng)大且易于使用的軟件開發(fā)工具M(jìn)ax+PlusII。設(shè)計(jì)者不需精通器件內(nèi)部的復(fù)雜結(jié)構(gòu),可以用自己熟悉的設(shè)計(jì)工具,如原理圖輸入或硬件描述語言建立設(shè)計(jì),Max+PlusII把這些設(shè)計(jì)自動轉(zhuǎn)換成最終所需的格式,設(shè)計(jì)速度非??臁ax+PlusII的設(shè)計(jì)流程包括幾個部分,如圖3:
圖2 EPC1441配置EP1K10器件電路圖 圖3 軟件開發(fā)流程
Max+PlusII為實(shí)現(xiàn)不同的邏輯功能提供了大量的圖形元件和宏功能符號供設(shè)計(jì)人員在圖表編譯器文件中直接使用。這些功能為FPGA的設(shè)計(jì)提供了高度的靈活性,縮短了開發(fā)周期,在該設(shè)計(jì)中使用了大量的74系列邏輯實(shí)現(xiàn)鎖存、計(jì)數(shù)、譯碼等功能。
5、具體設(shè)計(jì)方案及實(shí)現(xiàn)
模板選用Altera的FPGA器件EP1K10實(shí)現(xiàn)8路脈沖量計(jì)數(shù)的功能,如圖4所示。
圖4 FPGA內(nèi)部設(shè)計(jì)框圖
對該器件的設(shè)計(jì)包括接口電路設(shè)計(jì)和計(jì)數(shù)電路設(shè)計(jì)兩個部分,其中計(jì)數(shù)電路部分又包括閘門、計(jì)數(shù)器和鎖存器三個部分的設(shè)計(jì)。
圖5是對計(jì)數(shù)電路部分的具體設(shè)計(jì)原理圖,圖中只畫出了對第一路脈沖量信號計(jì)數(shù)的電路,對其他七路信號的計(jì)數(shù)與此相同。如圖所示,選用74HC125相當(dāng)于一閘門,脈沖信號接到輸入引腳,輸出控制引腳接至CPU來控制何時將脈沖信號輸出至計(jì)數(shù)器開始計(jì)數(shù)。一個74HC125可控制四路脈沖信號,那么只需兩個74HC125即可完成對八路脈沖信號的計(jì)數(shù)使能。
圖5 EP1K10實(shí)現(xiàn)脈沖計(jì)數(shù)的內(nèi)部原理圖
對計(jì)數(shù)器的設(shè)計(jì)是用4片4位二進(jìn)制加法計(jì)數(shù)器74161采用同步級聯(lián)方式構(gòu)成的16位二進(jìn)制同步加法計(jì)數(shù)器。四個芯片公用外部時鐘和清零信號。由于低位片的ENT=ENP=1,所以總是工作在計(jì)數(shù)狀態(tài)。而高位片的ENT、ENP接低位片的進(jìn)位輸出端RCO,所以只有當(dāng)?shù)臀黄?jì)數(shù)到最大值1111時,RCO=1使高位片的ENT=ENP=1,滿足計(jì)數(shù)條件,在下一個時鐘脈沖到來時,低位片回零,高位片加1,實(shí)現(xiàn)了進(jìn)位。由于四個芯片共用外部時鐘,在需要翻轉(zhuǎn)時,四片同時翻轉(zhuǎn),所以稱為同步級聯(lián)。
Max-PlusII中提供了大量的庫文件,其中包括了上面設(shè)計(jì)圖中的74系列邏輯元件及各種門,只需調(diào)用即可。在新建的項(xiàng)目下輸入設(shè)計(jì)好的圖形后,下一步是對其進(jìn)行編譯。打開“ComPiler”,選擇“start”開始編譯。編譯成功后生成時序模擬文件和器件編程文件。若有錯誤,編譯器停止編譯,并在下面信息框中給出錯誤信息。編譯器通過“TimingSNFExtractor”后就可以進(jìn)行時序模擬,判斷輸入輸出間的延遲。
為使設(shè)計(jì)符合用戶的要求,由編譯器自動選擇的目標(biāo)器件和管腳鎖定將由用戶重新選擇。此時需要對項(xiàng)目進(jìn)行重新編譯。最后將設(shè)計(jì)的項(xiàng)目配置到所選擇的器件中。
本文作者創(chuàng)新點(diǎn):
可編程邏輯器件的應(yīng)用成為現(xiàn)代電子電路設(shè)計(jì)中的高效方式。本文基于FPGA實(shí)現(xiàn)了對8路脈沖量信號的計(jì)數(shù)功能,滿足了模板的性能要求,同時,具有較強(qiáng)的實(shí)時性,可以滿足工業(yè)現(xiàn)場高速通信的需要,也可為復(fù)雜控制系統(tǒng)實(shí)現(xiàn)實(shí)時控制提供強(qiáng)有力的工具。
責(zé)任編輯:gt
評論
查看更多