在项目开发设计时,单片机的io引脚数量不够,该如何处理?
单片机,作为一般电子类产品项目的关键元器件, 常被工程师应用处理数据的逻辑运算,甚至包含一些软件的算法。比如工程师在开发如下项目:
家用电饭煲项目,单片机就可以作为数据运算的核心器件,负责处理加热、定时、显示、按键等功能的实现;
电动剃须刀项目,单片机可以作为电机控制的核心器件,负责处理电机的正转、电池的电量管理等功能的实现;
办公碎纸机项目,单片机可以作为逻辑分析的核心器件,负责处理电机的正转、反转、堵转、人体保护等功能的实现。
单片机项目
工程师在针对这类的项目开发,会依据设计的功能需求确定单片机所需的内部资源,也就是确定单片机的型号。常用单片机的内部资源包含引脚数量、主频时钟、存储空间以及通信接口等等,工程师根据这些信息选择项目匹配的单片机型号。
确定单片机型号之后,工程师便可以进行项目的具体研发工作,硬件工程师展开电路原理图设计,软件工程师展开程序的代码设计;在项目研发阶段,工程师或许会遇到类型情况:
项目的研发工作在接近完毕时,临时需要额外增加某项功能;或者项目版本在更新迭代的过程中,临时需要额外调整某项功能。
面对这类情况,这些临时增加和调整的功能,可能会导致之前选择的单片机的io引脚数量不够问题出现;针对单片机的io引脚数量不够时,工程师该如何去较好地解决呢?
工程师可能会重新选择单片机的型号,直接通过简单地增加io引脚数量来解决;此方案虽然可以解决,但不推荐,主要存在2个问题:
重新选择新的单片机型号,与之相关联的软件代码相当于也需要重新开发设计,增加了项目的开发工作量,工作效率不佳;
重新选择新的单片机型号,与之相关联的硬件电路相当于也需要重新开发设计,需要重新调试验证,尤其是一些可靠性试验的测试;
既然重新选择新的单片机型号存在这些问题,那有没有其他方案可以更好地解决呢?
在项目开发过程中,单片机的io引脚数量不够时,除了重新选择新的单片机型号解决方案之外,还存在使用io引脚扩展芯片的方案,比如al5524芯片就是一个单片机的io引脚扩展芯片,就能解决此类问题;
那么al5524 io引脚扩展芯片,它具有什么样的特性?它是如何解决了单片机的io引脚数量的?它又是如何扩展单片机的io引脚数量的?
al5524芯片引脚定义
pin1引脚:intb是实现中断功能;
pin2 & pin3 & pin21引脚:add实现的功能是通过硬件方式定义了iic通信的地址信息;
pin4 ~ pin11引脚:ra是芯片扩展的io引脚;
pin13 ~ pin20引脚:rb是芯片扩展的io引脚;
pin22 & pin23引脚:iic通信接口功能引脚;
pin12 & pin24引脚:芯片的电源输入引脚;
(al5224引脚定义图)
通过引脚功能定义,工程师基本可以分析出芯片的工作原理,也就是通过iic接口扩展了单片机的io引脚数量,这从芯片的内部结构框图更容易看出。
al5224芯片内部框图
在al5224芯片的内部框图中,主要包含四个部分:地址生成器,iic控制器,寄存器与控制器,普通io引脚port a与port b;
(al5224功能框图)
(1)地址生成器:主要是通过add0、add1以及add2外部的硬件电路定义iic的通信地址,常用的简便设计是将add0、add1与add2直接接地;
(2)iic控制器:主要是al5224芯片与单片机之间通信的桥梁,用以数据交换,实现io引脚扩展功能;
(3)寄存器与控制器:主要是将iic通信的数据暂存于此,便于转换成port a和port b引脚输出;
(4)普通io引脚port a与port b:此两个引脚就是芯片需要扩展的io引脚,等同于单片机的io引脚功能;
分析完这些内容之后,工程师或许更清晰地认识了al5224芯片的功能;但这些内容还仅仅停留在理论层面,那么具体在项目开发中,如何去应用呢?如何去设计呢?如何开发电路呢?
al5224芯片应用电路
在了解完al5224芯片基本的电路特性之后,工程师迫切地想着手去解决项目中实际存在的问题,否则就失去了工作意义。
(al5224芯片应用电路)
al5224芯片的工作电源电压范围为2.0v~5.5v,既可以兼容5v的逻辑电平,也可以兼容3.3v的逻辑电平。
al5224芯片的应用电路,工程师很容易设计开发,只需将scl与sda引脚连接单片机的iic引脚即可,这样单片机就轻易地实现了解决扩展io引脚数量的问题了;单片机通过2个io引脚scl与sda,扩展了16个io引脚数量,也就实现了扩展io引脚数量的功能。
文末结尾:
在介绍完al5224芯片的电路特性之后,工程师或许在对比中发现,相对重新选择新的单片机型号而言,选择al5224 io引脚扩展芯片方案更具有普遍性,可操作性更强;正所谓事务都具有双重性,有正面必然有反面,al5224芯片的电路方案也存在一些不足之处。
增加项目的bom核算成本,主要是增加了al5224的芯片成本;
al5224 io引脚扩展芯片,扩展了14个io引脚数量;显然在实际项目开发中很少会遇到需要扩展14个io引脚的数量,即便al5224系列芯片也支持扩展8个io引脚数量,但会造成一些多余的io引脚资源浪费现象。
XG1590射频、中频、音频放大电路的应用
自动驾驶商业落地现状与未来发展前景
中国移动与诺基亚达成10亿欧元合作协议,能带领5G走向新发展吗?
小米Mix抢小米Note 2风头,这次黑科技终于不用被“黑”了
气体检测仪是如何校准的,步骤是怎样的
AL5524 IO如何扩展单片机的IO引脚数量
Linux系统中汇编语言来实现芯片外设的初始化
基于STM32的红外光通信装置的设计
LG化学和三星SDI关闭在美国的电池工厂
大多数人不知道共享单车里还有颗CPU
常见的区块链+供应链金融模式
电动滑板DIY图解
存储巨头门槛被踏破 Meta、英伟达上门求货AI存力需求获印证
为什么会跳闸?家庭电路图结构详解
奇瑞估值18个月缩水近30% 未来将广泛布局新能源
吉利成为百度电动汽车公司的战略合作伙伴
可再生能源效率的电源集成
面向可穿戴医疗设备的仿真解决方案
LED室内照明的未来发展趋势分析
国产PLC哪个好