新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > IP復用的FSPLC微處理器SOC設計

        IP復用的FSPLC微處理器SOC設計

        作者: 時間:2016-12-02 來源:網絡 收藏


        3.2 AVRIP核復用

        AVR8位微處理器AT90S1200IP核由opencores。org提供。整個微處理器IP核包括ALU、PC、SRAM、IR、ROM、I/0,控制等”個模塊,可以分成3個單元;取指單元、執行單元和I/0單元。指令執行時,取指單元負責取出下一個指令,執行單元負責執行當前指令,而LO單元負資和外界的連接。取指單元和執行單元組成微處理器的CPU。

        整個AVRIP核包括許多寄存器:指令寄存器、指令備份寄存器、程序計數器、通用寄存器、存儲地址寄存器(MAR),1/O口控制寄存器等。整個系統的工作就是基于這些寄存器之間的數據傳輸。設計所有的寄存器以及它們之間的組合邏輯及其連接就是系統的數據通道設計。控制模塊決定怎樣進行寄存器傳愉。數據通道和控制單元組成了整個微處理器。

        對于AT90S12001P核復用,考慮到IP核在SOC中集成整合,首先須徹底了解所復用核的架構和指令集,借助ModelSim進行功能仿真,建立Testbench平臺測試波形驗證功能的正確性,如圖3所示。編譯無誤且功能正確后借助Synplify Pro對IP核飾代碼進行邏輯綜合,如果VHDL程序正確無誤并且其編程風格符合Synplify Pro綜合要求,Synplify Pro將產生一個網表文件(。EDF文件),再借助QuartusA4。0和ModelSim分別進行FPGA驗證和時序驗證,此過程不斷循環,直至復用的微處理器IP核沒有任何錯誤。



        圖3 AVRIP復用測試平臺Testbench框圖

        4 FSPLC微處理器核SOC設計

        4.1 SOC硬件結構

        根據FSPLCSOC系統功能定義,設計完成FSPLC微處理器硬件結構,如圖4所示。



        圖4 FSPLCSOC硬件結構框圖

        FSPLCSOC由AT90S1200、布爾處理器BP、存儲器位接口MBI、邏輯處理器LP,CAN總線1。0接口CBI、底板總線接口BBI等6個模塊組成。AT90S1200模塊是SOC的核心,實現PLC指令的執行;BP模塊由兩個位累加器和一個位邏輯堆淺BLS組成,該結構可以有效處理IEC61131-3(國際電工委員會制訂的基于Windows編程語言標準)PLC指令表語句中復雜的嵌套邏輯運算,使運行頻率最高的位指令達到最大的執行速度;存儲器位接口模塊由一個存儲器位尋址接口邏輯和一個8選1選擇器組成,為布爾處理器和數據存儲器之間的位訪間接口;CAN總線1。0接口CBI模塊和外部基于Atmega8515的USB-CAN適配器相連,通過此適配器FSPLC可以和其他帶有CAN接口的PLC實現CAN通訊;通過底板總線接口BBI模塊可以在FSPLC片外擴展模塊,最多可以達到8個,包括I/0擴展模塊、AID模塊、D/A模塊、計數模塊等。其中AT90S1200,MBI,LP,CBI,BBI模塊通過內部總線連接,BP通過MBI模塊轉換實現和其他模塊的連接。

        4.2 FSPLCSOC仿真、綜合、驗證

        由于SOC設計是一種面向IP核集成的設計,整合后的SOC模塊同第三方IP核復用一樣需要進行模塊的仿真、綜合和驗證。FSPLC SOC同復用AT90SI200核一樣借助ModelSim進行功能仿真和驗證后時序仿真,借助Synplify Pro進行綜合。

        下面具體描述FSPLCSOC的驗證,SOC設計中包含了系統設計和模塊設計,因此SOC驗證一般包含了模塊驗證、芯片驗證和系統驗證三個部分。由于FSPLCSOC涉及到的主要是數字IP核,文中采用AlteraNioslI開發板作為設計的驗證平臺,該開發板帶有一個20多萬門的Altera EP20K200EFC484-2的FPGA芯片、撥碼開關、數碼顯示器等,用一個實際PLC應用程序在此開發板上對FSPLCSOC進行了可行性驗證,同時通過對AVR編譯器Avral。0的編譯代碼變量中增加PLC指令代碼,使之能夠對PL(:指令進行編譯。圖5,圖6分別為PLC控制程序的梯形圖及其匯編程序。



        圖5 PLC控制程序的梯形圖

        開發板的撥碼開關SWl的1、2、3、4來模擬上述開關的閉合,觀察數碼顯示器Dl數碼段明暗,驗證設計的可行性。FSPLCSOC在Altera Nios開發板的FPGA芯片上進行了可行性驗證,獲得了理想的運行效果:在33MHz晶振下,執行基本邏輯指令速度為0。09μ/條,達到了國際上大中型PLC的處理速度。



        圖6 PSPLC匯編程序

        5 結束語

        目前IC產業中,SOC已成為最主要的集成電路設計方法8位RISC微處理器芯片設計正在向SOC化發展,通過IP核復用方法以縮短周期、降低成本、提高效率。文中基于IP核復用和SOC技術借助ModelSim、Synplify Pro、QuartusⅡ等EDA軟件設計了擁有自主知識產權的專用PLC微處理器SOC模塊FSPLC,在復用了第三方AVRAT90SI200IP核基礎上集成了自行設計的LP、BP、MBI、CBI、BBI等模塊,具有快速處理PLC梯形圖程序、快速處理IL語句表中復雜的嵌套邏輯運算、PLC之間CAN總線通訊等優點。最后采用Altera NiosII作為驗證平臺,對實際的PLC應用程序做了可行性驗證,獲得了理想的效果。

        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 怀宁县| 屏东县| 渝中区| 新昌县| 枣强县| 德安县| 渭南市| 东山县| 渝中区| 柳江县| 湟中县| 台东市| 兴隆县| 观塘区| 北川| 夹江县| 长宁县| 清流县| 长白| 新邵县| 霍山县| 合水县| 黔西县| 交城县| 新龙县| 泗阳县| 姚安县| 禹城市| 囊谦县| 商都县| 武平县| 甘孜县| 华宁县| 印江| 包头市| 蒙城县| 安丘市| 吉水县| 东台市| 鸡东县| 黑河市|