付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
以FPGA为核心控制单元的空间相机通信系统的设计详解在空间相机数据采集应用中,为了满足电路板体积重量以及可扩展性的要求,利用FPGA作为主控芯片,控制相机进行数据采集和传输。在数据通信系统中,FPGA替代了传统的单片机作为CAN总线的主控制器,并给出了详细的硬件电路设计方法。在对CAN协议控制器SJA1000进行功能及时序分析后,利用硬件语言对其通信流程进行设计。实践证明,在严格的时序逻辑下,FPGA能够控制CAN总线稳定正确地对相机数据进行收发。CAN总线是由ISO定义的串行通信总线,主要用于各种过程检测及控制。它是一种多主总线,具有高位速率和高抗电磁干扰性,而且能够检测出传输中产生的任何错误。显著的优点使得CAN总线成为国际上应用最广泛的现场总线标准之一。由于其优良的性能及独特的设计,CAN总线已被广泛地应用于各种分布式控制系统中。特别是由于CAN总线具有抗干扰性强、高数据传输率、低成本等优点,在小卫星和微小卫星中得到了越来越广泛的应用。在卫星有效载荷数据控制传输中也会应用,如空间相机数据通信方面。1数据通信系统一般来说,每个CAN模块能够被分成三个不同的功能块,其结构如图1所示。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.3V的LVTTL电平不支持SJA1000的5VTTL电平,所以利用双向总线收发器实现两器件信号的电平转换。SJA1000的中断输出信号INT连入FPGA,这样CAN通信就可以采用中断或查询两种方式。RST端口的电路实现SJA1000的上电自动复位功能。MODE模式选择端接+5V,设置SJA1000控制器为Intel模式。SJA1000的时钟晶振采用16MHz,频率调整电容取15pF。设计中CAN总线的终端电阻取120Ω[5]。CAN驱动器PCA82C250的RS脚为工作模式选择位,接地工作于高速模式,接高工作于待机模式。系统通过电阻R将芯片设定于斜率控制模式,电阻值为47kΩ,这时CAN总线应工作于低速模式,可提高CAN总线抵抗射频干扰的能力。在这种情况下,可直接使用非屏蔽双绞线作为总线[6]。在接口设计中,有几点需要注意:(1)SJA1000的INT端口是开漏输出,所以在使用时应该加上拉电阻,不然电平一直为低,无法实现中断方式。(2)电平信号AD0~AD7必须按顺序连接在总线收发器74ALVC164245的一个8位端口上,不可分开。3通信系统软件设计3.1系统流程设计CAN总线通信模块的控制主要包括三大部分:CAN总线节点初始化、报文发送和报文接收。主流程如图3所示。CAN节点主程序主要包括:作为主控制器的FPGA的初始化、CAN控制器初始化、寄存器状态查询、接收发送报文以及数据处理。在此设计中,由于通信模块对接收数据的实时性要求并不是很高,因此CAN总线的接收和发送采用查询方式。在整个流程实现中,主要是对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的时钟为5MHz,用以上状态机来实现SJA1000寄存器的读写,在设计中每个状态占用的时间是一个周期,即200ns。按照SJA1000接口读写时序参数可知[8],片选信号必须在读写信号有效之前变为有效,并且读信号有效时存储数据总线上的数据。如此,设计的时序符合时序参数要求。其他的时序设计都要严格按照时序参数表来设计。在编写读写模块时,需注意双向总线的编写技巧。双向口最好在顶层定义,否则模块综合时容易出错。3.3INOUT双向端口芯片外部引脚很多都使用inout类型的,目的是节省管脚,即一个端口同时做输入和输出。inout在具体实现上一般用三态门来实现。三态门的第三个状态就是高阻“Z”。当inout端口不输出时,将三态门置为高阻。这样信号就不会因为两端同时输出而出错了。本设计中地址数据复用的ADDR为8位双向端口,使用时可以写为:inoutADDR;wire[7:0]ADDR;wire[7:0]input_of_ADDR;wire[7:0]output_of_ADDR;wireen;assignADDR=(en==1)?output_of_ADDR:8‘hzz;assigninput_of_ADDR=ADDR;可见,此时input_of_ADDR和output_of_ADDR就可以当作普通信号使用了。对于双向端口的测试用例如下:wire[7:0]ADDR;reglink;reg[7:0]data_in_t;assignADDR=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提供的在线逻辑分析仪ChipScopepro来在线观察FPGA设计内部信号的波形,它比传统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026学年吉林省九台市三年级语文期末自我评估高频易错题详细参考解析详细答案和解析
- 2026学年山东省泰安市四年级数学期末自测高频易错题详细参考解析详细答案和解析
- 2026学年山东省威海市四年级语文期末自测模拟黑金试题(详细参考解析)详细答案和解析
- 2026地铁化妆面试题及答案解析
- 教科版科学五上《地球内部运动引起的地形变化》课件
- 姜夔《扬州慢》课堂版课件
- 教科版科学三上《水和食用油的比较》课件1
- 人教版数学二下《万以内数的认识》课件8
- 呼吸衰竭诊断和处理原则
- 冀教版语文五下《童年圣地》课件1
- 2026公安机关人民警察(高级)执法资格等级考试历年参考题库含答案详解
- 宁夏回族自治区2026年中考语文试卷【含答案】
- 烟草专卖局(公司)招聘考试试题题库(含答案)
- 骨质疏松症的防治专题知识讲座培训课件
- 3.10小学2026秋科学苏教版(新教材)五年级上册第三单元第10课《摩擦力》课件(含AI赋能)
- 2026年高校辅导员招聘思想政治教育试卷解析
- 轻钢龙骨隔墙施工方案
- 护理员实操技能模拟考试试题及答案
- 2026年广西(高考)化学考试真题附答案
- 中国世界文化遗产资料【十篇】
- 2026安徽日报报业集团招聘工作人员专业测试及有关工作笔试历年常考点试题专练附带答案详解
评论
0/150
提交评论