2023七月计划
七月计划
本月是入职参加工作的第一个月,计划为在公司中了解公司产品代码编写以及在工作中的职责,另外再读两本专业书籍。
公司产品
公司产品主要是各类的环境监测设备,例如温湿度监测模块,直流电采集模块,烟雾监测模块,水浸监测模块这种单独模块类型,也有集成类型的监测模块,目前没有接触。
温湿度监测模块
主控芯片
STM32f103c8t6
主要外设
W5500以太网接口
板载到PCB板上通过网线与上位机进行连接,外设与主控芯片的通信方式为SPI通信,首先在程序中初始化主控芯片的SPI引脚,随后通过SPI通信方式建立socket的UDP连接,向对应IP和端口号接收和发送数据。
0.96寸OLED显示屏
IIC通信方式,通过主控芯片的两个GPIO引脚作为模拟信号来模拟IIC的SDA和SCL线,以此来向显示屏发送命令和数据,显示不同的内容。
SHT30温湿度传感器
IIC通信方式,同样是两个GPIO口来模拟IIC信号来进行通信读取传感器发出的温湿度数据,可承受温度范围为-50℃~130℃。
主要模块是这些,在通信方面主要使用基于RS485电气特性的UART串口通信和W5500的网口通信,需要根据公司的通信协议在模块的代码中实现两种通信方式,分别使用网口和串口对模块进行通信。
Boot loader升级
在软件代码编写完成后升级软件主要通过boot loader的方式进行升级,软件分为boot端和App端两部分,boot端仅保留系统升级的各项通信协议部分,其余协议不做保留。具体流程为模块上电首先进入boot状态,检查内部flash是否有升级标志,如果有升级标志进行软件的升级,如果没有则调用跳转函数跳转到App端代码的flash地址运行app端的代码。需要注意的是在进入boot后如果通信协议有延时的情况下需要在boot中等待是否有通信,如果有通信则开始进行软件升级,否则进入app端。
app端升级软件的协议为发送升级协议,接收到升级协议后重启模块进入boot模式,上位机监测模块是否处于boot模式,如果处于boot模式则开始发送升级软件的数据包,将要升级的软件刷写到模块的flash中,刷写完成后将升级标志位清空后跳转到app程序并运行。
烟雾监测模块
主控芯片
STM32f103c8t6
主要模块
MQ2烟雾传感器
烟雾模块主要使用了AO引脚输出模拟电压,烟雾浓度越大输出电压越高。此外烟雾传感器还有DO引脚,DO引脚的灵敏度通过传感器上的灵敏度进行调节,需要人为手动调节,所以没有使用,使用了AO引脚进行程序的烟雾浓度阈值设定。
目前在公司只编写了这两个模块的代码并进行了测试。
专业书籍
本月读了两本程序员的入门书籍作为职业生涯的开始,希望可以对后续的道路起到指引作用。
在这里只列出书名,读书笔记会在后续单独写出博客。