列表

详情


阅读下列说明和图、表,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某车载导航系统的结构如图1-1所示,由导航处理系统和显示系统两部分组成。导航处理系统安装在某型车的设备区,显示系统安装在某型车的前方,便于驾驶员观看和操作。


导航处理系统由主处理机模块、电子盘模块、信号处理模块和电源模块组成,主处理机模块执行电子地图功能、导航控制功能等,生成的导航显示画面通过信号线在LCD液晶彩色显示屏显示给驾驶员;信号处理模块处理外部采集数据,将处理后的数据通过内部总线传输给主处理机模块;电子盘模块存储电子地图数据及导航数据。
显示系统由LCD液晶彩色显示屏、面板键盘(自定义键盘)和电源模块组成,主要是显示导航画面,也可通过面板键盘进行导航控制。

【问题1】(6分)
GPS天线接收卫星信号,将定位信息以帧的形式,通过RS232串行接口传输给主处理机模块。通常RS232的管脚规格如表1-1所示。
采用RS232通信,如果发送的数据量超过接收方缓冲区时,可能在接收方缓冲区因处理时间延迟等导致接收数据丢失。因此,需要进行流量控制。


请回答下面三个问题,将答案填写在答题纸的对应栏中。
(1)如果通过软件进行流量控制,也就是将流量控制信息以特殊的数据进行发送,使用上表中的哪两个管脚进行状态信息发送?(回答管脚名称)
(2)如果通过硬件方式进行流量控制,使用上表中的哪两个管脚进行状态信息发送?(回答管脚名称)
(3)若RS232适配器的FIFO深度为4B,通信波特率为9600bps,数据位为8位,无校验,停止位为1,无数据流控。在应用设计中每次以4字节为单位进行数据发送,每两次发送之间严格控制时间间隔为10ms,连续发送100次,在此过程中,忽略所有由于调度等因素引起的发送延迟。那么,从第1次发送开始,到第100次数据发送出去,消耗的时间为多少毫秒?
【问题2】(6分)
主处理机模块与信号处理模块间通过双端口存储器进行数据交换。李工设计时,将双端口存储器空间划分为两个缓冲区,两个缓冲区分别交替地接收信号处理机传输来的最新数据,然后按数据块方式提供给用户程序使用。
假设每个缓冲区的大小为512KB,将512KB数据写入当前空闲缓冲区接口服务为Write_Buffer,将当前有效的512KB数据读出缓冲区的接口服务为Read_Buffer,假设双端口存储器中不提供硬件信号量,两个缓冲区间的互斥操作由软件标记实现,软件对双端口存储器的单次操作(读写一个字的操作)为原子操作。
下面是用C语言设计的一组对双缓冲区的管理程序代码,请填补该程序代码中的空缺,将答案填写在答题纸上。


【问题3】(3分)
请回答关于面板按键设计过程中的下列问题,将答案填写在答题纸的对应栏中。
在进行面板键盘处理设计时,通常在扫描键盘过程中,按键会产生机械抖动。针对抖动问题,王工认为只有通过硬件设计才能消除抖动,而李工认为用软件方法就可以解决该问题。针对抖动向题,你认为可以采用哪类方式消除?

参考答案:

【问题1】
(1)RXD和TXD(或者TXD和RXD)
(2)RTS和CTS(或者CTS和RTS)
(3)993.75
【问题2】
(1)!(*Mutex[0])或者*Mutex[0]==0x00 或者*Mutex[0]==0
(2)*Mutex[0]=0x00或者*Mutex[0]=0
(3)len=Read_Buffer(1,Data)
【问题3】
硬件方法和软件方法都可以。

详细解析:

本题考查嵌入式系统设计,涉及嵌入式软件和硬件基础知识的应用。
【问题1】
EIA制定的RS-232C接口与外界的相连采用25芯(DB-25)和9芯(DB-9)D型插接件,实际应用中,并不是每只引脚信号都必须用到。软件方式按照RXD和TXD两个引脚。硬件方式按照RTS和CTS两个引脚。RS-232各个引脚的功能如下图所示。

在使用RS232进行数据传送时,需要注意其配置方式,包括流控位宽,起始位宽等。在该题目中,数据位宽为8bit,停止位为1bit,无别的流控位,因此,每个字节传输需要的位宽为9bit,按照9600bps的速率进行传输时,每个字节需要的时间为9/9600=0.9375ms,因此传输4字节需要的时间为4×0.9375ms=3.75ms。在进行100次的传输中,每隔10ms传输一次,又由于同时忽略了其他调度时间,由于3.75小于10,可知,在每10ms传输一次的过程中肯定是可以将对应的4字节数据传输完毕。因此,在100次的传输中,前99次传输需要的时间是99×10ms=990ms,最后一次也就是第100次传输消耗的时间为3.75ms,因此,总共需要的时间为990ms+3.75ms=993.75ms。
【问题2】
PPC_Read_Data( )函数(数据处理模块读数据程序段)的具体过程如下:
1.首先判断双缓冲有无数据;
(1)如果无新数据,就退出
(2)如果有数据,就继续
2.如果缓冲区0有数据;
(1)再判断缓冲区0是否加锁;如果未加锁,则先加锁,再读数据,再解锁。
 (2)如果未加锁,则先加锁,再读数据,再解锁。
3.对缓冲区1同样如此处理。
【问题3】
硬件方法和软件方法都可以消除抖动问题。
1.硬件方法
硬件方法常用专用的去抖芯片或者自己组装一个双稳态消抖电路,就是两个与非门构成的RS触发器。
2.软件方法
软件方法是当检测出键闭合后执行一个10ms~20ms的延时程序,再一次检测键的状态,如仍保持闭合状态,则确认真正有键按下。

上一题