基于FPGA的嵌入式PLC微處理器設計

發(fā)布時(shí)間:2010-8-10 14:36    發(fā)布者:lavida
關(guān)鍵詞: FPGA , PLC , 微處理器
摘要:目前利用FPGA設計高性能的嵌入式處理器已經(jīng)成為SOC設計的重要部分,對一種基于FPGA芯片的嵌入式PLC處理器進(jìn)行了研究和設計,并采用了基于VHDL語(yǔ)言的自頂向下的模塊化設計方法,頂層設計使用原理圖輸入。最后用QuartusII進(jìn)行仿真,給出了主要仿真結果。實(shí)驗表明,該處理器能準確且快速的響應嵌入式PLC的邏輯指令,且較傳統的PLC處理器更靈活,集成度更高。  

0 前言  

現場(chǎng)可編程門(mén)陣列(FPGA)是近幾年來(lái)出現并被廣泛應用的大規模集成電路器件,它的特點(diǎn)是直接面向用戶(hù),具有極大的靈活性和通用性使用方便,硬件測試和實(shí)現快捷,開(kāi)發(fā)效率高,成本低,上市時(shí)間短,技術(shù)維護簡(jiǎn)單,工作可靠性好等。  

硬件描述語(yǔ)言(VHDL)是用來(lái)描述硬件電路的功能,信號連接關(guān)系及時(shí)序關(guān)系的高級硬件編程語(yǔ)言,設計者可根據VHDL語(yǔ)言法則,對系統的邏輯進(jìn)行行為描述,然后通過(guò)綜合工具進(jìn)行電路結構的綜合、編譯、優(yōu)化,用仿真工具進(jìn)行邏輯功能仿真和系統時(shí)序仿真,可在短時(shí)間內設計出高效、穩定、符合設計要求的大規;虺笠幠5募呻娐。  

該處理器采用了TOP—DOWN的層次網(wǎng)絡(luò )模塊化設計方法,用VHDL描述了嵌入式PLC的CPU的主要邏輯功能,考慮到嵌入式CPU結構的復雜性和設計的可擴展性,在頂層設計中采用了原理圖的方法,通過(guò)VHDL對每個(gè)單元模塊進(jìn)行了仿真和綜合,然后將綜合生成的各個(gè)模塊連接起來(lái),組成了一個(gè)整體  

1 系統設計  

1.1 系統的功能  

該PLC主要是用來(lái)與DSP共同實(shí)現數控機床中的部分操作,它主要執行一些輔助的邏輯控制。它的主要任務(wù)如下:  

(1)接收從DSP發(fā)送過(guò)來(lái)的指令字,并將其進(jìn)行譯碼轉換成相應的命令信號,從而執行相應的操作;(2)接收操作面板上的按鍵信號,并響應相應的操作;(3)給DSP發(fā)送應答信號以及狀態(tài)信息;(4)將處理的結果輸出到面板上以驅動(dòng)相應的繼電器。  

1.2 系統的組成部分  

該系統的核心組成部分是由控制器、運算器以及I/0端口構成,如圖1所示。  

  



  


控制器:控制器是由程序計數器、指令寄存器、指令譯碼器、時(shí)序產(chǎn)生器和操作控制器等組成,它是發(fā)布命令的“決策機構”。運算器:運算器由算術(shù)邏輯單元、暫存器以及數據緩沖器等組成,它是數據的加工處理部件。  

I/0端口該PLC的I/O點(diǎn)數為l0點(diǎn)輸入和8點(diǎn)輸出。每個(gè)端口由輸入寄存器以及相應的端口控制部分組成。  

2 系統的FPGA實(shí)現  

2.1 控制器  

控制器的形式主要有組合邏輯控制器和微程序控制器兩種,與組合邏輯控制器相比較,微程序控制器具有規整性、靈活性、可維護性等一系列優(yōu)點(diǎn) ,在計算機的設計中使用比較普遍,本控制器的設計采用的也是微程序控制器。微程序控制的基本思想,就是仿照通常的解題程序的方法,把操作控制信號編成所謂的“微指令”,存放到一個(gè)只讀存儲器里。當機器運行時(shí),一條又一條地讀出這些微指令,從而產(chǎn)生全機所需要的各種操作控制信號,使相應部件執行所規定的操作 。  

微程序控制器主要由控制存儲器(CM),微地址產(chǎn)生邏輯,微地址寄存器(uAR),微指令寄存器(ulR)等組成。  

(1)機器指令與微程序。該處理器選取了PLC指令系統中的十條基本指令如表1所示,指令采用十位二進(jìn)制編碼格式。  

第9~6位是四位指令的操作碼字段;第5位是標志位,用來(lái)判斷該指令有無(wú)操作數(1一有操作數,0一無(wú)操作數);第4~0位是操作數字段。  

表中每條機器指令對應一段微程序,一段微程序包含若干條微指令,微程序的設計就具體地可落實(shí)到微指令的設計 ,微指令中的控制字段作為控制命令控制計算機的操作,控制字段給出的微命令應包含計算機操作的所有微命令,對微命令給出和表示的方法與所采用的編碼方式有關(guān),常用的微命令表示方法有直接表示法、編碼表示法、和混合表示法,該設計采用的是將直接表示法和編碼表示法混合使用的混合表示法。  

  



  


該系統中的每條微指令為32位,其中低5位為下地址字段,直接送給微地址寄存器,第5~7位為測試字段,送到微地址產(chǎn)生邏輯電路里面以控制微地址的產(chǎn)生,其余位為用來(lái)產(chǎn)生各種微命令的控制字段。  

(2)控制存儲器?刂拼鎯ζ髦写娣诺氖歉髦噶钏鶎奈⒊绦,它可以用FPGA中的LPM—ROM模塊來(lái)實(shí)現,如圖2所示。Clock為同步時(shí)鐘信號,address為5位的地址值,q為32位的微指令,當clock上升沿到來(lái)時(shí),rom就把address所對應的地址中的值輸出給q。  

  



  


(3)微地址產(chǎn)生邏輯。微地址產(chǎn)生邏輯主要是根據微指令中的測試位及其他相關(guān)的條件來(lái)控制微地址的產(chǎn)生,它是根據一定的邏輯功能用VHDL語(yǔ)言編寫(xiě)的,并且經(jīng)過(guò)編譯和綜合后生成的模塊,如圖3所示。  



  


其中,clk為同步時(shí)鐘信號,rst為復位信號,q為輸出的5位微地址值。其控制流程如下:  

(1)系統啟動(dòng)時(shí),給出一個(gè)rst=1的復位信號,q端便輸出“00010”,為輸入掃描微程序的入口地址;(2)對應的微指令就從控存中輸出,然后該微指令中的5位下地址字段直接輸入到din端,3位測試位輸入到m端;(3)如果m=“000”,則q端輸出的地址值直接加1,且返回(2)繼續執行;否則,執行下一步;(4)如果m=“001”,則看i端輸入的用戶(hù)程序指令來(lái)判斷是否需要取數操作,如果需要,則q端輸出各個(gè)取數微程序的入口地址;如果不需要,則q端根據i的操作碼輸出相應指令的微程序入口地址,且返回(2)繼續執行;否則,執行下一步;(5)如果m=“010”,q端直接輸出din的地址值,且返回(2)繼續執行;否則,執行下一步;(6)如果m=“011”,則q端根據i的操作碼輸出相應指令的微程序人口地址,且返回(2)繼續執行。  

2.2 運算器  

運算器是用來(lái)對輸入的數據進(jìn)行算術(shù)和邏輯運算的部件 ,該ALU具有三輸入和兩輸出,d1和d2是參與邏輯運算的兩個(gè)位數據,其中dl來(lái)自外部的取數,d2來(lái)自輸出暫存器s,sel是指令的操作碼。result是運算后的結果,輸出后送給了暫存器S,q用來(lái)啟動(dòng)定時(shí)器,如圖4所示。  

  



  


2 3 RAM 圖4 運算器原理圖  

RAM用來(lái)存儲用戶(hù)程序,它可以用FPGA中的LPM—RAM—DQ模塊來(lái)實(shí)現。其中,wren是讀寫(xiě)控制端,當wren=0時(shí)為讀允許,這時(shí)在同步時(shí)鐘clock的上升到來(lái)時(shí)沿將address所對應的地址中的內容給輸出端q;當wren=1時(shí)為寫(xiě)允許,這時(shí)在同步時(shí)鐘clock的上升沿到來(lái)時(shí)將data端的數據寫(xiě)入到address所指明的地址中,如圖5所示。  

  



  


3 仿真與分析  

為了測試指令的運行情況,本文在最后給出了一段基于Quartus II的程序仿真。  



  


仿真時(shí)給出了10位輸入數據indata=”1 1 10000101”,10.0~10.4分別對應著(zhù)該數據的第0位~第4位,同樣QO.o和Qo.1分別對應著(zhù)輸出端子的第。位和第1位。  

仿真結果的圖6中:T1,T2,T3,T4為4個(gè)時(shí)鐘節拍信號,out0和out1分別對應著(zhù)輸出端子Qo.o和Qo.1,因為IO.o和IO.2為1,IO.3和IO.4都為o,因此程序運行的最后結果應該是QO.o和Q0.1都為1,并且從圖6可以看出,仿真結果與此相同,程序運行正確,說(shuō)明所設計的微處理器及其指令正確可靠。  

  



  


4 結束語(yǔ)  

本文所設計的PLC微處理器具有很強的可修改性和可移植性,并且優(yōu)化升級也很方便,可以根據特定的需要方便地增刪指令和I/O端口的數量,這比傳統的PLC具有更大的靈活性。另外,由于FPGA具有很高的密度,能夠集成很大的系統 ,因而極大地提高了系統的可靠性。
本文地址:http://selenalain.com/thread-20596-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页