迅为iTOP-4418/6818开发板-驱动-实现GPIO扩展

发布者:心愿实现最新更新时间:2022-01-18 来源: eefocus关键字:6818开发板  驱动 手机看文章 扫描二维码
随时随地手机看文章

实现 GPIO 扩展,先弄清楚“复用”的概念,将调用这些 GPIO 的驱动去掉配置,重新编
译,加到自己的驱动中,就可以实现扩展的 GPIO 的输入和输出。


另外必须要先看文档“迅为iTOP-4418开发板和6818开发板-驱动-GPIO 输入输出和例程_V1.X”。


1 GPIO 扩展的内核配置
在底板上,引出的扩展口有 J6(camera 口),J38(GPIO/CAN/485),另外如果自己做
底板,假如不使用 WIFI 等模块,还可以将 WIFI 等模块的 IO 口扩展成 GPIO。


这里只介绍 J6 和 J38 上的方便扩展的 IO 口。


如下图所示,是摄像头接口。这里带有“SDA”,“SCL”字样的两个引脚为总线引脚,
不建议更改为 GPIO 接口。其中的红色字样比如“MCU_TSI1_D5”为关键词。

若想确定该引脚是否可复用为 GPIO 接口,则在核心板原理图
“topeet_s5p4418_coreborad_v1_2.pdf”搜索该关键词,可以得到两个结果。一个是在板
对板连接器,另一个便是在 MCU 上的引脚。如下图所示

在 MCU 上用户可以看到该引脚对应的其他功能,对应红框中的位置可以发现,该引脚可
复用为 GPIO,编号为 GPIOE1,那么宏定义为(PAD_GPIO_C+13)。其他的引脚所对应编号用户可根据此方法来依次查询。


如果这个 GPIO,被其它驱动调用,需要将驱动去掉配置,如下图所示,要将摄像头的驱
动去掉,这样就可以在这些接口当做 GPIO。


Device Drivers --->
Multimedia support --->
Video capture adapters (去掉)
需要将 OV5640 和 TVP5150 同时去掉,这两个摄像头的驱动都在 Video capture

adapters 下。

如下图所示,将 RS485、Relay 驱动去掉,也可以扩展一些 GPIO 口。
Device Drivers --->
Character devices --->

2 GPIO 复用统计
作者为了方便大家扩展,将网络标号,管脚号等统计出来,方便大家扩展。

有了接口对应的 GPIO 编号,便可以写程序调用这些 GPIO 了。


3 驱动

用户可以根据自己实际需求,在“iTOP-4418 和 6818-驱动-GPIO 输出输出驱动和
GPIO 扩展_V1.X”其中驱动例程基础上修改。


其中的代码
#define GPIOIN (PAD_GPIO_B + 18)
如果要替换为操作多个 GPIO,可以定义为数组,例如:
static int gpiostest[]={
PAD_GPIO_C+13,PAD_GPIO_C+5,PAD_GPIO_C+4,PAD_GPIO_E+1,PAD_GPIO_E+3,
PAD_GPIO_E+2,PAD_GPIO_E+0,PAD_GPIO_D+31,PAD_GPIO_D+30,PAD_GPIO_D+29,PAD_GPIO_E+4,PA
D_GPIO_D+28,PAD_GPIO_E+6,PAD_GPIO_E+5,PAD_GPIO_B+16,
PAD_GPIO_C+10,PAD_GPIO_C+11,PAD_GPIO_C+12,PAD_GPIO_C+9,
};
在使用 gpio_request/free 函数申请和释放 GPIO;使用
gpio_direction_input/gpio_direction_output 函数设置为输入和输出模式;
gpio_get_value/gpio_set_value 函数获取 GPIO 值和设置 GPIO 输出等等,只需要做一个循
环即可,例如 gpio_request 函数申请 GPIO 代码如下:
for(i=0 ; iret = gpio_request(gpiostest[i], "gpiotest");
if (ret) {
printk("request GPIO %d for gpio failedn", gpiostest[i]);
return ret;
}
}


其它操作也是类似。
至此,4418 和 6818开发板的 GPIO 扩展以及 GPIO 输入输出全部介绍完毕。


关键字:6818开发板  驱动 引用地址:迅为iTOP-4418/6818开发板-驱动-实现GPIO扩展

上一篇:迅为4418开发板-驱动-看门狗以及Linux-c测试教程
下一篇:iTOP-4412开发板-使用PartitionManager分区之后tf卡无法识别

推荐阅读最新更新时间:2024-11-05 12:22

智能传感器解决方案驱动下的新趋势和市场
在这个物联网快速发展的时代下,大到工业、建筑、交通,小到身边的智能电话、穿戴设备、家居产品等等各行各业都将进入一个全新的智能的新时代。但无论是互联汽车或是工业自动化以及所有涉及物联网 (IoT)的设备都离不开它,它是感知信息的基础元件,它能让人和技术之间实现无缝衔接。 它是连接模拟和数字世界的接口,让每天使用的设备变得更加智能、安全、直观和节能。它就是智能传感器。 近日全球领先的高性能模拟IC和传感器供应商艾迈斯半导体首席执行官Alexander Everke先生携众多智能传感器解决方案来到中国,并分享了艾迈斯半导体在中国的战略发展蓝图。“智能传感器是技术创新的核心,技术的持续进步让传感器更易普及并成为当今和未来数字生态系
[传感器]
智能传感器解决方案<font color='red'>驱动</font>下的新趋势和市场
输出1KHz和500Hz的音频信号驱动扬声器
用P1.0输出1KHz和500Hz的音频信号驱动扬声器,作报警信号,要求1KHz信号响100ms,500Hz信号响200ms,交替进行,P1.7接一开关进行控制,当开关合上响报警信号,当开关断开告警信号停止,编出程序。 2. 电路原理图 图4.6.1 3. 系统板上硬件连线 (1. 把 单片机系统 区域中的P1.0端口用导线连接到 音频放大模块 区域中的SPK IN端口上; (2. 在 音频放大模块 区域中的SPK OUT端口上接上一个8欧的或者是16欧的喇叭; (3. 把 单片机系统 区域中的P1.7/RD端口用导线连接到 四路拨动开关 区域中的K1端口上; 4. 程序设计内容 (1. 信号产生的方法 500Hz信号周期为2m
[单片机]
输出1KHz和500Hz的音频信号<font color='red'>驱动</font>扬声器
电容降压LED驱动电路
采用电容降压电路是一种常见的小电流电源电路﹐由于其具有体积小﹑成本低﹑电流相对恒定等优点﹐也常应用于LED的驱动电路中。   图一 为一个实际的采用电容降压的LED驱动电路﹕请注意﹐大部分应用电路中没有连接压敏电阻或瞬变电压抑制晶体管﹐建议连接上﹐因压敏电阻或瞬变电压抑制晶体管能在电压突变瞬间( 如雷电﹑大用电设备起动等 )有效地将突变电流泄放﹐从而保护二级关和其它晶体管﹐它们的响应时间一般在微毫秒级 。   电路工作原理﹕   电容C1的作用为降压和限流﹕大家都知道﹐电容的特性是通交流﹑隔直流﹐当电容连接于交流电路中时﹐其容抗计算公式为﹕   XC = 1/2πf C   式中﹐XC 表示电容的容抗﹑f 表示
[电源管理]
电容降压LED<font color='red'>驱动</font>电路
IR2XXX三相桥功率驱动芯片的原理及应用PrincipleandApplicationof3-PhaseBrigdeDriverIR2XXXSeries
         摘要:IR2133/IR2135/IR2233/IR2235系列驱动芯片内部集成了互相独立的3组半桥驱动电路,具有多种保护电路,可直接驱动功率半导体MOSFET或IGBT。本文简要介绍了其电气性能、工作原理和典型应用电路。     关键词:三相桥驱动;功率半导体;保护电路     1. 概述     International Rectifier公司的IR2133/IR2135/IR2233/IR2235系列驱动芯片是专为高电压、高速度的功率 MOSFET和IGBT而设计的。该系列驱动芯片内部集成了互相独立的3组半桥驱动电路,可对上下桥臂提供死区时间,特别适合于三相电源变换等方
[应用]
汽车LED照明驱动系统的设计与突破
一直以来,汽车的刹车灯、转向信号灯、倒车灯以及车尾雾灯都采用21W到27W、亮度为280至570流明的钨丝灯泡作为光源。车尾灯、泊车灯、车侧显示灯以及转向信号闪灯采用4W至10W、亮度为40至130流明的钨丝灯泡,汽车头灯则采用高亮度的氙气荧光管(HID)。但在汽车照明中,越来越多地采用 LED作为光源。尾部中央高位刹车灯是最早采用LED的汽车灯。另外,在车灯市场上,其他车外照明和指示灯如刹车灯、转向信号灯以及车内照明灯都已改用 LED灯泡。近年来,车外照明灯,如白天行车灯(DRL),以及车头近光灯都开始改用LED灯泡。预计汽车大灯也会很快改用高亮度LED灯。此外,在车身内部,一些车内显示器的背光也开始采用LED作为光源,如仪表盘
[电源管理]
汽车LED照明<font color='red'>驱动</font>系统的设计与突破
汽车LIN总线驱动传感器应用
  现今的汽车平均带有50多个不同的传感器,用于监控各种物理变量。由于制动器的使用增加,因而要求传感器提供相应的输入值,所以这个数字还会继续增长。此外,对信号系统的需求正在增加,模拟数据传输技术所受到的限制变得明显了,所以工程师面对的挑战已经变成如何将传感器组变换成一个高效的高性能数字子系统。   驱动传感器的LIN总线技术结合现今电压调制和电流调制方式的优点,可以实现数字数据的高效管理。爱特梅尔公司能够提供所有必须的产品,而无需依赖于LIN应用的集成水平。   传感器系统在许多方面不同于汽车的其它电子元件。最重要的差异在于:传感器通常位于车辆外部的恶劣环境,要经受湿度、温度或者压力的变化。大多数情况下,传感器还得安装在非
[嵌入式]
在汽车中驱动LED照明的开关
引言 与目前的汽车内部和外部照明解决方案相比,LED照明有很多优势,如性能更高、寿命更长、成本更低等,这种照明方式提高了汽车照明的美感和性能。直接用汽车电池驱动LED需要一个DC/DC转换器来调节一个恒定的LED电流,并保护LED免受变幻莫测的汽车电池总线影响。这种转换器还应该根据一串LED中所含LED的数量和LED的类型进行优化,也要根据前灯、尾灯和信号指示灯、内部阅读灯、仪表板或娱乐显示器照明等应用的功能而优化,需要优化的方面如下: 拓扑――LED电压与电池电压之间的关系决定采用降压、升压或降压-升压型拓扑,所选择的拓扑要能在整个电池电压范围内保持对LED电流的控制。 调光――大比例的LED调光必须在亮度等级上保持颜色特
[应用]
Linux设备驱动开发 - 混杂设备驱动
混杂设备共享一个主设备号MISC_MAJOR(10),次设备号不同。 混杂设备本质上仍然是一个字符设备,所以混杂设备的操作跟字符设备基本相同。 在字符设备中,描述字符设备的结构体为struct cdev,在混杂设备中同样有一个描述混杂设备的结构体struct miscdevice。 1 struct miscdevice { 2 int minor; /* 次设备号 */ 3 const char *name; /* 设备名 */ 4 const struct file_operations *fops; /* 文件操作 */ 5 struct list
[单片机]
Linux设备<font color='red'>驱动</font>开发 - 混杂设备<font color='red'>驱动</font>
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved