《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的嵌入式PLC微處理器設計
基于FPGA的嵌入式PLC微處理器設計
EEworld
摘要: 該處理器采用了TOP—DOWN的層次網絡模塊化設計方法,用VHDL描述了嵌入式PLC的CPU的主要邏輯功能,考慮到嵌入式CPU結構的復雜性和設計的可擴展性,在頂層設計中采用了原理圖的方法,通過VHDL對每個單元模塊進行了仿真和綜合,然后將綜合生成的各個模塊連接起來,組成了一個整體
關鍵詞: FPGA PLC
Abstract:
Key words :

前言

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

  硬件描述語言(VHDL)是用來描述硬件電路的功能,信號連接關系及時序關系的高級硬件編程語言,設計者可根據VHDL語言法則,對系統的邏輯進行行為描述,然后通過綜合工具進行電路結構的綜合、編譯、優化,用仿真工具進行邏輯功能仿真和系統時序仿真,可在短時間內設計出高效、穩定、符合設計要求的大規模或超大規模的集成電路。

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

  1 系統設計

  1.1 系統的功能

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

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

  1.2 系統的組成部分

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

  

 


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

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

  2 系統的FPGA實現

  2.1 控制器

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

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

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

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

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

 

 

 


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

    (2)控制存儲器。控制存儲器中存放的是各指令所對應的微程序,它可以用FPGA中的LPM—ROM模塊來實現,如圖2所示。Clock為同步時鐘信號,address為5位的地址值,q為32位的微指令,當clock上升沿到來時,rom就把address所對應的地址中的值輸出給q。

  

 

 


  (3)微地址產生邏輯。微地址產生邏輯主要是根據微指令中的測試位及其他相關的條件來控制微地址的產生,它是根據一定的邏輯功能用VHDL語言編寫的,并且經過編譯和綜合后生成的模塊,如圖3所示。

 

 

 

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

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

  2.2 運算器

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

  

 


  2 3 RAM 圖4 運算器原理圖

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

  

 

3 仿真與分析

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

 

 

 

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

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

  

 


  4 結束語

  本文所設計的PLC微處理器具有很強的可修改性和可移植性,并且優化升級也很方便,可以根據特定的需要方便地增刪指令和I/O端口的數量,這比傳統的PLC具有更大的靈活性。另外,由于FPGA具有很高的密度,能夠集成很大的系統 ,因而極大地提高了系統的可靠性。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美激情精品久久久久久变态| 国产精品永久免费在线| 亚洲综合成人婷婷小说| 亚洲精选中文字幕| 亚洲精品国产精品国自产观看 | 亚洲国产精品成人| 久久成人一区二区| 欧美制服丝袜第一页| 欧美中文字幕视频在线观看| 欧美一区2区视频在线观看| 亚洲自拍另类| 欧美亚洲一区二区在线| 香蕉久久国产| 久久精品国产99国产精品| 久久国产精品久久国产精品| 欧美综合国产精品久久丁香| 久久成人av少妇免费| 久久国内精品视频| 亚洲国产精彩中文乱码av在线播放| 亚洲电影第1页| 91久久综合| 9色精品在线| 亚洲一区二区在线免费观看| 亚洲曰本av电影| 午夜精品一区二区三区四区| 欧美在线影院| 老鸭窝亚洲一区二区三区| 欧美国产亚洲视频| 欧美天堂亚洲电影院在线观看| 国产精品porn| 国产精品影片在线观看| 国内精品久久久久久| 亚洲高清视频在线| 一本一本a久久| 小嫩嫩精品导航| 亚洲国产毛片完整版| 一道本一区二区| 欧美一区二区三区日韩视频| 久久精品麻豆| 欧美高清视频| 国产精品久久久久91| 国产综合色精品一区二区三区| 伊人狠狠色丁香综合尤物| 亚洲美女在线一区| 先锋影音国产一区| 亚洲狼人综合| 欧美一区二区三区视频免费播放 | 亚洲盗摄视频| 一本一本久久| 亚洲成人在线视频播放| 亚洲精品美女在线观看播放| 亚洲夜晚福利在线观看| 久久久国产精品一区二区三区| 欧美成人在线免费观看| 国产精品国产三级国产a| 好看的亚洲午夜视频在线| 亚洲三级视频在线观看| 亚洲欧美日韩天堂一区二区| 91久久久久久久久| 亚洲欧美日韩在线播放| 免费观看亚洲视频大全| 国产精品美女在线观看| 亚洲高清123| 亚洲免费影院| 一本大道久久a久久精二百| 欧美主播一区二区三区| 欧美.com| 国产精品资源在线观看| 亚洲激情成人| 欧美在线网站| 亚洲欧美激情视频在线观看一区二区三区| 久久久夜精品| 国产精品久久久久久久久动漫 | 亚洲高清在线播放| 亚洲中午字幕| 你懂的视频欧美| 国产日韩精品一区二区浪潮av| 91久久国产综合久久91精品网站| 亚洲欧美成人综合| 宅男噜噜噜66国产日韩在线观看| 久久久精品日韩| 国产精品久久一区二区三区| 亚洲欧洲三级电影| 久久大香伊蕉在人线观看热2| 亚洲制服丝袜在线| 欧美日产在线观看| 永久免费毛片在线播放不卡| 亚洲一区二区伦理| 亚洲一区二区三| 欧美激情一区二区三区在线视频| 国产午夜精品全部视频播放| 一区二区三区视频在线| 亚洲精品之草原avav久久| 久久人91精品久久久久久不卡| 国产精品一区久久| 国产精品99久久久久久久vr| av成人免费观看| 欧美激情国产日韩| 1024成人| 亚洲第一精品在线| 久久精品国产免费看久久精品| 国产精品国产精品国产专区不蜜| 亚洲免费av观看| 亚洲精品偷拍| 蜜桃av一区二区在线观看| 国产一区二区三区奇米久涩| 亚洲欧美国产制服动漫| 亚洲欧美综合国产精品一区| 欧美天天影院| 一区二区日韩伦理片| 在线视频欧美日韩精品| 欧美日韩国产成人高清视频| 亚洲区一区二区三区| 日韩亚洲欧美一区| 欧美黄网免费在线观看| 亚洲国产婷婷| 99精品国产高清一区二区| 欧美精品粉嫩高潮一区二区 | 亚洲午夜精品国产| 欧美先锋影音| 亚洲视频在线视频| 亚洲欧美日韩天堂一区二区| 国产精品激情| 午夜免费日韩视频| 久久精品人人做人人爽| 国内不卡一区二区三区| 久久国产精品毛片| 美女视频黄 久久| 亚洲福利免费| 日韩亚洲欧美中文三级| 欧美日韩在线高清| 亚洲午夜高清视频| 欧美在线网址| 一区二区三区在线免费视频| 亚洲人成免费| 欧美日韩理论| 亚洲综合大片69999| 久久精品国产一区二区三区| 黄网站免费久久| 亚洲精选一区| 国产精品jizz在线观看美国| 亚洲欧美在线视频观看| 久久久精品欧美丰满| 又紧又大又爽精品一区二区| 亚洲精品中文在线| 国产精品sss| 欧美亚洲专区| 欧美jizzhd精品欧美巨大免费| 亚洲人成亚洲人成在线观看图片| 一区二区三区导航| 国产精品一区2区| 亚洲国产日韩一区二区| 欧美久久综合| 亚洲一区在线视频| 久久综合网hezyo| 日韩亚洲欧美高清| 久久国产精品色婷婷| 亚洲激情另类| 欧美一区二区日韩一区二区| 激情亚洲成人| 亚洲午夜影视影院在线观看| 国产日韩精品一区观看| 亚洲电影第三页| 欧美日韩精品一本二本三本| 亚洲欧美电影在线观看| 免费日韩av| 亚洲尤物在线视频观看| 另类天堂av| 亚洲一区在线看| 欧美不卡福利| 亚洲午夜激情网页| 免费成人美女女| 亚洲摸下面视频| 欧美激情无毛| 欧美在线观看视频一区二区| 欧美精品免费看| 久久aⅴ国产紧身牛仔裤| 欧美日韩日本国产亚洲在线| 欧美自拍偷拍| 国产精品久久久久99| 亚洲国产天堂久久国产91| 国产精品剧情在线亚洲| 亚洲三级影片| 国产亚洲午夜高清国产拍精品| 中文亚洲免费| 亚洲高清av| 久久精品一区蜜桃臀影院| 日韩亚洲视频| 久久伊人亚洲| 亚洲一区在线视频| 欧美日韩高清免费| 亚洲国产一成人久久精品| 国产精品视频第一区| 亚洲美女中出| 黄色一区二区在线观看| 午夜在线成人av| 日韩午夜免费视频| 欧美电影免费观看| 久久精品欧洲| 国产亚洲欧美在线|