• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 手機與無線通信 > 設計應用 > 基于FPGA的Picoblaze核實現Modbus通信協議

    基于FPGA的Picoblaze核實現Modbus通信協議

    作者: 時間:2011-03-29 來源:網絡 收藏

    摘要:給出了一種在Xinlinx的Spartan-3E評估板上的方法。該方法以PC為上位機,并在評估板上嵌入軟核作為下位機來的功能。文中同時介紹了使用Xilinx ISE和軟核進行開發的方法。
    關鍵詞:核;;Spartan-3E評估板

    0 引言
    目前,從各大廠商公布的銷售數據來看,Xilinx的市場份額占到了近50%。Spartan-3E系列的器件密度范圍為10萬到160萬系統門,其單位邏輯單元的成本是FPGA行業中最低的,能夠以標準產品價格微處理器、微控制器和數字信號處理器的功能,并可支持18種通用I/O標準,還可通過ISE來操作PicoBlaze軟核。Spartan-3E同時結合了強大的平臺FPGA功能和超低價位。因而可使更多的設計人員享受可編程能力所帶來的益處。

    1 Picoblaze核結構
    本文采用Xilinx公司的Spartan-3E評估板及其PicoBlaze IP核來進行Modbus通信協議的系統設計。該系統的整體結構是以PC做為上位機,并在評估板上嵌入Picoblaze軟核作為下位機,從而實現Modbus通信協議。PicoBlaze是Xilinx公司的一款8bit微控制器軟核,它非常之小。可以嵌入到Cool RunnerⅡ,Virtex-E,Virtex-II(Pro)和Spartan-3E的CPLD以及FPGA中。對于整個指令集,PicoBlaze執行一條指令需要2個時鐘周期。
    在對PicoBlaze進行開發時,首先需要將PicoBlaze認識并執行的程序經過Assembler轉換成相應的HDL文件并存放在FPGA內部的Block Memory中(因此,PicoBlaze執行一條指令所需的時鐘周期是固定的)。然后,微控制器核心KCPSM3再從Block Memory里面讀取程序并按順序執行。PicoBlaze的存儲空間為1024x18bit,也就是說,它能夠存放1024條位長為18的指令。而PicoBlaze支持的指令集也很精簡(只有57條),其中包含程序控制類(跳轉,調用,返回)、算數類(加,減,比較)、邏輯類(與,或,異或)、中斷類(中斷開啟/關閉),移位/旋轉類(左移/右移,左旋/右旋)和輸入/輸出類(輸入,輸出)。PicoBlaze核的結構框架如圖1所示。

    本文引用地址:http://www.czjhyjcfj.com/article/156522.htm

    a.JPG


    圖2是微控制器核心KCPSM3的結構框架圖。KCPSM3中一共有16個長度為8位的通用寄存器,每個寄存器都可以在匯編代碼中分別命名。其中,Scratch Pad Memory的大小為64 Bytes,作用相當于一塊臨時存儲區。KCPSM3只支持1個中斷信號,但實際上可以將多個中斷信號用邏輯組合的方式變成一個來使用(會降低單中斷通道的性能)。

    b.JPG


    上一頁 1 2 3 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 普洱| 兴业县| 阿克苏市| 曲靖市| 万源市| 平乡县| 罗江县| 和硕县| 望江县| 肇东市| 汝城县| 叙永县| 榆林市| 稷山县| 商城县| 灵山县| 慈利县| 庆安县| 邯郸县| 深州市| 康保县| 通渭县| 濮阳县| 伊宁县| 洪雅县| 鹤岗市| 师宗县| 尚志市| 曲水县| 牡丹江市| 图木舒克市| 平泉县| 唐海县| 潜山县| 永春县| 通化市| 准格尔旗| 三河市| 江北区| 宁陵县| 六安市|