Driver:硬件原理补充(2)
来源:互联网 发布:福州趣读网络 编辑:程序博客网 时间:2024/04/30 05:17
1.回顾调Stk3311光感
(1)dts配置
stk3311@48 {
compatible = "stk,stk3311";
reg = <0x48>;//addr
interrupt-parent = <&atc260x_sgpio>;
interrupts = <3 4>;//3:gpio口, 4:中断方式
gpios = <&atc260x_sgpio 3 0>; /* SGPIO0, low active; AUXIN2 */
near_threshold = <100>; //靠近距离
far_threshold = <40>; //松开距离
};
(2)android\device\actions\project\init.modules.rc下添加:
# insmod light sensor
insmod /misc/modules/stk3311.ko
(3)\kernel\arch\arm64\configs\project_defconfig 下添加模块开关:
CONFIG_INPUT_STK3311=m
(4)添加源码:
\kernel\drivers\input\misc\stk3311.c
\kernel\drivers\input\misc\Makefile 下添加:obj-$(CONFIG_INPUT_STK3311)+= stk3311.o
\kernel\drivers\input\misc\Kconfig 下添加:config INPUT_STK3311 ......
(5)开机过程中光感能被初始化,后来I2C time out.原因:I2C脚被复用了(GPIOE2/TWI2_SCLK, GPIOE3/TWI2_SDATA)。本来用作TWI2的脚,被rgbcolor三色 灯用作gpio口了(GPIOE2,GPIOE3).因为GPIO口的优先级 高于 I2C。要想用作I2C,则要把gpio口(GPIOE2,GPIOE3)注释掉。
如下图所示:
2.晶振OSC3225与晶体
(1)晶振定义:晶振是有源晶振的简称,又叫振荡器。英文名称是oscillator.
作用:为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。
封装特征:一般是表贴四个脚的封装,内部有时钟电路,只需供电便可产生 振荡信号。一般分7050、5032、3225、2520几种封装形式。
(2)晶体定义:是无源晶振的简称,也叫谐振器。英文名称是crystal.
特征:一般是直插两个脚的无极性元件,需要借助时钟电路才能产生振荡信号。常见的有49U、49S封装。
晶体晶振用于各模块,各模块所用晶振的频率不一样,如Hdmi模块有晶振27MHz, Wifi(AP6212)模块有晶振26MHz, 主控CPU有晶振24MHz等。
如下图所示:
- Driver:硬件原理补充(2)
- Driver:硬件原理补充(1)
- 硬件路由转发原理浅析-清晨补充
- AtomicInteger原理(待补充)
- Spring MVC框架原理(待补充)
- 时钟原理(一)硬件篇
- 【Linux Device Driver】—(2)—Concurrency and Race Conditions——原理
- MTK feature phone driver 调试补充
- Hive Driver 原理
- Django补充(2)
- LVS工作原理补充
- IOCP原理补充说明!
- Wave Driver介绍-7(驱动中对音量的控制操作-非硬件音量控制)
- Wave Driver介绍-7(驱动中对音量的控制操作-非硬件音量控制)
- 硬件设备开发原理
- 硬件断点的原理
- NAND Flash硬件原理
- LCD硬件原理
- javaSE_07Java中类和对象-封装特性
- 21天精通java基础之Day19调用指定的属性方法构造器
- Nao机器人B-human安装1
- Privacy Policy
- 非线性方程求根迭代法
- Driver:硬件原理补充(2)
- 浅谈for,for-in,forEach,for-of几种循环
- Swi-Prolog 数值约束
- git failed paths dirty_worktree
- 4.7
- 树形dp(IOI 2005河流代码理解)
- Struts2入门案例
- 蓝桥杯—2017模拟
- Mooc南京大学3