專(zhuān)利名稱(chēng):Arm+fpga組成的計(jì)數(shù)器裝置的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型涉及一種計(jì)數(shù)器裝置,特別涉及一種可編程控制器(PLC)的計(jì)數(shù)器裝置。
背景技術(shù):
隨著科學(xué)技術(shù)的不斷發(fā)展,可編程控制器(以下簡(jiǎn)稱(chēng)PLC)作為一種專(zhuān)為工業(yè)環(huán)境應(yīng)用而設(shè)計(jì)的電子系統(tǒng),愈來(lái)愈廣泛地被應(yīng)用。在PLC的應(yīng)用系統(tǒng)中,使用量較大的是計(jì)數(shù)周期大于PLC用戶(hù)程序掃描周期的計(jì)數(shù)器,即普通計(jì)數(shù)器,這種普通計(jì)數(shù)器的分類(lèi)方法常有兩種,從停電是否保存計(jì)數(shù)值的角度來(lái)分類(lèi),分為保持型計(jì)數(shù)器和非保持型計(jì)數(shù)器;從計(jì)數(shù)方向的角度,分為增計(jì)數(shù)器和增/減可控計(jì)數(shù)器,增/減可控計(jì)數(shù)器是處于增計(jì)數(shù)還是處于減計(jì)數(shù)由指定的特殊寄存器狀態(tài)來(lái)控制,計(jì)數(shù)器屬于哪種類(lèi)型則由事先設(shè)計(jì)好的計(jì)數(shù)器編號(hào)確定,每個(gè)計(jì)數(shù)器有一個(gè)軟觸頭與該計(jì)數(shù)器編號(hào)對(duì)應(yīng),如果計(jì)數(shù)器的當(dāng)前計(jì)數(shù)值與計(jì)數(shù)器設(shè)置值相等則計(jì)數(shù)器停止計(jì)數(shù),計(jì)數(shù)器的軟觸頭處于動(dòng)合狀態(tài),直到對(duì)計(jì)數(shù)器進(jìn)行復(fù)位,計(jì)數(shù)器的軟觸頭恢復(fù)常態(tài),計(jì)數(shù)器在其他狀態(tài)下其軟觸頭處于常態(tài)。通常,上述計(jì)數(shù)器是通過(guò)如下方法來(lái)實(shí)現(xiàn)PLC用戶(hù)程序執(zhí)行某一個(gè)計(jì)數(shù)器軟元件輸出指令時(shí),首先根據(jù)輸出指令給定的計(jì)數(shù)器編號(hào)判斷是增計(jì)數(shù)器還是增/減可控計(jì)數(shù)器,對(duì)于增/減可控計(jì)數(shù)器需要判斷是處于增計(jì)數(shù)狀態(tài)還是減計(jì)數(shù)狀態(tài),依據(jù)計(jì)數(shù)器的受控情況還需進(jìn)一步判斷計(jì)數(shù)器是處于失電還是得電狀態(tài),如果處于得電狀態(tài),需要判斷計(jì)數(shù)條件是否滿(mǎn)足,如果計(jì)數(shù)條件不滿(mǎn)足,PLC用戶(hù)程序可以不對(duì)該計(jì)數(shù)器作任何操作,如果計(jì)數(shù)條件滿(mǎn)足需要將該計(jì)數(shù)器的計(jì)數(shù)動(dòng)態(tài)參數(shù)單元中的值進(jìn)行加1或減1計(jì)算,然后與該計(jì)數(shù)器的設(shè)置值進(jìn)行比較,如果計(jì)數(shù)動(dòng)態(tài)值小于/大于設(shè)置值,設(shè)置已得電計(jì)數(shù)的標(biāo)志,如果相等,則設(shè)置該計(jì)數(shù)器軟觸頭單元狀態(tài)為“1”,如果處于失電狀態(tài),清得電計(jì)數(shù)的標(biāo)志; PLC用戶(hù)程序在執(zhí)行某一個(gè)計(jì)數(shù)器的復(fù)位指令時(shí),需要進(jìn)行以下操作清該計(jì)數(shù)器得電計(jì)數(shù)的標(biāo)志,清該計(jì)數(shù)器的軟觸頭單元內(nèi)容為“0”,以及清該計(jì)數(shù)器動(dòng)態(tài)參數(shù)單元內(nèi)容。PLC執(zhí)行計(jì)數(shù)器輸出指令時(shí),若計(jì)數(shù)器處于得電且計(jì)數(shù)條件滿(mǎn)足,進(jìn)行加1/減1操作之后與計(jì)數(shù)器計(jì)數(shù)的設(shè)置值相等時(shí)需要較多的操作,具體為根據(jù)輸出指令給定的計(jì)數(shù)器編號(hào)判斷計(jì)數(shù)器類(lèi)型的步驟需要一到二次;需要判斷一次得電或失電的狀態(tài);如果是得電狀態(tài)還需要判斷是否滿(mǎn)足計(jì)數(shù)條件,若滿(mǎn)足計(jì)數(shù)條件需要加1 一次/減1 一次,需要判斷一次是否等于設(shè)置值,如果計(jì)數(shù)動(dòng)態(tài)值等于設(shè)置值,還需設(shè)置該計(jì)數(shù)器軟觸頭單元狀態(tài)為 “1”;PLC完成執(zhí)行輸出命令的操作,需要判斷四次/五次,加1/減1 一次,設(shè)置位單元狀態(tài)一次,共計(jì)需要操作八次/九次。操作最少次數(shù)的是繼電器得電不滿(mǎn)足計(jì)數(shù)的狀態(tài),只需判斷二次/三次,增/減可控計(jì)數(shù)器的加1和減1操作采用補(bǔ)碼,其計(jì)數(shù)動(dòng)態(tài)參數(shù)值與計(jì)數(shù)設(shè)置值大小的比較應(yīng)用補(bǔ)碼進(jìn)行比較,或?qū)⒀a(bǔ)碼轉(zhuǎn)換成原碼再進(jìn)行比較。執(zhí)行計(jì)數(shù)器復(fù)位指令時(shí),清標(biāo)志二次,清數(shù)據(jù)一次或清數(shù)據(jù)二次;計(jì)數(shù)器在各種運(yùn)行狀態(tài)下,其執(zhí)行計(jì)數(shù)器指令操作步數(shù)不一樣,在PLC用戶(hù)程序中,計(jì)數(shù)器使用的數(shù)量越多,則PLC用戶(hù)程序的執(zhí)行周期時(shí)間變化越大,執(zhí)行計(jì)數(shù)器輸出指令占用時(shí)間也越長(zhǎng),導(dǎo)致影響PLC用戶(hù)程序的執(zhí)行速度,延長(zhǎng)了 PLC用戶(hù)程序的執(zhí)行周期。 發(fā)明內(nèi)容本實(shí)用新型的目的在于提供一種執(zhí)行速度快、能實(shí)現(xiàn)對(duì)數(shù)量眾多的計(jì)數(shù)器進(jìn)行計(jì)數(shù)控制的ARM+FPGA組成的計(jì)數(shù)器裝置,以克服上述已有技術(shù)的不足之處。為實(shí)現(xiàn)上述目的,本實(shí)用新型所采用的技術(shù)方案為一種ARM+FPGA組成的計(jì)數(shù)器裝置,是以嵌入式ARM微處理器為控制核心、以FPGA 進(jìn)行計(jì)數(shù)處理,包括ARM控制模塊I、FPGA計(jì)數(shù)器模塊III、存儲(chǔ)器模塊II、SDRAM掉電保護(hù)模塊VI、電源模塊V以及雙口 RAM模塊IV ;ARM控制模塊I分別與上述存儲(chǔ)器模塊II、FPGA 計(jì)數(shù)器模塊III、雙口 RAM模塊IV、SDRAM掉電保護(hù)模塊VI及電源模塊V連接,以嵌入式ARM微處理器為控制核心,構(gòu)建嵌入式實(shí)時(shí)操作系統(tǒng),進(jìn)行多任務(wù)管理和通信管理,實(shí)現(xiàn)對(duì)裝置中各個(gè)模塊信息的處理和控制;存儲(chǔ)器模塊II用于存儲(chǔ)操作系統(tǒng)及系統(tǒng)程序的目標(biāo)代碼映像文件、執(zhí)行用戶(hù)程序的處理信息、以及為計(jì)數(shù)器裝置數(shù)據(jù)的處理和通信提供空間;雙口 RAM 模塊IV分別與FPGA計(jì)數(shù)器模塊III和ARM控制模塊I連接,以實(shí)現(xiàn)ARM控制模塊I與FPGA 計(jì)數(shù)器模塊III之間的數(shù)據(jù)傳輸;FPGA計(jì)數(shù)器模塊III用于判斷計(jì)數(shù)器的類(lèi)型,實(shí)施與計(jì)數(shù)設(shè)定值的比較及計(jì)數(shù)運(yùn)算,通過(guò)對(duì)雙口 RAM模塊IV的讀寫(xiě)控制,將計(jì)數(shù)器的狀態(tài)傳送至ARM控制模塊I ;SDRAM掉電保護(hù)模塊VI與FPGA計(jì)數(shù)器模塊III連接,用于避免在電源切換過(guò)程中存儲(chǔ)器內(nèi)容的變化,并應(yīng)用其中的電源為動(dòng)態(tài)參數(shù)存儲(chǔ)器供電;電源模塊V為上述ARM控制模塊I、存儲(chǔ)器模塊II、FPGA計(jì)數(shù)器模塊IILSDRAM掉電保護(hù)模塊VI及雙口 RAM模塊IV提供變壓電源。由以上方案可見(jiàn),本實(shí)用新型以嵌入式ARM微處理器為控制模塊,F(xiàn)PGA為計(jì)數(shù)處理模塊構(gòu)成ARM+FPGA計(jì)數(shù)器裝置,采用FPGA實(shí)現(xiàn)計(jì)數(shù)器的各種處理操作,無(wú)論計(jì)數(shù)器裝置中的計(jì)數(shù)器數(shù)量多少與否,其占用嵌入式ARM微處理器執(zhí)行用戶(hù)程序的時(shí)間都非常少, 因此,可以應(yīng)用于開(kāi)發(fā)可編程控制器以及大規(guī)模的計(jì)數(shù)器;同時(shí),由于對(duì)計(jì)數(shù)器的操作,如 計(jì)數(shù)功能控制、計(jì)數(shù)器狀態(tài)設(shè)置等,均由FPGA計(jì)數(shù)器模塊III完成,不占用PLC用戶(hù)程序執(zhí)行的時(shí)間,大大提高了計(jì)數(shù)器裝置的反應(yīng)速度;無(wú)論計(jì)數(shù)器處于何種運(yùn)行狀態(tài),ARM控制模塊 I對(duì)每個(gè)同類(lèi)型的計(jì)數(shù)器所執(zhí)行指令的操作次數(shù)是基本相同的,減少了執(zhí)行有關(guān)計(jì)數(shù)器指令時(shí)對(duì)PLC用戶(hù)程序執(zhí)行周期變化的影響。其進(jìn)一步技術(shù)方案是該ARM+FPGA組成的計(jì)數(shù)器裝置中的SDRAM掉電保護(hù)模塊VI 包括相互連接的SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器和SDRAM掉電保護(hù)電路,該SDRAM掉電保護(hù)模塊VI在電源切換過(guò)程中應(yīng)用SDRAM掉電保護(hù)電路的電源為SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器供電,以避免SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器內(nèi)容發(fā)生變化。由以上方案可見(jiàn),由于計(jì)數(shù)器裝置中的計(jì)數(shù)動(dòng)態(tài)參數(shù)由SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器進(jìn)行存儲(chǔ),計(jì)數(shù)操作由FPGA計(jì)數(shù)器模塊III處理,該FPGA計(jì)數(shù)器模塊III從雙口 RAM模塊 IV中接收ARM控制模塊I發(fā)出的控制處理指令以進(jìn)行循環(huán)操作,因此,計(jì)數(shù)器的數(shù)量只受 SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器、計(jì)數(shù)器軟觸頭位單元和雙口 RAM模塊IV中容量和地址線(xiàn)的限制,只要增加SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器、計(jì)數(shù)器軟觸頭位單元和雙口 RAM模塊IV中的存儲(chǔ)器容量,以及增加地址線(xiàn)的根數(shù),計(jì)數(shù)器的個(gè)數(shù)可以成倍數(shù)的增加,其計(jì)數(shù)器裝置設(shè)置的計(jì)數(shù)器數(shù)量能夠達(dá)到數(shù)百個(gè)乃至千余個(gè),且不需要在ARM控制模塊I的方法中編制計(jì)數(shù)參數(shù)的處理過(guò)程,只是將每個(gè)計(jì)數(shù)器作為普通存儲(chǔ)單元進(jìn)行讀寫(xiě)和判斷操作,本實(shí)用新型適合需要數(shù)量眾多計(jì)數(shù)器計(jì)數(shù)與計(jì)數(shù)控制的系統(tǒng)需求,以及對(duì)計(jì)數(shù)精度要求很高的系統(tǒng), 尤其適應(yīng)于PLC控制系統(tǒng)。其更進(jìn)一步技術(shù)方案是ARM控制模塊I包括嵌入式ARM微處理器、人機(jī)交互電路、控制電路、復(fù)位電路和JTAG調(diào)試接口電路;嵌入式ARM微處理器作為ARM控制模塊I的控制核心,分別與上述人機(jī)交互電路、控制電路、復(fù)位電路和JTAG調(diào)試接口電路連接,進(jìn)行多任務(wù)管理和通信管理,以實(shí)現(xiàn)對(duì)上述各電路的信息處理和控制;人機(jī)交互電路用于執(zhí)行系統(tǒng)的控制命令、控制參數(shù)的輸入以及系統(tǒng)各種參數(shù)的人機(jī)界面控制;控制電路用于系統(tǒng)數(shù)據(jù)采集及控制驅(qū)動(dòng);復(fù)位電路為系統(tǒng)電路提供復(fù)位信號(hào)JTAG調(diào)試接口電路提供調(diào)試接口,該接口與外接電路相連,以實(shí)現(xiàn)編程裝置對(duì)ARM控制模塊I的軟硬件調(diào)試。由以上方案可見(jiàn),ARM控制模塊I對(duì)于PLC用戶(hù)程序使用的每個(gè)計(jì)數(shù)器,當(dāng)程序執(zhí)行某個(gè)計(jì)數(shù)器軟元件輸出指令時(shí),首先由嵌入式ARM微處理器判斷該計(jì)數(shù)器的類(lèi)型、所處的工作狀態(tài),然后從雙口 RAM模塊IV將該計(jì)數(shù)器參數(shù)存儲(chǔ)單元中的內(nèi)容讀入ARM控制模塊 I中并設(shè)置運(yùn)行狀態(tài)標(biāo)志,再傳輸?shù)诫p口 RAM模塊IV的該計(jì)數(shù)器參數(shù)存儲(chǔ)單元中,PLC用戶(hù)程序執(zhí)行時(shí),相當(dāng)于將每個(gè)計(jì)數(shù)器只進(jìn)行讀寫(xiě)和判斷操作;當(dāng)PLC用戶(hù)程序執(zhí)行應(yīng)用某個(gè)計(jì)數(shù)器軟觸頭信息進(jìn)行處理時(shí),只需要從雙口 RAM模塊IV中讀取該計(jì)數(shù)器軟觸頭的位存儲(chǔ)單元內(nèi)容,如此,大大提高了運(yùn)行速度。其更進(jìn)一步技術(shù)方案是FPGA計(jì)數(shù)器模塊III包括計(jì)數(shù)器控制器、計(jì)數(shù)器軟觸頭位單元和FPGA內(nèi)部總線(xiàn);計(jì)數(shù)器控制器是FPGA計(jì)數(shù)器模塊III的控制核心,其通過(guò)FPGA內(nèi)部總線(xiàn)分別與計(jì)數(shù)器軟觸頭位單元、SDRAM掉電保護(hù)模塊VI以及雙口 RAM模塊IV連接,并通過(guò)雙口 RAM模塊IV與ARM控制模塊I連接;計(jì)數(shù)器控制器從ARM控制模塊I獲取計(jì)數(shù)器的運(yùn)行狀態(tài)、類(lèi)型、參數(shù)信息、復(fù)位信息以及計(jì)數(shù)實(shí)時(shí)參數(shù)讀取命令,根據(jù)上述計(jì)數(shù)器的運(yùn)行狀態(tài)、各類(lèi)信息及參數(shù)進(jìn)行判斷并進(jìn)行相應(yīng)處理、并將計(jì)數(shù)器處理的結(jié)果狀態(tài)傳輸給雙口 RAM 模塊IV ;計(jì)數(shù)器軟觸頭位單元模塊為計(jì)數(shù)器軟觸頭狀態(tài)的存放空間,可實(shí)現(xiàn)字尋址和位尋址。由以上方案可見(jiàn),本實(shí)用新型采用FPGA進(jìn)行計(jì)數(shù)器功能處理,計(jì)數(shù)器控制器從 ARM控制模塊I獲得計(jì)數(shù)器運(yùn)行和計(jì)數(shù)設(shè)置參數(shù)的信息或復(fù)位信息,然后據(jù)此對(duì)計(jì)數(shù)器的運(yùn)行實(shí)施計(jì)數(shù)控制,其結(jié)果再傳輸?shù)诫p口 RAM模塊該計(jì)數(shù)器參數(shù)存儲(chǔ)單元中,PLC用戶(hù)程序執(zhí)行時(shí),相當(dāng)于將每個(gè)計(jì)數(shù)器只進(jìn)行讀、寫(xiě)和判斷操作;另一方面,計(jì)數(shù)器的計(jì)數(shù)運(yùn)行操作、 計(jì)數(shù)器軟觸頭狀態(tài)的設(shè)置由FPGA計(jì)數(shù)器模塊完成,不占用PLC用戶(hù)程序執(zhí)行的時(shí)間,提高了裝置的反應(yīng)速度。其更進(jìn)一步技術(shù)方案是,存儲(chǔ)器模塊II包括分別與ARM控制模塊I連接的Nor FLASH存儲(chǔ)器、Nand FLASH存儲(chǔ)器和SDRAM存儲(chǔ)器;Nor FLASH存儲(chǔ)器用于存儲(chǔ)操作系統(tǒng)及系統(tǒng)程序的目標(biāo)代碼映像文件;Nand FLASH存儲(chǔ)器用于存放執(zhí)行用戶(hù)程序;SDRAM存儲(chǔ)器用于存放計(jì)數(shù)器裝置的處理和通信信息,并為系統(tǒng)運(yùn)行和通信數(shù)據(jù)處理提供空間。由以上方案可見(jiàn),采用Nor FLASH存儲(chǔ)器、Nand FLASH存儲(chǔ)器和SDRAM存儲(chǔ)器分別存儲(chǔ)代碼映像文件、存放處理信息和提供處理空間,計(jì)數(shù)器裝置在運(yùn)行時(shí)只需要從相應(yīng)的存儲(chǔ)器中讀數(shù)據(jù)或?qū)憯?shù)據(jù),避免由于各種操作集中在某一存儲(chǔ)器而造成的數(shù)據(jù)沖突情況, 從而提高了計(jì)數(shù)器裝置的運(yùn)行速度。
圖1是本實(shí)用新型之ARM+FPGA組成的計(jì)數(shù)器裝置第一實(shí)施例的系統(tǒng)結(jié)構(gòu)框圖;圖2是本實(shí)用新型之ARM+FPGA組成的計(jì)數(shù)器裝置第一實(shí)施例的電路結(jié)構(gòu)框圖;圖3是本實(shí)用新型之ARM+FPGA組成的計(jì)數(shù)器裝置第一實(shí)施例的FPGA計(jì)數(shù)器模塊的結(jié)構(gòu)框圖;圖4是本實(shí)用新型之ARM+FPGA組成的計(jì)數(shù)器裝置第一實(shí)施例的計(jì)數(shù)器參數(shù)32位字長(zhǎng)單元結(jié)構(gòu)示意圖;圖5是本實(shí)用新型之ARM+FPGA組成的計(jì)數(shù)器裝置的雙口 RAM模塊的存儲(chǔ)區(qū)分配示意圖;圖6是本實(shí)用新型之ARM+FPGA組成的計(jì)數(shù)器裝置第二實(shí)施例的系統(tǒng)結(jié)構(gòu)框圖;圖7是本實(shí)用新型之ARM+FPGA組成的計(jì)數(shù)器裝置第二實(shí)施例的電路結(jié)構(gòu)框圖;圖8是本實(shí)用新型之ARM+FPGA組成的計(jì)數(shù)器裝置第二實(shí)施例的FPGA計(jì)數(shù)器結(jié)構(gòu)示意圖。圖中I —ARM控制模塊,II 一存儲(chǔ)器模塊,III-FPGA計(jì)數(shù)器模塊,IV—雙口 RAM模塊, V—電源模塊,VI— SDRAM掉電保護(hù)模塊;11 一嵌入式ARM微處理器,12—人機(jī)交互電路,13—控制電路,14一復(fù)位電路, 15— JTAG調(diào)試接口電路;21—Nor FLASH 存儲(chǔ)器,22 — Nand FLASH 存儲(chǔ)器,23 — SDRAM 存儲(chǔ)器;31—計(jì)數(shù)器控制器,32—計(jì)數(shù)器軟觸頭位單元;51—電壓轉(zhuǎn)換電路,52—外部電源;61—SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器,62— SDRAM掉電保護(hù)電路;其余編號(hào)意義參見(jiàn)說(shuō)明書(shū)實(shí)施例。下面結(jié)合實(shí)施例及其附圖對(duì)本實(shí)用新型作進(jìn)一步說(shuō)明。
具體實(shí)施方式
組成的計(jì)數(shù)器裝置實(shí)施例一參見(jiàn)圖1,該計(jì)數(shù)器裝置是以嵌入式ARM微處理器為控制核心、以FPGA進(jìn)行計(jì)數(shù)處理,包括ARM控制模塊I、FPGA計(jì)數(shù)器模塊III、存儲(chǔ)器模塊II、電源模塊V、雙口 RAM模塊 IV及SDRAM掉電保護(hù)模塊VI ;ARM控制模塊I分別與上述存儲(chǔ)器模塊II、FPGA計(jì)數(shù)器模塊 III、雙口 RAM模塊IV及電源模塊V連接,以嵌入式ARM微處理器為控制核心,構(gòu)建嵌入式實(shí)時(shí)操作系統(tǒng),進(jìn)行多任務(wù)管理和通信管理,實(shí)現(xiàn)對(duì)裝置中各個(gè)模塊信息的處理和控制;存儲(chǔ)器模塊II用于存儲(chǔ)操作系統(tǒng)及系統(tǒng)程序的目標(biāo)代碼映像文件、執(zhí)行用戶(hù)程序的處理信息、 以及為計(jì)數(shù)器裝置數(shù)據(jù)的處理和通信提供空間;雙口 RAM模塊IV分別與FPGA計(jì)數(shù)器模塊 III和ARM控制模塊I連接,以實(shí)現(xiàn)ARM控制模塊I與FPGA計(jì)數(shù)器模塊III之間的數(shù)據(jù)傳輸; FPGA計(jì)數(shù)器模塊III用于判斷計(jì)數(shù)器的類(lèi)型,實(shí)施與計(jì)數(shù)設(shè)定值的比較及計(jì)數(shù)運(yùn)算,通過(guò)對(duì)所述雙口 RAM模塊IV的讀寫(xiě)控制,將計(jì)數(shù)器的狀態(tài)傳送至ARM,該模塊以計(jì)數(shù)器控制器31為核心,實(shí)現(xiàn)計(jì)數(shù)器的類(lèi)型判斷、增計(jì)數(shù)器的加1運(yùn)算、增/減可控計(jì)數(shù)器的加1或減1、計(jì)數(shù)動(dòng)態(tài)參數(shù)值與計(jì)數(shù)設(shè)置值的大小比較,增/減可控計(jì)數(shù)器的計(jì)數(shù)參數(shù)處理為補(bǔ)碼運(yùn)算,計(jì)數(shù)功能控制、計(jì)數(shù)器軟觸頭位單元32的字尋址和位尋址讀、寫(xiě)功能、SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器61的讀、寫(xiě)功能,雙口 RAM模塊IV的讀、寫(xiě)功能;電源模塊V為上述ARM控制模塊I、 存儲(chǔ)器模塊II、FPGA計(jì)數(shù)器模塊III及雙口 RAM模塊IV提供變壓電源;SDRAM掉電保護(hù)模塊VI 與FPGA計(jì)數(shù)器模塊III連接,該SDRAM掉電保護(hù)模塊VI包括相互連接的SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器和SDRAM掉電保護(hù)電路,SDRAM掉電保護(hù)模塊VI應(yīng)用SDRAM掉電保護(hù)電路的電源為SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器供電,以避免在電源切換過(guò)程中SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器內(nèi)容發(fā)生變化。其中,該計(jì)數(shù)器裝置的具體結(jié)構(gòu)為ARM控制模塊I包括嵌入式ARM微處理器11、人機(jī)交互電路12、控制電路13、復(fù)位電路14和JTAG調(diào)試接口電路15,參見(jiàn)圖2,嵌入式ARM微處理器11作為控制核心,分別與人機(jī)交互電路12、控制電路13、復(fù)位電路14和JTAG調(diào)試接口電路15連接,進(jìn)行多任務(wù)管理和通信管理,以實(shí)現(xiàn)對(duì)各組成電路的信息處理和控制;人機(jī)交互電路12完成系統(tǒng)的控制命令和控制參數(shù)的輸入和系統(tǒng)各種參數(shù)的人機(jī)界面控制;控制電路13完成ARM控制模塊I 的數(shù)據(jù)采集與控制驅(qū)動(dòng);復(fù)位電路14為系統(tǒng)電路提供復(fù)位信號(hào);JTAG調(diào)試接口電路15提供調(diào)試接口與外接電路相連實(shí)現(xiàn)編程裝置對(duì)ARM控制模塊I的硬件和軟件的調(diào)試。嵌入式 ARM微處理器11在對(duì)PLC用戶(hù)程序的編譯階段,將每個(gè)增計(jì)數(shù)器的1個(gè)計(jì)數(shù)設(shè)置值和每個(gè)增/減可控計(jì)數(shù)器的2個(gè)補(bǔ)碼計(jì)數(shù)設(shè)置值傳送給雙口 RAM模塊IV,檢測(cè)計(jì)數(shù)器實(shí)時(shí)計(jì)數(shù)值讀取指令,按照編譯出現(xiàn)這類(lèi)指令出現(xiàn)的先后順序?qū)⒃撚?jì)數(shù)器的編號(hào)傳輸給雙口 RAM模塊 IV,計(jì)數(shù)器順序編號(hào)包含在編譯后的計(jì)數(shù)器實(shí)時(shí)計(jì)數(shù)值讀取指令中;在PLC用戶(hù)程序的執(zhí)行過(guò)程中,執(zhí)行計(jì)數(shù)器軟元件處理指令時(shí),ARM控制模塊I將該計(jì)數(shù)器的得電或失電、增/ 減可控計(jì)數(shù)器是增計(jì)數(shù)還是減計(jì)數(shù)的控制信息傳輸給雙口 RAM模塊IV,執(zhí)行計(jì)數(shù)器軟元件復(fù)位指令時(shí),ARM控制模塊I將該計(jì)數(shù)器的復(fù)位或不復(fù)位信息傳輸給雙口 RAM模塊IV,執(zhí)行讀取計(jì)數(shù)器觸頭信息時(shí),ARM控制模塊I直接從雙口 RAM模塊IV中讀取該計(jì)數(shù)器的觸頭狀態(tài)信息,執(zhí)行實(shí)時(shí)計(jì)數(shù)值讀取指令時(shí),ARM控制模塊I直接從雙口 RAM模塊IV中讀取該計(jì)數(shù)器的動(dòng)態(tài)計(jì)數(shù)參數(shù)。存儲(chǔ)器模塊II包括分別與ARM控制模塊I連接的Nor FLASH存儲(chǔ)器21、Nand FLASH22存儲(chǔ)器和SDRAM存儲(chǔ)器23,其結(jié)構(gòu)示意圖見(jiàn)圖2 ;Nor FLASH存儲(chǔ)器21、Nand FLASH 存儲(chǔ)器22和SDRAM存儲(chǔ)器23分別通過(guò)系統(tǒng)數(shù)據(jù)總線(xiàn)、地址總線(xiàn)和控制總線(xiàn)與ARM控制模塊I的嵌入式ARM微處理器11連接,實(shí)現(xiàn)ARM微處理器11對(duì)各個(gè)存儲(chǔ)器的操作控制,Nor FLASH存儲(chǔ)器21用于存儲(chǔ)操作系統(tǒng)及系統(tǒng)程序的目標(biāo)代碼映像文件,Nand FLASH存儲(chǔ)器 22用于存放執(zhí)行用戶(hù)程序,SDRAM存儲(chǔ)器23用于存放計(jì)數(shù)器裝置的處理和通信信息,并為系統(tǒng)運(yùn)行和通信數(shù)據(jù)處理提供空間。雙口 RAM模塊IV通過(guò)ARM控制模塊I的一組數(shù)據(jù)總線(xiàn)XI、地址總線(xiàn)Zl和控制總線(xiàn) Yl與ARM控制模塊I的嵌入式ARM微處理器11連接,通過(guò)FPGA內(nèi)部總線(xiàn)的數(shù)據(jù)總線(xiàn)X2、 地址總線(xiàn)Z2和控制總線(xiàn)Y2與FPGA計(jì)數(shù)器模塊III連接;雙口 RAM模塊IV是ARM控制模塊I 與FPGA計(jì)數(shù)器模塊III之間數(shù)據(jù)傳輸?shù)臉蛄?,用?hù)能夠?qū)崿F(xiàn)ARM控制模塊I和FPGA計(jì)數(shù)器模塊III同時(shí)對(duì)雙口 RAM模塊IV進(jìn)行讀寫(xiě)操作;圖5是雙口 RAM模塊IV中的存儲(chǔ)器結(jié)構(gòu)示意圖。[0041 ] SDRAM掉電保護(hù)模塊VI包括SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器61和SDRAM掉電保護(hù)電路62,SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器61通過(guò)FPGA內(nèi)部總線(xiàn)與FPGA計(jì)數(shù)器模塊III連接, SDRAM掉電保護(hù)電路62在系統(tǒng)電源失電瞬間使SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器61的片選端為高電平,避免在電源切換過(guò)程中SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器61的內(nèi)容發(fā)生變化,并將 SDRAM掉電保護(hù)電路62的電源為SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器61供電;在計(jì)數(shù)器裝置復(fù)位和PLC用戶(hù)程序重新啟動(dòng)運(yùn)行時(shí),ARM控制模塊I將對(duì)非保持型計(jì)數(shù)器的FPGA的SDRAM 計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器61中的存儲(chǔ)單元清零。FPGA計(jì)數(shù)器模塊III包括計(jì)數(shù)器控制器31、計(jì)數(shù)器軟觸頭位單元32和FPGA內(nèi)部總線(xiàn),其具體電路結(jié)構(gòu)參見(jiàn)圖3,計(jì)數(shù)器控制器31是FPGA計(jì)數(shù)器模塊III的控制核心,計(jì)數(shù)器控制器31通過(guò)FPGA內(nèi)部總線(xiàn)與計(jì)數(shù)器軟觸頭位單元32、SDRAM掉電保護(hù)模塊VI以及雙口 RAM模塊IV連接,并通過(guò)雙口 RAM模塊IV與ARM控制模塊I連接。其中FPGA內(nèi)部總線(xiàn)由32位數(shù)據(jù)總線(xiàn)X2,地址總線(xiàn)Z2及控制總線(xiàn)Y2組成,控制總線(xiàn)Y2 包括計(jì)數(shù)器的讀、寫(xiě)、模塊片選控制,雙口 RAM模塊IV與FPGA內(nèi)部總線(xiàn)相連接,雙口 RAM模塊IV的模塊片選獨(dú)立設(shè)置與FPGA計(jì)數(shù)器控制模塊III連接,計(jì)數(shù)器軟觸頭位單元32和SDRAM 掉電保護(hù)模塊VI都是10根地址線(xiàn)與計(jì)數(shù)器控制器31連接,控制總線(xiàn)Y2的讀、寫(xiě)和模塊片選線(xiàn)與計(jì)數(shù)器控制器31、計(jì)數(shù)器軟觸頭位單元32、SDRAM掉電保護(hù)模塊VI和雙口 RAM模塊 IV連接。計(jì)數(shù)器軟觸頭位單元32是32位字長(zhǎng)存儲(chǔ)單元組成的計(jì)數(shù)器軟觸頭存儲(chǔ)器,參見(jiàn)圖4,該單元占用2個(gè)模塊地址,1個(gè)是32位字單元尋址的模塊地址,另1個(gè)是軟觸頭位單元的位模塊尋址,計(jì)數(shù)器軟觸頭位單元模塊32可以實(shí)現(xiàn)字尋址和位尋址的功能。計(jì)數(shù)器控制器31通過(guò)雙口 RAM模塊IV從ARM控制模塊I獲得計(jì)數(shù)器運(yùn)行狀態(tài)、類(lèi)型及參數(shù)信息、復(fù)位信息、以及計(jì)數(shù)實(shí)時(shí)參數(shù)讀取命令;計(jì)數(shù)器控制器31處理計(jì)數(shù)器的結(jié)果狀態(tài)也傳輸給雙口 RAM模塊IV,計(jì)數(shù)器控制器31在工作時(shí)鐘脈沖的作用下,計(jì)數(shù)器控制器31依據(jù)計(jì)數(shù)器這些狀態(tài)進(jìn)行判斷,依據(jù)判斷結(jié)果進(jìn)行處理,如果某個(gè)增計(jì)數(shù)器處于未被使用或已完成一次計(jì)數(shù)操作并繼續(xù)處于得電狀態(tài),計(jì)數(shù)器控制器31對(duì)該增計(jì)數(shù)器不作任何處理;如果處于失電狀態(tài),設(shè)置該增計(jì)數(shù)器的D27位值為“0”,為增計(jì)數(shù)器軟線(xiàn)圈由失電轉(zhuǎn)化為得電時(shí)作好計(jì)數(shù)的準(zhǔn)備;如果處于復(fù)位狀態(tài),復(fù)位該增計(jì)數(shù)器在計(jì)數(shù)器軟觸頭位單元32中的位單元為“0”,清SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器61中該增計(jì)數(shù)器的D30、D27和 D26^D0單元內(nèi)容;如果處于計(jì)數(shù)狀態(tài),計(jì)數(shù)器控制器31對(duì)SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器61 的該增計(jì)數(shù)器存儲(chǔ)單元內(nèi)容與雙口 RAM模塊IV中的該增計(jì)數(shù)器的計(jì)數(shù)設(shè)置參數(shù)進(jìn)行比較判斷,如果SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器61中該計(jì)數(shù)器的計(jì)數(shù)參數(shù)等于或大于雙口 RAM模塊IV中的該增計(jì)數(shù)器的計(jì)數(shù)設(shè)置參數(shù)時(shí),置位該增計(jì)數(shù)器在計(jì)數(shù)器軟觸頭位單元32中的位單元為“1”,設(shè)置計(jì)數(shù)工作標(biāo)志D27為“1” ;如果小于,SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器61 中該增計(jì)數(shù)器的計(jì)數(shù)參數(shù)進(jìn)行加1操作,設(shè)置計(jì)數(shù)工作標(biāo)志D27為“1”;如果該計(jì)數(shù)器為失電狀態(tài),且非復(fù)位狀態(tài),設(shè)置計(jì)數(shù)工作標(biāo)志D27為“0”;如果判斷計(jì)數(shù)器為增/減計(jì)數(shù)器型, 其判斷處理過(guò)程與增計(jì)數(shù)器的判斷處理過(guò)程基本相同,不同之處在于每個(gè)增/減計(jì)數(shù)器有兩個(gè)計(jì)數(shù)設(shè)置值,一個(gè)是增計(jì)數(shù)設(shè)置值,一個(gè)是減計(jì)數(shù)設(shè)置值,對(duì)應(yīng)有增計(jì)數(shù)動(dòng)態(tài)參數(shù)和減計(jì)數(shù)動(dòng)態(tài)參數(shù),這些值都是用補(bǔ)碼表示,其判斷比較和計(jì)數(shù)也都是補(bǔ)碼運(yùn)算;對(duì)2種類(lèi)型計(jì)數(shù)器的讀取判斷處理操作是一個(gè)一個(gè)計(jì)數(shù)器循環(huán)進(jìn)行,每循環(huán)操作一次,將計(jì)數(shù)器軟觸頭位單元32的狀態(tài)傳輸?shù)诫p口 RAM模塊IV中,根據(jù)雙口 RAM模塊IV需要傳輸計(jì)數(shù)器實(shí)時(shí)計(jì)數(shù)值的計(jì)數(shù)器編號(hào)的順序?qū)DRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器61的實(shí)時(shí)計(jì)數(shù)參數(shù)傳輸給雙口 RAM 模塊IV的計(jì)數(shù)器實(shí)時(shí)計(jì)數(shù)值存儲(chǔ)區(qū);計(jì)數(shù)器控制器處理計(jì)數(shù)器的結(jié)果狀態(tài)也傳輸給雙口 RAM模塊IV ;計(jì)數(shù)器控制器在工作時(shí)鐘脈沖的作用下,依據(jù)計(jì)數(shù)器的狀態(tài)進(jìn)行判斷,依據(jù)判斷結(jié)果進(jìn)行處理如果某個(gè)增計(jì)數(shù)器處于未被使用或已完成一次計(jì)數(shù)操作并繼續(xù)處于得電狀態(tài),計(jì)數(shù)器控制器對(duì)該增計(jì)數(shù)器不作任何處理;如果處于失電狀態(tài),設(shè)置該增計(jì)數(shù)器的D27 為“0”,為增計(jì)數(shù)器軟線(xiàn)圈由失電轉(zhuǎn)化為得電時(shí)作好計(jì)數(shù)的準(zhǔn)備;如果處于復(fù)位狀態(tài),復(fù)位該增計(jì)數(shù)器在計(jì)數(shù)器軟觸頭位單元中的位單元為“0”,清SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器中該增計(jì)數(shù)器的D30、D27和D26 D0單元內(nèi)容;如果處于計(jì)數(shù)狀態(tài),計(jì)數(shù)器控制器對(duì)SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器的該增計(jì)數(shù)器存儲(chǔ)單元內(nèi)容與雙口 RAM模塊IV中的該增計(jì)數(shù)器的計(jì)數(shù)設(shè)置參數(shù)進(jìn)行比較判斷,如果SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器中該增計(jì)數(shù)器的計(jì)數(shù)參數(shù)等于或大于雙口 RAM模塊IV中的該增計(jì)數(shù)器的計(jì)數(shù)設(shè)置參數(shù)時(shí),置位該增計(jì)數(shù)器在計(jì)數(shù)器軟觸頭位單元中的位單元為“ 1 ”,設(shè)置計(jì)數(shù)工作標(biāo)志D27為“ 1 ” ;如果小于,SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器中該增計(jì)數(shù)器的計(jì)數(shù)參數(shù)進(jìn)行加1操作,設(shè)置計(jì)數(shù)工作標(biāo)志D27為“1”;如果該增計(jì)數(shù)器為失電狀態(tài),且非復(fù)位狀態(tài),設(shè)置計(jì)數(shù)工作標(biāo)志D27為“0”;如果判斷計(jì)數(shù)器為增/ 減計(jì)數(shù)器型,其判斷處理過(guò)程與增計(jì)數(shù)器的判斷處理過(guò)程基本相同,不同之處在于每個(gè)增/ 減計(jì)數(shù)器有兩個(gè)計(jì)數(shù)設(shè)置值,一個(gè)是增計(jì)數(shù)設(shè)置值,一個(gè)是減計(jì)數(shù)設(shè)置值,對(duì)應(yīng)有增計(jì)數(shù)動(dòng)態(tài)參數(shù)和減計(jì)數(shù)動(dòng)態(tài)參數(shù),這些值都是用補(bǔ)碼表示,其判斷比較和計(jì)數(shù)也都是補(bǔ)碼運(yùn)算;對(duì)2種類(lèi)型計(jì)數(shù)器的讀取判斷處理操作是一個(gè)一個(gè)計(jì)數(shù)器循環(huán)進(jìn)行,每循環(huán)操作一次,將計(jì)數(shù)器軟觸頭位單元的狀態(tài)傳輸?shù)诫p口 RAM模塊IV中,根據(jù)雙口 RAM模塊IV需要傳輸計(jì)數(shù)器實(shí)時(shí)計(jì)數(shù)值的計(jì)數(shù)器編號(hào)的順序?qū)DRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器的實(shí)時(shí)計(jì)數(shù)參數(shù)傳輸給雙口 RAM模塊IV的計(jì)數(shù)器實(shí)時(shí)計(jì)數(shù)值存儲(chǔ)區(qū);根據(jù)雙口 RAM模塊IV需要傳輸計(jì)數(shù)器實(shí)時(shí)計(jì)數(shù)值的計(jì)數(shù)器編號(hào)的順序?qū)DRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器61的實(shí)時(shí)計(jì)數(shù)參數(shù)傳輸給雙口 RAM模塊IV的計(jì)數(shù)器實(shí)時(shí)計(jì)數(shù)值存儲(chǔ)區(qū)。由上可見(jiàn),由于計(jì)數(shù)器裝置中的計(jì)數(shù)動(dòng)態(tài)參數(shù)由SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器進(jìn)行存儲(chǔ),計(jì)數(shù)操作由FPGA計(jì)數(shù)器模塊III處理,該FPGA計(jì)數(shù)器模塊III從雙口 RAM模塊IV中接收ARM控制模塊I發(fā)出的控制處理指令進(jìn)行循環(huán)操作,(處理計(jì)數(shù)器輸出指令、復(fù)位指令的結(jié)果及FPGA計(jì)數(shù)器控制器處理計(jì)數(shù)的結(jié)果狀態(tài)進(jìn)行讀取、判斷,依據(jù)判斷結(jié)果進(jìn)行處理, 或設(shè)置計(jì)數(shù)器軟觸頭狀態(tài),或讀出SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器中的該計(jì)數(shù)器動(dòng)態(tài)參數(shù)進(jìn)行加1/減1計(jì)數(shù),判斷和處理,其中增/減可控計(jì)數(shù)器對(duì)計(jì)數(shù)參數(shù)的處理為補(bǔ)碼運(yùn)算,或不需要作任何處理,這是循環(huán)操作處理過(guò)程;)因此,計(jì)數(shù)器的數(shù)量只受SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器、計(jì)數(shù)器軟觸頭位單元和雙口 RAM容量和地址線(xiàn)的限制,只要增加SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器、計(jì)數(shù)器軟觸頭位單元和雙口 MM的容量,以及地址線(xiàn)的根數(shù),計(jì)數(shù)器的個(gè)數(shù)可以成倍數(shù)的增加,其計(jì)數(shù)器裝置設(shè)置的計(jì)數(shù)器數(shù)量能夠達(dá)到數(shù)百個(gè),乃至千余個(gè),而且不需要在ARM控制模塊的程序中編制計(jì)數(shù)參數(shù)的處理程序,只是將每個(gè)計(jì)數(shù)器作為普通存儲(chǔ)單元進(jìn)行讀寫(xiě)和判斷操作,適合需要數(shù)量眾多計(jì)數(shù)器計(jì)數(shù)與計(jì)數(shù)控制的系統(tǒng)需求,以及對(duì)計(jì)數(shù)精度要求很高的系統(tǒng),尤其適應(yīng)于PLC控制系統(tǒng)。而且,ARM控制模塊執(zhí)行計(jì)數(shù)器輸出指令時(shí),只需要判斷計(jì)數(shù)器是處于得電還是失電狀態(tài),并將其狀態(tài)傳輸給雙口 RAM ;執(zhí)行計(jì)數(shù)器復(fù)位指令時(shí),只需要判斷計(jì)數(shù)器是復(fù)位還是不復(fù)位,并將其狀態(tài)傳輸給雙口 RAM ;執(zhí)行應(yīng)用計(jì)數(shù)器軟觸頭指令時(shí),從雙口 MM中讀取該計(jì)數(shù)器的軟觸頭狀態(tài);增計(jì)數(shù)器的加1運(yùn)算、增/減可控計(jì)數(shù)器的加1或減1、計(jì)數(shù)動(dòng)態(tài)參數(shù)值與計(jì)數(shù)設(shè)置值的大小比較,增/減可控計(jì)數(shù)器的計(jì)數(shù)參數(shù)處理為補(bǔ)碼運(yùn)算,計(jì)數(shù)功能控制、計(jì)數(shù)器軟觸頭位單元狀態(tài)的設(shè)置均由FPGA計(jì)數(shù)器模塊完成,不占用PLC用戶(hù)程序執(zhí)行的時(shí)間;大大提高了計(jì)數(shù)器裝置的反應(yīng)速度;無(wú)論計(jì)數(shù)器處于何種運(yùn)行狀態(tài),本計(jì)數(shù)器裝置中ARM控制模塊執(zhí)行每個(gè)增計(jì)數(shù)器輸出指令的操作次數(shù)相同,執(zhí)行每個(gè)增/減可控計(jì)數(shù)器輸出指令的操作次數(shù)相同,減少了執(zhí)行有關(guān)計(jì)數(shù)器指令時(shí)對(duì)PLC用戶(hù)程序執(zhí)行周期變化的影響。組成的計(jì)數(shù)器裝置實(shí)施例二參見(jiàn)圖6、圖7、圖8,本實(shí)施例的計(jì)數(shù)器裝置結(jié)構(gòu)與實(shí)施例一中的基本類(lèi)似,不同之處在于實(shí)施例一中的雙口 RAM模塊IV與FPGA計(jì)數(shù)器模塊III分別獨(dú)立設(shè)置,而本實(shí)施例中的雙口 RAM模塊IV是嵌入FPGA計(jì)數(shù)器模塊III中,以構(gòu)成帶雙口 RAM模塊的FPGA計(jì)數(shù)器模塊III’,參見(jiàn)圖8,本實(shí)施例之ARM+FPGA組成的計(jì)數(shù)器裝置,以嵌入式ARM微處理器為控制核心、以FPGA進(jìn)行計(jì)數(shù)處理,包括ARM控制模塊I、SDRAM掉電保護(hù)模塊VI,存儲(chǔ)器模塊 II、FPGA計(jì)數(shù)器模塊III,、電源模塊V,ARM控制模塊I以嵌入式ARM微處理器為控制核心, 構(gòu)建嵌入式實(shí)時(shí)操作系統(tǒng),進(jìn)行多任務(wù)管理和通信管理,實(shí)現(xiàn)對(duì)裝置中各模塊及其信息的處理和控制;存儲(chǔ)器模塊II用于存儲(chǔ)操作系統(tǒng)及系統(tǒng)程序的目標(biāo)代碼映像文件、執(zhí)行用戶(hù)程序的處理信息、以及為計(jì)數(shù)器裝置數(shù)據(jù)的處理和通信提供空間;FPGA計(jì)數(shù)器模塊III’包括嵌入的雙口 RAM模塊IV和FPGA計(jì)數(shù)器模塊III,F(xiàn)PGA計(jì)數(shù)器模塊III以計(jì)數(shù)器控制器31為核心,實(shí)現(xiàn)計(jì)數(shù)器的類(lèi)型判斷、增計(jì)數(shù)器的加1運(yùn)算、增/減可控計(jì)數(shù)器的加1和減1、計(jì)數(shù)動(dòng)態(tài)參數(shù)值與計(jì)數(shù)設(shè)置值的大小比較,增/減可控計(jì)數(shù)器的計(jì)數(shù)參數(shù)處理為補(bǔ)碼運(yùn)算,計(jì)數(shù)功能控制、計(jì)數(shù)器軟觸頭位單元32的字尋址和位尋址讀、寫(xiě)功能、SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器61的讀、寫(xiě)功能,雙口 RAM模塊IV的讀、寫(xiě)功能;雙口 RAM模塊IV分別與FPGA計(jì)數(shù)器模塊III和ARM控制模塊I連接,以實(shí)現(xiàn)ARM控制模塊I與FPGA計(jì)數(shù)器模塊III之間的數(shù)據(jù)傳輸;電源模塊V為ARM控制模塊I、存儲(chǔ)器模塊II、FPGA計(jì)數(shù)器模塊III,、雙口 RAM模塊IV及 SDRAM掉電保護(hù)模塊VI提供變壓后的電源;SDRAM掉電保護(hù)模塊VI與FPGA計(jì)數(shù)器模塊III’連接,SDRAM掉電保護(hù)模塊VI包括相互連接的SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器61和SDRAM掉電保護(hù)電路62,該SDRAM掉電保護(hù)模塊VI可避免在電源切換過(guò)程中SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器61的內(nèi)容發(fā)生變化,并將SDRAM掉電保護(hù)電62的電源為SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器61供電。本實(shí)施例的工作原理與實(shí)施例一相同,此處不再贅述。ARM+FPGA組成的計(jì)數(shù)器裝置實(shí)施例一是本實(shí)用新型的最佳實(shí)施例之一,作為本實(shí)用新型之ARM+FPGA組成的計(jì)數(shù)器裝置實(shí)施例一和實(shí)施例二的一種變換,也可以在該計(jì)數(shù)器裝置中不設(shè)置SDRAM掉電保護(hù)電路62,同樣也可實(shí)現(xiàn)本實(shí)用新型的目的。作為本實(shí)用新型之ARM+FPGA組成的計(jì)數(shù)器裝置實(shí)施例一和實(shí)施例二的另一種變換,該計(jì)數(shù)器裝置中還可以不設(shè)置SDRAM掉電保護(hù)電路62,SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器61 的功能由FPGA計(jì)數(shù)器模塊III來(lái)實(shí)現(xiàn),該變換同樣也可實(shí)現(xiàn)本實(shí)用新型的目的。
權(quán)利要求1.一種ARM+FPGA組成的計(jì)數(shù)器裝置,其特征在于該計(jì)數(shù)器裝置是以嵌入式ARM微處理器為控制核心、以FPGA進(jìn)行計(jì)數(shù)處理,包括ARM 控制模塊(I )、存儲(chǔ)器模塊(II)、FPGA計(jì)數(shù)器模塊(III)、SDRAM掉電保護(hù)模塊(VI)、電源模塊 (V)以及雙口 RAM模塊(IV);所述ARM控制模塊(I )分別與上述存儲(chǔ)器模塊(II)、FPGA計(jì)數(shù)器模塊(III)、雙口 RAM 模塊(IV)、SDRAM掉電保護(hù)模塊(VI)及電源模塊(V )連接,以嵌入式ARM微處理器為控制核心,構(gòu)建嵌入式實(shí)時(shí)操作系統(tǒng),進(jìn)行多任務(wù)管理和通信管理,實(shí)現(xiàn)對(duì)裝置中各個(gè)模塊信息的處理和控制;所述存儲(chǔ)器模塊(II)用于存儲(chǔ)操作系統(tǒng)及系統(tǒng)程序的目標(biāo)代碼映像文件、用戶(hù)程序的處理信息、以及為計(jì)數(shù)器裝置數(shù)據(jù)的處理和通信提供空間;所述雙口 RAM模塊(IV)分別與所述FPGA計(jì)數(shù)器模塊(III)和所述ARM控制模塊(I )連接,以實(shí)現(xiàn)所述ARM控制模塊(I )與所述FPGA計(jì)數(shù)器模塊(III)之間的數(shù)據(jù)傳輸;所述FPGA計(jì)數(shù)器模塊(III)用于判斷計(jì)數(shù)器的類(lèi)型,實(shí)施與計(jì)數(shù)設(shè)定值的比較及計(jì)數(shù)運(yùn)算,通過(guò)對(duì)所述雙口 RAM模塊(IV)的讀寫(xiě)控制,將計(jì)數(shù)器的狀態(tài)傳送至所述ARM控制模塊 (I);所述SDRAM掉電保護(hù)模塊(VI)與所述FPGA計(jì)數(shù)器模塊(III)連接,用于避免在電源切換過(guò)程中存儲(chǔ)器內(nèi)容的變化,并應(yīng)用其中的電源為動(dòng)態(tài)參數(shù)存儲(chǔ)器供電;所述電源模塊(V)為上述ARM控制模塊(I )、存儲(chǔ)器模塊(II)、FPGA計(jì)數(shù)器模塊(III)、 SDRAM掉電保護(hù)模塊(VI)及雙口 RAM模塊(IV)提供變壓電源。
2.如權(quán)利要求1所述一種ARM+FPGA組成的計(jì)數(shù)器裝置,其特征在于所述SDRAM掉電保護(hù)模塊(VI)包括相互連接的SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器和SDRAM 掉電保護(hù)電路,該SDRAM掉電保護(hù)模塊(VI)在電源切換過(guò)程中應(yīng)用所述SDRAM掉電保護(hù)電路的電源為所述SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器供電,以避免所述SDRAM計(jì)數(shù)器動(dòng)態(tài)參數(shù)存儲(chǔ)器內(nèi)容發(fā)生變化。
3.如權(quán)利要求2所述一種ARM+FPGA組成的計(jì)數(shù)器裝置,其特征在于所述ARM控制模塊(I )包括嵌入式ARM微處理器、人機(jī)交互電路、控制電路、復(fù)位電路和JTAG調(diào)試接口電路;所述嵌入式ARM微處理器作為ARM控制模塊(I )的控制核心,分別與上述人機(jī)交互電路、控制電路、復(fù)位電路和JTAG調(diào)試接口電路連接,進(jìn)行多任務(wù)管理和通信管理,以實(shí)現(xiàn)對(duì)上述各電路的信息處理和控制;人機(jī)交互電路用于執(zhí)行系統(tǒng)的控制命令、控制參數(shù)的輸入以及系統(tǒng)各種參數(shù)的人機(jī)界面控制;控制電路用于系統(tǒng)數(shù)據(jù)采集及控制驅(qū)動(dòng); 復(fù)位電路為系統(tǒng)電路提供復(fù)位信號(hào);JTAG調(diào)試接口電路提供調(diào)試接口,該接口與外接電路相連,以實(shí)現(xiàn)編程裝置對(duì)所述 ARM控制模塊(I )的軟硬件調(diào)試。
4.如權(quán)利要求2所述一種ARM+FPGA組成的計(jì)數(shù)器裝置,其特征在于所述FPGA計(jì)數(shù)器模塊(III)包括計(jì)數(shù)器控制器、計(jì)數(shù)器軟觸頭位單元和FPGA內(nèi)部總線(xiàn); 所述計(jì)數(shù)器控制器是所述FPGA計(jì)數(shù)器模塊(III)的控制核心,其通過(guò)所述FPGA內(nèi)部總線(xiàn)分別與所述計(jì)數(shù)器軟觸頭位單元、所述SDRAM掉電保護(hù)模塊(VI)以及所述雙口 RAM模塊連接 IV連接,并通過(guò)所述雙口 RAM模塊(IV)與所述ARM控制模塊(I )連接;所述計(jì)數(shù)器控制器從所述ARM控制模塊(I )獲取計(jì)數(shù)器的運(yùn)行狀態(tài)、類(lèi)型、參數(shù)信息、 復(fù)位信息以及計(jì)數(shù)實(shí)時(shí)參數(shù)讀取命令,根據(jù)上述計(jì)數(shù)器的運(yùn)行狀態(tài)、各類(lèi)信息及參數(shù)進(jìn)行判斷并進(jìn)行相應(yīng)處理、并將計(jì)數(shù)器處理的結(jié)果狀態(tài)傳輸給所述雙口 RAM模塊(IV);所述計(jì)數(shù)器軟觸頭位單元模塊為計(jì)數(shù)器軟觸頭狀態(tài)的存放空間,可實(shí)現(xiàn)字尋址和位尋址。
5.如權(quán)利要求2所述一種ARM+FPGA組成的計(jì)數(shù)器裝置,其特征在于所述存儲(chǔ)器模塊(II)包括分別與所述ARM控制模塊(I )連接的Nor FLASH存儲(chǔ)器、 Nand FLASH存儲(chǔ)器和SDRAM存儲(chǔ)器;所述Nor FLASH存儲(chǔ)器用于存儲(chǔ)操作系統(tǒng)及系統(tǒng)程序的目標(biāo)代碼映像文件; 所述Nand FLASH存儲(chǔ)器用于存放執(zhí)行用戶(hù)程序;所述SDRAM存儲(chǔ)器用于存放計(jì)數(shù)器裝置的處理和通信信息,并為系統(tǒng)運(yùn)行和通信數(shù)據(jù)處理提供空間。
6.如權(quán)利要求1 5中任意一項(xiàng)所述一種ARM+FPGA組成的計(jì)數(shù)器裝置,其特征在于 所述FPGA計(jì)數(shù)器模塊(III)與所述雙口 RAM模塊(IV)分別獨(dú)立設(shè)置。
7.如權(quán)利要求1 5中任意一項(xiàng)所述一種ARM+FPGA組成的計(jì)數(shù)器裝置,其特征在于 所述雙口 RAM模塊(IV)嵌入所述FPGA計(jì)數(shù)器模塊(III)中,構(gòu)成帶雙口 RAM模塊(IV)的FPGA計(jì)數(shù)器模塊(III,)。
專(zhuān)利摘要本實(shí)用新型提供一種以ARM微處理器為控制核心、FPGA為計(jì)數(shù)處理的計(jì)數(shù)器裝置,包括ARM控制模塊、存儲(chǔ)器模塊、FPGA計(jì)數(shù)器模塊、雙口RAM模塊、SDRAM掉電保護(hù)模塊、電源模塊。ARM控制模塊以ARM微處理器為控制核心,對(duì)各模塊處理和控制;雙口RAM模塊分別與FPGA計(jì)數(shù)器模塊和ARM控制模塊連接,實(shí)現(xiàn)兩模塊的數(shù)據(jù)傳輸;FPGA計(jì)數(shù)器模塊以計(jì)數(shù)器控制器為核心,完成增計(jì)數(shù)器和增/減計(jì)數(shù)器判斷、計(jì)數(shù)處理及實(shí)時(shí)計(jì)數(shù)參數(shù)傳輸;電源模塊提供工作電源,SDRAM掉電保護(hù)模塊對(duì)計(jì)數(shù)動(dòng)態(tài)參數(shù)掉電保護(hù);本實(shí)用新型計(jì)數(shù)操作不占用PLC用戶(hù)程序執(zhí)行時(shí)間,可實(shí)現(xiàn)不同類(lèi)型和數(shù)量的計(jì)數(shù)器。
文檔編號(hào)G06M1/00GK202120300SQ20112023177
公開(kāi)日2012年1月18日 申請(qǐng)日期2011年7月2日 優(yōu)先權(quán)日2011年7月2日
發(fā)明者丁秋笛, 付杰, 吳筆迅, 李克儉, 羅功坤, 蔡啟仲 申請(qǐng)人:廣西工學(xué)院