微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 一种基于FPGA核系统的智能429-422信号转换模块的设计

一种基于FPGA核系统的智能429-422信号转换模块的设计

时间:03-15 来源:电子科技 点击:

一种智能信号转换模块的设计方法。这种智能模块采用了基于FPGA嵌入式软核系统,是基于NiosII软核处理器的架构,可以在模块上完全实现外部总线信号之间相互转换,无需驱动程序或操作系统的干预。同时对用户逻辑设计、用户逻辑集成、固件设计技术等内容进行了详细的介绍。

0 引言

在工业控制等领域的计算机系统中广泛涉及到信号转换等,信号转换模块在系统中承担着在多种信号之间进行翻译转换的任务。随着应用环境复杂性、计算机系统集成度的提高,信号转换模块上需容纳的信号通道的种类与数量也越来越多。频繁、大量的信号转换必然会占用较多的系统资源。随着微电子技术的发展,国外的一些生产厂商如Altera已推出在FPGA上以软核(soft core)方式实现的嵌入式系统。这种嵌入式系统基于NIOS II嵌入式软核处理器,其外设可以灵活选择增删,并允许自定制外设。本文介绍了一种基于NIOSⅡ软核系统的智能429-422信号转换模块的设计。

1 设计原理

传统的非智能设计的转换模块,在工作时需要有驱动程序的控制,通过与操作系统或用户软件的交互,来实现信号转换的功能,亦即需要接入PCI Bus等系统总线,通过中断提请等方式工作,在转换通道数量多时,必然会影响系统的性能。采用智能设计的信号转换模块一般不需要操作系统的干预,接收到的外部总线信号经过本模块上NIOS II软核系统转换后,即可将数据信号输出。信号转换的工作全部由模块的硬件完成,因而可以实现对整个计算机系统资源的零占用。采用非智能设计与智能设计模块的结构示意框图如图1所示。

2 硬件设计

429或422总线适配电路已有大量成熟的设计,本文不再赘述,仅重点介绍FPGA内部总线控制逻辑设计以及NiosⅡ软核系统的配置。

2.1 FPGA控制逻辑设计

集成于FAPGA内部的Nios II CPU需要通过外部总线控制逻辑才能与外部总线进行通信,而Avalon总线是Nios II CPU与外部总线控制逻辑、片外FLASH、SRAM之间交换数据信号的枢纽。Avalon总线是一种协议较为简单的片内总线,在NiosⅡ系统中,外设都是通过Avalon总线与Nios II CPU相接的。Avalon总线接口可以分成两类:Slave和Master,Slave和Master主要区别是对于Avalon总线控制权的掌握。Master接口具有与之相接的Avalon总线的控制权,而Slave接口是被动的。Avalon总线支持自定制外设,用户可将自己的逻辑设计挂接到Avalon总线上。基于NIOSⅡ软核系统的智能429-422信号转换模块设计的详细系统结构框图如图2所示。

2.1.1 串行总线控制逻辑设计

为了将用户自定制的串行总线控制逻辑接入NiosⅡ系统,必须将其挂入Avalon总线。串行总线控制逻辑在设计上必须实现两类端口:一类为Avalon总线端口,Avalon总线时序由NiosⅡ系统实现,用户在逻辑设计时可暂不作考虑;另一类为串行总线控制端口。串行总线读操作时序如图3所示,图中给出了操作时各信号的时序保持关系。

读时序在设计上可以抽象为一个有限状态机,如图4所示。其工作流程为:无数据传输时,状态机停留在空闲状态;若有数据操作请求时,进入"地址有效"的状态;再进入"读信号有效"状态,依次完成"数据读取"、"操作安全间隔"状态(FPGA片外器件要求的两次操作之间的最小间隔)。考虑到异常产生后状态机的稳定性,每个状态都可以在异常产生时返回到默认的"空闲"状态。同时,有些状态作了些等待延时,是为了让控制逻辑与FPGA外部较慢速的器件进行时序匹配。串行总线写操作时序与读操作时序相类似。

2.1.2 429总线控制逻辑设计

429总线控制逻辑设计和串行总线控制逻辑设计方法与上文所述类似,这里不再重复。

2.2 NiosIICPU的配置

需要将自定制外设集成进嵌入式系统。本设计所使用的FPGA是Altera公司的EP2C35,可在Altera公司推出的开发软件Quartus II里对NiosⅡCPU进行配置。操作步骤为:在System contents中新建一个组件,在弹出的Component Editor窗口中的HDL Files栏中导入用户设计好的422接口控制逻辑设计的verilog文件;Signals一栏中,Component Editor已自动解析出导入的verilog文件所包含的端口Name,但用户还需对端口的类型进行指定,串行总线方向的端口须指定为export(相对于Avalon Slave端口而言)类型,Avalon总线方向的端口分别指定为标准的address、write、read、writedata、readdata等信号,如图5所示。

设置完成后的自定制器件出现在Custom Devices中,可以将自定制的器件加入到Nios Ⅱ系统中,由Nios Ⅱ系统为其自动批定内存地址等资源。编译无误后即可完成NiosII CPU的设置。

3 软件设计

Nios II嵌入式系统使用Altera公

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top