• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于ARM+FPGA的PLC計數(shù)器的設(shè)計

      2016-03-17 01:56:37徐曉宇李克儉蔡啟仲潘紹明
      計算機(jī)測量與控制 2016年2期
      關(guān)鍵詞:數(shù)據(jù)格式斷電計數(shù)器

      徐曉宇,李克儉,蔡啟仲,潘紹明,余 玲

      (1.廣西科技大學(xué) 電氣與信息工程學(xué)院, 廣西 柳州 545006;2.廣西科技大學(xué) 鹿山學(xué)院電氣與計算機(jī)工程系, 廣西 柳州 545616)

      ?

      基于ARM+FPGA的PLC計數(shù)器的設(shè)計

      徐曉宇1,李克儉1,蔡啟仲1,潘紹明1,余玲2

      (1.廣西科技大學(xué) 電氣與信息工程學(xué)院, 廣西 柳州545006;2.廣西科技大學(xué) 鹿山學(xué)院電氣與計算機(jī)工程系, 廣西 柳州545616)

      摘要:計數(shù)器是PLC內(nèi)部重要的軟元件之一,在以PLC為核心部件的自動控制系統(tǒng)中,這種軟元件通過相應(yīng)的程序?qū)崿F(xiàn)系統(tǒng)的實時準(zhǔn)確的計數(shù);ARM通過雙口RAM發(fā)送指令命令給FPGA,F(xiàn)PGA控制計數(shù)器進(jìn)行相關(guān)操作,F(xiàn)PGA的晶振工作頻率50 MHz作為計數(shù)器控制模塊的時序約束,設(shè)計的計數(shù)器具有加減計數(shù)功能、斷電保持功能、數(shù)據(jù)回傳功能等,以滿足PLC控制器的計數(shù)需求,并通過使用地址映射存儲器使得計數(shù)器控制器的指令執(zhí)行更加高效;設(shè)計了計數(shù)器與FPGA指令執(zhí)行控制器的通信協(xié)議;通過對設(shè)計完成后的仿真與測試,單個計數(shù)器的計數(shù)頻率達(dá)到2 MHz,基本實現(xiàn)了PLC計數(shù)器的功能,并且達(dá)到了穩(wěn)定計數(shù)的設(shè)計要求。

      關(guān)鍵詞:計數(shù)器; PLC; 雙口RAM; 地址映射存儲器; FPGA通信協(xié)議

      0引言

      PLC是一種專用于工業(yè)控制的計算機(jī),其基本組成與微型計算機(jī)是相同的,都是以微處理器為核心的電子系統(tǒng),各種功能的實現(xiàn)都是由硬件和軟件共同來完成的。但是PLC在硬件、軟件結(jié)構(gòu)上,特別是在I/O通道、系統(tǒng)軟件、系統(tǒng)RAM和模塊化劃分等方面又具有自身的特點,與微型計算機(jī)有著明顯的差異[1]。PLC內(nèi)部各組成單元之間通過控制總線、地址總線和數(shù)據(jù)總線等連接,外部則根據(jù)實際控制對象配置相應(yīng)設(shè)備與控制裝置構(gòu)成PLC控制系統(tǒng)[2]。

      采用ARM-FPGA架構(gòu)的PLC系統(tǒng)可以很好地融合ARM高速低功耗和FPGA并行工作的優(yōu)點[3-4]。

      在繼電控制線路中,計數(shù)器是作為一種儀表在電路中使用的,其基本功能是對輸入開關(guān)量信號進(jìn)行計數(shù)。通過對PLC計數(shù)器的運(yùn)行特點的研究,本設(shè)計實現(xiàn)的動態(tài)并行執(zhí)行的計數(shù)器控制器,基本滿足PLC對計數(shù)器種類功能的不同需求,并且可以根據(jù)具體工程應(yīng)用來重構(gòu)其內(nèi)部的計數(shù)器的總數(shù),實現(xiàn)對FPGA資源的靈活配置。

      1功能需求分析和接口電路設(shè)計

      1.1功能需求分析

      PLC內(nèi)部的計數(shù)器一般分為內(nèi)部信號計數(shù)器和高速計數(shù)器兩種,通常將內(nèi)部信號計數(shù)器簡稱為計數(shù)器。計數(shù)器按斷電數(shù)據(jù)保持的情況分為通用型計數(shù)器和斷電保持型計數(shù)器,按加減計數(shù)方式分為單增型計數(shù)器和加減計數(shù)器。同時我們注意到,如果在對計數(shù)器執(zhí)行一些指令時對所有計數(shù)器進(jìn)行操作,降低計數(shù)器指令操作的效率。因此設(shè)計的計數(shù)器控制模塊具有以下主要功能:根據(jù)PLC的計數(shù)器的特點,計數(shù)器控制模塊設(shè)計通用型計數(shù)器和斷電保持型計數(shù)器,同時通用型計數(shù)器和斷電保持型計數(shù)器都擁有單增型和加減型這兩種工作方式的計數(shù)器;能根據(jù)指令執(zhí)行控制器發(fā)送的指令,完成對計數(shù)器的初始化配置,完成對計數(shù)器狀態(tài)的更新或修改,完成對計數(shù)器的啟停、復(fù)位等操作,并能讀取計數(shù)器的當(dāng)前值;針對計數(shù)器控制模塊的運(yùn)行特點,設(shè)計相關(guān)的結(jié)構(gòu)和功能模塊,使其能在執(zhí)行一些指令時增加其執(zhí)行效率。

      由以上的功能需求分析,確定了計數(shù)器的基本功能和實現(xiàn)目標(biāo),從而可以確定計數(shù)器的體系結(jié)構(gòu)和各個功能模塊的配置。

      1.2ARM與FPGA接口電路設(shè)計

      FPGA與ARM之間的數(shù)據(jù)交換需要存放PLC運(yùn)行中的各類信息,由于兩個端口需要同時對存儲器進(jìn)行訪問,選用控制雙口RAM來實現(xiàn)。設(shè)計的雙口RAM是一個具有兩個讀寫端口的存儲器,兩個端口具有完全獨立的數(shù)據(jù)總線、地址總線和控制總線,并允許兩個端口同時對存儲器進(jìn)行訪問,其最大的特點是對數(shù)據(jù)的存儲共享。雙口RAM的使用可以提高RAM的吞吐率,適用于實時的數(shù)據(jù)緩存。

      接口控制電路設(shè)計為具有仲裁功能的雙端口RAM,該雙端口RAM與微處理器和FPGA指令執(zhí)行控制器連接如圖1所示。雙口RAM的一個端口稱為A端口,另一個端口稱為B端口。A端口的數(shù)據(jù)為16位可以與16位微處理器的數(shù)據(jù)總線直接連接,B端口的數(shù)據(jù)為32位與FPGA內(nèi)部的存儲讀寫控制模塊的數(shù)據(jù)總線連接。對于A端口,雙口RAM的存儲容量為2 K×16,地址總線為ADDRA0~ADDRA10;對于B端口,存儲容量為1 K×32,地址總線為ADDRB0~ADDRB9。微處理器通過A端口對1個32位數(shù)據(jù)的讀寫操作需要分兩次進(jìn)行。在此設(shè)計的雙口RAM的地址總線ADDRA、ADDRB,數(shù)據(jù)總線DATA、DATB,片選線BLKA、BLKBB,讀信號線RDA、RDB,寫信號線WRA、WRB,忙信號線BusyA和普通雙口RAM引腳的功能是一致的。圖1中的BusyB_1和BusyB_2分別表示A端口和B端口同時對某一個32位存儲單元進(jìn)行讀或?qū)懖僮鲿r,A端口正在進(jìn)行低16位或高16位的讀或?qū)懖僮鳌?/p>

      圖1 雙口RAM連接圖

      2計數(shù)器控制器設(shè)計

      由ARM與FPGA協(xié)同構(gòu)建的PLC控制系統(tǒng),ARM作為PLC主控制器通過數(shù)據(jù)總線、地址總線、控制總線向FPGA發(fā)送指令命令,F(xiàn)PGA接收到ARM的指令命令之后,通過FPGA指令執(zhí)行控制器與計數(shù)器進(jìn)行通信,計數(shù)器總體結(jié)構(gòu)設(shè)計如圖2所示,其中包含以下模塊:端口讀寫控制器、地址映射存儲器、計數(shù)當(dāng)前信息存儲器、計數(shù)器指令控制器及計數(shù)過程控制器。

      圖2 計數(shù)器總體結(jié)構(gòu)圖

      2.1地址映射存儲器

      計數(shù)器當(dāng)前信息在相應(yīng)存儲器中的存儲位置對應(yīng)著計數(shù)器的編號,即計數(shù)器的編號為其相關(guān)數(shù)據(jù)在計數(shù)當(dāng)前值和計數(shù)設(shè)置值存儲器中的地址。為了能夠動態(tài)執(zhí)行本設(shè)計,使用地址映射存儲器按初始化先后存儲被使用的計數(shù)器的編號,當(dāng)計數(shù)器控制器進(jìn)行復(fù)位或者斷電保持型計數(shù)器斷電后數(shù)據(jù)上傳操作時,從地址映射存儲器中的第一個地址開始先后讀取被使用的計數(shù)器的編號,以此編號為地址,便可以迅速地在計數(shù)存儲器中找到需要進(jìn)行操作的計數(shù)器的相關(guān)數(shù)據(jù)進(jìn)行操作。這樣就跳過了不需要操作的計數(shù)器,從而達(dá)到了提高系統(tǒng)執(zhí)行效率的目的。地址映射存儲器的數(shù)據(jù)格式如表1所示。

      表1 地址映射存儲器存儲數(shù)據(jù)格式表

      2.2計數(shù)當(dāng)前信息存儲器

      計數(shù)當(dāng)前信息存儲器存儲數(shù)據(jù)格式如表2所示,包含計數(shù)器編號、計數(shù)當(dāng)前值、加減標(biāo)志位、復(fù)位標(biāo)志位、通斷電標(biāo)志位等重要信息。

      表2 計數(shù)當(dāng)前信息存儲器存儲數(shù)據(jù)格式表

      計數(shù)當(dāng)前信息存儲器使用Libero軟件提供的雙端口存儲器IP核生成,用以實現(xiàn)計數(shù)器狀態(tài)信息、計數(shù)相關(guān)數(shù)據(jù)的存儲。數(shù)器當(dāng)前值存儲器設(shè)計為29位,用以存儲計數(shù)器的當(dāng)前狀態(tài)信息、計數(shù)當(dāng)前值和編號信息,計數(shù)器的編號即為其相關(guān)信息在計數(shù)當(dāng)前值值存儲器中的地址。

      2.3計數(shù)器指令執(zhí)行器

      當(dāng)指令執(zhí)行控制器對計數(shù)器控制器發(fā)送指令之后,指令將被送至計數(shù)器指令執(zhí)行器。通過對D31~D29這三位數(shù)據(jù)的檢測,判斷指令的類型執(zhí)行相關(guān)的數(shù)據(jù)操作,其流程如圖3所示。

      圖3指令執(zhí)行器流程圖

      指令類型通過端口讀寫控制器的輸出線code_in線輸入指令執(zhí)行器,指令數(shù)據(jù)通過端口讀寫控制器的輸出 data_in線輸入指令執(zhí)行器,同時端口讀寫控制器置低CE線,啟動計數(shù)器指令執(zhí)行器。

      2.4計數(shù)過程控制器

      計數(shù)控制器功能是對計數(shù)器進(jìn)行計數(shù)操作,并將計數(shù)結(jié)果上傳至指令執(zhí)行控制器的接收端口。當(dāng)計數(shù)器控制器從指令執(zhí)行控制器接收到計數(shù)器信息刷新指令后,將此指令傳送到計數(shù)控制器,計數(shù)控制器根據(jù)指令內(nèi)容中的計數(shù)器編號確定計數(shù)器在計數(shù)當(dāng)前值存儲器中的地址,然后對計數(shù)當(dāng)前信息存儲器中的數(shù)據(jù)進(jìn)行讀寫操作,從而實現(xiàn)計數(shù)功能。首先對計數(shù)器信息刷新指令的通斷電狀態(tài)標(biāo)志位和加減標(biāo)志位進(jìn)行判斷,接下來對計數(shù)當(dāng)前信息存儲器里的存儲的計數(shù)當(dāng)前值進(jìn)行操作并與該指令里包含的計數(shù)設(shè)定值進(jìn)行比較和判斷,完成相應(yīng)的數(shù)據(jù)操作。該程序流程如圖4所示。

      圖4 計數(shù)過程控制器流程圖

      3指令執(zhí)行控制器與計數(shù)器通信數(shù)據(jù)格式

      計數(shù)器控制器主要實現(xiàn)的功能就是接收FPGA指令執(zhí)行控制器發(fā)來的經(jīng)過ARM編譯后的PLC指令,根據(jù)指令自主完成對計數(shù)器的相關(guān)復(fù)位、計數(shù)操作、計數(shù)當(dāng)前值上傳等操作[5-6]。

      為了實現(xiàn)PLC的計數(shù)功能,對指令執(zhí)行控制器與計數(shù)器控制器通信的指令進(jìn)行了命令字?jǐn)?shù)據(jù)格式的設(shè)計。

      3.1復(fù)位指令

      該指令由指令執(zhí)行控制器發(fā)送,當(dāng)復(fù)位標(biāo)志為001時將對所有計數(shù)器進(jìn)行復(fù)位,對計數(shù)器控制所有存儲的數(shù)據(jù)清零,效果與上電復(fù)位效果一致。當(dāng)復(fù)位標(biāo)志為010時對部分計數(shù)器進(jìn)行復(fù)位,該復(fù)位命令對斷電保持型的單增或加減計數(shù)器和地址映射存儲器無效。數(shù)據(jù)格式如表3所示。

      表3 復(fù)位指令數(shù)據(jù)格式表

      3.2計數(shù)器初始化指令

      該指令由指令執(zhí)行控制器發(fā)送,是PLC用戶應(yīng)用程序第一次編譯或執(zhí)行全局復(fù)位后發(fā)送給計數(shù)器控制器的指令,用以初始化計數(shù)器。數(shù)據(jù)指令入表4所示。

      表4 計數(shù)器初始化指令數(shù)據(jù)格式表

      其中:D28表示是否數(shù)據(jù)寄存器D傳送,數(shù)值為0為非D傳送;數(shù)值為1為D傳送。

      3.3斷電保存指令

      該指令由指令執(zhí)行控制器發(fā)送,用于當(dāng)PLC斷電時指令執(zhí)行控制器告知計數(shù)器控制器進(jìn)入斷電保存階段,接收到該指令后計數(shù)器控制器將發(fā)送正在使用的斷電保持型計數(shù)器的編號以及該計數(shù)器的當(dāng)前值,用于保存至PLC再次通電時回傳。數(shù)據(jù)格式如表5所示。

      表5 斷電保存指令數(shù)據(jù)格式表

      3.4斷電保持型計數(shù)器斷電保存信息

      該信息由計數(shù)器控制器發(fā)送,在接收到指令執(zhí)行控制器斷電保存指令后發(fā)送此信息給指令執(zhí)行控制器,用以保存正在使用的斷電保持型計數(shù)器的當(dāng)前值及其對應(yīng)的計數(shù)器編號。數(shù)據(jù)格式如表6所示。

      圖5 測試仿真圖

      D31~D30D29~D26D26~D8D7-D011保留計數(shù)當(dāng)前值斷電保持型計數(shù)器編號

      4仿真測試

      在使用Verilog HDL語言完成硬件描述方面的設(shè)計后,使用ModeSim軟件配合編寫的testbench.v測試程序,模擬指令執(zhí)行控制器對計數(shù)器控制器的輸入,然后觀察計數(shù)器控制器的輸出情況[7-9]。測試方法:先使用synplify軟件綜合后,再進(jìn)行綜合后仿真,對計數(shù)控制器進(jìn)行測試,測試計數(shù)控制器是否能完成計數(shù)功能。

      設(shè)計的指令執(zhí)行控制器訪問計數(shù)器控制器的模塊地址為00010,先模擬指令執(zhí)行控制器發(fā)送指令初始化編號8和224號計數(shù)器,兩種計數(shù)器分別為通用型單增和斷電保持型加減計數(shù)器,測試仿真如圖5所示。

      經(jīng)過測試,計數(shù)控制器在計數(shù)到時都準(zhǔn)確地上傳了計數(shù)器的編號至指令執(zhí)行控制器,初步實現(xiàn)了設(shè)計目標(biāo)。

      5結(jié)語

      本設(shè)計是在FPGA為平臺下設(shè)計的一種面向PLC的計數(shù)器控制器,設(shè)計了計數(shù)器控制器與指令執(zhí)行控制器的通信時序和通信協(xié)議?;緦崿F(xiàn)了PLC的計數(shù)功能,并且本設(shè)計使用了地址映射存儲器來存儲特定編號計數(shù)器的相關(guān)數(shù)據(jù)在計數(shù)存儲器中的地址,使得計數(shù)控制器的復(fù)位指令和斷電保持計數(shù)器的信息上傳操作更加快速高效,在大規(guī)模計數(shù)器的設(shè)計中有一定的參考價值。

      參考文獻(xiàn):

      [1] 方承遠(yuǎn),張振國. 工廠電氣控制技術(shù)(第3版) [M]. 北京:機(jī)械工業(yè)出版社,2008.

      [2] 王榮華,張燕斌.PLC技術(shù)在礦山機(jī)電控制中應(yīng)用研究[J].現(xiàn)代商貿(mào)工業(yè),2011(6):246-247.

      [3] 侯鴻佳,蔡啟仲,陳文輝,等.ARM+FPGA組成的PLC結(jié)構(gòu)的通信系統(tǒng)[J].廣西工學(xué)院學(xué)報.2012,23(1):60-64.

      [4] 蔣玉新,蔡啟仲,李克儉,等. 基于ARM-FPGA的PLC源程序編譯系統(tǒng)的設(shè)計[J]. 計算機(jī)應(yīng)用與軟件,2013,09:179-182.

      [5] Yu L,Li K J,Cai Q Z,et al. Design of Parallel Operated Counter based on ARM + FPGA[A].2012 International Conference on Measurement, Instrumentation and Automation (ICMIA 2012)[C].Guangzhou,2012:234-239.

      [6] 張煒,李克儉,蔡啟仲,等.基于FPGA的PLC并行計數(shù)器的設(shè)計[J].計算機(jī)工程與設(shè)計,2013,34(4):1244-1249.

      [7] 夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計教程[M](第2版).北京:北京航空航天大學(xué)出版社,2008.

      [8] 王金明.數(shù)字系統(tǒng)設(shè)計與Verilog HDL(第3版).北京:電子工業(yè)出版社,2009.

      [9] 華清遠(yuǎn)見嵌入式培訓(xùn)中心.FPGA應(yīng)用開發(fā)入門與典型實例[M].北京:人民郵電出版社,2008.

      Design of Counter in PLC Based on ARM+FPGA

      Xu Xiaoyu1, Li Kejian1, Cai Qizhong1, Pan Shaoming1, Yu Ling2

      (1.College of Electronic and Information Engineering,Guangxi University of Technology,Liuzhou545006,China;2.Department of Electrical and Computer Engineering,Lushan College, Guangxi University of Science and Technology,Liuzhou545616,China)

      Abstract:Counter is one of the important parts of the PLC. In the automatic control system with PLC as the core component, the software can realize the real-time and accurate count of the system. Through the dual port RAM, ARM command can be transmitted to the FPGA. The FPGA control counter related operations, the FPGA oscillator frequency 50 MHz as counter control module timing constraints, counter design with addition and subtraction counting function, power holding function, data transmission function, so as to meet the needs of the PLC controller of the count, and through the use of memory address mapping the counter controller instruction execution more efficient. The communication time sequence and communication protocol of the FPGA internal control and FPGA instruction execution controller are designed. After the simulation and testing of the design, the count frequency of a single counter reaches 2 MHz, the function of the PLC counter is basically realized, and the design requirements of the stable count are achieved.

      Keywords:counter; PLC; dual port RAM; address mapping memory; FPGA communication protocol

      文章編號:1671-4598(2016)02-0271-04

      DOI:10.16526/j.cnki.11-4762/tp.2016.02.075

      中圖分類號:TP3

      文獻(xiàn)標(biāo)識碼:A

      作者簡介:徐曉宇(1988-),男,河北唐山人,碩士研究生,主要從事嵌入式系統(tǒng)與自動化裝置方向的研究。

      基金項目:廣西科學(xué)基金項目(桂科自2014GXNSFA118392);廣西教育廳科研項目(2013LX092)。

      收稿日期:2015-09-04;修回日期:2015-09-28。

      猜你喜歡
      數(shù)據(jù)格式斷電計數(shù)器
      煤氣與熱力(2022年2期)2022-03-09 06:29:30
      高壓感應(yīng)電動機(jī)斷電重啟時的瞬態(tài)仿真
      在智能交通系統(tǒng)中PLC數(shù)據(jù)格式轉(zhuǎn)換方法的研究
      電子測試(2018年1期)2018-04-18 11:52:49
      計數(shù)器競爭冒險及其處理的仿真分析
      一種STS新的斷電快速檢測方法
      一種基于STM32的具有斷電保護(hù)機(jī)制的采集存儲系統(tǒng)設(shè)計
      論子函數(shù)在C語言數(shù)據(jù)格式輸出中的應(yīng)用
      DWG與SHP數(shù)據(jù)格式互轉(zhuǎn)換方法研究——以龍巖規(guī)劃測繪數(shù)據(jù)為例
      高、低壓斷電對高爐噴煤系統(tǒng)的影響及處理
      任意N進(jìn)制計數(shù)器的設(shè)計方法
      河南科技(2014年10期)2014-02-27 14:09:30
      龙门县| 泉州市| 唐河县| 武平县| 松阳县| 黎城县| 西乌珠穆沁旗| 保德县| 融水| 尉氏县| 荣成市| 沁阳市| 武威市| 文安县| 沙田区| 新巴尔虎左旗| 高碑店市| 武川县| 万州区| 临漳县| 阳谷县| 乌苏市| 辽中县| 南乐县| 灌阳县| 和政县| 玛多县| 都江堰市| 青浦区| 临朐县| 武陟县| 延长县| 佛冈县| 稻城县| 武汉市| 汨罗市| 鹤峰县| 惠安县| 丹江口市| 天峻县| 延庆县|