AT91FR40162与cyclone2在工业控制的结合

发布者:小星星龙猫最新更新时间:2012-08-14 来源: 21ic 关键字:AT91FR40162  cyclone2  工业控制 手机看文章 扫描二维码
随时随地手机看文章

  工业控制中往往需要完成多通道故障检测及多通道命令控制(这种多任务设置非常普遍),利用ARM芯片与FPGA相结合来扩展检控通道是一个非常好的选择。这里介绍用Atmel公司ARM7处理器(AT91FR40162)和ALTERA公司的低成本FPGA芯片(cyclone2)结合使用完成多通道检控任务的一种实现方法。

  各部分功能简介

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

GA内部逻辑结构

图2 FPGA内部逻辑结构

  ARM芯片的ADDR2~0位地址线和片选使能信号一同进入译码器decode1进行地址译码后产生8路输出(FPGA内部可设置一个最大输出为256路的译码模块,所以在实际应用中可扩展为更多通道),低4路用于命令发送通道,高4路用于故障检测通道,读写使能信号控制数据总线。
  ARM芯片接收到发送信号编码命令时,立即在串口接收中断服务子程序中并送相应地址(通道编号)和数据(命令状态)到FPGA中。译码器有效输出作为相应通道D触发器的锁存时钟,而数据状态则被触发器锁定后作为所选通道的输出完成相应控制。
  ARM芯片在定时中断产生进入服务程序后对所有检测通道轮流查询,查询到有通道故障时,故障信号结合选中通路信号经与非运算送往数据端口被读取。[page]
  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线,多数为复用引脚,可通过编程选择为通用或专用。

  AIC:先进中断控制器,实现片内外围中断及4个外部中断源中断的管理,其外部中断引脚与通用I/O复用。
  ● 用户外围
  USART0~1:串口收发控制器,支持8个数据位的发送,可以进行异步/同步传输选择,其片外引脚与通用I/O复用。
  TC:定时/计数器,可以产生定时中断和计数功能,其片外引脚与通用I/O复用。
  2 存储器地址重映射后的空间分配

  在CPU上电后,都会从地址0开始第一条指令代码的执行,而上电复位后0地址必须映射到NCS0片选所接的器件上,这里必须将NCS0连接到片内Flash上以加载初始化程序和应用程序。由于中断和异常的入口地址是0~20H固定不变,它们的产生都是跳转到0~20H之间相应的地址取程序执行,为了加快中断响应,必须将0~20H地址映射到片内RAM区,所以在初始化的重映射命令执行(EB1_RCR的RCB位置1)后,内部RAM就映射到地址0,所有的中断入口响应和堆栈操作都被映射到在RAM区进行。

  由于重映射主要是用于Flash和片内RAM的地址空间交换,所以片内外围接口(EBI、USART、TC)对应的存储器编程地址范围在映射前后不发生改变,而访问外设地址为重映射后所分配。重映射后地址分配如表1所示。
  3 应用接口的存储器配置
  EBI存储器:在8个EBI片选存储器(EBI_CSR0~EBI_CSR7)中设置外设访问参数。其中,32位存储器中包括数据总线宽度8(16)设置,等待状态数目1~7个周期设置,等待使能(不是使能)设置,片选使能(不使能)设置。这里将FPGA作为外设,使能NCS3(也可根据实际选择其他空闲片选线),选择总线宽度16,使能等待周期并设周期为5(根据调试选择)。因默认NCS0为加载Flash片选线,而Flash为16位信号、7个等待周期,故需在EBI_CSR0中选择16位总线宽度、7个等待周期并使能NCS0。
  AIC存储器:AIC存储器管理所有内外部中断,对此存储器的正确初始化赋值才会打开相应中断。设定AIC工作参数:应用串口通信模式为异步模式,串口发送的数据位字符长度为8位,通信的波特率9600B/s,串口中断优先级为6(中断优先级由低到高0~7),接收发送通道使能。
  TC存储器:定时中断存储器需要设定定时长度为1s(每1s产生中断进行故障查询),定时通道使能及软件触发模式,定时中断优先级设为1。[page]
4 应用程序说明
 ① 主程序
  #define AT91C_BASE_EBI       ((AT91PS_EBI)   0xFFE00000) //EBI基地址定义
  int main()
  {AT91F_EBI_OpenChipSelect (
        AT91C_BASE_EBI,  //地址指针                    
        0x3,            //片NCS3使能
        0x30000000+0x3f39); //片选存储器初始化
         Usart_init();//初始化串口
      timer_init();//初始化定时器
         while(1){} //循环等待
  }
  ARM处理器在完成各寄存器初始化后进入应用主程序,在主程序中首先调用EBI接口使能函数来设置参数:在程序中设置存储器基地址值(0xFFE00000),片选设置0x3(NCS3使能),NCS3的存储器初始化;调用USART控制器函数初始化串口:打开串口,串口收发通道初始化,设定串口通信速率;调用定时中断函数:打开定时中断,设置定时中断时间,设定触发方式为软件触发;最后进入等待循环。
  ② 串口命令接收中断服务程序
  #define USART0_INTERRUPT_LEVEL     6//设置中断优先级为6
  #define AT91C_US_USMODE_NORMAL AT91C_US_CHMODE_NORMAL//*设置通信模式(NORMAL定义为异步模式)*//
  AT91PS_USART COM0=AT91C_BASE_US0;//设置COM0为收发口
  char message[4];
  //                 控制端串口中断通信程序                //
  //*----------------------------------------------------------------------------*//
  void Usart0_c_irq_handler(AT91PS_USART USART_pt)//串口中断处理函数
  {   volatile unsigned int *conp;unsigned int status;
 int time;
 volatile unsigned int i;
 status = USART_pt->US_CSR & USART_pt->US_IMR;//给状态寄存器赋初值
 if ( status & AT91C_US_RXRDY)//接收通道寄存器判断是否有数据
 {   
       AT91F_US_DisableIt(USART_pt,AT91C_US_RXRDY);//关闭接收通道准备好中断
     AT91F_US_EnableIt(USART_pt,AT91C_US_ENDRX);//打开接收结束中断
    AT91F_US_ReceiveFrame(USART_pt,(char*)(message),4);//调用接收数据数接收数据
      }
 if ( status & AT91C_US_ENDRX){
         AT91F_US_DisableIt(USART_pt,AT91C_US_ENDRX); // 关闭接收器传送结束中断
        { if((message[0]^0xff)==message[1])//判断接收代码
          {switch (message[0])
         {case  0x31 : {conp=(volatile unsigned int*)(0x1+0x30000000);//OPE1使能
         *conp=0x2;}; break;//0x31代码送往OPE1端口
             case  0x30 : {conp=(volatile unsigned int*)(0x2+0x30000000);//OPE2使能
             *conp=0x1;}; break; // 0x30代码送往OPE2端口
          case  0x11 : {conp=(volatile unsigned int*)(0x3+0x30000000);//OPE3使能
              *conp=0x2;};break;// 0x11代码则往OPE3端口
             case  0x10 : {conp=(volatile unsigned int*)(0x4+0x30000000);//OPE4使能
             *conp=0x1;};break;  //0x10代码送往OPE4端口          
        default:break;}
       }
       }
  以上程序为串口中断服务程序,各函数语句说明参见注释。中断级别设置为6(高于定时中断),这样使命令发送优先于故障查询(控制命令随机出现而故障查询总是循环进行);接收缓冲区message[4]数组类型必须设为动态分配,静态数据分配会使处理器开辟数据缓冲区到Flash芯片中,从而引发在一个中断处理程序中由于存取时间过长而导致串口收发超时的错误。因为篇幅有限,其他程序不再一一叙述。
  在ARM应用程序的编写中,应该尽量少的在主函数内使用循环操作,主函数主要完成各接口控制器应用初始化,因为主函数不间断循环操作不但会增加功耗,而且长时间频繁切换于中断服务和主循环之间会造成程序运行的不稳定,所以能用定时中断完成的循环操作尽量用中断完成。
 
  结语

  ARM芯片控制功能结合FPGA灵活的多硬件接口模拟特性在工程上体现出的其独特的优势,已发展为一种流行的硬件架构模式,随着芯片功能的不断强大,这种优势将使其用途更广,对任务处理变得更加灵活高效。

关键字:AT91FR40162  cyclone2  工业控制 引用地址:AT91FR40162与cyclone2在工业控制的结合

上一篇:基于AT91M40800的无线数据终端
下一篇:EP9302的嵌入式VOWiFi电话终端设计

推荐阅读最新更新时间:2024-03-16 13:05

东芝启动通过UL508认证的工业控制设备光继电器的出货
东京-- 东芝电子元件及存储装置株式会社(“东芝”)下列八款光继电器产品获得了美国安全标准UL508认证:4引脚SO6封装系列“TLP172GM”、“TLP176AM”和“TLP3122A”以及DIP4封装系列“TLP240A”、“TLP240D”、“TLP240G”、“TLP240GA”和“TLP240J”。 这些通过认证的光继电器市面上均有售,可用于需要UL508认证的工业控制设备,适用于一系列全球市售设备。光继电器还通过了NRNT 认证。 UL508标准包括一系列严格的零部件标准。固态继电器(SSR)是此类零部件之一,而SSR之内的树脂温度限制在105ºC(上限) 。SSR的工作温度须在该上限以内。通过使用我们
[工业控制]
东芝启动通过UL508认证的<font color='red'>工业控制</font>设备光继电器的出货
定制化生产是工业互联网的数字化体现
制造业的数字化转型升级向来是世界各国工业巨头关注的焦点,工业互联网这一战略是由美国提出的,通过将制造过程中的设计、规划、服务等信息数字化、网络化和智能化,开启一个万物互联的大世界,这其中使得大规模低成本的定制化生产成为可能。下面就随工业控制小编一起来了解一下相关内容吧。 定制化生产是工业互联网的数字化体现 定制化生产的概念其实在近代工业出现之前就已经出现了,然而,随着工业化的批量生产为人们带来了更多标准化生产的产品,私人订制已经逐渐被“淘汰”,其成本高昂、工艺繁琐等特点使其成为高端消费形态。 伴随着工业互联网时代的到来,企业将生产线与信息化技术相结合,实现生产线上多种产品型号、类别、尺寸之间的转换,使得流水线上各种设计元素
[工业控制]
基于nRF24L01和PIC16F877无线数据传输
  引言   在工业控制现场, 常常需要采集大量的现场数据, 如温度、湿度、气压等, 并将这些数据传输到主机进行处理,由主机根据处理的结果, 将控制信号传输给现场执行模块进行各种操作。可以看出数据从采集设备到处理终端,监测控制指令从处理终端到采集设备,均需经过传输过程这一重要环节。当数据采集点处于运动状态,或者所处的环境不允许铺设电缆,采集设备必须与终端设备分离,此时只能通过无线方式进行数据传输。基于此,本文设计了一个无线数据传输系统,它应用Microchip公司的PIC16F877单片机控制Nordic公司的无线数字传输芯片nRF24L01 ,通过无线方式进行数据双向传输。实验结果证明:该系统使用灵活、成本低廉,可方便地嵌入到
[嵌入式]
基于nRF24L01和PIC16F877无线数据传输
中国制造AI工厂何时实现?
 在科技领域以外,AI技术则仍大多数是实验性质,只有少数例外──特别是汽车领域──很少有工厂已经开始采用,已经实施的AI技术都是小范围应用,主要在例如库存管理、检验等领域。 市场研究机构Lux Research研究员Dayton Horvath表示:“AI能支持像是有限元素分析(finite element analysis,FEA)等应用于建立仿真模型的运作,此外也能处理更困难的问题──例如有更大自由度或是不完整数据集的情况;”举例来说,拓朴优化(topology optimization)能借助AI打造更轻量化,但拥有相同或更高强度的零件,并能建立更具效率的热交换器模型。 在工厂AI应用经常被提到的一种系统就是机器人,美国业
[嵌入式]
工业机器人取代一线工人?智能制造受制于人才匮乏
每当提及企业大规模机器换人的潮流,将抢夺工人饭碗时,便会引起较大范围的社会争议。的确,部分机械工人必将被机器所取代,这也是全球工业自动化的发展趋势。但这是否意味着工人变得不再重要?下面就随工业控制小编一起来了解一下相关内容吧。 工业机器人取代一线工人?智能制造受制于人才匮乏 一个有趣的问题是,机器换人究竟是一个拉式需求,还是一个推式需求。究竟是机器换人导致一线工人下岗,还是因为找不到一线工人而寻求机器换人?答案是后者,中国多地在地方政府支持下进行机器换人,背后是当地工业人才严重不足、企业极力争抢工人的现实。 在做中国市场中长期规划,调查发现,目前根本不存在大批一线工人下岗的隐忧,中国劳动力市场中,尤其沿海地区,一线工人供给
[工业控制]
单片机可以做什么
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。   单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴: 智能仪器   单片机具有体积小、功耗低、控制功能强、
[单片机]
小型工业机器人的设计状况与前景
工业机器人、机械手在先进制造技术领域中扮演着极其重要的角色,是近几十年发展起来的一种高科技自动化生产设备,是一种能自动化定位控制并可重新编程序以变动的多功能机器,它有多个自由度,可用来搬运物体以完成在各个不同环境中工作。工业机械手的是工业机器人的一个重要分支。它的特点是可通过编程来完成各种预期的作业任务, 在构造和性能上兼有人和机器各自的优点,尤其体现了人的智能和适应性。机械手作业的准确性和各种环境中完成作业的能力,在国民经济各领域有着广阔的发展前景。机械手技术涉及到力学、机械学、电气液压技术、自动控制技术、传感器技术和计算机技术等科学领域,是一门跨学科综合技术。    1 国内外设计状况    1.1 机器人领域
[工业控制]
基于现场总线技术的工业控制系统研究
1 现场总线技术简介     在现场工业控制技术中,现场总线技术作为一项先进技术,是一种串行、数字式、多点通信的数据总线。工作实践中,在生产过程区域的现场设备/仪表和控制室内自动控制装置/系统之间广泛安装现场总线。借助现场总线实现信息的相互交换,进而自动控制功能在一定程度上也得以完成,现场总线往往是从控制室连接到现场设备的双向全数字通信总线。 2 现场总线的通信协议     如图 1 所示,给出了现场总线相应的物理结构。与开放式互连(OSI)参考模型相比,现场总线的物理结构只涉及到物理层、数据链路层和应用层,并且每个协议层各自完成功能,在这些层之间报文被解析。在数据链路实体中,物理层建立、维护和拆除相应的物理连接。
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved