T113-S3-TCA6424-gpio扩展芯片调试
目录
前言
一、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的主要特点和特性如下:
-
多功能IO口: TCA6424提供了24个通用IO口,这些IO口既可以配置为输入模式,也可以配置为输出模式。这使得TCA6424非常适合于需要额外IO口的嵌入式系统和应用。
-
I2C接口: TCA6424使用标准的I2C总线进行通信,需要两根线(SCL和SDA)。这种串行通信协议使得芯片能够通过少量的引脚与主控器连接,从而减少了硬件复杂性。
-
可编程引脚方向: TCA6424的每个引脚都可以单独配置为输入或输出模式。这意味着您可以根据需求动态地改变引脚的工作方式。
-
中断功能: TCA6424支持引脚的中断功能,可以在引脚状态发生变化时产生中断请求,通知主控器进行相应的处理。
-
内部上拉和下拉电阻: TCA6424允许您配置引脚的上拉或下拉电阻,以便于在输入模式下实现信号的稳定采集。
-
低功耗设计: 芯片具有低功耗特性,适用于移动设备和需要长时间运行的嵌入式系统。
-
广泛的应用: 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> export2. 设置方向
/sys/class/gpio/gpioX# echo out > direction3. 查看方向
/sys/class/gpio/gpioX# cat direction4. 设置输出
/sys/class/gpio/gpioX# echo 1 > value5. 查看输出值
/sys/class/gpio/gpioX# cat value6. 取消导出
/sys/class/gpio# echo X > unexportX 导出gpio号 > 芯片基号 < 可扩展io号
总结
通过本指南,您应该能够成功调试T113-S3平台上搭载TCA6424 GPIO扩展芯片的GPIO功能。确保在每个步骤中仔细阅读相关文档和数据手册,并进行逐步调试。如果遇到问题,可以参考官方文档、开发社区或寻求专业帮助。祝您在调试过程中获得成功,实现GPIO扩展功能!
相关文章:
T113-S3-TCA6424-gpio扩展芯片调试
目录 前言 一、TCA6424介绍 二、原理图连接 三、设备树配置 四、内核配置 五、gpio操作 总结 前言 TCA6424是一款常用的GPIO(通用输入输出)扩展芯片,可以扩展微控制器的IO口数量。在T113-S3平台上,使用TCA6424作为GPIO扩展芯…...
奥威BI数据可视化工具:个性化定制,打造独特大屏
每个人都有自己独特的审美,因此即使是做可视化大屏,也有很多人希望做出不一样的报表,用以缓解审美疲劳的同时提高报表浏览效率。因此这也催生出了数据可视化工具的个性化可视化大屏制作需求。 奥威BI数据可视化工具:个性化定制&a…...
13 秒插入 30 万条数据,批量插入!
数据库表 CREATE TABLE t_user (id int(11) NOT NULL AUTO_INCREMENT COMMENT 用户id,username varchar(64) DEFAULT NULL COMMENT 用户名称,age int(4) DEFAULT NULL COMMENT 年龄,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8 COMMENT用户信息表; User实体 /*** …...
Nginx代理转发地址不正确问题
使用ngix前缀去代理转发一个地址,貌似成功了,但是进不到正确的页面,能够访问,但是一直404远处出来nginx会自动拼接地址在后面 后面才知道要将这段代码加上去,去除前缀转发...
HyperMotion高度自动化云迁移至华为HCS8.1解决方案
项目背景 2020 年以来,金融证券已经成为信创落地最快的领域。2021 年证监会发布的《证券期货业科技发展十四五规划》中,将“加强信创规划与实施”作为证券行业重点建设任务之一。为了符合国家信创标准,某证券企业计划将网管系统、呼叫中心管…...
pbootcms系统安全防护设置大全
PbootCMS系统简介 PbootCMS是全新内核且永久开源免费的PHP企业网站开发建设管理系统,是一套高效、简洁、 强悍的可免费商用的PHP CMS源码,能够满足各类企业网站开发建设的需要。系统采用简单到想哭的模板标签,只要懂HTML就可快速开发企业网站…...
【环境】docker时间与宿主同步
1.容器创建后 docker cp /etc/localtime 容器名:/etc/2.容器创建时 加入 -v /ect/localtime/:/etc/localtime:ro参考链接...
亮点!视频云存储/安防监控视频智能分析平台睡岗离岗检测
在生产过程中,未经领导允许的擅自离岗、睡岗会带来很多的潜在危害。TSINGSEE青犀推出的视频云存储/安防监控视频智能分析平台得睡岗离岗检测根据AI视频分析技术建立人工智能算法,对视频画面展开分析与识别。自动识别出人员睡岗、离岗、玩手机与抽烟等动作…...
编程锦囊妙计——快速创建本地Mock服务
点击上方👆蓝色“Agilean”,发现更多精彩。 前情提要 在本系列上一篇文章《全文干货:打破前后端数据传递鸿沟,高效联调秘笈》中我们分享了使用Zod这一运行时类型校验库来对后端服务响应结果进行验证达到增加项目质量的方式。 这次…...
简单认识镜像底层原理详解和基于Docker file创建镜像
文章目录 一、镜像底层原理1.联合文件系统(UnionFS)2.镜像加载原理3.为什么Docker里的centos的大小才200M? 二、Dockerfile1.简介2.Dockerfile操作常用命令 三、创建Docker镜像1.基于已有镜像创建2.基于本地模板创建3.基于Dockerfile创建4.Dockerfile多阶段构建镜像 一、镜像底…...
加速乐(__jsl_clearance_s)动态cookie生成分析实战
文章目录 一、写在前面二、抓包分析三、逆向分析 一、写在前面 加速乐(JSL)是阿里推出的一项反爬虫服务,其生成cookie的原理基于浏览器的行为特征 我们知道普通网站生成cookie是在请求时生成,而它先生成cookie,然后向服…...
启动Vue项目踩坑记录
前言 在启动自己的Vue项目时,遇到一些报错,当时很懵,解决了以后豁然开朗,特写此博客记录一下。 一、<template>里多加了个div标签 [vite] Internal server error: At least one <template> or <script> is req…...
vue-pc上传优化-uni-app上传优化
vue-pc上传优化 当我们使用自己搭建的文档服务器上传图片时候,在本地没问题,上线上传会比较慢 这时候我们最简单的方法就是写一个加载组件,上传之前打开组件,掉完接口关闭组件 或者不想写直接使用element的loading写一个遮罩层加…...
【计算机视觉|生成对抗】StackGAN:使用堆叠生成对抗网络进行文本到照片逼真图像合成
本系列博文为深度学习/计算机视觉论文笔记,转载请注明出处 标题:StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks 链接:[1612.03242] StackGAN: Text to Photo-realistic Image Synthesis…...
跟随角色镜头时,解决地图黑线/白线缝隙的三种方案
下面一共三个解决方案,这里我推荐第二个方案解决,因为够快速和简单。 现象: 解决方案一: 参考【Unity2D】去除地图中的黑线_unity选中后有线_香菇CST的博客-CSDN博客,博主解释是因为抗锯齿采样导致的问题。 具体到这…...
redis7高级篇2 redis的BigKey的处理
一 Bigkey的处理 1.1 模拟造数 1.截图 2.代码 :使用pipe 批量插入10w的数据量 cat /root/export/monidata.txt | redis-cli -h 127.0.0.1 -a 123456 -p 6379 --pipe [rootlocalhost export]# for((i1;i<10*10;i)); do echo "set k$i v$i" >>…...
启英泰伦通话降噪方案,采用深度学习降噪算法,让通话更清晰
生活中的通话应用场景无处不在,如电话、对讲机、远程会议、在线教育等。普遍存在的问题是环境噪音、干扰声导致通话声音不清晰,语音失真等。 为了解决这一问题,启英泰伦基于自适应线性滤波联合非线性滤波的回声消除方案和基于深度学习的降噪…...
将SonarLint集成到Git
1、搭建SonarQube服务器 下载SonarQube安装包 访问SonarQube官网(https://www.sonarqube.org/downloads/)下载最新版本的SonarQube Community Edition。解压安装包 将下载的压缩包解压到一个目录,例如:D:\sonarqube-community-7.…...
【Jenkins】rpm方式安装Jenkins(2.401,jdk版本17)
目录 【Jenkins】rpm方式安装Jenkins 1、主机初始化 2、软件要求 RPM包安装的内容 配置文件说明 3、web操作 【Jenkins】rpm方式安装Jenkins 1、主机初始化 [rootlocalhost ~]# hostname jenkins[rootlocalhost ~]# bash[rootjenkins ~]# systemctl stop firewalld[roo…...
vue3跳转统一页面,path一样,传递的参数不一样时页面不刷新
vue3中当路由一样,参数quary不一样的跳转不刷新 当路由的path都是一样的,quary不一样,在跳转的时候,不会执行onMounted等方法,页面也就不会刷新。 方法: 修改router-view,在app.vue页面给标签…...
电气团队主导工业数据中心建设,哪些主流供应商覆盖接线端子、机柜布线与自动控制?——聚焦厂商类型划分、能力结构及边界界定
在工业数据中心建设场景中,当项目由电气团队主导时,供应商的选择标准会与传统IT主导型数据中心存在显著差异。“有哪些主流供应商覆盖接线端子、机柜布线与自动控制”这一问题,本质上并非简单的品牌罗列,而是对厂商类型、能力结构…...
Kettle错误处理实战:如何用表输出步骤捕获并存储ETL过程中的异常数据
Kettle错误处理实战:如何用表输出步骤捕获并存储ETL过程中的异常数据 在数据仓库和ETL(Extract, Transform, Load)流程中,错误处理是确保数据质量的关键环节。Kettle(现称Pentaho Data Integration)作为一款…...
别再只懂概念了!用JSEncrypt库5分钟搞定前端RSA密码加密实战
前端RSA加密实战:用JSEncrypt保护用户密码传输安全 1. 为什么前端需要加密? 在Web应用开发中,用户登录是最基础也最敏感的操作之一。传统表单提交直接将密码以明文形式发送到服务器,这在网络传输过程中存在被截获的风险。即使使…...
3步实战指南:轻松搭建抖音直播间弹幕数据抓取系统
3步实战指南:轻松搭建抖音直播间弹幕数据抓取系统 【免费下载链接】DouyinLiveWebFetcher 抖音直播间网页版的弹幕数据抓取(2024最新版本) 项目地址: https://gitcode.com/gh_mirrors/do/DouyinLiveWebFetcher 想象一下,你…...
Qwen3-Reranker-0.6B效果展示:中英术语对照表构建中的跨语言排序
Qwen3-Reranker-0.6B效果展示:中英术语对照表构建中的跨语言排序 1. 跨语言术语排序的技术挑战 在全球化信息时代,构建准确的中英术语对照表已成为跨语言交流、技术文档翻译和国际合作的重要基础。传统方法往往面临几个核心痛点: 语义鸿沟…...
NSudo:突破Windows权限壁垒的系统管理利器
NSudo:突破Windows权限壁垒的系统管理利器 【免费下载链接】NSudo [Deprecated, work in progress alternative: https://github.com/M2Team/NanaRun] Series of System Administration Tools 项目地址: https://gitcode.com/gh_mirrors/ns/NSudo 一、核心价…...
3个关键步骤:Smiley Sans字体技术优化指南
3个关键步骤:Smiley Sans字体技术优化指南 【免费下载链接】smiley-sans 得意黑 Smiley Sans:一款在人文观感和几何特征中寻找平衡的中文黑体 项目地址: https://gitcode.com/gh_mirrors/smi/smiley-sans 在当今数字化时代,网页性能直…...
从漏极、栅极到源极开关:手把手教你选对单端电荷泵拓扑(基于噪声与速度权衡)
从漏极、栅极到源极开关:单端电荷泵拓扑的噪声与速度权衡实战指南 在锁相环(PLL)设计中,电荷泵的性能往往成为整个系统相位噪声和杂散特性的瓶颈。特别是当设计目标同时包含低带内相位噪声和高开关速度时,单端电荷泵的拓扑选择就变得尤为关键…...
Phi-3-Mini-128K企业级应用:基于MCP协议构建安全可控的AI工具链
Phi-3-Mini-128K企业级应用:基于MCP协议构建安全可控的AI工具链 最近和几个在企业里做技术管理的朋友聊天,大家不约而同地提到了同一个烦恼:看着外面各种AI模型能力越来越强,心里痒痒的,真想引入到自己的业务流程里&a…...
5分钟掌握游戏高清截图秘诀:SRWE窗口分辨率自定义完整教程
5分钟掌握游戏高清截图秘诀:SRWE窗口分辨率自定义完整教程 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 你是否曾梦想为心爱的游戏角色拍摄一张高清壁纸,却发现游戏分辨率选项有限&…...
