徐曉宇,田高華,劉秋生
?
關(guān)于ARM+FPGA組建PLC高速指令控制器的研究
徐曉宇,田高華,劉秋生
(江西應(yīng)用技術(shù)職業(yè)學(xué)院,江西 贛州 341000)
為了提高PLC在生產(chǎn)當中的執(zhí)行效率,設(shè)計了關(guān)于FPGA和ARM組建的PLC高速指令控制器,充分利用FPGA高速的并行執(zhí)行特性以及芯片特性,將ARM編譯后用相應(yīng)的指令完成對應(yīng)的功能,ARM處理器與FPGA協(xié)同工作,完成整個PLC的指令過程,提高了指令的執(zhí)行效率。
高速指令控制器;并行執(zhí)行;協(xié)同工作;執(zhí)行效率
目前,PLC主要用于工業(yè)控制,隨著產(chǎn)業(yè)技術(shù)升級和復(fù)雜化,為了推動自動化發(fā)展走向智能化,PLC的執(zhí)行效率和準確度都迫切需要提高,從而提升生產(chǎn)效率[1]。
通過介紹分析PLC系統(tǒng)結(jié)構(gòu)特點和電子系統(tǒng)設(shè)計模型,設(shè)計ARM和FPGA協(xié)同構(gòu)建的PLC高速指令控制器,主要以FPGA構(gòu)建的接口電路、輸入輸出指令模塊、邏輯運算指令模塊為研究重點,最終PLC高速指令控制器將PLC指令通過雙口RAM存儲器傳送到輸入輸出模塊和邏輯運算模塊,并將執(zhí)行之后的結(jié)果上傳至雙口RAM,返回至ARM處理器,以實現(xiàn)PLC指令的執(zhí)行過程[2]。構(gòu)建成一種基于FPGA的PLC指令控制器,設(shè)計的指令按照相應(yīng)的時序和指令通信協(xié)議執(zhí)行。
設(shè)計的PLC高速指令控制器結(jié)構(gòu)由ARM和FPGA兩部分組成,根據(jù)PLC指令的執(zhí)行要求,組件的系統(tǒng)結(jié)構(gòu)分為指令傳輸部分和指令處理部分,通過結(jié)構(gòu)進而分析指令的執(zhí)行過程,結(jié)構(gòu)如圖1所示。指令由ARM發(fā)出,通過總線傳輸?shù)紽PGA,再經(jīng)過PLC高速指令控制器將指令傳輸至各個執(zhí)行電路,PLC高速指令控制器與雙口RAM模塊、邏輯運算電路、輸入輸出電路和定時計數(shù)器進行總線連接,并通過總線傳輸PLC指令數(shù)據(jù)和控制命令。
圖1 FPGA構(gòu)建PLC高速指令控制器的整體結(jié)構(gòu)框圖
圖2 PLC高速指令控制器工作流程圖
通過分析各個模塊電路的工作時序,根據(jù)雙口RAM特點和PLC高速指令控制器的指令格式需求,需要完成PLC高速指令控制器與各個模塊的數(shù)據(jù)交換,并實現(xiàn)對執(zhí)行模塊的時序控制。構(gòu)建的PLC高速指令控制器起到承上啟下的作用,具體包含指令高速傳輸、指令譯碼分析、指令的時序控制和數(shù)據(jù)傳輸?shù)裙δ苣K[3],PLC高速指令控制器工作的流程如圖2所示。工作流程如下:①程序執(zhí)行開始,首先檢測ARM的片選信號和寫信號是否同時為低電平,如果是低電平,則通過邊緣檢測電路不斷檢測是否有中斷INT0產(chǎn)生,否則返回開始階段。PLC高速指令控制器的每一條指令都經(jīng)過ARM至雙口RAM,通過總線傳輸至高速指令控制器,最終到達各個執(zhí)行模塊。INT0作為中斷信號來檢測判斷,觸發(fā)相應(yīng)的操作。②在A端口的片選信號和寫信號的作用下,通過雙口RAM的A端口寫入數(shù)據(jù),并且在B端口的片選信號和讀信號的作用下,通過B端口讀出數(shù)據(jù),雙口RAM中有一部分指令區(qū),用于執(zhí)行指令控制器控制輸入采集、輸出刷新、邏輯運算和定時計數(shù)等指令,當?shù)刂房偩€為12’h3f0時片選該指令區(qū),這一類需要進行命令譯碼,否則,數(shù)據(jù)傳遞至雙口RAM存儲的其他區(qū)域。③在數(shù)據(jù)傳送至雙口RAM指令區(qū)之后,判斷執(zhí)行控制器的讀信號線,低電平時讀入數(shù)據(jù)至指令控制器。④指令到達指令端口控制電路,判斷指令控制器的五位地址線,按照指令編譯的規(guī)則,對模塊地址的劃分使指令的執(zhí)行更加有序,地址判斷作為各個模塊的選中依據(jù)。⑤指令控制器選中相應(yīng)模塊之后執(zhí)行對應(yīng)操作,指令完畢后中斷返回,數(shù)據(jù)通過數(shù)據(jù)總線首先返回至指令控制器,通過指令控制器的判斷存儲至雙口RAM的相關(guān)存儲單元中,指令過程完畢[4]。
設(shè)計的PLC高速指令控制器基本實現(xiàn)了設(shè)計要求,能夠通過串口監(jiān)測PLC指令收發(fā)的準確性,本設(shè)計針對ARM與FPGA通信接口的設(shè)計實現(xiàn)了數(shù)據(jù)通信的基本功能需求,通信速率還可以進一步加快,進而加快指令執(zhí)行的速度,最終初步使構(gòu)建的PLC系統(tǒng)更加穩(wěn)定、高效率地運行。
[1]秦魏,劉芹,周盼.PLC的發(fā)展及應(yīng)用[J].科技致富向?qū)В?011,08(25),110.
[2]朱曉鵬.ARM+FPGA嵌入式系統(tǒng)設(shè)計及在測量儀器上的應(yīng)用[D].南京:江蘇大學(xué),2008.
[3]S. Da'na,A. Sagahyroon,A. Elrayes,et al.Development of a monitoring and control platform for PLC-based applications[J].Computer Standards & Interfaces,2008(30):157-166.
[4]王永明,李金明,劉彥波,等.基于ARM與FPGA的試驗機控制器的設(shè)計[J].工程與試驗,2010(02):59-61.
2095-6835(2019)02-0052-02
F724
A
10.15913/j.cnki.kjycx.2019.02.052
徐曉宇(1988—),男,研究方向為控制理論與控制工程。
〔編輯:張思楠〕