一种空间相机的数据通信系统设计

发布者:WanderlustGaze最新更新时间:2011-06-03 关键字:FPGA  空间相机  CAN总线 手机看文章 扫描二维码
随时随地手机看文章

在空间相机数据采集应用中,为了满足电路板体积重量以及可扩展性的要求,利用FPGA作为主控芯片,控制相机进行数据采集和传输。在数据通信系统中,FPGA替代了传统的单片机作为CAN总线的主控制器,并给出了详细的硬件电路设计方法。在对CAN协议控制器SJA1000进行功能及时序分析后,利用硬件语言对其通信流程进行设计。实践证明,在严格的时序逻辑下,FPGA能够控制CAN总线稳定正确地对相机数据进行收发。

CAN总线是由ISO定义的串行通信总线,主要用于各种过程检测及控制。它是一种多主总线,具有高位速率和高抗电磁干扰性,而且能够检测出传输中产生的任何错误。显著的优点使得CAN总线成为国际上应用最广泛的现场总线标准之一 [1]。

由于其优良的性能及独特的设计,CAN总线已被广泛地应用于各种分布式控制系统中。特别是由于CAN总线具有抗干扰性强、高数据传输率、低成本等优点,在小卫星和微小卫星中得到了越来越广泛的应用。在卫星有效载荷数据控制传输中也会应用,如空间相机数据通信方面。

1 数据通信系统

一般来说,每个CAN模块能够被分成三个不同的功能块,其结构如图1所示[2]。CAN总线收发器提供CAN协议控制器与物理总线之间的接口,控制从CAN 控制器到总线物理层或相反的逻辑电平信号。它的性能决定了总线接口、总线终端、总线长度和节点数,是影响整个总线网络通信性能的关键因素之一。CAN控制器执行在CAN 规范里规定的CAN协议,它通常用于报文缓冲和验收滤波,对外具有与主控制器和总线收发器的接口。FGPA主控制器负责执行应用的功能,例如对空间CCD相机控制命令的发送、读取图像数据等。它通过对CAN控制器的编程控制CAN总线的工作方式、工作状态以及数据的发送和接收。

 

在本项目的特殊环境要求下,使用FPGA作为主控芯片,控制空间相机进行数据采集与传输,并通过CAN总线进行数据收发。较之传统设计使用的单片机,FPGA能够在速度和体积上有更好的适应性。FPGA一方面减少了电路板的复杂程度,缩短了实现周期,另一方面是FPGA具有丰富的资源、超高的性能和灵活的可编程性[3],提高了整个设备的可靠性,大大增强了电路板设计的灵活性和可扩展性。

2 通信系统接口设计

电路设计如图2所示。SJA1000的AD0~AD7地址数据复用端口、ALE地址锁存端口、读使能信号RD、写使能信号WR、片选CS端口, 均通过双向总线收发器74ALVC164245与FPGA的I/O口相连[4]。这是因为FPGA的3.3 V的LVTTL电平不支持SJA1000的5 V TTL电平,所以利用双向总线收发器实现两器件信号的电平转换。SJA1000的中断输出信号INT连入FPGA,这样CAN通信就可以采用中断或查询两种方式。RST端口的电路实现SJA1000的上电自动复位功能。MODE模式选择端接+5 V,设置SJA1000控制器为Intel模式。SJA1000的时钟晶振采用16 MHz,频率调整电容取15 pF。设计中CAN总线的终端电阻取120Ω[5]。CAN 驱动器PCA82C250的RS脚为工作模式选择位,接地工作于高速模式,接高工作于待机模式。系统通过电阻R将芯片设定于斜率控制模式,电阻值为47 kΩ,这时CAN总线应工作于低速模式,可提高CAN总线抵抗射频干扰的能力。在这种情况下,可直接使用非屏蔽双绞线作为总线[6]。

 

在接口设计中,有几点需要注意:(1)SJA1000的INT端口是开漏输出,所以在使用时应该加上拉电阻,不然电平一直为低,无法实现中断方式。(2)电平信号AD0~AD7必须按顺序连接在总线收发器74ALVC164245的一个8位端口上,不可分开。

3 通信系统软件设计

3.1 系统流程设计

CAN总线通信模块的控制主要包括三大部分:CAN总线节点初始化、报文发送和报文接收。主流程如图3所示。


[page]

CAN节点主程序主要包括:作为主控制器的FPGA的初始化、CAN控制器初始化、寄存器状态查询、接收发送报文以及数据处理。在此设计中,由于通信模块对接收数据的实时性要求并不是很高,因此CAN总线的接收和发送采用查询方式[7]。在整个流程实现中,主要是对CAN控制器SJA1000中的寄存器进行读写操作。

3.2 读写流程控制

SJA1000 的数据和地址信号为时分复用,而FPGA 中不存在地址的概念,因此在读写寄存器时,要把SJA1000 中的寄存器地址当作数据写入。所以在系统的顶层模块设计中,将设计一个读写子模块来专门产生对CAN寄存器进行读写控制的时序,而核心主模块则只对通信流程进行描述。读写时序的状态机流程图如图4所示。在IDLE状态,对接口信号进行初始化,其中地址锁存信号ALE为低电平、写信号WR 为高电平、读信号RD为高电平、片选信号CS 为高电平、地址数据复用总线ADDR为高阻态、writeover和readover为低电平(writeover为高电平表示一个写时序的完成, readover为高电平表示一个读时序的完成) 。另外对于核心主模块的控制信号start和iswr,当start为低电平时继续在IDLE状态循环,反之则进入写地址状态Address0、Address1。然后根据iswr信号是高电平或低电平而进入写数据进程或读数据进程。读写数据过程均由两个状态完成,分别是RD0、RD1、WR0、WR1。当一个完整的读或写操作完成时,进入IDLE状态。每一个状态描述了ALE、WR、RD、CS、DIR1、ADDR的变化(OE0、OE1、DIR0分别为定值0、0、1,因此未列出来)。这里为了便于描述,设1为高电平,0为低电平,对以上几个信号在各个状态的值进行说明,将信号组{ALE、WR、RD、CS、DIR1}设为CtrS。

 

FPGA的时钟为5 MHz,用以上状态机来实现SJA1000 寄存器的读写,在设计中每个状态占用的时间是一个周期,即200 ns。按照SJA1000 接口读写时序参数可知[8],片选信号必须在读写信号有效之前变为有效,并且读信号有效时存储数据总线上的数据。如此,设计的时序符合时序参数要求。其他的时序设计都要严格按照时序参数表来设计。

在编写读写模块时,需注意双向总线的编写技巧。双向口最好在顶层定义,否则模块综合时容易出错。

3.3 INOUT双向端口

芯片外部引脚很多都使用inout类型的,目的是节省管脚,即一个端口同时做输入和输出。inout 在具体实现上一般用三态门来实现。三态门的第三个状态就是高阻“Z”。当inout端口不输出时,将三态门置为高阻。这样信号就不会因为两端同时输出而出错了。本设计中地址数据复用的ADDR为8位双向端口,使用时可以写为:

inout ADDR;

wire [7:0] ADDR;

wire [7:0] input_of_ADDR;

wire [7:0] output_of_ADDR;

wire en;

assign ADDR = (en==1)?output_of_ADDR:8\'hzz ;

assign input_of_ADDR = ADDR;

可见,此时input_of_ADDR和output_of_ADDR就可以当作普通信号使用了。对于双向端口的测试用例如下:

wire [7:0] ADDR;

reg link;

reg [7:0] data_in_t;

assign ADDR=link?data_in_t:8\'hzz;

对于有inout(双向)端口的verilog程序设计,需要注意几点:(1)对于inout端口,要定义一个与之相连的“映像寄存器”。当inout端口作为输出端口时,将两者连通;而当inout端口不作为输出端口时,要给i~t端口赋高阻态来断开与“映像寄存器”的连接。(2)在实例化含inout(双向)端口的模块时,与inout端口相连的只能是一个wire类型的变量。(3)不论是模块设计还是仿真,由于inout端口兼有输人端口和输出端口的功能,所以必须分别指定当inout端口作为输人端口(输出端口)时,它与其他单元的连接情况和需要完成的操作。

4 实验结果

在FPGA中利用Verilog编程产生SJA1000的片选信号CS,地址锁存信号ALE,读写信号RD、WR。这些控制信号共同驱动SJA1000进行数据接收发送,同时产生OE0、OE1、DIR0、DIR1,来控制双向总线收发器。设计选取的是Xilinx公司Virtex系列的芯片,逻辑开发在ISE平台上进行。在FPGA的调试阶段,使用Xilinx提供的在线逻辑分析仪ChipScope pro来在线观察FPGA设计内部信号的波形,它比传统的逻辑分析仪更方便。图5就是在线进行数据传送时的波形。

在本文空间相机通信系统的设计中,放弃了传统的基于单片机的方法,而采用以FPGA为核心控制单元,代替单片机及其外围芯片电路。通过设计整个空间相机通信系统的硬件电路,并利用Verilog硬件语言描述通信流程,快速准确地实现了相机数据的通信功能。在软硬件的联调和验证时,利用chipscope在线逻辑仪功能,方便准确地实现了预期目的。

 

 

关键字:FPGA  空间相机  CAN总线 引用地址:一种空间相机的数据通信系统设计

上一篇:小区CM-IMS接入解决方案
下一篇:通信网络安全防护综述

推荐阅读最新更新时间:2024-05-07 16:28

FPGA将引领下一次工业革命
本文作者:Lattice公司工业首席系统架构师Karl Wachswender 在过去十年中,大量创新解决方案——从人工智能 (AI) 和机器学习 (ML) 到云计算、物联网 (IoT) 和 3D 打印——已经改变了医疗保健、供应链、生产等工业技术领域在制造和云业务中。 所有这些进步都是工业 4.0 的一部分——第四次工业革命负责制造业中的数字化、自动化和互联计算智能。在整个工业 4.0 中创新蓬勃发展的同时,我们也看到了对保护信息、知识产权、产品等的安全性的更大需求。 特别是由于多项工业 4.0 进步的独特性和高度专业化的性质,人们一直需要可以根据其所扮演的特定角色轻松定制的计算解决方案。 现场可编程门阵列 (FPG
[工业控制]
LabVIEW FPGA和软件设计射频仪器优势详解
  概览   无线设备的数量、通信标准的多样性,以及调制方案的复杂度,每一年都在不断增加。而随着每一代新技术的诞生,由于使用传统技术测试无线设备,需要大量更复杂的测试设备,其成本也在不断提高。   使用虚拟(软件)仪器与模块化I/O相结合是一种最小化硬件成本并减少测试时间的方法。软件设计仪器的新方法使得射频测试工程师无需凭借自定义或特殊标准的仪器,就能以多个数量级的幅度减少测试时间。   阅读此文可以帮助您了解如何使用NI LabVIEW FPGA来设计和自定义您的射频仪器,以及通过软件设计的仪器能为您的测试系统所带来的好处。   软件设计仪器简介   多年来,测试工程师一直在运用诸如LabVIEW的软件包来实现自
[测试测量]
LabVIEW <font color='red'>FPGA</font>和软件设计射频仪器优势详解
基于DSP和FPGA的高精度数据采集卡设计
引言   当前,许多领域越来越多地要求具有高精度A/D转换和实时处理功能。同时,市场对支持更复杂的显示和通信接口的要求也在提高,如环境监测、电表、医疗设备、便携式数据采集以及工业传感器和工业控制等。传统设计方法是应用MCU或DSP通过软件控制数据采集的A/D转换,这样必将频繁中断系统的运行,从而减弱系统的数据运算能力,数据采集的速度也将受到限制。本文采用DSP+FPGA的方案,由硬件控制A/D转换和数据存储,最大限度地提高系统的信号采集和处理能力。 系统结构   整个采集卡包括信号调理、数据采集、数据处理和总线接口设计。系统结构如图1所示。 图1 系统结构框图   本文设计了具有信号衰减、增益放大和滤波等功能的信号
[模拟电子]
FPGA 为三洋最新款家庭影院投影仪添彩
Altera 公司宣布, 三洋电子有限公司在其 PLV-Z2000 1080p 家庭影院投影仪中采用 Cyclone ® II FPGA 和 Nios ® II 嵌入式处理器, 进一步提高 了家庭娱乐系统的图像质量 。 Altera 的 FPGA 和嵌入式处理器组合方案的高级图像处理功能使三洋最新款家庭影院投影仪的对比度达到了 15,000:1 。利用 Altera 的解决方案,三洋等产品创新者提高了集成度,实现了更具价值的功能。在 2008 年 1 月 7 号至 10 号举行的拉斯维加斯消费类电子产品展 (CES) 上,三洋将展示其 PLV-Z2000 1080p 家庭影院投影仪。 三洋电子有限公司工程部投影仪分部总经理 K.
[工业控制]
CAN总线扩充器MCP25050
摘要:介绍了MicroChip公司生产的CAN总线I/O扩充器MCP25050的主要特点、内部结构、引脚定义及工作原理,给出了用MCP25050扩充CAN节点的典型应用电路原理图。 关键词:CAN总线 扩充器 MCP25050 1 概述 MicroChip公司生产的CAN(Controller Area Net-work)总线I/O扩充器MCP25050,可用于在CAN总线系统中扩充CAN总线节点,它可以独立构成一个CAN节点而不需要再加微控制器。该器件采用14脚小型封装和低功耗CMOS工艺技术,可在2.7~5.5V电压范围内正常工作。它能够支持的CAN2.0B标准位速率可达1Mbit/s;NCP25050内含一个可编程的屏
[传感技术]
利用FPGA实现无线分布式采集系统设计
1 引言 近些年来,随着电子技术的发展,无线通信技术、计算机网络的发展,分布式无线数据采集网络技术开始兴起,并迅速的应用到各个领域。在一些地形复杂,不适合人类出现的区域需要进行数据采集的情况下,都可以适当的选择无线分布式采集来进行。现有的无线分布式采集系统中,往往使用单片机、DSP等作为系统的主控控制单元。但是由于其自身工作特点,往往对于精确的定时控制以及并行处理能力上比FPGA弱。随着FPGA等可编程逻辑器件的发展,为无线数据可靠传输提供了很好的实现平台。采用FPGA作为时序控制和信号处理的处理器,将使系统电路设计更加简洁、可靠、灵活,可有效的缩短开发周期,并降低开发成本。 为此,基于CycloneIV+STM32设计了
[单片机]
利用<font color='red'>FPGA</font>实现无线分布式采集系统设计
一种基于MCU+FPGA的LED大屏幕控制系统的设计
  引言   只要在现在的市场上走一圈就会发现,大部分的中小规模 LED  LED(Light Emitting Diode)即发光二极管,是一种固态的半导体器件,它可以直接把电转化为光。LED 的心脏是一个半导体的晶片,当电流通过导线作用于这个晶片的时候,电子和空穴就会被推向量子阱,在量子阱内电子跟空穴复合,然后就会以光子的形式发出能量。能完成数十种不同的工作,并且在各种设备中都能找到它们的身影。例如它们可以组成电子钟表 表盘上的数字,从遥控器 传输信息,为手表表盘照明并在设备开启时向您发出提示。 如果将它们集结在一起,可以组成超大电视屏幕上的图像,或是用于点亮交通信号灯。   显示系统,采用的是传统的 单片机  单片
[电源管理]
一种基于MCU+<font color='red'>FPGA</font>的LED大屏幕控制系统的设计
基于FPGA的人工神经网络实现方法的研究
   引言   人工神经网络(ArtificialNeuralNetwork,ANN)是一种类似生物神经网络的信息处理结构,它的提出是为了解决一些非线性,非平稳,复杂的实际问题。目前实现ANN还主要依靠软件程序.但是依靠程序很难达到实时性的要求。   神经网络在FPGA上实现是独立于冯·诺依曼架构,利用FPGA的并行性,在一些实时性要求很强的领域应用。通用计算机虽然编程容易,但是很多时间浪费在分析指令,读出写入数据等。于是人们想利用ASIC(专用计算芯片)完成神经网络的计算任务,但是由于资源有限,这种芯片只限于实现特定的算法结构和小规模网络,而且专用芯片的制作成本很高,只适合大批量生产。   可编程逻辑器件FPGA的出现给I
[嵌入式]
基于<font color='red'>FPGA</font>的人工神经网络实现方法的研究
小广播
最新网络通信文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved