pwm

RK3288 LVDS 偏暗

天大地大妈咪最大 提交于 2020-08-05 07:45:42
RK3288 LVDS 屏幕参数修改 修改 kernel 设备树里面的有关 LVDS 的配置 &lvds_panel { status = "okay"; compatible ="simple-panel"; backlight = <&backlight>; bus-format = <MEDIA_BUS_FMT_RGB888_1X24>; // 这里之前是 MEDIA_BUS_FMT_RGB666_1X18, 之前是 18位总线的LVDS ,现在硬件是24位。 /* MEDIA_BUS_FMT_RBG888_1X24 */ enable-gpios = <&gpio7 5 GPIO_ACTIVE_HIGH>; /* can't use gpio7-2, because it's being used */ enable-delay-ms = <10>; power-supply = <&vcc_lcd>; rockchip,data-mapping = "vesa"; /* jeida, vesa */ // 对应数据映射模式,这个要根据屏幕的 datasheet。 rockchip,data-width = <24>; /* 18, 24 */ // 这里之前是 18 如上。 rockchip,output = "lvds"; 一开始以为是 PWM 背光的问题。

Android6.0 RK3399 PWM Backlight 驱动分析 · Younix’s Studio【转】

泄露秘密 提交于 2020-08-05 05:24:13
转自: https://www.dazhuanlan.com/2019/10/25/5db29684e6460/ Platform: RK3399 OS: Android 6.0 Kernel: 4.4 DTS 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 backlight: backlight { status = "disabled"; compatible = "pwm-backlight"; pwms = < &pwm0 0 25000 0>; brightness-levels = < 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89

IMX6UL平台(3)--硬件原理图设计(1)----框架

南楼画角 提交于 2020-08-04 10:40:40
(技术交流QQ群: 744140106 ) (博客:https://blog.csdn.net/weixin_43854435) 硬件原理图设计(1)----框架设计 匠心源 --- 工作室 技术交流群( 744140106 ) 博客地址( https://blog.csdn.net/weixin_43854435 ) 二〇二零年 7 月 文章描述 本文主要描述当前imx6ul的硬件设计框架。让感兴趣的人了解我们的imx6ul计划做成什么样子?为什么这么做? 硬件方案: 限于imx6ul的特性和廉价性,当前imx6ul定位于低功耗产品的中端平台。开发这个平台目的主要为我们后面随之而来的各种工业或物联网关方案,简单语音处理方案,低功耗人机界面平台,高端传感器,一些1,2类穿戴式医疗产品方案以及这些方案的结合体等。 为了呈现上述效果,我们必须引出支撑这些特殊方案的功能。为了 支撑物联网或者工业网络 的业务功能,所以必须引出支持以下接口的功能: 支持太网网口的RGMII; 支持wifi&蓝牙的sdio; 支持can的接口; 支持485的uart接口; 支持232的uart接口; 支持usb接口; 支持lora的uart接口; sim卡专用接口; 为了 支撑语音对讲,和HMI之类方案 ,所以必须引出支持一下接口功能: I2S接口;

TL2837x-EasyEVM开发板 处理器、NOR FLASH、SRAM

偶尔善良 提交于 2020-07-28 09:49:56
前言 TL2837x-EasyEVM是一款基于广州创龙SOM-TL2837x核心板所设计的高端单/双核浮点开发板,它为用户提供了SOM-TL2837x核心板的测试平台,用于快速评估SOM-TL2837x核心板的整体性能。 图 1 TL2837x-EasyEVM正面图 处理器 TI TMS320F2837x单/双核具有200MHz的高速处理能力,双核拥有多达12路的PWM输出。以下分别是TMS320F2837x单/双核CPU资源框图: 图 2 单核CPU资源框图 图 3双核CPU资源框图 NOR FLASH 核心板上采用多功能 NOR FLASH(512K x 16bit),硬件如下图: 图 4 SRAM 采用快速静态随机存储器SRAM(256K x 16bit),硬件如下图: 图 5 来源: oschina 链接: https://my.oschina.net/u/4169033/blog/4437746

低功耗蓝牙芯片是发展物联网的核心任务

[亡魂溺海] 提交于 2020-07-28 06:39:03
低功耗蓝牙芯片作为消费电子市场中廉价的通用无线技术,由于大量智能手机市场的生态完善,成为渗透率最高的无线技术。预测到2022年,97%出货的蓝牙芯片将会采用低功耗蓝牙技术。仅去年的蓝牙点对点数据传输设备出货量就将超过5.5亿件。 同时物联网、工业4.0、AI、智能驾驶等新兴应用对MCU提出了更多新的要求,包括处理能力提升、数据采集速度与精度、通信协议接口、可靠性和稳定性等,相应地需要高性能、低功耗、高可靠性、超大容量Flash和 ram ,支持多种网络接口、无线技术和OTA(空中升级),以及严格的功能安全和网络安全。这些新技术将引领新一代MCU的技术升级。“随着无线技术的成熟,无线功能作为MCU的标准外设迟早都要到来。 以低功耗 蓝牙芯片 技术作为通用无线技术来连接不同MCU物联网平台并面向应用时,面临许多问题:如何配置芯片的硬件资源,支持不同的应用需求;如何在芯片复杂性增加的前提下,依然保持高可靠低成本特性;如何提高无线应用的可靠、易用的开发工具等。 低功耗蓝牙具有几个方面优势: 1、距离:调制指数的增加使低功耗蓝牙的最大距离达到100米以上。 2、数据传输:低功耗蓝牙支持以1Mbps速度传输的极小数据包(8个八位字节到27个八位字节)。所有连接使用高级低耗电监听模式,从而实现超低工作周期,将功耗降至最低。 3、强大的网络安全性:使用CCM的完整AES

使用Simulink进行无刷直流电机控制仿真

风格不统一 提交于 2020-07-27 23:06:52
这段时间刚开始接触Matlab中的Simulink仿真,我就结合自己的专业,利用Simulink进行了无刷直流电机的仿真,因为Simulink工具箱里面有很多可用的模块,所以建模过程变得非常简单。 在Matlab界面中new->model之后,找到Simulink Library Browser,这里面有系统自带的很多模块,接下来我们就需要找到自己所需要的模块了,了解无刷直流电机的工作原理以后,接下来就是找到直流电源、三相逆变桥、无刷直流电机模型。而Simulink中也有这些模型,可以直接通过搜索关键字找到它们,分别是DC Voltage Source、Universal Bridge、Permanent Magnetic Synchronous Machine。接下来就是需要将相应的信号连接起来,如下图 其中,直流端电压可以设置电压大小,逆变桥可以选择开关器件类型,我们这里选择Mosfet,PMSM中我们将反电势波形选择trapezoidal即梯形波,电机参数相电阻、相电感、反电势常数、极对数按实际值设置。Universal Bridge对应如下桥式拓扑结构。 然后就是添加相应的负载Tm,这里可以模拟突加负载和突减负载以及任意变化的负载,通过给定一个函数就可以。然后就是开关信号g,下面会详细介绍。模型搭建完成后如下图。 PMSM输出端给的信号通过Bus Selector选择

【51单片机开发板】可调周期、占空比pwm工程

时光总嘲笑我的痴心妄想 提交于 2020-07-27 15:56:36
可调周期、占空比pwm工程(蜂鸣器提示效果) (一)proteus虚拟仿真电路 (二)C语言程序代码 (一)proteus虚拟仿真电路 这是基于51单片机开发板的proteus虚拟仿真电路。如果没有示波器,建议下载一个proteus进行虚拟仿真,链接: https://pan.baidu.com/s/1eTlMIcYVT9ySdQoOxdXi8w 提取码: mfqw,如果已经安装有虚拟仿真软件,可以自行建立工程。 上图部分为仿真电路元器件,点击AT89C51上面的P键可以对元器件进行搜索。 上图可引导找到电源和接地的符号。 完成C代码编写后,双击虚拟电路中的51单片机会出现上图窗口,单击红圈中的图标选择相应的文件,点击运行即可。 (二)C语言程序代码 以下为此次工程的C代码,如发现有不足之处可以加群 1138473316 一起探讨 。 #include < reg51 . h > #define uint unsigned int #define uchar unsigned char sbit BZ = P1 ^ 5 ; //蜂鸣器输出端口 sbit PWM = P2 ^ 0 ; //P2^0口输出PWM sbit key1 = P3 ^ 0 ; sbit key2 = P3 ^ 1 ; sbit key3 = P3 ^ 2 ; sbit key4 = P3 ^ 3 ; uint

飞凌iMXRT系列-iMXRT1052经验分享-iMXRT1052产品解决方案合集

|▌冷眼眸甩不掉的悲伤 提交于 2020-07-27 11:32:39
FET1052-C核心板基于 NXP 公司 i.MX RT1052 跨界处理器设计,搭载 ARM Cortex -M7 内核,集微控制器的低功耗、易用性与应用处理器的高性能、高扩展性于一体。主频 528MHz,SRAM 512 KB(TCM),SDRAM 16MB/32MB,QSPI-Nor Flash 4MB/16MB 。工业级核心板,运行温宽 -40℃~85℃;体积小巧仅31*43mm,采用0.8mm间距连接器;引脚数 量160PIN,CPU全功能引出,可配置出124个GPIO;引出UART、Ethernet、USB、CAN 、 PWM、ADC、LCD、CAMERA等丰富外设功能;支持uCLinux、裸机、FreeRTOS、RT-Thread多种系统。 研发课堂丨飞凌iMXRT1052开发板使用IAP在线升级APP的操作方法: https://www.forlinx.com/article_view_418.html 为什么选择i.MXRT1052进行开发设计?: https://www.forlinx.com/article_view_408.html i.MX RT系列外置Flash加密为您的产品安全保驾护航: https://www.forlinx.com/article_view_346.html 基于FET1052-C的四轴飞行器的方案: https://www

DSP28335的SPWM波生成方法

时光怂恿深爱的人放手 提交于 2020-07-27 08:58:35
DSP新手,研究了一下午,在这里做个总结,希望对其他刚接触DSP的新手也能有所帮助。 首先要明白SPWM波是什么。 SPWM波实际上就只有2种电平,而且其频率一般是你自己给定的,所以 难点在于如何调节每个周期内的占空比,这里采用的是双极性调制法。 先说总体思路:以TBCTR为载波,以CMPA为调制波,并且让CMPA的值不断更新(中断方式),就可以在ePWMxA产生SPWM波。 看了一些资料的你(没看就去看吧),应该能了解到ePWM模块的 TB寄存器是设置频率的,CMPA和CMPB是设置占空比的,AQ是设置触发方式的 。 如果设置好TB,那么就可以使得ePWM模块的计数器TBCTR从0上升到TBPRD然后下降到0,以此得到三角调制波,那就必须有 EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN; 此外还要设置AQ, 保证是调制波大于载波的时候,输出高电平 : EPwm1Regs.AQCTLA.bit.CAU = AQ_CLEAR; // Clear PWM1A on event A, up count EPwm1Regs.AQCTLA.bit.CAD = AQ_SET; // Set PWM1A on event A, down count EPwm1Regs.AQCTLB.bit.CBU = AQ_CLEAR; // Clear PWM1B

Google EdgeTPU can't get PWM to work with Python

∥☆過路亽.° 提交于 2020-07-22 02:51:08
问题 Here is my testing code: from periphery import PWM import time # Open PWM channel 0, pin 0 pwm = PWM(0,0) # Set frequency to 1 kHz pwm.frequency = 50 # Set duty cycle to 75% pwm.duty_cycle = 0.02 pwm.enable() print(pwm.period) print(pwm.frequency) print(pwm.enabled) # Change duty cycle to 50% pwm.duty_cycle = 0.05 pwm.close() Problem is this part: # Open PWM channel 0, pin 0 pwm = PWM(0,0) I can see output when running PWM(0,0) PWM(0,1) PWM(0,2) but I get the error messsage when trying to run