基于IP復用設計的微處理器FSPLCSOC模塊
4.1 SOC硬件結構
根據(jù)FSPLCSOC系統(tǒng)功能定義,設計完成FSPLC微處理器硬件結構,如圖4所示。
圖4 FSPLCSOC硬件結構框圖
FSPLCSOC由AT90S1200、布爾處理器BP、存儲器位接口MBI、邏輯處理器LP,CAN總線1。0接口CBI、底板總線接口BBI等6個模塊組成。AT90S1200模塊是SOC的核心,實現(xiàn)PLC指令的執(zhí)行;BP模塊由兩個位累加器和一個位邏輯堆淺BLS組成,該結構可以有效處理IEC61131-3(國際電工委員會制訂的基于Windows編程語言標準)PLC指令表語句中復雜的嵌套邏輯運算,使運行頻率最高的位指令達到最大的執(zhí)行速度;存儲器位接口模塊由一個存儲器位尋址接口邏輯和一個8選1選擇器組成,為布爾處理器和數(shù)據(jù)存儲器之間的位訪間接口;CAN總線1。0接口CBI模塊和外部基于Atmega8515的USB-CAN適配器相連,通過此適配器FSPLC可以和其他帶有CAN接口的PLC實現(xiàn)CAN通訊;通過底板總線接口BBI模塊可以在FSPLC片外擴展模塊,最多可以達到8個,包括I/0擴展模塊、AID模塊、D/A模塊、計數(shù)模塊等。其中AT90S1200,MBI,LP,CBI,BBI模塊通過內部總線連接,BP通過MBI模塊轉換實現(xiàn)和其他模塊的連接。
4.2 FSPLCSOC仿真、綜合、驗證
由于SOC設計是一種面向IP核集成的設計,整合后的SOC模塊同第三方IP核復用一樣需要進行模塊的仿真、綜合和驗證。FSPLC SOC同復用AT90SI200核一樣借助ModelSim進行功能仿真和驗證后時序仿真,借助Synplify Pro進行綜合。
下面具體描述FSPLCSOC的驗證,SOC設計中包含了系統(tǒng)設計和模塊設計,因此SOC驗證一般包含了模塊驗證、芯片驗證和系統(tǒng)驗證三個部分。由于FSPLCSOC涉及到的主要是數(shù)字IP核,文中采用Altera NioslI開發(fā)板作為設計的驗證平臺,該開發(fā)板帶有一個20多萬門的Altera EP20K200EFC484-2的FPGA芯片、撥碼開關、數(shù)碼顯示器等,用一個實際PLC應用程序在此開發(fā)板上對FSPLCSOC進行了可行性驗證,同時通過對AVR編譯器Avral。0的編譯代碼變量中增加PLC指令代碼,使之能夠對PL(:指令進行編譯。圖5,圖6分別為PLC控制程序的梯形圖及其匯編程序。
圖5 PLC控制程序的梯形圖
開發(fā)板的撥碼開關SWl的1、2、3、4來模擬上述開關的閉合,觀察數(shù)碼顯示器Dl數(shù)碼段明暗,驗證設計的可行性。FSPLCSOC在Altera Nios開發(fā)板的FPGA芯片上進行了可行性驗證,獲得了理想的運行效果:在33MHz晶振下,執(zhí)行基本邏輯指令速度為0。09μ/條,達到了國際上大中型PLC的處理速度。
圖6 PSPLC匯編程序
5 結束語
目前IC產(chǎn)業(yè)中,SOC已成為最主要的集成電路設計方法8位RISC微處理器芯片設計正在向SOC化發(fā)展,通過IP核復用方法以縮短周期、降低成本、提高效率。文中基于IP核復用和SOC技術借助ModelSim、Synplify Pro、QuartusⅡ等EDA軟件設計了擁有自主知識產(chǎn)權的專用PLC微處理器SOC模塊FSPLC,在復用了第三方AVRAT90SI200IP核基礎上集成了自行設計的LP、BP、MBI、CBI、BBI等模塊,具有快速處理PLC梯形圖程序、快速處理IL語句表中復雜的嵌套邏輯運算、PLC之間CAN總線通訊等優(yōu)點。最后采用Altera NiosII作為驗證平臺,對實際的PLC應用程序做了可行性驗證,獲得了理想的效果。
評論