首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
测试测量
» 一种基于FPGA核系统的智能429-422信号转换模块的设计
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
一种基于FPGA核系统的智能429-422信号转换模块的设计
发短消息
加为好友
Bazinga
当前离线
UID
1023230
帖子
5213
精华
0
积分
2607
阅读权限
70
在线时间
158 小时
注册时间
2013-12-20
最后登录
2015-10-22
金牌会员
UID
1023230
1
#
打印
字体大小:
t
T
Bazinga
发表于 2015-4-10 18:52
|
只看该作者
一种基于FPGA核系统的智能429-422信号转换模块的设计
计算机系统
,
处理器
,
嵌入式
,
操作系统
,
智能
一种智能信号转换模块的设计方法。这种智能模块采用了基于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公司提供的开发环境Nios Ⅱ IDE,Nios II IDE使用标准的C/C++语言作为编程语言,因此开发入门门槛不高。软件设计时,除了包含指定的system.h,alt_main.h等头文件,用户应针对被集成进入系统的自定制器件编写相应的头件,即将Al-tera提供的基本命令重新封装成用户自定义的软件命令,以使用户的程序更加直观、更具有可读性。
软件流程图如图6示。在每次上电复位后,智能模块应对整个系统进行重新初始化,包括外设控制字的配置以及缓存初始化等工作。初始化完成后,应首先检查有无接收请求,如有请求,则开始接收、转换数据,并写入发送缓存,然后再判断一次有无接收请求,如无,才转入发送流程。发送完一次数据后,再次检查接收请求。这种做法提高了数据接收事件的优先权,可以保证接收数据不丢失。
4 结束语
基于NIOSⅡ软核系统的智能429-422信号转换模块采用了智能化的设计技术,对比于非智能信号转换模块,具有零系统资源占用、可配置性强、转换速度快等特点,同时由于无须开发驱动软件,因而明显缩短了研发周期,在工业控制等计算机系统中将会有广泛的应用。
收藏
分享
评分
the king of nerds
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议