模块输入输出(I/O)知识
我觉得有必要谈一下模块的输入输出口的梳理,一般我们可以分为IO的功能划分和IO规范。
前者的目的主要是把所有功能转化为实际到MCU IO口的划分,后者的目的主要是把所有IO口的规范确定下来。当然这些工作你完全可以不做,也是可以的,看公司是否有要求,我觉得个人还是把它当作一种工作习惯把。
以下例子均为自己为博文所做,如有重名不要找我。
看上图,首先确定所有的输入功能和输出功能和电源输入,还有就是通讯。
然后把电源分配用不同的线分离,然后开始整理每个供电线和处理过程,整个图最后的目的是可以清晰的分配出输入和输出的脉络。
IO规范就是把所有的接口和晶振等等等信息详细的描述至MCU。
1.输入低有效接口的数量,需要多少上拉电阻(开关湿电流)(单片机需要吸收多少电流,上拉后有可能灌入单片机)。
2.输入高有效接口的数量,需要多少下拉电阻(开关湿电流),(单片机需要吸收多少电流,开关有效后有可能灌入单片机)
3.模拟输入接口数量,要评估单片机的模拟口是否足够,确认要求模拟转换精度为多少。评估是否需要更换A / D转换参考电压(满足精度要求)。考虑有多少电源需要检测,配置多少模拟输入口。
4.对晶振精度的要求,评估是否需要锁相环。
以上的要求主要针对模块设计,需要在模块前期开发的时候确认,可以用EXCEL表格把所有的需求整理出来,配上图来显示。
前者的目的主要是把所有功能转化为实际到MCU IO口的划分,后者的目的主要是把所有IO口的规范确定下来。当然这些工作你完全可以不做,也是可以的,看公司是否有要求,我觉得个人还是把它当作一种工作习惯把。
以下例子均为自己为博文所做,如有重名不要找我。
看上图,首先确定所有的输入功能和输出功能和电源输入,还有就是通讯。
然后把电源分配用不同的线分离,然后开始整理每个供电线和处理过程,整个图最后的目的是可以清晰的分配出输入和输出的脉络。
IO规范就是把所有的接口和晶振等等等信息详细的描述至MCU。
1.输入低有效接口的数量,需要多少上拉电阻(开关湿电流)(单片机需要吸收多少电流,上拉后有可能灌入单片机)。
2.输入高有效接口的数量,需要多少下拉电阻(开关湿电流),(单片机需要吸收多少电流,开关有效后有可能灌入单片机)
3.模拟输入接口数量,要评估单片机的模拟口是否足够,确认要求模拟转换精度为多少。评估是否需要更换A / D转换参考电压(满足精度要求)。考虑有多少电源需要检测,配置多少模拟输入口。
4.对晶振精度的要求,评估是否需要锁相环。
以上的要求主要针对模块设计,需要在模块前期开发的时候确认,可以用EXCEL表格把所有的需求整理出来,配上图来显示。