基于SoPC光电吊舱通信控制设计与实现.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于SoPC光电吊舱通信控制设计与实现

基于SoPC光电吊舱通信控制设计与实现   摘 要: 实现了基于Nios Ⅱ软核处理器的通信控制的设计,以Nios Ⅱ软核作为中央处理器,利用FPGA的逻辑资源构成片上可编程系统(SoPC)来实现光电设备的通信控制功能。设计实现了通过RS 422串口和通用IO口来实现对光电设备中各传感器的通信控制和信息传递功能。该设计已成功应用于某光电侦察设备,试验证明,该通信控制性能稳定,功能完善,在光电设备多传感器的控制领域有着广泛的应用前景。   关键词: 光电设备; 通信; Nios Ⅱ; RS 422; SoPC   中图分类号: TN911.7?34 文献标识码: A 文章编号: 1004?373X(2013)21?0021?02   机载光电侦察设备已经成为直升机、无人机获得精确全面的现场和目标信息的核心装备。目前机载光电设备主要装载红外和可见光传感器,实现全天时图像侦察,配合激光测距仪、伺服控制以及视频跟踪器实现对目标的定位和自动跟踪功能。而对整个系统而言,通信控制部分主要实现各传感器和控制组件之间的信息传递。   1 通信控制系统设计   本设计构建一个片上可编程系统(SoPC)来实现通信控制功能,采用SoPC实现通信系统与以往型号通信控制系统相比可以支持更多串口,能够满足多传感器和控制需求。通信系统通过串口完成与可见光、红外、激光、记录仪、控制系统等之间的通信。   1.1 SoPC硬件开发   采用SoPC Builder GUI来定义硬件系统结构,配置部件以及如何指定部件相互连接,并生成系统。在本设计中,为实现系统通信需求,除配置Nios ⅡCPU外,还需配置的外设有RS 232、SRAM和PIO等。硬件开发环境可以创建高度定制的SoPC。图1为开发生成的分组件Avalon总线连接图。   1.2 CPU设置、RS 232设置   本控制系统中Nios Ⅱ处理器为标准型内核(Nios Ⅱ/s),需要开发六个标准RS 232串口,来分别实现对操纵杆、红外、可见光、激光和记录仪等传感器组件的通信控制。系统采用中断响应的方式来同时实现六个串口,表1为六个串口的中断优先级。   1.3 JTAG_UART设置   Nios Ⅱ处理器的JTAG调试模块也是可配置的,根据系统需求,为Nios Ⅱ处理器配置适当的软件调试功能。JTAG调试模块对处理器的控制是非屏蔽的,而???在调试程序时也不需要软件调试代理(Software Stub)来链接测试中的软件程序。JTAG调试模块收集的跟踪数据存放在调试探针或片内的存储器中。该模块主要提供以下功能:   将程序下载至存储器;开始和停止执行程序;设置断点;硬件触发;捕获跟踪数据。   该模块可以在软件调试时通过,形成产品时去掉。   系统CPU和外设单元按上述步骤配置完成后,为每个外设分配一个惟一的基地址。最后,为 CPU设置复位和异常地址,本设计中,把复位和异常地址均设置为on_chip_memory,创建和编译生成系统。编译生成的顶层文件图如图2所示。   2 NiosⅡ IDE软件设计   系统生成后,可直接使用NiosⅡIDE设计C应用代码,借助Altera提供的外设驱动程序和硬件抽象层,能够快速、方便实现各项功能。   2.1 串口软件编程   在本系统设计中,采用了软件中断的方式来响应串口通信。设计六个外部中断来实现对各分组件的控制。每一个中断都有一个相应的中断服务函数(ISR)与之对应。中断发生时,软件中断会根据检测到有效中断级别,调用相应的中断服务函数。   ISR函数自行定义,不是HAL系统提供,函数与普通函数定义一样,只是对ISR的函数原型有特定要求。ISR函数声明如下:   void ISR_handler(void* context,alt_u32 id);   context:传递给ISR的形参;id:中断优先级别。   本设计中对六个硬串口中断的ISR定义如下:   上位机ISR函数:   void UartSW_interrupt(void *context,alt_u32 id);   红外ISR函数:   void UartIR_interrupt(void *context,alt_u32 id);   可见光ISR函数:   void UartVL_interrupt(void *context,alt_u32 id);   激光ISR函数:   void UartLA_interrupt(void *context,alt_u32 id);   记录仪ISR函数:   void UartJL_interrupt(void *context,alt_u32 id);   伺服(备份)

您可能关注的文档

文档评论(0)

189****7685 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档