1、明确自己想要做什么——对标目前有的产品或相似东西
2、确定产品基本功能、预留/扩展功能、确定产品相关疑问
3、梳理接口——作对标、产品分解
4、控制分配——简单分析每一个功能通过什么方式,以什么驱动方式进行控制
5、出方案设计书——自顶向低开发
一般使用系列的处理器
一般要预留接口测试和扩展
先确定外围设备再确定使用什么系列板子(接口足够、存储够且处理器能力足够略有盈余)
确定基础功能后不要忘记隐藏其他功能(自检、安全、定时、调试)
确定具体的用料选择时以功能是否可用其他代替且性价比高原则
结合功能需求可得到子系统(功能解耦)——供电子系统、单片机核心子系统、人机交互子系统、数据采集子系统(通过什么检测、什么信号类型)、声光电子系统(控制那些)、调试子系统、数据存储子系统、通信控制子系统
软件需要完成的任务模块:外设驱动库、板级支持包(基于外设驱动库二次封装,即BSP的适配和移植)、操作系统(OS)、数据采集处理及控制逻辑和算法、升级及通信协议、应用程序
电源转换模块基本为交流转直流(AC->DC),输出电源电压各不同以最高电压和对应计算出来的电流50%额度为输出负载能力
软件设计相关开始会借鉴市场已有产品的《产品说明书》,得到控制的逻辑 、警告等。工作流程是会不断迭代的。
三防意识很重要!!!尤其景点
系统质检:不能安排独立的检测回路的元器件可以安排软件定时自检和查询
程序跑飞:增加软硬件看门狗和重要代码段程序入口口令核查以防范产生误动作
出现意外或功能彻底失去时最后一道防线会自动启动:要有重要的电路、要有该省的安全值->安全应急电路