登录   |   注册
    准考证打印   论文投票   报考指南   论文辅导   软考培训   郑重申明  
您现在的位置:  首页 > 软考学苑 > 软考历年真题 > 嵌入式系统设计师-真题 >> 正文
正文
2012下半年嵌入式系统设计师 下午试题 (一)【尚大教育】【试题分析及解答】
来源:尚大教育-软考考试 作者:尚大教育 时间;2018-12-18 15:55:56 点击数: 尚大软考交流群:376154208
试题一(共15分)
阅读K列说明和图、表,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某车载导航系统的结构如图1-1所示,由导航处理系统和显示系统两部分组成。导 航处理系统安装在某型车的设备区,显示系统安装在某型车的前方,便T驾驶员观看和 操作。




导航处理系统由主处理机模块、电子盘模块、信号处理模块和电源模块组成,主处 理机模块
<尚大教育,教育至上,人才为大:sdedu.cc>
试题一(共15分)
阅读K列说明和图、表,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某车载导航系统的结构如图1-1所示,由导航处理系统和显示系统两部分组成。导 航处理系统安装在某型车的设备区,显示系统安装在某型车的前方,便T驾驶员观看和 操作。




导航处理系统由主处理机模块、电子盘模块、信号处理模块和电源模块组成,主处 理机模块执行电子地图功能、导航控制功能等,生成的导航显示画面通过信号线在LCD 液晶彩色显示屏显示给驾驶员;信号处理模块处理外部采集数据,将处理后的数据通过 内部总线传输给主处理机模块;电子盘模块存储电子地图数据及导航数据。
显示系统由LCD液晶彩色显示屏、面板键盘(自定义键盘)和电源模块组成,主 耍是显示导航画面,也可通过面板键盘进行导航控制。
【问题1】(6分)
GPS天线接收卫星信号,将定位信息以帧的形式,通过RS232串行接口传输给主处 理机模块。通常RS232的管脚规格如表1-1所示。
采用RS232通信,如果发送的数据量超过接收方缓冲区时,可能在接收方缓冲区因 处理时间延迟等导致接收数据丢失。因此,需耍进行流量控制。






请回答K面三个问题,将答案填写在答题纸的对应栏中。
  1. 如果通过软件进行流量控制,也就是将流量控制信息以特殊的数据进行发送, 使用上表中的哪两个管脚进行状态信息发送?(回答管脚名称)
  2. 如果通过硬件方式进行流量控制,使用上表中的哪两个管脚进行状态信息发 送?(回答管脚名称)
  3. RS232适配器的FIFO深度为4B,通信波特率为9600bps,数据位为8位, 无校验,停止位为1,无数据流控。在应用设计中每次以4字节为单位进行数据发送, 每两次发送之间严格控制时间间隔为10ms,连续发送100次,在此过程中,忽略所有由 丁•调度等因素引起的发送延迟。那么,从第1次发送开始,到第100次数据发送出去, 消耗的时间为多少毫秒?
号 码 管脚名称 说 明
1 DCD Data Carrier Detect
2 RXD Receive Data
3 TXD Transmit Data
4 DTR Data Terminal Ready
5 GND Ground
6 DSR Data Set Ready
7 RTS Request To Send
8 CTS Clear To Send
9 RI Ring Indicator
 


【问题2】(6分)
主处理机模块与信号处理模块间通过双端口存储器进行数据交换。李工设计时,将 双端口存储器空间划分为两个缓冲区,两个缓冲区分别交替地接收信号处理机传输来的 最新数据,然后按数据块方式提供给用户程序使用。
假设每个缓冲区的大小为512 KB,将512 KB数据写入当前空闲缓冲区接口服务为 Write_Buffer,将当前有效的512 KB数据读出缓冲区的接口服务为Read_Buffer,假设双 端口存储器中不提供硬件信号量,两个缓冲区间的互斥操作由软件标记实现,软件对双 端口存储器的单次操作(读写一个字的操作)为原子操作。
K面是用C语言设计的一组对双缓冲区的管理程序代码,请填补该程序代码中的空 缺,将答案填写在答题纸上。
int *BufferFlag[2] ; /* 0表示无有效数据,Oxff表示有新数据 */
int *Mutex [2] ; /*软件锁,0表示未锁定,Oxf f表示锁定 */
int Read_Buffer(int id, char *data) ; /*从缓冲区读数据,用于数据处理模块,
id表示缓冲的序列号,0表示缓冲区1, 1表示缓冲区2, data为存放读取数据的缓冲,返回值表示 读取到有效数据的长度*/
void Write_Buffer (int id, char *data) ; /*向缓冲区写数据,用于信号处理模块,
id表示缓冲的序列"%, 0表示缓冲区1, 1表示缓冲区2, data为待写入数据的缓冲*/
int INIT_PPC( ) { /*数据处理模块端的初始化,缓冲区起始地址为OxffffcOOO。*/ BufferFlag = ( int * ) OxffffcOOO;
Mutex = ( int * ) OxffffcOlO;
*BufferFlag[0]=0 ;
*BufferFlag[1]=0 ;
*Mutex[0]=0;
*Mutex[1]=0; return (0);
int PPC_Read_Data(char *Data) { /* 数据处理模块读数据程序段*/
int len = 0;
if ((!(*BufferFlag[0]))&&(!(*BufferFlag[1]))) {
return (0) ; /* 无新数据 */
}
if (*BufferFlag[0]) { if ( (1) ) {
*Mutex[0] = Oxff;
len = Read_Buffer(0, Data);
♦BufferFlag[0] = 0x00;
(2) ;
else {
if (*BufferFlag[1]) {
if (! (*Mutex[l])) { *Mutex[l] = Oxff;
(3) ;
*BufferFlag[1] = 0x00; *Mutex[1] = 0x00;
return (len);
}
int DSP_Write_Data() {
/*信号理模块夸数据程序段,初始化与数据处理模块端类似,同样以BufferFlag表示与

数据处理模块端的对应的标志,即两端操作的是相同的地址空间;同样Mutex也表示与数据处理模块 端的对应的软件锁,即两端操作的是相同的地址空间。这里就略去双口在DSP上的起始地址说明和初 始化部分。*/
char Data[1024*512]; while (1) {
//等待信号处理模块产生新的数据并存入数据缓冲Data中; if (! (*Mutex[0])) {
*Mutex[0] = Oxff;
Write_Buffer(0, Data);
*BufferFlag[0] = Oxff;
*Mutex[0] = 0x00;
)
else if (! (*Mutex[1])) {
*Mutex[1] = Oxff;
Write_Buffer (1, Data);
*BufferFlag[l] = Oxff;
 
 
 
 
 
*Mutex[1] = 0x00;【问题3】(3分)
请回答关T面板按键设计过程中的下列问题,将答案填写在答题纸的对应栏中。
在进行面板键盘处理设计时,通常在扫描键盘过程中,按键会产生机械抖动。针对 抖动问题,王工认为只有通过硬件设计才能消除抖动,而李工认为用软件方法就可以解 决该问题。针对抖动问题,你认为可以采用哪类方式消除?
试题一分析
本题考斉嵌入式系统设计,涉及嵌入式软件和硬件基础知识的应用。
【问题1】
本题主要考杳嵌入式系统软硬件协同设计中串口 RS232的基本软硬件应用知识。
RS-232标准中,字符是以将比特串一个接一个的串行(serial)方式传输,优点 是传输线少,配线简单,传送距离可以较远。最常用的编码格式是异步起停(asynchronous start-stop)格式,它使用一个起始比特后面紧跟7或8个数据比特(bit),然后是可选的 奇偶校验比特,最后是一或两个停止比特。所以发送一个字符至少需要10比特,带来的 一个好的效果是使用全部的传输速率,发送信号的速率以10划分。
RS-232设计之初是用来连接调制解调器做传输之用,也因此它的脚位意义通常也和

调制解调器传输有关。RS-232的设备可以分为数据终端设备(DTE, Data Terminal Equipment, For example, PC)和数据通信设备(DCE, Data Communication Equipment) 两类,这种分类定义了不同的线路用来发送和接受信号。一般来说,计算机和终端设备 有DTE连接器,调制解调器和打印机有DCE连接器。使用中采用配线分接器测试连接, 或者用试误法来判断电缆是否工作,常常需耍参考相关的文件说明。RS-232指定了 20 个不同的信号连接,由25个D-sub (微型D类)管脚构成的DB-25连接器。很多设备 只是用了其中的一小部分管脚,出于节省资金和空间的考虑不少机器采用较小的连接器, 特别是9管脚的D-sub或者是DB-9型连接器广泛使用在绝大多数PC机和其他许多设备 上。DB-25和DB-9型的连接器在大部分设备上是雌型,但不是所有的都是这样。
在使用RS232进行数据传输时,RXDTXD管脚被用来进行数据的接收和发送, RS232的流控方式包括无流控,软件流控和硬件流控三种。无流控是指没有流控功能。 软件流控也称之为XON/XOFF流控,使用控制字符XONXOFF来实现。在RS232 数据通信过程中,如果发送方收到XOFF字符则停止发送数据,反之如果收到XON字 符则重新开始发送数据XON —般定义为十六进制数0x11, XOFF为十六进制数0x13。 硬件流控又分为DSR/DTR流控和CTS/RTS流控。硬件流控是通过硬件的高低电平来通 知发送方,接收方的缓冲区是否快满了。CTS/RTS流控时,RS232 (DB9)的8引脚为 RTS, 7引脚为CTSaDSR/DTR流控时,RS232 (DB9)的6引脚为DSR,4引脚为DTR
在使用RS232进行数据传送时,需耍注意其配置方式,包括流控位宽,起始位宽等。 在该题目中,数据位宽为8bit,停止位为lbit,无别的流控位,因此,每个字节传输需 耍的位宽为9bit,按照9600bps的速率进行传输时,每个字节需耍的时间为 9/9600=0.9375ms,因此传输4字节需要的时间为4X0.9375ms=3.75ms。在进行100次的 传输中,每隔10ms传输一次,又由于同时忽略了其他调度时间,由于3.75小于10,可 知,在每10ms传输一次的过程中肯定是可以将对应的4字节数据传输完毕。因此,在 100次的传输中,前99次传输需要的时间是99X10ms=990ms,最后一次也就是第100 次传输消耗的时间为3.75ms,因此,总共需耍的时间为990ms+3.75ms=993.75ms



参考答案
【问题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(l, Data)
【问题3】
硬件方法和软件方法都可以。






 
<尚大教育,教育至上,人才为大:sdedu.cc>
 
   各省软考办 
 
来顶一下
返回首页
返回首页
上一篇:2012下半年嵌入式系统设计师 上午试题分析与解答 [70-75题]
下一篇:2012下半年嵌入式系统设计师 下午试题 (二)【尚大教育】【试题分析及解答】
 相关文章
 
 
跟贴共
笔 名 :   验证码:
网友评论仅供其表达个人看法,并不表明尚大教育同意其观点或证实其描述
距离2023年05月27-28日软考考试还有
尚大软考交流群:376154208
软考各地考务机构
历年真题汇总




各省市软考报名简章