题目详情

某智能农业基地需要实时监控各个蔬菜大棚温湿度,李工开发了一款温湿度监测仪,硬件系统设计部分如图2-1所示。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

李工采用STM32作为主控处理器,利用TS-FTM01传感器进行温度和湿度采集,采用GSM/GPRS/GPS三合一模块来实现温湿度采集数据上报。TF-FTM01传感器和主处理器之间采用RS485总线进行通信。在系统设计中,使用STM32处理器实现对多个TF-FTM01传感器数据读取。GSM/GPRS/GPS三合一模块可以实现自我定位,并把采集到温湿度数据进行上报,该模块和STM32处理器之间采用RS232进行数据通信。

TS-FTM01传感器使用RS485通信机制,每个传感器RS485通信地址可以通过如图2-2所示拨码开关进行配置。拨码开关一共有6位,实现对TS-FTM01传感器地址编码。STM32处理器具有通用同步异步收发器(USART),USART利用分数波特率发生器提供宽范围波特率选择。

STM32处理器波特比率寄存器USART桞RR定义如图2-3和表2-1所示。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

问题:1 RS232和RS485都属于串行通信总线,以下关于串行通信、RS232、RS485叙述中,正确是(1)、(2)、(3)、(4)。请将答案填写在对应栏中。A.RS232支持全双工通信,只允许一对一通信B.RS232采用差分传输方式进行数据信号传输C.RS232传输距离远,传输距离最远可达上千米D.RS485—般采用两线制进行半双工通信,允许一对多通信E.RS485采用差分传输方式,抗干扰能力强,传输距离远F.在进行嵌入式开发时,常采用RS485作为调试串口使用G.RS232典型连接器包括DB9和DB25,仅使用三线也可进行基本逍信

问题:2 STM32处理器具有通用同步异步收发器(USART),USART利用分数波特率发生器提供宽范围波特率选择。波特率计算公式为:

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

其中,fck为给外设时钟,USARTDIV是一个无符号数,其值设置在USART_BRR寄存器中。假设给外设提供时钟频率fck=72MHz,GSM/GPRS/GPS三合一模块所需波特率为115200,则USARTDIV值应为(1),USART_BRR寄存器十木进制值应为(2)。请完成其中填空,将答案填写在对应栏中。

问题:3 RS485总线使用特制RS485芯片,最大支持节点数可达128个以上。该系统RS485总线上最多可以支持(1)个TS-FTM01传感器?请完成其中填空。

问题:4 基于图2-1所示硬件设计,需要实现某地点温湿度数据定时上报功能。该功能要求以T为周期读取RS485总线上16个TS-FTM01传感器(地址编码为0?15)温湿度数据,通过GPS获取当前位置信息,然后通过GSM网络把温湿度数据和定位信息发送到固定手机号码上。需要特别指出是,在图2-1所示硬件设计中未使用专用RS485芯片,STM32端RS485总线是通过GPIO45和GPIO46两根G310口线模拟出,即通过两根GPIO口线高低电平变化来模拟RS485数据传输协议”基于上述硬件和软件设计,请从以下选项中选择正确操作,把图2-4所示软件流程补充完整,将流程图2-4中(1)-(3)答案填写在对应栏。A.设置GPIO45为输入模式,设置GPIO46为输出模式B.设置GPIO45和GPIO46为输入模式C.设置GPIO45为输出模式,设置GPIO46为输入模式D.设置GPIO45和GPIO46为输出模式E.addr>16F.addr>=16本方案利用低速串行总线遍历读取16个传感器温湿度数据及GPS定位信息,并通过GSM实现数据上报。该执行过程需要消耗一定时间,导致现有算法流程并不能精确实现以T为周期进行温湿度数据采集和上报。

为了修正该问题,需要把图2-4所示流程中步骤(4)调整到步骤(5)后执行。请完成其中填空,将答案填写在对应栏中。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

正确答案及解析

正确答案
解析

问题1:(1)-(4):AD E G

问题2:(1)39.0625 (2)0x271

问题3:(1)64

问题4:(1)D(2)B(3)F(4)(m)(5)(c)

问题1:RS232和RS485特点RS232支持全双工通信,但只支持一对一单站通信,典型连接器包括DB9和DB25,仅使用三线也可以进行基本通信。RS485支持一点对多点双向通信,有二线与四线两种方式,采用二线制可实现真正一对多半双工通信,采用差分传输方式,抗干扰能力强。

问题2:根据波特率公式

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

已知外设提供时钟频率fck=72MHZ,GSM/GPRS/GPS三合一模块所需波特率为115200,代入公式可得115200=72MHZ/16*USARTDIV,可得USARTDIV=39.0625,注意MHZ单位换算。

根据图2-3和表2-1对寄存器USART_BRR功能描述,寄存器4-15位对应USARTDIV整数部分,0-3位对应USARTDIV小数部分,由上面求出值,可知本题中,USARTDIV整数部分为39,对应USART_BRR4-15位十六进制就是0x27;USARTDIV小数部分为0.0625,则寄存器USART_BRR0-3位十六进制为0x1,组合可知为0x271.

问题3:根据图2-2所示,TS-FTM01传感器地址采用6位拨码开关进行编码,意味着该传感器地址编码范围为0-63(最大2^6=64个)。在RS485通信机制中采用地址编码来区分不同RS485设备。因此,该系统中可以支持TS-FTM01传感器数目为64.

问题4:RS485采用二线制进行半双工通信,本题要求用两根GPIO口线来模拟二线制RS485总线,通过两根GPIO口线上信号高低来模拟RS485差分信号,本题并未考察RS485时序,只对半双工通信概念进行考察。因此,在利用模拟RS485总线进行数据发送时,总线处于写状态,要把这两根GPIO口线配置成输出模式;当处理器通过RS485总线实现了数据发送后,要立即把RS485总线状态从写状态切换到读状态,以便接收传感器应答信息,实现半双工通信,因此此时应该把这两根GPIO口线配置为输入模式。根据题目要求,要实现16个TS-FTM01传感器(地址编码为0-15)温湿度数据读取,采用循环方式依次读取,根据软件流程图,addr地址从0开始处理,因此循环结束条件应为addr>=16.

需要周期性进行温湿度数据采集和上报,周期T由硬件定时器来实现,为了实现精确定时,需要在一次定时时刻到后立即触发下一个周期定时开始,但图2-4所示软件流程是一次定时时刻到后,先进行16个传感器读取,然后再触发下一个周期定时开始,导致实际采集间隔为预设周期T加上读取16个传感器温湿度数据所需时间。为了修正这个问题,需要在定时时间到后立即触发下一个定时周期,然后再进行温湿度数据读取和上报。因此要把步骤m中重置定时器操作提到步骤c定时超时后立即执行。

你可能感兴趣的试题

单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.V(S2)和P(S4)
  • B.P(S2)和V(S4)
  • C.P(S2)和P(S4)
  • D.V(S2)和V(S4)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.V(S1)P(S2)和V(S3)
  • B.P(S1)V(S2)和V(S3)
  • C.V(S1)V(S2)和V(S3)
  • D.P(S1)P(S2)和V(S3)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.P(S4)和V(S4)V(S5)
  • B.V(S5)和P(S4)P(S5)
  • C.V(S3)和V(S4)V(S5)
  • D.P(S3)和P(S4)V(P5)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.P(S3)和V(S4)V(S5)
  • B.V(S3)和P(S4)P(S5)
  • C.P(S3)和P(S4)P(S5)
  • D.V(S3)和V(S4)V(S5)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.P(S2)和P(S4)
  • B.P(S2)和V(S4)
  • C.V(S2)和P(S4)
  • D.V(S2)和V(S4)
查看答案

相关题库更多 +