自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 资源 (3)
  • 收藏
  • 关注

原创 从用户空间传递i2c要写的数据

从用户空间传递i数据

2023-01-07 14:11:29 279

原创 展锐UIS8310 CAT4物联网模块简介

UIS8310 cat4物联网模块介绍

2022-11-15 13:41:24 9089 2

原创 某模块休眠时接收短信不能在串口显示的问题

USB组合串口 短信接收

2022-11-09 13:40:00 452

原创 AT实现PCIE模式切换

AT命令切换PCIE模式

2022-06-22 15:04:51 1454

原创 autosleep

autosleep

2022-06-10 11:31:49 1631 1

原创 在modem侧增加GRFC或者GPIO控制RF

在modem侧增加GRFC

2022-05-07 11:34:25 715

原创 展锐平台的温控策略介绍

展锐平台温控介绍

2022-03-17 16:34:10 3277

原创 展锐平台的uboot流程

以展锐SL8521E为例,分析下其uboot的流程。汇编入口:u-boot15/arch/arm/lib/crt0.Sldr pc, =board_init_r后面重点在do_cboot函数中。其流程见下图:

2022-02-12 11:10:09 1326 1

原创 高通关于RTC备电的说明

Hi Customer,The setting of 0x5A5B is suggested to base on the capacitor in your design. For details as below.Small Cap (10-47uF) Coin cap intended for SMPL, not RTC0x5A5B =0x80 (Set in SBL)Super Cap (33mF) or Coincell Vcoin is intended to sustain RTC

2021-11-05 09:03:12 852 1

原创 玩转96boards之(一)---高通410c板硬件

csdn上花了点积分,下载的原理图 lm25-p0436-1_a_db410c_schematic.pdf:参考https://download.csdn.net/download/lvshuxun/10120602https://developer.qualcomm.com/hardware/dragonboard-410c官方默认使用APQ8016 管脚兼容MSM8916(对比了一下两者的手册管脚,虽然是pin-to-pin兼容,但是有一些电源部分还是不同的,有一些管脚8916是接电源,而80

2021-10-13 21:12:38 2676 1

原创 关于include的arch目录问题

调试uboot遇到一个问题某c代码中include头文件如下:#include <asm/io.h>#include <asm/arch/pinmap.h>但是在u-boot15\arch\arm\include\asm目录下并没有arch这个目录,只有具体的项目arch,比如arch-sharkle。对应该目录下有pinmap.h这个文件。即路径应该是:asm\ arch-sharkle \pinmap.h这里是怎样被替换的呢?...

2021-06-10 15:03:36 537

原创 使用__setup从cmd命令行获取参数

内核组件用__setup宏来注册关键字及相关联的处理函数,__setup宏在include/linux/init.h中定义,其原型如下:__setup(string, function_handler)其 中:string是关键字,function_handler是关联处理函数。__setup只是告诉内核在启动时输入串中含有string时,内核要去执行function_handler。String必须以“=”符结束以使parse_args更方便解析。紧随“=”后的任何文本都会作为输入传给 functio

2021-04-01 14:41:35 793

原创 otg和充电共用问题

问题客户提了一个需求:要求在连接otg的同时,另外可以从vbus给模块充电。分析我们的模块使用MSM8953+PM8953+PMI632的高通套片。充电和otg的供电是通过PMI632来控制的。其VBUS脚是一个输入输出双向脚:如果想otg和充电同时使用,需要另外设计一个5V的升压电路给otg使用,而USB_IN脚只负责充电输入。并且在usb otg的启动函数中要去掉原来默认对usb_vbus的输出操作。对应的流程框图设计如下:验证可以实现USB 鼠标和充电同时使用:...

2021-03-09 17:48:47 4296

原创 MDM9205平台射频卡分析

MDM9205物联网平台的整体设计框图如下:为了满足class3的要求,还需要外加PA和ASM的,其射频原理图如下:其中SDR105是内部包括transceiver, power amplifier和antenna switch的。其逻辑框图如下:射频卡配置:rfc_phy_device_info_type rfc_sdr105_riot_cls3_9x05_phy_devices_list[] = { { /*Device: SDR105 transceiver */ SDR

2021-02-26 10:40:17 1789

原创 射频卡中屏蔽掉PA的方式

射频调试中常常需要去掉PA和ASM来验证线缆的功率状况,为此需要在射频卡中屏蔽掉PA和ASM:(注意修改的射频卡不要弄错了,如下就是rfc_wtr4905_us_xxxx这张射频卡)#define RFC_SKIP_RFFE_DETECT_BIT_IND 0x80000000modem_proc\rfc_jolokia\rf_card\rfc_wtr4905_us_xxxx\common\src\rfc_wtr4905_us_xxxx_cmn_ag.cpp中rfc_wtr4905_us_xxxx_ph

2021-02-23 17:35:17 447

原创 射频卡中增加GRFC控制导致重启

问题:某项目需要增加一个GRFC脚来控制某个对应band的逻辑,在对应的band中增加GRFC控制后,测试发现注册到该band就会重启。rfc_sig_info_type rf_card_sdr105_riot_cls3_9x05_rx0_gsm_g900_sig_cfg = { RFC_ENCODED_REVISION, {//begin: stone added for ana switch#ifdef RF_TUNER { (int)RFC_SDR105_RIOT_CLS3_9

2021-02-23 17:18:28 728

原创 某8909项目在滑屏解锁后再待机,电流就大15mA的问题解决

问题描述:某8909项目第一次进入待机电流是正常的。但是在滑屏解锁后再待机,电流就大15mA分析:(1)去掉TP和LCD,没有改善。(2)在PC侧用total control解锁,打开二级菜单,没有改善。(3)查看持有wakelock锁,发现并没有,AP是休眠的。(4)打印串口log,确认AP是已经进入了休眠的。(5)从log中看到有sensor mpu6881的打印,排除其影响, 没有改善。(6)电池ID温度相关的没有影响。(7)根据《Android功耗调试汇总》检查,发现核电VREG_

2021-02-20 13:56:20 485 1

原创 优必选ALPHA 1Pro机器人拆解

还记得2016年春晚上那个跳舞的机器人吗?今天让我们来一起拆解下,看看它的构造,废话不说,先上两张全图:官方说明的1Pro较之前1S的升级之处:开始拆解:先拆前面,前胸盖子和脑袋一起拆:脑袋前面是LED灯PCB板,很简单,上面只有两个蓝光LED灯,通过导光材质把蓝色光传到两只眼睛和耳朵。还有一个接头连接到speaker,上面标的是4Ω 3w。这两个接线头子是从“脖子”中穿过来的。左、右手臂和左、右腿级联的舵机控制线共4组,通过中间的孔穿到了背面。手臂上能看到的舵机有两个,还有一个舵机在“

2021-02-09 18:21:36 3818 1

原创 某项目GSM的tuner配置

某项目的天线tuner需要配置如下:GSM1800/1900 GPIO-58需要设置为0,RFC连接到RF1,天线匹配RF1上的电容值;GSM850/900 GPIO-58需要设置为1,RFC连接到RF2,天线匹配RF2上的电容值。原理图如下:按照如下方式修改:rfc_sig_info_type rf_card_sdr105_riot_cls3_9x05_init_gsm_rx_sig_cfg ={ RFC_ENCODED_REVISION, {//begin: stone ad

2021-02-08 19:11:03 1015

原创 高通8909平台的电池NTC温度说明

高通8909平台对应使用PM8909电源管理芯片,其电池的控制结构图如下:如上图所示,电池内部NTC电阻在外部串联了一个电池R_s2,送到内部ADC和比较器,并且上拉了一个电阻R_s1到VREF_BAT(1.8V)。95%这个门限是用来判断电池是否在位;电池温度这里只有4个门限值可以改的:25% 35% 70% 80%硬件默认设计控制电池温度的门限在35%到70%时充电,超过这个范围自动停止充电。客户如果需要控制充电温度在0-45°C,需要将NTC的0°和45°的电阻值替代进去,计算出合适的R

2021-02-07 10:34:08 2657

原创 高通平台读取USB ID

参考文件:kernel/drivers/usb/phy/phy-msm-usb.ckernel/msm-3.18/drivers/usb/phy/phy-msm-usb.c+//begin:stone modify for usb id+static bool usb_id_flag = 1;+bool get_usb_id(void)+{+ return usb_id_flag;+}+EXPORT_SYMBOL(get_usb_id);+//end:stone modify for u

2021-02-06 11:27:00 1030 2

原创 高通平台在modem侧读取和设置GPIO状态

高通MSM8953平台有一个需求:需要在modem侧读取和设置GPIO状态,这样就可以识别不同的硬件版本,从而加载不同的射频NV文件。使用GPIO134和GPIO62来检测不同硬件的上下拉来识别,如下图:代码修改modem代码侧GPIO相关的头文件在modem_proc/core/api/systemdrivers/目录下。首先包括这些使用的头文件://begin: stone added for gpio-in/* DAL APIs */#include "DDITlmm.h"#inclu

2021-02-05 09:49:42 1701

原创 简要理解usb驱动

●Linux的device和driver注册模型USB的框架遵循“平台总线、设备、驱动”的结构,也分为总线、设备、驱动三大块。其中总线驱动是已经由内核完成的,一旦接入usb设备,总线驱动程序就会找到能处理该设备的驱动进行处理。● USB的4个层次: 设备 配置 接口 端点以树/树干/树枝/树叶为例:一棵树(设备),一般只有一个树干(配置)(当然可以有多个树干,比如榕树),一个树干上有多个树枝(接口 ),每个树枝有多个树叶(端点)。USB设备是由一些配置(configuration)、接口

2021-02-03 13:05:14 3507

原创 基于展锐春藤8910DM的cat.1模块介绍

前言  19年11月份,紫光展锐重磅发布了新一代物联网芯片平台“春藤8910DM”,是全球首颗LTE Cat.1 BIS物联网芯片平台,应用广泛,可带动物联网设备加速从2G/3G过渡到4G。Cat.1相比NB-IoT、2G模组在网络覆盖、速度和延时上具有优势,相比传统LTE Cat.4模组则拥有更低的成本和功耗,同时适配当前国内的4G网络,非常适用于对性价比、时延性、覆盖范围、通信速度有要求的应用场景。紫光展锐春藤8910DM采用28nm成熟工艺,支持LTE Cat.1 BIS、GSM双模,上行速率

2021-02-01 16:27:19 34139 5

原创 高通平台android 8.1基线某款usb camera打开dev/video1出错

故障现象:某客户需要调试一款usb camera,包括黑白和彩色两个sensor:在调试中发现调用open函数去打开注册的 dev/video1节点时报错:USBCamera: Cannot open ‘/dev/video1’: 16, Device or resource busy分析:1.首先检查下camera的驱动注册是正常的:[ 6.406765] usb 1-1: New USB device found, idVendor=15aa, idProduct=1555[

2021-02-01 13:38:06 1844 1

原创 高通平台某项目uart串口不能正常工作的故障解决

某个MSM8953的项目,在调试的过程中遇到uart6只能发不能收的情况。android 9.0版本,GPIO的配置如下:客户要求使用4组uart:uart2、uart4、uart6为低速串口,uart5为高速串口。设备树配置如下://uart2: GPIO4,5 ttyMSM0&blsp1_uart0 { status = "ok"; pinctrl-names = "default"; pinctrl-0 = <&uart_console_active>

2021-01-30 16:48:52 4309 1

原创 这些年参与做过的项目

智能后视镜:语音识别、音频切换、OBD、bt、wifi、射频驱动等。3D全息广告机:硬件设计、单片机调试、wifi模块等。对讲机:负责键盘、充电、音效、耳机&MIC、开机优化等。pos机:负责camera、uart、sensor、功耗优化等。监控系统:功耗、usb&otg、camera等。...

2021-01-28 11:19:25 4003 6

原创 高通平台启动流程

高通平台的启动流程如下:现对各个阶段说明如下:PMIC检测到系统上电,将会把AP(Kryo应用处理器)退出reset状态注:Kryo是Qualcomm Technologies推出的首款定制设计的64位CPU。在AP处理器侧,应用主引导加载程序(应用PBL)执行。 (该部分是在内部ROM中执行 )a. 对extensible boot loader (XBL) region #1 进行身份认证,并将其从引导设备(as TCM)加载到L2。b. 验证XBL region #2 (DDR/SDI

2021-01-27 17:25:59 5775 3

原创 玩转移远SC60 Android开发板------(6)去掉PMI芯片

  SC60模块使用的是高通MSM8953套片,对应使用的电源芯片是PM8953和PMI632。其中PM8953包括如下功能: ◆ Input power management ◆ Output power management ◆ General HK ◆ Audio ◆ IC interfaces ◆ Configurable pins:either multipurpose pins (MPPs) or general-purpose input/output (GPIOs)而PMI63

2021-01-27 16:25:43 2345 5

原创 玩转移远SC60 Android开发板------(5)充电和电池管理

SC60 模块可编程开关模式锂电池充电功能,可以给单节锂电池和聚合物电池充电。其充电过程包括涓流充电、预充电、恒流充电、恒压充电等状态。◆ 涓流充电:电池电压低于2.1V 时,系统处于涓流充电模式,充电电流为45mA;◆ 预充电:当电池电压在2.1V3.0V(截止电压可编程:2.4V3.0V,默认3.0V)之间时,模块进入预充电模式,充电电流默认为250mA(可编程:100mA~250mA,默认250mA);◆ 恒流充电:当电池电压在预充电截止电压和4.2V(恒流充电截止电压可编程:3.6V-4.5V

2021-01-27 15:22:03 4190 6

原创 高通GPS芯片WGR7640的驱动

某个项目用到了高通的外挂GPS芯片:WGR7640,参考如下:使用1.8V和1.3V供电(1.3V需要用GPIO控制外部LDO产生),BB_I_P和BB_Q_P是给基带芯片传送的IQ解调信号,SSBI是控制信号,TCXO是外供时钟,RF_M和RF_P是输入的GPS信号。高通确认原有的射频卡rfc_wtr2965_non_ca_4360_na_b14是支持WGR7640的。其对应的ID是74:RF_HW_WTR2965_NON_CA_4360_NA_B14 = (uint8)74

2021-01-27 11:49:04 1550

原创 Android功耗调试汇总

(1)runtime PM机制系统在非睡眠状态时,设备在空闲时可以进入runtime suspend状态同时不依赖系统wake_lock机制;非空闲时执行runtime resume使得设备进入正常工作状态。主要代码放在Runtime.c (drivers\base\power)中,同时附带的Runtime_pm.txt (documentation\power)有详细说明。要使得设备可以进入runtime_idle与runtime_suspend必须满足device的2个参数usage_count与c

2021-01-26 16:32:26 3267

原创 玩转移远SC60 Android开发板------(4)USB和otg切换

某客户要求实现usb device和otg的软切换,即通过软件设置实现usb device和otg的切换。原理图上可以设计一个GPIO来控制USB ID和数据线的切换。VBUS的供电方面,客户的otg是外供电,可以不用考虑;作device时vbus用来检测插入即可。参考原理图如下:图中使用GPIO_96作为控制切换的管脚,它输出0时,USB_ID脚为高,s脚为高,usb切换开关选择的是HSD1:USB_DP_EXT和USB_DM_EXT,此时模块作为device;GPIO_96输出1时,USB_I

2021-01-25 20:29:33 1092 1

原创 玩转移远SC60 Android开发板------(3)SPI转CAN总线

SC60开发板默认是不支持CAN接口的,需要外接转换芯片,选取MICROCHIP的MCP25625这一款。芯片特点如下:• Stand-Alone CAN 2.0B Controller with Integrated CAN Transceiver and Serial PeripheralInterface (SPI)• Up to 1 Mb/s Operation• Very Low Standby Current (10 μA, typical)• Up to 10 MHz SPI Cl

2021-01-25 15:36:46 1422

原创 玩转移远SC60 Android开发板------(2)LCD背光控制

SC60 Android开发板SC60的背光使用PM_MPP4输出PWM信号来控制背光芯片:但是PMU的MPP4脚默认并不是PWM功能,需要修改配置。PWM的设备树节点为: pm8953_pwm: qcom,pwms@bc00 { status = "Okay"; compatible = "qcom,qpnp-pwm"; reg = <0xbc00 0x100>; reg-names = "qpnp-lpg-channel-base"; qcom,ch

2021-01-20 13:50:31 956

原创 玩转移远SC60 Android开发板------(1)LCD

最近拿到了一块移远的SC60开发板,先上图:SC60 是一款基于高通MSM8953平台、工业级高性能、可运行安卓操作系统的4G 智能模块,其综合特征如下:⚫ 支持LTE-FDD、LTE-TDD、DC-HSDPA、DC-HSUPA、HSPA+、HSDPA、HSUPA、WCDMA、TD-SCDMA、EVDO/CDMA、EDGE、GSM 和GPRS 等多种制式;⚫ 支持Wi-Fi 802.11a/b/g/n/ac 和BT4.2 LE 近距离无线通信;⚫ 支持GPS/GLONASS/BeiDou 等多

2021-01-20 12:40:39 3655 5

原创 高通历年旗舰机处理器

骁龙8882020年12月1日,在夏威夷举办的骁龙技术峰会上,高通宣布推出最新一代的旗舰级SoC——骁龙888 5G移动平台及骁龙X60 5G基带,这是该公司首次在8系处理器中集成5G调制解调器。小米 11全球首发。骁龙865和骁龙888对比:骁龙865和7652019年12月3日正式召开的骁龙技术峰会上,高通正式发布了骁龙865以及集成5G芯片的7系SoC-骁龙765&骁龙765G。765基于7nm制程,内置Snapdragon X52 Modem,实现对5G的支持。据悉骁龙765将

2021-01-19 16:50:33 14769

原创 某项目小部分机器开机1分钟重启的问题分析

问题:某项目客户反馈有5%左右的机器在开机1分钟左右重启的现象。分析:抓取kernel log,发现是射频的PA器件没有找到,导致modem子系统errror重启。log如下:<6>[ 35.234560] zram0: detected capacity change from 0 to 536870912<6>[ 35.436347] Adding 524284k swap on /dev/block/zram0. Priority:32758 extents:

2021-01-19 11:20:16 1344 1

原创 android 9.0上usb otg休眠问题

问题:手机作为otg host时,怎样进入待机休眠?移远EC20模块的功能说明:这里说的是如果主机不支持remote wakeup就需要RI信号来唤醒主机;如果主机支持的话就可以通过usb唤醒。高通文档:《80-NF283-1_C_Linux_USB_Implementation_Guide》介绍:section: 7.1.2 Host mode state transitionAs shown in Figure 7-1, the USB enters LPM when:n The USB

2021-01-14 20:06:33 2514 2

原创 PM8909 MPP4脚作为外部ADC采用使用

pm8909的adc内部架构如图所示(参考《80-nn174-58_b_pmic_adc_software_user_guide.pdf》):MPP configuration就是在设备树里配置:pm8909_mpps: mpps {compatible = “qcom,qpnp-pin”;spmi-dev-container;gpio-controller;#gpio-cells = <2>;#address-cells = <1>;#size-cells =

2021-01-14 17:36:40 1205

MIPI-LVDS.rar

龙迅MIPI转LVDS芯片LT8912B调试说明和寄存器设置:LT8912B_Trouble_Shooting_v3.pdf LT8912BMIPI_LVDS寄存器设置说明.pdf

2021-11-05

MSM8916手机原理图和410c板(APQ8016)原理图

8916手机参考原理图一份,410c板(APQ8016)原理图一份,对比分析,添加注释,物有所值

2021-10-13

bmp_to_bin.rar

该程序将30张bmp图片提取图片数据转换为bin文件,写到数据DATA1.BIN中。 bmp大小为224*224 24位色的,名字是从01.bmp 到 30.bmp,保存在T卡。在旋转的广告风扇上供stm32显示动画使用。

2021-01-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除