位置:51电子网 » 技术资料 » 控制技术

ARM7与FPGA在工业控制的结合

发布时间:2008/8/20 0:00:00 访问次数:498

  工业控制中往往需要完成多通道故障检测及多通道命令控制(这种多任务设置非常普遍),单独的cpu芯片由于其外部控制接口数量有限而难以直接完成多路检控任务,故利用arm芯片与fpga相结合来扩展检控通道是一个非常好的选择。这里介绍用atmel公司arm7处理器(at91fr40162)和altera公司的低成本fpga芯片(cyclone2)结合使用完成多通道检控任务的一种实现方法。

各部分功能简介

  图1为此系统的结构连接框图。如图所示,arm芯片与fpga芯片之间通过数据总线、地址总线及读写控制线相连,而与终端pc则通过串口通信;fpga与目标设备通过命令控制总线和故障检测总线相连。


图1 系统结构框图


1 故障检测和命令控制部分

  故障检测:检测通道的故障(正常)信号以高(低)电平方式指示,其一旦有故障产生就会保持高电平不变直到故障排除。针对这种特征,在arm控制器端采用定时中断循环查询方式来判断故障通道的状态。定时中断程序通过对arm 地址总线在fpga中进行译码而顺序锁定被检测通道的电平值,然后再经数据总线传回arm进行判断,最后将判断结果送至远程终端。采用主机查询方式而不采用故障中断方式出于两个原因:一方面是通常控制芯片外部中断源有限(多数为4个外部中断源),对于多目标中断信号检测显然是困难的;另一方面,由于检测通道或设备受到短时干扰而产生电平随机反转,造成故障中断触发,而中断触发后又无法在通道电平恢复正常时撤销故障信号,故而形成虚假报警。

  命令控制:arm芯片先判断主控端发来的控制命令,然后通过地址总线和数据总线将命令状态发送至经fpga地址译码锁定的控制通道上。

2 arm芯片与远程检测控制终端通信  

  由于只存在命令和故障状态信号的收发,所以利用arm的串口实现与远程pc的通信,通信标准选为rs232标准。不过,在arm芯片上要先将ttl电平通过max232芯片转换为rs232电平标准,对于距离超过15m的全双工通信,在发送接收两端还要各加一对rs232转rs422电平的转换模块,以增加通信距离。

3 fpga内部功能模块说明

  fpga内部检测及控制电路结构关系如图2所示。


图2 fpga内部逻辑结构


  arm芯片的addr2~0位地址线和片选使能信号一同进入译码器decode1进行地址译码后产生8路输出(fpga内部可设置一个最大输出为256路的译码模块,所以在实际应用中可扩展为更多通道),低4路用于命令发送通道,高4路用于故障检测通道,读写使能信号控制数据总线。

  arm芯片接收到发送信号编码命令时,立即在串口接收中断服务子程序中并送相应地址(通道编号)和数据(命令状态)到fpga中。译码器有效输出作为相应通道d触发器的锁存时钟,而数据状态则被触发器锁定后作为所选通道的输出完成相应控制。

  arm芯片在定时中断产生进入服务程序后对所有检测通道轮流查询,查询到有通道故障时,故障信号结合选中通路信号经与非运算送往数据端口被读取。

fpga程序设计注意问题

1延时的配置

  通过地址总线和数据总线进行命令传输和故障检测时,fpga是作为arm芯片的普通外设来使用的。而arm芯片对外设访问的速度要远低于片内存储器,所以要在arm中设置访问的正确等待周期。arm中提供的延时周期为0~7个,通过调试即可找到外设合适的等待周期,此系统的等待周期根据实际测试设置为5个,具体的配置方法见arm程序说明。

2 读写使能信号的连接

  从图2中可以看出,写使能信号nwe及读使能信号nrd应作为数据线(data0~5)的三态控制信号连接,即使在arm芯片无其他外设时也不能缺省。因为arm的上电加载程序时间要长于同一系统上fpga的程序配置时间,而fpga的检测及控制通道与arm芯片的数据总线相连,fpga加载完成后数据总线会存有相应通道的逻辑电平值(不为三态),这就会导致arm芯片在对片内flash芯片烧写程序或上电加载程序时与fpga冲突(数据被逻辑锁定),造成无法正确定位操作对象而使读写失败。

arm配置及应用程序说明

1 处理器的资源分配

存储器

  at91fr40162内嵌一个256kb的sram,1024k个16位字组成的flash存储器。sram通过内部32位数据总线与arm核相连,单周期访问,flash存储器则通过外部总线访问。

系统外围

  ebi:外部总线控制接口,ebi可寻址64mb的空间,通过8个片选线(ncs0~ncs3独立)和24位地址线访问外设,地址线高4位与片选线(ncs4~7)复用,数据总线可配置成8/16位两种模式与外设接口。

  pio:并口控制器,pio控制32根i/o线,多数为复用引脚,可通过编程选择为通用或专

  工业控制中往往需要完成多通道故障检测及多通道命令控制(这种多任务设置非常普遍),单独的cpu芯片由于其外部控制接口数量有限而难以直接完成多路检控任务,故利用arm芯片与fpga相结合来扩展检控通道是一个非常好的选择。这里介绍用atmel公司arm7处理器(at91fr40162)和altera公司的低成本fpga芯片(cyclone2)结合使用完成多通道检控任务的一种实现方法。

各部分功能简介

  图1为此系统的结构连接框图。如图所示,arm芯片与fpga芯片之间通过数据总线、地址总线及读写控制线相连,而与终端pc则通过串口通信;fpga与目标设备通过命令控制总线和故障检测总线相连。


图1 系统结构框图


1 故障检测和命令控制部分

  故障检测:检测通道的故障(正常)信号以高(低)电平方式指示,其一旦有故障产生就会保持高电平不变直到故障排除。针对这种特征,在arm控制器端采用定时中断循环查询方式来判断故障通道的状态。定时中断程序通过对arm 地址总线在fpga中进行译码而顺序锁定被检测通道的电平值,然后再经数据总线传回arm进行判断,最后将判断结果送至远程终端。采用主机查询方式而不采用故障中断方式出于两个原因:一方面是通常控制芯片外部中断源有限(多数为4个外部中断源),对于多目标中断信号检测显然是困难的;另一方面,由于检测通道或设备受到短时干扰而产生电平随机反转,造成故障中断触发,而中断触发后又无法在通道电平恢复正常时撤销故障信号,故而形成虚假报警。

  命令控制:arm芯片先判断主控端发来的控制命令,然后通过地址总线和数据总线将命令状态发送至经fpga地址译码锁定的控制通道上。

2 arm芯片与远程检测控制终端通信  

  由于只存在命令和故障状态信号的收发,所以利用arm的串口实现与远程pc的通信,通信标准选为rs232标准。不过,在arm芯片上要先将ttl电平通过max232芯片转换为rs232电平标准,对于距离超过15m的全双工通信,在发送接收两端还要各加一对rs232转rs422电平的转换模块,以增加通信距离。

3 fpga内部功能模块说明

  fpga内部检测及控制电路结构关系如图2所示。


图2 fpga内部逻辑结构


  arm芯片的addr2~0位地址线和片选使能信号一同进入译码器decode1进行地址译码后产生8路输出(fpga内部可设置一个最大输出为256路的译码模块,所以在实际应用中可扩展为更多通道),低4路用于命令发送通道,高4路用于故障检测通道,读写使能信号控制数据总线。

  arm芯片接收到发送信号编码命令时,立即在串口接收中断服务子程序中并送相应地址(通道编号)和数据(命令状态)到fpga中。译码器有效输出作为相应通道d触发器的锁存时钟,而数据状态则被触发器锁定后作为所选通道的输出完成相应控制。

  arm芯片在定时中断产生进入服务程序后对所有检测通道轮流查询,查询到有通道故障时,故障信号结合选中通路信号经与非运算送往数据端口被读取。

fpga程序设计注意问题

1延时的配置

  通过地址总线和数据总线进行命令传输和故障检测时,fpga是作为arm芯片的普通外设来使用的。而arm芯片对外设访问的速度要远低于片内存储器,所以要在arm中设置访问的正确等待周期。arm中提供的延时周期为0~7个,通过调试即可找到外设合适的等待周期,此系统的等待周期根据实际测试设置为5个,具体的配置方法见arm程序说明。

2 读写使能信号的连接

  从图2中可以看出,写使能信号nwe及读使能信号nrd应作为数据线(data0~5)的三态控制信号连接,即使在arm芯片无其他外设时也不能缺省。因为arm的上电加载程序时间要长于同一系统上fpga的程序配置时间,而fpga的检测及控制通道与arm芯片的数据总线相连,fpga加载完成后数据总线会存有相应通道的逻辑电平值(不为三态),这就会导致arm芯片在对片内flash芯片烧写程序或上电加载程序时与fpga冲突(数据被逻辑锁定),造成无法正确定位操作对象而使读写失败。

arm配置及应用程序说明

1 处理器的资源分配

存储器

  at91fr40162内嵌一个256kb的sram,1024k个16位字组成的flash存储器。sram通过内部32位数据总线与arm核相连,单周期访问,flash存储器则通过外部总线访问。

系统外围

  ebi:外部总线控制接口,ebi可寻址64mb的空间,通过8个片选线(ncs0~ncs3独立)和24位地址线访问外设,地址线高4位与片选线(ncs4~7)复用,数据总线可配置成8/16位两种模式与外设接口。

  pio:并口控制器,pio控制32根i/o线,多数为复用引脚,可通过编程选择为通用或专

相关IC型号

热门点击

 

推荐技术资料

自制经典的1875功放
    平时我也经常逛一些音响DIY论坛,发现有很多人喜欢LM... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!