其他分享
首页 > 其他分享> > 对工程实践——基于智能物联结点的设计与实现进行需求分析和建模

对工程实践——基于智能物联结点的设计与实现进行需求分析和建模

作者:互联网

一、前言

  物联结点的设计与实现是基于开发板ESP-WROVER_KIT_V4.1展开的,项目的进程展开按照模块化进行,也就是分为不同的硬件设计进行,以下的分析实现均以嵌入式的变通方式展示。

二、用例建模

  首先需要明白用例,用例是一个业务过程;业务过程就是某硬件设备在开发板这一特定领域上完成某些特定的任务需要进行的一系列活动。首先确定基本要素,ESP-WROVER_KIT_V4.1是接受者,Linux环境工程师是用例执行者。这里,工程师值负责了代码和API的逻辑整合和实现,更多的实现在开发板系统对各个模块的操作,但这里,从人的角度出发很容易理解,使用开发板这一过程是一个明确的用例过程。

现在对用例进行抽象层级分析(举例):

三、业务领域建模

  首先要明确需求中的业务领域内的名词或名词短语既可以是一个类名,也可以是一个属性名。区别它们的关键是能否单独存在,即属性是用来描述对象或存储对象的状态信息。比如,脉冲计数器可以是一个类单独存在,但寄存器必须依附着具体的硬件设备才具有实际的意义,如16位带符号计数器等。

针对工程实践的具体对象,分析其间的关系:

四、数据模型

变量名 类型 唯一 含义
pcnt_unit pcnt_unit_t 单元编号
evt_type pcnt_evt_type_t 监听事件类型
channel pcnt_channel_t PCNT通道号
pulse_io int 脉冲信号输入GPIO
ctrl_io int 控制信号输入GPIO
count int16_t* 接受计数器值的指针
value pcnt_unit_t unit 接受PCNT事件的计数器值的指针

 

 

 

 

 

 

 

 

 

 

变量名 类型 唯一 含义
pos_mode pcnt_count_mode_t 检测上升沿时为计数器模式
hctrl_mode pcnt_ctrl_mode_t 控制信号为高电平时的计数器模式

 

 

 

 

 

变量名 类型 唯一 含义
neg_mode pcnt_count_mode_t 检测上升沿时为计数器模式
lctrl_mode pcnt_ctrl_mode_t 控制信号为低电平时的计数器模式

 

 

 

 

 

变量名 类型 唯一 含义
channel rmt_channel_t RMT通道
rmt_item const rmt_item32_t * RMT项目数组的头点
item_num int RMT数据项编号
mem_offset uint16_t  内存的索引偏移量

 

 

 

 

 

 

 

变量名 类型 唯一 含义
wait_tx_done bool

设置为true以等待所有数据发送完成

 

 

 

 

变量名 类型 唯一 含义
rx_idx_rst bool

设置为真以重置接收器的内存索引

 

 

 

 

函数名 返回  解释
rrmt_rx_start() ESP_ERR_INVALID_ARG 参数错误 启动接收器
ESP_OK 成功
rrmt_rx_stop() ESP_ERR_INVALID_ARG 参数错误 停止接受
ESP_OK 成功

 

 

 

 

 

 

 

函数名 返回  解释
adc1_config_width() ESP_OK 成功

配置ADC 1捕获宽度

同时为ADC 1启用输出反转

ESP_ERR_INVALID_ARG 参数错误
adc1_config_channel_atten() ESP_ERR_INVALID_ARG 参数错误

在ADC 1上设置特定信道的衰减

并配置其相关的GPIO引脚复用器

ESP_OK 成功
adc2_config_channel_atten() ESP_ERR_INVALID_ARG 参数错误

在ADC 2上设置特定信道的衰减

并配置其相关的GPIO引脚复用器

ESP_OK 成功
adc1_get_raw() -1:参数错误 从单个通道读取ADC 1
其他:ADC 1通道读取的数据
adc2_get_raw() esp_OK如果成功的话 从单个通道读取ADC 2
esp_err_timeout其他控制器正在使用ADC2,且请求超时

 

 

变量名 类型 唯一 含义
channel adc1_channel_t ADC 1通道配置
atten adc_atten_t 衰减等级

 

 

 

 

五、概念原型及工作过程

首先确定概念和概念原型是两种意思

  基础具体工程实践,概念原型就是已知API结合数据模型设计施加在具体用例(产生脉冲、接受脉冲、计算脉冲数量、计算转型后的电压数值)的形式化表达。用户通过嵌入式开发板中的一些硬件模块,在Linux的环境下,对寄存器赋值让CPU执行一系列的操作,然后烧录到开发板上,最后通过监视器查看预期结果。

六、总结

  因为此工程实践偏向于硬件,在进行建模分析时,难以抽象出很好的用例和模型,可能此篇文章的用例建模、业务领域建模以及数据建模不是很好。但总体来说,这一次的需求分析和概念原型的作业让我对我们组的工程实践有了更明晰的理解和认识,这会帮助我更好的完成后续的工程实践。

 

参考资料:https://gitee.com/mengning997/se/tree/master/ppt

 

标签:RMT,用例,脉冲,建模,联结,智能,pcnt,ESP,ADC
来源: https://www.cnblogs.com/Joker-Aurora/p/14071649.html