劉彤
(湖南鐵道職業(yè)技術(shù)學(xué)院湖南株洲412001)
基于EDA技術(shù)的新型PLC微控制器的研究與設(shè)計
劉彤
(湖南鐵道職業(yè)技術(shù)學(xué)院湖南株洲412001)
近年來國產(chǎn)PLC技術(shù)得到了快速發(fā)展,但缺乏核心技術(shù),制約著國產(chǎn)PLC技術(shù)的發(fā)展和提高。本文研究基于EDA技術(shù),以FPGA為核心的硬件平臺為開發(fā)對象,Veri1og硬件描述語言靈活設(shè)計的PLC微控制器,建立了以FPGA為主控芯片的PLC微控制器的硬件平臺;確定存儲器用戶內(nèi)存和應(yīng)用內(nèi)存的地址分配,確定軟元件地址的尋址方式和計算方法。針對指令系統(tǒng)中的定時、計數(shù)器指令的特殊性,研究和設(shè)計多個定時、計數(shù)器實現(xiàn)方法和實現(xiàn)單元,通過仿真進行功能驗證。目前國內(nèi)外并不多見,還處在起步研究階段,具有較好的學(xué)術(shù)研究價值和應(yīng)用價值。
可編程序控制器;EDA;FPGA;微控制器;Veri1o
目前機電一體化設(shè)備控制系統(tǒng)、現(xiàn)場控制總線和工業(yè)控制計算機為核心的分布式控制系統(tǒng)等幾乎全部都是國外進口PLC產(chǎn)品,價格高,技術(shù)壟斷,此外,目前的小型PLC難以將智能控制算法嵌入到PLC中[1_3]。因此本文研究基于EDA技術(shù),以FPGA為核心的硬件平臺為開發(fā)對象,Veri1og硬件描述語言靈活設(shè)計的PLC微控制器。
1.1PLC的基本組成
其基本構(gòu)成主要有地址產(chǎn)生單元、指令寄存器單元、算術(shù)邏輯運算單元、邏輯指令運算單元、輸入/輸出單元、定時/計數(shù)單元、總線仲裁器、F1ash、Sram控制器和主控制器單元等[4_5]。如圖1所示。
1.2PLC微控制器工作流程
微控制器的工作流程如圖2所示。PLC微控制器上電運行前,根據(jù)外部開關(guān)的位置可以選擇工作方式,可以在F1ashROM中運行程序,也可以選擇RAM中運行程序,還可以進入編程模式進行程序下載[6]。
數(shù)據(jù)通道包括運算單元(完成算術(shù)、邏輯運算等)和其它特定功能單元,是數(shù)據(jù)在系統(tǒng)的運算單元、特定功能單元和內(nèi)部寄存器之間移動,以及移動數(shù)據(jù)進出外部系統(tǒng)的通道。它由地址生成單元、算術(shù)邏輯運算器單元、指令寄存器單元、邏輯指令運算器單元、sram控制器單元、nor_f1ash控制器單元、輸入輸出單元和總線仲裁單元8個部分構(gòu)成。
2.1主控制器單元設(shè)計
主控制器單元是PLC微控制器的重要單元,對用戶指令編譯和執(zhí)行的所有時序都是由主控制器單元決定。主控制器單元根據(jù)要執(zhí)行的指令按照一定的時序,通過數(shù)據(jù)通道把數(shù)據(jù)傳送到目的地。
2.1.1主控制器單元功能設(shè)計
主控制器單元向數(shù)據(jù)通道中的模塊提供控制信號,在統(tǒng)一時鐘的驅(qū)動下,決定數(shù)據(jù)在數(shù)據(jù)通道中的傳輸。主控制器單元的指令譯碼控制采用有限狀態(tài)機實現(xiàn)。
主控制器單元根據(jù)指令的種類進行譯碼操作。在基本指令當(dāng)中又分為3種類型,第一種是LD、LOR類型指令;第二種是其它無操作數(shù)指令;第三種是其它單操作數(shù)指令。狀態(tài)機主要有4個階段:掃描輸入、取指令、譯碼和執(zhí)行。取指令階段是從存儲器中得到指令,譯碼階段是編譯指令、控制數(shù)據(jù)通道和裝載寄存器,執(zhí)行是產(chǎn)生指令的結(jié)果會寫存儲器相應(yīng)區(qū)域。掃描輸入階段需要4個時鐘周期,讀取兩個輸入單元的狀態(tài),并寫入存儲器的X輸入映像區(qū)。取指令階段需要4個時鐘周期,兩個時鐘周期用來裝載地址寄存器,另兩個時鐘周期用來從存儲器中得到給定地址的數(shù)據(jù)字,實體結(jié)構(gòu)如圖3所示。
圖1 PLC微控制器結(jié)構(gòu)框圖
圖2 PLC微控制器工作流程圖
圖3 控制單元實體結(jié)構(gòu)圖
2.1.2主控制器單元譯碼和執(zhí)行流程
指令編譯流程圖如圖4所示。
圖4 指令編譯流程圖
輸入端子分為兩組,每組32個,共64個輸入端子。輸入單元的狀態(tài)存儲由兩個單元的32位存儲器組成,綜合后實際是深度為2,寬度為32的SRAM存儲器。
2.3Nor_flash控制器單元
實體結(jié)構(gòu)如圖5所示。
圖5 nor f1ash控制單元實體結(jié)構(gòu)圖
通過ce、oe和we三根控制信號,就能完成讀數(shù)據(jù)過程。如果是在寫操作過程,必須寫入命令字,返回讀模式。ce、oe 和we是與總線控制器相連接的f1ash控制信號,datain、dataout和addressin是與總線控制器相連接的數(shù)據(jù)輸入輸出和地址總線。f_ce、f_oe和f_we信號直接連接外部f1ash芯片的讀寫片選信號,data和addressout直接連接外部f1ash芯片的數(shù)據(jù)和地址總線。
2.4算術(shù)邏輯運算器單元與指令寄存器單元
運算器是數(shù)據(jù)加工和處理部件,是中央處理器的重要組成部分。
PLC的算術(shù)邏輯器運算單元包括數(shù)據(jù)鎖存器A、B、算術(shù)邏輯運算單元(ALU)和累加器(ACC)等3個部分。指令寄存器是用來存放當(dāng)前正在執(zhí)行的指令。復(fù)位后,指令寄存器被清為零。
在分析PLC結(jié)構(gòu)和工作原理的情況下,以FPGA為載體,利用現(xiàn)代EDA技術(shù),借鑒RISC微處理器的工作原理,研究設(shè)計PLC新型微控制器及其指令系統(tǒng)。采用Veri1og_HDL語言編寫微控制器系統(tǒng)程序,實現(xiàn)PLC微控制器功能。
[1]馮進玫,丁群,孫曉軍,等.利用VHDL語言實現(xiàn)Hopfie1d神經(jīng)網(wǎng)絡(luò)運算[J].電測與儀表,2005,42(3):42_44.
[2]黎娜,蔡啟仲.基于ARM7與FPGA組成的可編程控制器[J].微計算機信息,2008,24(10):44_46.
[3]郭毅鋒,蔡啟仲.基于ARM7的PLC手持編程器通訊接口設(shè)計[J].微計算機信息,2008,24(14):139_140,255.
[4]程世威.PLC控制系統(tǒng)故障的維修方法分析[J].科技與企業(yè),2015(11):77.
[5]趙玉友.PLC控制系統(tǒng)干擾因素與應(yīng)對措施研究[J].信息通訊,2015(4):92_93.
[6]陳正茂.對PLC控制系統(tǒng)可靠性分析[J].自動化控制,2015(7):168.
Research and deslgn of neW tyPe mlcro-controller of PLC based on EDA technology
LIU Tong
(Hunan Railway Professional Technology College,Zhuzhou 412001,China)
In recent years,the domestic PLC techno1ogy has been rapid deve1opment,but the 1ack of core techno1ogy,restricts the deve1opment of domestic PLC techno1ogy and improve the.This study is based on the EDA techno1ogy,taking FPGA as the core hardware p1atform as the deve1opment object,the Veri1og hardware description 1anguage and f1exib1e design of PLC microcontro11er,bui1t with the FPGA as the main contro1 chip PLC micro contro11er hardware p1atformjdetermine the address a11ocation of memory the user memory and app1ication memory,determining the addressing mode and ca1cu1ation method of soft e1ement address.According to the particu1arity of the command system timer,counter instruction,research and design of mu1ti timer,counter imp1ementation methods and unit,the functiona1 verification by simu1ation.At home and abroad are rare,is sti11 in the initia1 stage of research,has good academic va1ue and app1ication va1ue.
PLC;EDA;FPGA;micro contro11er;Veri1og
TN302
A
1674_6236(2016)10_0177_03
2015_06_15稿件編號:201506152
2014年湖南省教育科學(xué)研究項目(14C0758)
劉彤(1972—),男,湖南株洲人,碩士,講師。研究方向:控制理論與控制工程。