新聞中心

        EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > 基于FPGA的Picoblaze核實現(xiàn)Modbus通信協(xié)議

        基于FPGA的Picoblaze核實現(xiàn)Modbus通信協(xié)議

        作者: 時間:2011-03-29 來源:網(wǎng)絡(luò) 收藏

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

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

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

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

        a.JPG


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

        b.JPG


        上一頁 1 2 3 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 封丘县| 上思县| 无锡市| 阳江市| 正阳县| 花莲市| 醴陵市| 那坡县| 油尖旺区| 宜黄县| 嘉禾县| 两当县| 兰州市| 建宁县| 垦利县| 彰武县| 双牌县| 瓮安县| 会理县| 津市市| 东阳市| 稻城县| 福安市| 辛集市| 左贡县| 抚州市| 论坛| 滕州市| 镇沅| 嘉荫县| 大冶市| 广西| 余姚市| 琼结县| 兰坪| 新昌县| 平和县| 仪陇县| 阿坝县| 丹寨县| 铜梁县|