• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 基于FPGA的Picoblaze核实现Modbus通信协议

基于FPGA的Picoblaze核实现Modbus通信协议

录入:edatop.com     点击:

摘要:给出了一种在Xinlinx的Spartan-3E评估板上实现Modbus通信协议的方法。该方法以PC为上位机,并在评估板上嵌入Picoblaze软核作为下位机来实现Modbus通信协议的功能。文中同时介绍了使用Xilinx ISE和Picoblaze软核进行开发的方法。

0 引言

目前,从各大FPGA厂商公布的销售数据来看,Xilinx的FPGA市场份额占到了近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所示。

图2是微控制器核心KCPSM3的结构框架图。KCPSM3中一共有16个长度为8位的通用寄存器,每个寄存器都可以在汇编代码中分别命名。其中,Scratch Pad Memory的大小为64 Bytes,作用相当于一块临时存储区。KCPSM3只支持1个中断信号,但实际上可以将多个中断信号用逻辑组合的方式变成一个来使用(会降低单中断通道的性能)。

作者:同济大学 张晶磊 来源:电子元器件应用

上一篇:PC/104标准四串口通信板设计
下一篇:信号链基础之时钟抖动解秘

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图