打印

对数字量的控制与管理

[复制链接]
1422|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dzyjc77|  楼主 | 2012-4-25 17:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
假定要对16个负载进行管理,每个负载包括1个控制输出量和2个状态返回量,因此共有16路的数字量输出,32路的数字量输入。

FPGA对数字量的管理软件结构:

FPGA对数字量的控制管理也设置了三个16位的指令寄存器组。这三个指令寄存器的内部地址为03H04H05H.03H为开关量输出允许寄存器(KGER);04H为跳闸闭合寄存器(KGCR);05H为开关量开闭寄存器(KGIR)。
来自负载的总共32个状态反馈信号(DIN00DIN01……DIN31)分成16组,分别接到FPGA16个信号量dini上(i=1,2,…,15)。dini是长度为2的位矢量std_logic_vector(1 downto 0),分别对应于1个负载的两个状态反馈位。FPGA16个进程process(din1)process(din1)……process(din15)来对输入数字量敏感。当dini的载位电平发生变化时,进程启动,FPGA结合MCU发送的控制指令,判断负载的状态,并记录在输出数据缓冲区中。输出数据缓冲区包括16个数据存储器,16个数据存储器在FPGA内部的地址从(100002到(111112。(1000002单元存储的是第1个负载的状态,以此类推,(100002单元存储的是第16个负载的状态。每个16位数据存储器的8位固定为5AH,接下来的5位为(000002,只有最后3位才是负载的状态位。
MCUFPGA时,process(rd)进程启动。这时,如果MCU地址线A4的电平(对应于FPGAchansel:std_logic_vector(4 downto 0)信号量的第四位)为“1”,FPGA就根据chanse1(3 downto 0)的值,将对应的数据存储器的值发送到数据总线上。MCU读回数据存储器的值后,如果前13位不是(01011010000002,说明产生了读错误,MCU重新再读一次。必须指出,在FPGA控制A/D采样时,读哪个通道信息也是通过A0A3地址线区分的,但是,A4的电平为低。

MCU根据系统处于不同的状态给负载发送接通/断开指令,这是通过写FPGA的寄存器KGIR实现的。KGIR16位依次代表16个负载,“1”为接通,“0”为断开,复位值是0000H.寄存器KGER是数字量输出的总开关,复位后为0000H,不允许数字量输出;MCU对其写入FFFFH后,允许数字量输出。FPGA给负载发去接通/断开指令后,负载将会有两个状态信号返回。FPGA结合寄存器KGIR的控制指令值,可以判定负载处于何种状态之一。如果反馈的信息为跳闸,FPGA将根据寄存器KGCR的值作出相应的处理。如果为其它信息,FPGA将不做处理,只是将状态信息存储在数据缓冲区中等待发送给权限高的MCU来决定。KGCR的复全值是0001H,表示跳闸发生后,FPGA将自动再发一次接通指令。程序运行的过程中,MCU根据任务的紧急和系统的布局,可以修改KGCR的值。如果KGCR的值为0003H,表示第一次跳闸发生后,FPGA可以重复发三次接通指令。
因为FPGA是基于RAM工艺的,在掉电后本身不能保存信息,因此需要一个外置存储芯片来保存其信息,这里采用一次可编程的PROMXC17S100APD8IOTP)。该PROMSpartan-II芯片的接口只需要一个I/O;复位引脚的极性可编程(高有效或低有效);供电电压为3.3V

XC17S100ADONEINITCCLK信号来自FPGA芯片XC2S100。系统刚一上电,FPGA首先初始化,置INITDONE为低。INIT为低后复位PROM,此时由于PROMCE为低,因此PROM被选中,从而将数据流从DATA脚输入到FPGADIN脚。配置完成后,FPGADONE接高,PROM处于低功耗的待机模式,并将DATA脚置为高阻态。
在硬件调试和在线修改过程中,选用FPGACCLKDONEDINPROG引脚用做硬件调试编程。将下载电缆接在计算机并口上,选择恰当的下载方式就会将Xilinx开发软件生成的位流文件下载到FPGA的内部配置存储器中。配置下载流程可以分为3个阶段:初始化、清除配置内存、下载数据。清除内存在所有配置模式中都是一样的,下载数据却随着配置方式的不同而不同。
实际应用中,一般都需要将数据流文件烧入到Xilinx PROM中,每次上电伊始,由PROM将数据流下载到FPGA中,下载完毕,FPGA开始工作。
(本文由Cogo商城-IC元器件在线采购平台搜集整理,
浏览http://www.cogobuy.com/product/2-3-5-22.html了解更多详细信息)

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

5

帖子

0

粉丝