图2.1 模拟火控系统总体框图
系统工作过程中,上位机作为服务界面,版面设计应清晰友好,易于操作。实验人员通 过上位机的程序界面直接输入装定数据或者输入基本数据通过查询射表获得装定数据,同时 可以在上位机的程序界面中,选择下位机的数据接口种类,并可更改波特率等通信参数。当 上位机解算出装定数据后,按照双方事先约定好的通信协议将装定数据发送给下位机,下位 机做好接收准备。下位机接收到装定数据后,进行校验,正确方可转发。本系统要求可接收 三种接口类型的装定控制器,分别为RS422、RS485和CAN 接口。根据上位机界面的接口选 择结果,数据转发单元将向对应的通道发送装定数据。监听功能模块要实时监听模拟装置与
本科毕业设计说明书 第 5 页
装定控制器之间的双向数据通信,并将捕获的数据传送至上位机程序指定区域显示。 本文主要负责下位机部分的设计方案。下位机的数据转发和监听功能要依靠单片机来完
成,因此需要一个基于单片机的硬件电路设计,满足即能与上位PC机通信,又要具备三种 不同的输出接口对外与装定控制器通信。而监听部分也需要直接或间接地与上位进行通信, 发送监听到的数据。最终下位机通过编写程序,来完成基于单片机的多串口的数据收发。文献综述
2.3 研究平台介绍
本课题的研究工作主要包括硬件电路设计和软件编写两部分。 首先,选择一款电子产品开发软件,如Altium公司的Altium Designer。该软件设计
人性,易于操作,可以完成原理图设计、自动布线、PCB绘制、信号分析和设计输出等 设计任务,方便设计者轻松设计,提高设计质量和效率。本文中运用 Altium Designer 完成模拟系统的各模块的电路设计,并反复修改,确定最佳的电路选择;在原理图的基 础上,画出布局布线科学合理的PCB图,在进行电气检查无误后发给厂家定制所需的电 路板。
在程序编写方面,选择了C语言,在Keil平台上进行调试。与汇编语言相比,C语言 既具有一般高级语言的特点,又能直接对计算机的硬件进行操作,表达和运算能力也较 强,在结构、功能、可读性与可维护性上有十分明显的优势。Keil提供了包括C语言编 译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案, 通过一个集成开发环境(μVision)将这些部分组合在一起,其方便易用的集成环境、强 大的软件仿真调试工具也会令开发者事半功倍[5]。对比于其他系列的单片机开发而言, C8051F系列单片机较为人性化的一点是当Keil平台安装了Silicon Lab的官方驱动后,利 用专用的下载器连接JTAG接口,可以省去生成HEX文件的过程,直接向单片机中烧录 转换好的程序,十分方便。
第 6 页 本科毕业设计说明书
3 系统硬件设计
3.1 主要元件选型
数据的转发和监听都建立起了两条完整的数据通信线路,所以为了设计简便各需一块单 片机来实现。数据转发单元要与上位机通信,一般采用 USB 连接通信,并需具有与多种数据 接口通信的能力,为实现上述通信,考虑到串行通信的高效可靠,该单片机需具备 1 个 USB 接口,1 个 CAN 核和其他的串口通信模块。监听单片机同时也要具备 CAN 核用于监听 CAN 通信,还要有相应的串口进行监听。
C8051F 系列是 8 位单片机里的典型代表,鉴于 C8051F 系列单片机的优越性能,本文选 择使用该系列的单片机进行构建下位机的电路系统。而且 C8051F 系列单片机和 MCS-51 指 令内核完全兼容,并采用流水线处理技术,统一时间周期和机器周期,可以在执行上一条指 令时对下一条指令进行预处理,所以操作高效。通过翻阅该系列单片机的数据手册, C8051F32x 型号具备通用串行总线控制器(USB)和一个全双工 UART,但不具备 CAN 控制 器。同时考虑到使用 USB 控制器,上位机程序开发难度大,周期长,所以放弃了 USB 控制 器,与 PC 机的通信可以通过 RS232 转换 TTL 电平输出完成。经过反复的思考和性能资源的 对比,最终选择用 2 块 C8051F580 单片机来完成电路部分,580MCU 内部有 2 个全双工 UART, 1 个 CAN 核,SMBUS 和 SPI0 接口等通信资源,可以实现本系统所需实现的功能。来!自~751论-文|网www.751com.cn