某直升机的显示控制计算机是其座舱显控系统的核心部件,将来自飞行员的参数和控制命令

admin2022-08-02  43

问题 某直升机的显示控制计算机是其座舱显控系统的核心部件,将来自飞行员的参数和控制命令与载机的飞行参数信息进行融合处理后,在显示器上显示。该显示控制计算机由一个显示控制单元和一个输入输出单元组成,它们之间通过双口RAM进行数据交换,如图4-1所示。显示控制单元采用Freescale公司的PowerPC8270高性能、低功耗32位处理器,并设计有系统FLASH存储器、用户FLASH存储器、SDRAM存储器。CPU内部宾成存储器控制器,提供地址译码、数据处理周期访问时序、SDRAM时钟等功能。输入输出单元采用Ti公司的DSP F2812高性能、低功耗16位处理器,采用AF.INC429总线用于接收导航计算机、大气数据计算机等外部设备的数据。ARINC429解算程序严格遵循ARINC429规范,其通用字格式如表4-1所示,字长32Bit,不用的数据位填“0”。当接收到ARINC429数据后,首先判断状态位,只有在状态和标号正确的情况下,才进一步根据分辨率等进行解算数据的含义。问题:1 系统FLASH存储器的存储容量是8MB,用于存储CPU模块引导程序、BIT测试程序,FLASH在板编程程序,网口操作系统,用户程序。系统FLASH地址分配在存储空间的高端,地址空间为(1)~OxFFFFFFFF。用户FLASH存储器的存储容量是为(2),用于记录数据的存储。FLASH地址分配在存储空间的高端,地址空间为0x78000000?0x7BFFFFFF。SDRAM的存储容量是256MB,用于运行操作系统和应用软件,地址空间位于存储器的低端0x00000000~3)。请完成(1)~(3)填空。问题:2 根据ARINC429数据的标号(D8-D1)可知该数据为高度表数据。根据系统定义,高度表数据的分辨率为0.1米,即D9为1表示0.1米,D10为1表示0.2米,D11为1表示0.4米,依此类推。若接收数据帧中D28-D9位是0000.0000.0111.1101.0000,则当前的高度是(1)米。若当前的高度是100米,则数据帧中D28-D9位应为(2)。请完成(1)和(2)填空。问题:3 显示控制单元和输入输出单元通过双口交换信息,两个处理器上的软件采用相同定义的结构体来定义双口单元,方便交换信息。以下是双口结构体定义:typedef struct{char ctrlWord; /*通道工作方式控制字*/char head; /*F1FO 控制头指针*/char tail; /*FIFO 控制尾指针*/short fifo[32] ; /*FIFO 缓冲区*/}SPM_CHAN_RX429; /*ARINC429 接收通道定义*/为了避免由于不同的编译环境对上述数据结构产生不同的编译结果,建议对上述数据结构通过设置紧缩属性(packed属性),强迫编译器采用字节对齐方式,在该模式下,SPM_CHAN_RX429结构体占用(1)字节的存储空间。ARINC429接收通道设计为由一个首尾相连的FIFO数组形成的环形队列。输入输出单元根据头指针向环形队列写入数据,头指针始终指向下一个要写入的位置,并且限制写入数据最多为31个,即队尾与队首之间至少保留一个元素的空间。显示控制单元根据尾指针从环形队列读取数据,尾指针始终指向下一个要读取的位置。初始化环形队列的C语言为:typedef struct{char ctrlWord; /*通道工作方式控制字*/char head; /*F1FO 控制头指针*/char tail; /*FIFO 控制尾指针*/short fifo[32] ; /*FIFO 缓冲区*/}SPM_CHAN_RX429; /*ARINC429 接收通道定义*/SPM_CHAN_RX429 *pBuf;pBuf= (SPM_CHAN_RX429 *) ADDR_3RAM_PPC; /*双口地址的宏定义*/ pBuf->ctrlWord=0;pBuf->head=O; pBuf->tail=O;判断队列为空的C语言为(2)。判断队列为满的C语言为(3)。;请完成(1)~(3)填空。

选项

答案

解析 问题1:(1)0xFF800000 (2)64MB(3)0x0FFFFFFF

问题2:(1)200(2)0000.0000.0011.1110.1000

问题3:(1)67 (2)pBuf->head == pBuf->tail(3)pBuf->tail == (pBuf->head + 1)%32

问题1:计算机的内存出处容量的计量单位是字节,系统FLASH存储器的存储容量是8MB,二进制表示为0x800000,地址分配在存储空间的高端,地址空间为0Xff800000-0xFFFFFFFF。用户FLASH的地址空间为0x78000000-0x7BFFFFFF,存储容量是0x40000000,也即64MB。SDRAM的存储容量是256MB,二进制表示为0x10000000,地址分配在存储空间的低端,地址空间为0x00000000-0x0FFFFFFF。

问题2:基本的二进制和十进制的换算。

问题3:本题中由于是采取强制编译器按照字节对齐方式,因此该模式下,char正好字节对齐,short占用两个字节,共1+1+1+32*2=67B。环形队列是一个首位相连的FIFO数据结构,为了判断空和满,长度为n的环形队列会只存n-1个数据,空出一个不存(题中也是只存31个),其头指针指向第一个节点,尾指针指向最后一个节点的下一个节点,因此队列为空的时候头指针和尾指针相等。队列满的时候尾指针+1=头指针,实际使用时,考虑循环队列会转回0,要进行取模操作。
转载请注明原文地址:https://www.tihaiku.com/congyezige/2424487.html

最新回复(0)