新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于FPGA的嵌入式PLC微处理器设计

基于FPGA的嵌入式PLC微处理器设计

作者:时间:2011-10-08来源:网络收藏

前言

本文引用地址:http://www.eepw.com.cn/article/150134.htm

  现场可编程门阵列()是近几年来出现并被广泛应用的大规模集成电路器件,它的特点是直接面向用户,具有极大的灵活性和通用性使用方便,硬件测试和实现快捷,开发效率高,成本低,上市时间短,技术维护简单,工作可靠性好等。

  硬件描述语言(VHDL)是用来描述硬件电路的功能,信号连接关系及时序关系的高级硬件编程语言,者可根据VHDL语言法则,对系统的逻辑进行行为描述,然后通过综合工具进行电路结构的综合、编译、优化,用仿真工具进行逻辑功能仿真和系统时序仿真,可在短时间内出高效、稳定、符合要求的大规模或超大规模的集成电路。

  该处理器采用了TOP—DOWN的层次网络模块化设计方法,用VHDL描述了的CPU的主要逻辑功能,考虑到CPU结构的复杂性和设计的可扩展性,在顶层设计中采用了原理图的方法,通过VHDL对每个单元模块进行了仿真和综合,然后将综合生成的各个模块连接起来,组成了一个整体

  1 系统设计

  1.1 系统的功能

  该主要是用来与DSP共同实现数控机床中的部分操作,它主要执行一些辅助的逻辑控制。它的主要任务如下:

  (1)接收从DSP发送过来的指令字,并将其进行译码转换成相应的命令信号,从而执行相应的操作;(2)接收操作面板上的按键信号,并响应相应的操作;(3)给DSP发送应答信号以及状态信息;(4)将处理的结果输出到面板上以驱动相应的继电器。

  1.2 系统的组成部分

  该系统的核心组成部分是由控制器、运算器以及I/0端口构成,如图1所示。

  


  控制器:控制器是由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器等组成,它是发布命令的“决策机构”。运算器:运算器由算术逻辑单元、暂存器以及数据缓冲器等组成,它是数据的加工处理部件。

  I/0端口该的I/O点数为l0点输入和8点输出。每个端口由输入寄存器以及相应的端口控制部分组成。

  2 系统的实现

  2.1 控制器

  控制器的形式主要有组合逻辑控制器和微程序控制器两种,与组合逻辑控制器相比较,微程序控制器具有规整性、灵活性、可维护性等一系列优点 ,在计算机的设计中使用比较普遍,本控制器的设计采用的也是微程序控制器。微程序控制的基本思想,就是仿照通常的解题程序的方法,把操作控制信号编成所谓的“微指令”,存放到一个只读存储器里。当机器运行时,一条又一条地读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作 。

  微程序控制器主要由控制存储器(CM),微地址产生逻辑,微地址寄存器(uAR),微指令寄存器(ulR)等组成。

  (1)机器指令与微程序。该处理器选取了PLC指令系统中的十条基本指令如表1所示,指令采用十位二进制编码格式。

  第9~6位是四位指令的操作码字段;第5位是标志位,用来判断该指令有无操作数(1一有操作数,0一无操作数);第4~0位是操作数字段。

  表中每条机器指令对应一段微程序,一段微程序包含若干条微指令,微程序的设计就具体地可落实到微指令的设计 ,微指令中的控制字段作为控制命令控制计算机的操作,控制字段给出的微命令应包含计算机操作的所有微命令,对微命令给出和表示的方法与所采用的编码方式有关,常用的微命令表示方法有直接表示法、编码表示法、和混合表示法,该设计采用的是将直接表示法和编码表示法混合使用的混合表示法。

 


  该系统中的每条微指令为32位,其中低5位为下地址字段,直接送给微地址寄存器,第5~7位为测试字段,送到微地址产生逻辑电路里面以控制微地址的产生,其余位为用来产生各种微命令的控制字段。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭