导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→对数字量的控制与管理[sz20120406]

 *第32257篇: 对数字量的控制与管理

  
楼 主:sz20120406 2012年4月17日19:10
 对数字量的控制与管理
对数字量的控制与管理
假定要对16个负载进行管理,每个负载包括1个控制输出量和2个状态返回量,因此共有16路的数字量输出,32路的数字量输入。FPGA对数字量的管理软件结构:FPGA对数字量的控制管理也设置了三个16位的指令寄存器组。这三个指令寄存器的内部地址为03H、04H和05H.03H为开关量输出允许寄存器(KGER);04H为跳闸闭合寄存器(KGCR);05H为开关量开闭寄存器(KGIR)。来自负载的总共32个状态反馈信号(DIN00、DIN01……DIN31)分成16组,分别接到FPGA的16个信号量dini上(i=1,2,…,15)。dini是长度为2的位矢量std_logic_vector(1 downto 0),分别对应于1个负载的两个状态反馈位。FPGA用16个进程process(din1)、process(din1)……process(din15)来对输入数字量敏感。当dini的载位电平发生变化时,进程启动,FPGA结合MCU发送的控制指令,判断负载的状态,并记录在输出数据缓冲区中。输出数据缓冲区包括16个数据存储器,这16个数据存储器在FPGA内部的地址从(10000)2到(11111)2。(100000)2单元存储的是第1个负载的状态,以此类推,(10000)2单元存储的是第16个负载的状态。每个16位数据存储器的8位固定为5AH,接下来的5位为(00000)2,只有最后3位才是负载的状态位。当MCU读FPGA时,process(rd)进程启动。这时,如果MCU地址线A4的电平(对应于FPGA的chansel:std_logic_vector(4 downto 0)信号量的第四位)为“1”,FPGA就根据chanse1(3 downto 0)的值,将对应的数据存储器的值发送到数据总线上。MCU读回数据存储器的值后,如果前13位不是(0101101000000)2,说明产生了读错误,MCU重新再读一次。必须指出,在FPGA控制A/D采样时,读哪个通道信息也是通过A0~A3地址线区分的,但是,A4的电平为低。MCU根据系统处于不同的状态给负载发送接通/断开指令,这是通过写FPGA的寄存器KGIR实现的。KGIR的16位依次代表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工艺的,在掉电后本身不能保存信息,因此需要一个外置存储芯片来保存其信息,这里采用一次可编程的PROM:XC17S100APD8I(OTP)。该PROM与Spartan-II芯片的接口只需要一个I/O;复位引脚的极性可编程(高有效或低有效);供电电压为3.3V。XC17S100A的DONE、INIT、CCLK信号来自FPGA芯片XC2S100。系统刚一上电,FPGA首先初始化,置INIT、DONE为低。INIT为低后复位PROM,此时由于PROM的CE为低,因此PROM被选中,从而将数据流从DATA脚输入到FPGA的DIN脚。配置完成后,FPGA将DONE接高,PROM处于低功耗的待机模式,并将DATA脚置为高阻态。在硬件调试和在线修改过程中,选用FPGA的CCLK、DONE、DIN、PROG引脚用做硬件调试编程。将下载电缆接在计算机并口上,选择恰当的下载方式就会将Xilinx开发软件生成的位流文件下载到FPGA的内部配置存储器中。配置下载流程可以分为3个阶段:初始化、清除配置内存、下载数据。清除内存在所有配置模式中都是一样的,下载数据却随着配置方式的不同而不同。实际应用中,一般都需要将数据流文件烧入到Xilinx PROM中,每次上电伊始,由PROM将数据流下载到FPGA中,下载完毕,FPGA开始工作。
(本文由Cogo商城-IC元器件在线采购平台搜集整理,
浏览了解更多详细信息)

>>>>>>对该主题发表你的看法

本主题贴数1,分页: [第1页]


[上一篇主题]:数据自动存储的客观要求

[下一篇主题]:GX系列FPGA开发方案