T113-S3-TCA6424-gpio扩展芯片调试

news2024/9/23 3:32:34

目录

前言

一、TCA6424介绍

二、原理图连接

三、设备树配置

四、内核配置

五、gpio操作

总结


前言

        TCA6424是一款常用的GPIO(通用输入输出)扩展芯片,可以扩展微控制器的IO口数量。在T113-S3平台上,使用TCA6424作为GPIO扩展芯片可以方便地增加可用的IO口。本篇博客将为您提供一份详细的调试指南,帮助您顺利将TCA6424与T113-S3集成,并实现GPIO功能的扩展。


一、TCA6424介绍

        TCA6424是德州仪器(Texas Instruments)公司推出的一款IO扩展器,用于将微控制器的数字IO口数量扩展。它提供了24个独立的GPIO引脚,可以通过I2C总线与主控器(如微控制器、FPGA等)进行通信。TCA6424的主要特点和特性如下:

  1. 多功能IO口: TCA6424提供了24个通用IO口,这些IO口既可以配置为输入模式,也可以配置为输出模式。这使得TCA6424非常适合于需要额外IO口的嵌入式系统和应用。

  2. I2C接口: TCA6424使用标准的I2C总线进行通信,需要两根线(SCL和SDA)。这种串行通信协议使得芯片能够通过少量的引脚与主控器连接,从而减少了硬件复杂性。

  3. 可编程引脚方向: TCA6424的每个引脚都可以单独配置为输入或输出模式。这意味着您可以根据需求动态地改变引脚的工作方式。

  4. 中断功能: TCA6424支持引脚的中断功能,可以在引脚状态发生变化时产生中断请求,通知主控器进行相应的处理。

  5. 内部上拉和下拉电阻: TCA6424允许您配置引脚的上拉或下拉电阻,以便于在输入模式下实现信号的稳定采集。

  6. 低功耗设计: 芯片具有低功耗特性,适用于移动设备和需要长时间运行的嵌入式系统。

  7. 广泛的应用: TCA6424可用于各种应用,如工业自动化、嵌入式系统、家庭自动化、机器人、传感器节点等,为这些应用提供了额外的IO资源。

二、原理图连接

        T113-S3采用I2C接口与TCA6424连接,具体连接示意图如下图所示:

 

 

三、设备树配置

        通过原理图可知,扩展io芯片通过T113-S3 i2c2相连接,在SDK里面通过修改device/config/chips/t113/configs/evb1_auto/board.dts设备树配置文件,添加设备树配置文件内容,具体内容如下所示:

&twi2_pins_a{
	/*pins = "PE12", "PE13";*/
	pins = "PG14", "PG15";
	function = "twi2";
	drive-strength = <10>;
};

&twi2_pins_b{
	/*pins = "PE12", "PE13";*/
	pins = "PG14", "PG15";
	function = "gpio_in";
};

//TCA6424ARGJR
&twi2 {
	status = "okay";
	pinctrl-0 = <&twi2_pins_a>;
	pinctrl-1 = <&twi2_pins_b>;
	
	tca6424@22 {
		compatible = "ti,tca6424";
		reg = <0x22>;
		status = "okay";
		
		gpio-controller;
        #gpio-cells = <2>;
        interrupt-parent = <&pio>;
        interrupts = <&pio PG 12 GPIO_ACTIVE_HIGH>;
        interrupt-names = "int1";
	};
};

四、内核配置

        linux内核需要打开TCA6424驱动配置,在gpio driver下找到tca6424驱动配置项点,并*选中编译进内核即可,配置选项如下截图所示:

 > Device Drivers > GPIO Support > I2C GPIO expanders

 选中 PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports 选项。

正常启动后在/sys/class/gpio下可以看到如下部分内容即可表示加载成功:

 特别注意:其中gpiochip392表示该IO扩展芯片的gpio基地址为392,其24个gpio pin号为392~415区间,使用sysfs方式操作gpio即可。

五、gpio操作

       在392~415区间选择可操作的gpio,假设选择一个该芯片未使用的一个管脚对应的管脚号 X,执行以下命令,如果能看到相应目录的值发生预期的改变的话,则说明该 GPIO是可操作的:

1. 导出
/sys/class/gpio# echo X> export

2. 设置方向
/sys/class/gpio/gpioX# echo out > direction

3. 查看方向
/sys/class/gpio/gpioX# cat direction

4. 设置输出
/sys/class/gpio/gpioX# echo 1 > value

5. 查看输出值
/sys/class/gpio/gpioX# cat value

6. 取消导出
/sys/class/gpio# echo X > unexport

X 导出gpio号 > 芯片基号 < 可扩展io号


总结

        通过本指南,您应该能够成功调试T113-S3平台上搭载TCA6424 GPIO扩展芯片的GPIO功能。确保在每个步骤中仔细阅读相关文档和数据手册,并进行逐步调试。如果遇到问题,可以参考官方文档、开发社区或寻求专业帮助。祝您在调试过程中获得成功,实现GPIO扩展功能!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/901415.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用 Elasticsearch 轻松进行中文文本分类

本文记录下使用 Elasticsearch 进行文本分类&#xff0c;当我第一次偶然发现 Elasticsearch 时&#xff0c;就被它的易用性、速度和配置选项所吸引。每次使用 Elasticsearch&#xff0c;我都能找到一种更为简单的方法来解决我一贯通过传统的自然语言处理 (NLP) 工具和技术来解决…

leetcode 198. 打家劫舍

2023.8.19 打劫问题是经典的动态规划问题。先设一个dp数组&#xff0c;dp[i]的含义为&#xff1a;前 i 个房屋能盗取的最高金额。 每间房屋无非就是偷&#xff0c;或者不偷这两种情况&#xff0c;于是可以写出递推公式&#xff1a; …

使用nrm快速切换npm源以及解决Method Not Implemented

文章目录 什么是nrm如何使用nrm查看本机目前使用的npm 源安装nrm查看可选源查看当前使用源切换源添加源删除源测试源的响应时间 如果你遇到这个报错&#xff0c;就可以采用这种方案解决哦解决方案&#xff1a;1. 切换为官方源2. 查看漏洞3. 修复漏洞4. 下面命令慎重使用&#x…

【Linux】进程信号篇Ⅰ:信号的产生(signal、kill、raise、abort、alarm)、信号的保存(core dump)

文章目录 一、 signal 函数&#xff1a;用户自定义捕捉信号二、信号的产生1. 通过中断按键产生信号2. 调用系统函数向进程发信号2.1 kill 函数&#xff1a;给任意进程发送任意信号2.2 raise 函数&#xff1a;给调用进程发送任意信号2.3 abort 函数&#xff1a;给调用进程发送 6…

域名解析和代理

购买域名 这里使用腾讯云进行购买。 对域名进行解析 通过添加记录接口对域名进行解析。 此时我们的服务器地址就被解析到域名上了。 我们可以通过以下格式进行访问&#xff1a; [域名]:[对应的项目端口] 效果为下: 通过nginx进行代理 如果我们使用上述的方式进行访问还是…

轻松搭建书店小程序

在现今数字化时代&#xff0c;拥有一个自己的小程序成为了许多企业和个人的追求。而对于书店经营者来说&#xff0c;拥有一个能够提供在线购书服务的小程序将有助于吸引更多的读者&#xff0c;并提升销售额。本文将为您介绍如何轻松搭建书店小程序&#xff0c;并将其成功上线。…

Spring事件监听源码解析

spring事件监听机制离不开容器IOC特性提供的支持&#xff0c;比如容器会自动创建事件发布器&#xff0c;自动识别用户注册的监听器并进行管理&#xff0c;在特定的事件发布后会找到对应的事件监听器并对其监听方法进行回调。Spring帮助用户屏蔽了关于事件监听机制背后的很多细节…

Spring事务和事务传播机制(1)

前言&#x1f36d; ❤️❤️❤️SSM专栏更新中&#xff0c;各位大佬觉得写得不错&#xff0c;支持一下&#xff0c;感谢了&#xff01;❤️❤️❤️ Spring Spring MVC MyBatis_冷兮雪的博客-CSDN博客 在Spring框架中&#xff0c;事务管理是一种用于维护数据库操作的一致性和…

HLK-LD105/2410B/2420模块测试

HLK105/2410B/2420模块测试 &#x1f4cc;模块资料地址&#xff1a;https://h.hlktech.com/Mobile/download &#x1f33f;HLK-LD105模块&#xff1a; 10G微波雷达 &#x1f33f;HLK-LD2420-24G&#xff1a;24G毫米波雷达 &#x1f33f;HLK-LD2410B-24G&#xff1a;24…

网络安全--wazuh环境配置及漏洞复现

目录 一、wazuh配置 二、wazuh案例复现 一、wazuh配置 1.1进入官网下载OVA启动软件 Virtual Machine (OVA) - Installation alternatives (wazuh.com) 1.2点击启动部署&#xff0c;傻瓜式操作 1.3通过账号&#xff1a;wazuh-user&#xff0c;密码&#xff1a;wazuh进入wazuh…

【NOIP】XR-4模拟赛,Oler教练的上班策略

author&#xff1a;&Carlton tag&#xff1a;模拟 topic&#xff1a;【NOIP】XR-4模拟赛&#xff0c;Oler教练的上班策略 language&#xff1a;C website&#xff1a;洛谷 date&#xff1a;2023年8月19日 目录 题目 我的题解 思路 源代码 改进 题目 我的题解 思路…

iptables防火墙(SNAT与DNAT)

目录 1 SNAT 1.1 SNAT原理与应用 1.2 SNAT工作原理 1.3 SNAT转换前提条件 2 SNAT示例 ​编辑 2.1 网关服务器配置 2.1.1 网关服务器配置网卡 2.1.2 开启SNAT命令 2.2 内网服务器端配置 2.3 外网服务器端配置 2.4 网卡服务器端添加规则 2.5 SNAT 测试 3 DNAT 3.1 网卡…

Windows 11 下使用 VMWare Workstation 17 Pro 新建 CentOS Stream 9 64位 虚拟机 并配置网络

文章目录 为什么选择 CentOS Stream 9下载安装访问连接快照克隆网络配置 为什么选择 CentOS Stream 9 CentOS Linux 8: 已经过了 End-of-life (EOL)CentOS Linux 7: EOL Jun 30th, 2024CentOS Stream 8: EOL May 31st, 2024CentOS Stream 9: End of RHEL9 full support phase …

DTC 19服务学习1

在UDS&#xff08;统一诊断服务&#xff09;协议中&#xff0c;0x19是用于DTC&#xff08;诊断故障代码&#xff09;信息的服务。以下是你提到的子服务的功能和作用&#xff1a; 0x01 - 报告DTC按状态掩码。这个子服务用于获取当前存储在ECU中的DTC列表。状态掩码用于过滤DTC&a…

redis闪退的三大解决办法(windows版本)

目录 一、遇到问题 二、出现问题的原因 三、三大启动方法 &#xff08;一&#xff09;启动服务端的命令一 &#xff08;二&#xff09;启动服务端命令二 &#xff08;三&#xff09;必解决redis服务端 一、遇到问题 下载完成redis的5的版本&#xff0c;要进行启动redis的…

UML基础模型

目录 1.抽象类2.接口3.继承4.实现接口5.关联关系6.聚合关系7.合成&#xff08;组合&#xff09;关系8.依赖关系 1.抽象类 矩形框代表一个类&#xff08;Class&#xff09;。 类图分为三层&#xff1a; 第一层显示类的名称&#xff0c;如果是抽象类&#xff0c;就用斜体显示&am…

kafka--kafka基础概念-ISR详解

kafka基础概念-ISR详解 主要是讲 主 往 从同步中的问题 当绿色P1接收到写入的数据&#xff0c;要同步到紫色的P1S1和P1S2 如何保证一致性呢&#xff1f; 使用In Sync Replicas 也就是ISR概念 为什么不一致的&#xff1f; 因为P1S1同步数据 可能花费 50ms P1S2可能花费60ms…

G0第26章:微服务概述与gRPCprotocol buffers

Go微服务与云原生 1、微服务架构介绍 单体架构&#xff08;电商&#xff09; SOA架构&#xff08;电商&#xff09; 微服务架构&#xff08;电商&#xff09; 优势 挑战 拆分 发展史 第一代:基于RPC的传统服务架构 第二代:Service Mesh(istio) 微服务架构分层 核心组件 Summar…

云安全与多云环境管理:讨论在云计算和多云环境下如何保护数据、应用程序和基础设施的安全

随着云计算和多云环境的广泛应用&#xff0c;企业正面临着数据、应用程序和基础设施安全的新挑战。在这个数字化时代&#xff0c;保护敏感信息和业务运作的连续性变得尤为重要。本文将深入探讨在云计算和多云环境下如何有效地保护数据、应用程序和基础设施的安全。 章节一&…

【Teamcity 安装及入门使用】

Teamcity 安装及入门使用 前言安装无Mysql版本有Mysql版本 启动创建超管用户账户和密码忘记密码结尾语 前言 前不久&#xff0c;teamcity更新了2023.05.2版本&#xff0c;我对teamcity也有一段时间的学习了&#xff0c;所以想写一篇博客来记录一下这段时间的学习过程。 teamc…