0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AL5524 IO如何扩展单片机的IO引脚数量

fcsde-sh 来源:张飞实战电子 作者:张飞实战电子 2020-09-02 14:42 次阅读

在项目开发设计时,单片机的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引脚资源浪费现象。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6002

    文章

    43982

    浏览量

    620913
  • 控制器
    +关注

    关注

    112

    文章

    15239

    浏览量

    171229
  • 寄存器
    +关注

    关注

    30

    文章

    5037

    浏览量

    117764
  • IO引脚
    +关注

    关注

    0

    文章

    10

    浏览量

    9358

原文标题:终于明白!如何扩展单片机的IO引脚数量?

文章出处:【微信号:fcsde-sh,微信公众号:fcsde-sh】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    请问如何扩展单片机IO口?

    在很多项目上都会因单片机IO口不够、或降低硬件成本要扩展IO口,特别在一些机械设备上,如本人从事的这个行业,有时候由一个单片机
    发表于 04-24 06:30

    间接给单片机IO口输入3.3会不会损坏单片机

    间接给单片机IO口输入3.3会不会损坏单片机
    发表于 11-10 07:30

    利用74373芯片进行单片机IO扩展的方法

    在电路设计的某些时候,微处理器(如单片机IO口不够用了,此时该怎么办呢?利用辅助芯片进行IO扩展是个简单直接的方法,能用较少的成本增多IO
    的头像 发表于 11-02 14:20 1248次阅读
    利用74373芯片进行<b class='flag-5'>单片机</b><b class='flag-5'>IO</b>口<b class='flag-5'>扩展</b>的方法

    STC单片机IO口耐压值是多少?

    STC单片机IO口耐压值是多少
    发表于 11-01 08:14

    单片机IO扩展有哪几种方法?

    单片机IO扩展有哪几种方法
    发表于 11-01 07:47

    单片机IO配置不同速度有啥区别?

    单片机IO配置不同速度有啥区别?
    的头像 发表于 10-25 16:42 314次阅读
    <b class='flag-5'>单片机</b><b class='flag-5'>IO</b>配置不同速度有啥区别?

    单片机IO口不够用了怎么办?如何扩展单片机IO口?

    单片机IO口不够用了怎么办?如何扩展单片机IO口? 单片机是应用广泛的微处理器,其具有较高的
    的头像 发表于 10-24 11:49 5361次阅读

    请问单片机IO如何输出模拟信号?

    单片机IO如何输出模拟信号,看到过一款设计用PIC18F26K20直接IO输出信号到PAM8302A功放,接上喇叭就可以输出人声音的设计,单片机直接模拟人声的原理是什么?
    发表于 10-08 07:15

    单片机4个IO口的作用

    单片机4个IO口的作用  单片机是嵌入式系统中的一种重要元器件,其可以实现数据处理、控制和通信等功能。作为单片机的一个核心部件,IO口(In
    的头像 发表于 09-22 16:21 4407次阅读

    io扩展模块常见的种类有哪些?io扩展模块一般又卖多少钱?

    其实说白了,IO扩展模块就是一种用于扩展设备输入/输出接口的硬件设备。根据不同的应用场景和需求,IO扩展模块可以分为多种类型。以下是一些常见
    的头像 发表于 07-12 17:59 1823次阅读

    技术帖 | 去掉IO扩展芯片后保留扩展引脚功能的实现方法

    OKT507-C去掉IO扩展芯片后保留扩展引脚功能的实现的方法。
    的头像 发表于 07-07 10:11 711次阅读
    技术帖 | 去掉<b class='flag-5'>IO</b><b class='flag-5'>扩展</b>芯片后保留<b class='flag-5'>扩展</b><b class='flag-5'>引脚</b>功能的实现方法

    通过NVIDIA Magnum IO扩展VASP

    通过 NVIDIA Magnum IO 扩展 VASP
    的头像 发表于 07-05 16:30 409次阅读
    通过NVIDIA Magnum <b class='flag-5'>IO</b><b class='flag-5'>扩展</b>VASP

    如何控制单片机IO引脚输出高电平和低电平?

    单片机IO引脚就像人的手脚一样,单片机通过IO引脚与外界进行数据交换。可以输出电压信号来控制外
    发表于 06-12 14:43 1.1w次阅读
    如何控制<b class='flag-5'>单片机</b>的<b class='flag-5'>IO</b><b class='flag-5'>引脚</b>输出高电平和低电平?

    基于STC单片机IO口推挽输出测试例程

    STC单片机IO口推挽输出测试例程源代码
    发表于 05-12 16:21 1次下载

    基于ATmega8单片机IO口基本输出Proteus仿真源程序

    基于ATmega8单片机IO口基本输出Proteus仿真源程序
    发表于 05-05 09:37 0次下载