自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(118)
  • 资源 (12)
  • 收藏
  • 关注

原创 红外遥控协议

概述红外遥控协议有比较多的标准,笔者只简单介绍一下自己遇到过的NEC协议和RC5协议。RC5载波频率为36KHz。数据包示例上图乃笔者用逻辑分析仪抓取的数据包。逻辑分析仪中自带了RC5解码。上图一目了然,分析清晰明确。编码格式每位固定周期为1.778ms。前半位为高,后半位为低代表1;前半位为高,后半位为高代表0。数据包格式数据包格式有标准格式和拓展...

2018-08-22 15:12:07 7540 2

原创 SPI总线笔记

参考博客① SPI WIKI模式示意图A timing diagram showing clock polarity and phase.Red lines denote clock leading edgesBlue lines denote clock trailing edges解读 ① CPHA = 0时,leading edge采样;CPHA = 1时,...

2018-07-05 14:04:36 577

转载 CMAKE那些事儿

参考文章CMake简要教程编译环境sudo apt install cmake cmake-curses-gui调试输出变量message (VAR=${VAR})选项定义option (USE_MYMATH "Use tutorial provided math implementation" OFF)选项本质还是变量。设定...

2018-06-07 20:42:55 417

原创 FFT物理意义

① FFT结果的物理意义FFT物理意义FFT是离散傅立叶变换的快速算法,可以将一个信号变换 到频域。从而分析信号的频域特征。常用于频谱分析。时域信号直接通过ADC进行采样获得。采样要点采样频率要大于信号频率的两倍N个采样点,经过FFT之后,就可以得到N个点的FFT结果。为了方便进行FFT运算,通常N取2的整数次方。结果意义采样点数为N。那么FFT之后结果...

2018-03-21 21:15:11 1225

原创 I2C总线笔记

参考文章① I2C总线协议 简述2条双向串行线,一条数据线SDA,一条时钟线SCL。 SDA传输数据是大端传输,每次传输8bit,即一字节。 支持多主控(multimastering),任何时间点只能有一个主控。 总线上每个设备都有自己的一个addr,共7个bit,广播地址全0. 系统中可能有多个同种芯片,为此addr分为固定部分和可编程部份,细节视芯片而定,...

2018-03-13 14:23:34 1154

原创 DSP的一些术语

参考博客术语弧度在数学和物理中,弧度是角的度量单位。它是由国际单位制导出的单位,单位缩写是rad。定义:弧长等于半径的弧,其所对的圆心角为1弧度。(即两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆的半径时,两条射线的夹角的弧度为1)。 角频率 在国际单位制中,角频率的单位也是弧度/秒(rad/s)。频率是描述物体振动快慢的物理量,所以角频率也是描述物体

2015-08-07 23:29:29 3470

原创 Linux内核Makefile笔记

Linux内核Makefile笔记 周亦行 2014年11月参考文档 ① linux源码Makefile的详细分析 ② if_changed_rule/cc_o_c/any-prereq/arg-check ③ Makefile中的伪目标 ④ Linux kernel 3.18.5 一、Makefile组成 (一)基本组成顶层 Makefile 它是所有Makefile文件的核

2015-03-01 14:37:50 3519 1

原创 HDMI之VRR与FVA

VRR全称Variable Refresh Rate,可变刷新率。FVA全称Fast Vactive,快速帧传输。近些年,大屏电视普及,PS和XBOX游戏机畅销。HDMI开始发力提升电视机的游戏体验。对于游戏用户,对帧率和Delay是显然是最关注的指标。而VRR和FVA就是其中的重要特性。这两个特性的共同原理都是修改Vfront,所以本文将其放在一起讲解。本文尝试尽量讲解通俗易懂,避免千篇一律的索引或者翻译协议。自然也难免纰漏。

2024-02-01 16:49:17 200

原创 HDMI之ALLM

ALLM是一个非常简单的特性,Sink(接收端)通过EDID来宣告支持ALLM,Source(发射端)通过数据岛HF-VSIF持续通知Sink进入游戏模式。在传输过程中,HDMI总线不会对视频信号做任何处理。

2024-01-25 12:41:49 114

原创 HDMI之数据岛

第一个字节用于定义包类型,其他两个字节由具体的包类型指定。通过前面AVI InfoFrame和GCP InfoFrame,基本定义了普通视频信号的参数。结合前面计算带宽的公式,希望读者脑海有个形象的传输概念。

2023-12-03 21:51:35 195

原创 HDMI之EDID析义篇

4K@144Hz电视机的第3个EDID块(基于HF-EEODB)。该数据来源于SHARP。

2023-11-18 17:45:35 272

原创 HDMI之编码篇

HDMI 2.0b(含)以下版本,采用3个Channel方式输出。传输又分为3三种周期,视频数据,数据岛以及控制周期。视频传输采用8/10编码。数据岛采用4/10编码(TERC4)。控制周期采用2/10。编码都拓展成了10bits。上图中,Pixel component(e.g.B)->D[7:0]表示视频数据周期中,8个bits全使用。数据传输是串行的,只有一根线,D[7:0]表示一个TMDS Character period传输的8个bits,并非有D[7:0]根线。

2023-11-12 17:28:31 414

原创 HDMI之HDCP 2.3

HDMI HDCP例解

2023-09-24 23:45:41 754

原创 HDMI之HDCP 1.4

HDCP1.4例解

2023-06-19 17:09:25 1289

原创 HDMI之带宽计算

HDMI带宽计算

2023-05-24 17:47:15 1719

原创 HDMI之Dolby Audio

简单介绍一下Dolby Audio over HDMI.

2022-12-28 10:56:42 1276

原创 HDMI之EDID多块篇

HDMI之EDID笔记

2022-11-19 16:04:47 1438

原创 如何在Windows下创建Ramdisk

笔者最近在捣鼓串口工具LOG时,高频率的使用了fflush。为了提升IO性能以及保护硬盘,研究了一下Windows的Ramdisk。特此记录,希望能帮助有缘人。

2022-07-27 23:48:15 3134

原创 炒股致富之curl抓股票信息

抓取股票信息

2022-06-21 22:05:46 219

原创 ffmpeg之volumedetect

The human perception of loudness注:代表均方根(RMS),可以理解为有效电压。代表最大值(1代表0db),可以理解为峰值电压。不理解

2022-06-20 19:40:49 380

原创 Flutter开发日志——路由管理

前言知难行易,还是知易行难?笔者以为,答案应该从目标去寻找。目标是学习Flutter,知是一门语言,一个框架只是功夫深铁杆总能磨成针;行是每天下班回来打开电脑。对于这点,笔者以为知易行难。手总是无法抑制的选择了TIMI和TIKTOK。目标是快速掌握Flutter,知是Flutter的路径和方法;行依然是每天下班回来打开电脑。兜兜转转一个多月,依然是蜻蜓点水。知难知难,何时醍醐灌顶?笔者偶得《Flutter实战.pdf》,便依法修炼。路由路由(Route)在移动开发中通常指⻚⾯(Page),这跟web

2022-05-29 00:06:13 201

原创 Flutter开发日志——进度条

源码import 'package:flutter/material.dart';void main() => runApp(const MyApp());class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); static const String _title = 'Flutter Code Sample'; @override Widget build(Buil

2022-05-02 22:08:25 1307

原创 ffmpeg使用笔记

前言Hyper fast Audio and Video encoder安装分享一下如何在Windows平台安装。windows平台可以通过MSYS2安装,也可以下来绿色包安装。MSYS2系统里面的软件包有些features没打开。笔者推荐绿色包安装。下载链接ffmpeg-release-essentialsffmpeg-release-fullffmpeg-release-full-shared解压之后,配置一下环境变量。即可方便使用。用法Hyper fast Audio and Vi

2022-04-29 14:46:11 548

原创 Flutter开发日志——初生牛犊

前言以Flutter自动创建的例程为基础,记录应用的流程。代码import 'package:flutter/material.dart';void main() { runApp(const MyApp());}class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @override Widget build(BuildContext context) {

2022-04-23 22:44:12 2097

原创 Flutter开发日志——Dart篇

前言终有一天,学习变得很慢,坚持变得很难。希望心底的那团火能让你浴火重生。觉醒吧,不屈的少年!前面星辰大海,前面是诗和远方!环境Dart因Flutter而生,自然也伴随Flutter一路。安装好Flutter环境后,便可开始学习Dart之旅。// ethan@B85MK:~/Flutter/Dart$ cat hello_world.dart var name = 'I am nobody.';void main() { print('Hello,World!'); print(

2022-04-05 11:32:26 3193

原创 Flutter开发日志——部署开发环境

安装SDKGet the Flutter SDK下载之后,需要将SDK路径添加到系统环境变量。以本人的路径为例。创建APPAPP状态

2022-03-14 12:04:08 3969

原创 UART总线笔记

前言UART应该是嵌入式工程师使用最多的总线之一。笔者总是忘记一些细节。特意抓图记录一下。实例设置:115200 8N1时序知识点IDLE时为高电平。LSB对齐8N1代表8个数据位(协议可以是5 ~ 9位)。N代表没有奇偶校验位。1代表1个停止位。由高电平转低电平,表示Start或者下一个bit。图 时序 中,测量0(红色框框,标0的两个测试点)。表示一个bit位宽。bit位宽 = 1 / 115200 = 8.68e-6s = 8.68us。这里的0.05us左右的偏差是逻辑分析

2021-12-06 11:24:18 601

原创 HDMI之EDID入门篇

edid-decode工欲善其事,必先利其器。edid-decode是一个很好的edid分析工具。edid-decodecommit : b00755e34eb12aa92416aaf1bb7b02603131afe0编译Linux环境,直接make。Windows Msys2环境,需要稍作修改。将edid-decode-msys2.patch复制到当前目录。git clone https://git.linuxtv.org/edid-decode.gitcd edid-decodegit

2021-11-24 10:17:56 2793

原创 HDMI之启蒙篇

HDMI是一个稍微复杂的协议。一个清晰的脉络对协议的理解是比较有帮忙的。

2021-11-23 14:08:56 1408

原创 I2S总线笔记

背景调试MS8416T时,发现左右通道数据有相位差。而且,相位差随着Fs增加而增加。经原厂FAE指导,发现是输出I2S格式配置不正确导致。特记录一下。时序注意细节除了AES3 Direct, 其他都是MSB。I2S是左对齐,然后延迟一个bit。I2S是LRCLK低电平对应左通道。I2S是SCLK下降沿改变数据,上升沿锁存数据。...

2021-11-17 16:35:41 582

原创 Excel提取数字技巧

前言微信接龙逐渐流行。这段时间,村里给学校捐款,想快速统计一下总额。百度无效,Google得结果。还是挺感慨中文圈文章严谨性的。往往都是不做验证,不做批注,随手一转。记录一下。参考文章excel-extract-number-from-string代码=SUMPRODUCT(MID(0&A1, LARGE(INDEX(ISNUMBER(--MID(A1, ROW(INDIRECT("1:"&LEN(A1))), 1)) * ROW(INDIRECT("1:"&LEN(A

2021-09-03 10:46:07 406

原创 IAR之Checksum

前言项目需要在IAR生成固件时自动生成校验码。网上的一些笔记不详细,所以总结一些经验分享。参考文章Cyclic_redundancy_checkIELFTOOL ChecksumIAR设置链接脚本/*###ICF### Section handled by ICF editor, don't touch! ****//*-Editor annotation file-*//* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cort

2021-09-01 16:34:07 1566

原创 Visual Studio Code之设置

文章目录全局设置工作空间设置全局设置修改VScode方式有UI和JSON两种方式。可以通过以下菜单路径找到(快捷键Ctrl+,)。JSON方式需要点击右上角小图标。File -> Preferences -> Settings默认Shell "terminal.integrated.automationShell.windows": "C:\\Windows\\System32\\cmd.exe", "terminal.integrated.automationShel

2021-08-05 16:55:26 478

原创 Visual Studio Code之GDB

文章目录参考文章安装mingw设置配置单文件工程多文件工程参考文章config-mingw安装mingw自行安装设置将路径D:\msys64\mingw64\bin和D:\msys64\usr\bin添加到PATH环境变量。然后通过Command Prompt确认关键命令:C:\Users\15051>gcc --versiongcc (Rev5, Built by MSYS2 project) 10.3.0Copyright (C) 2020 Free Software Fo

2021-08-03 12:26:03 1078

原创 Android Termux配置笔记

Android Termux配置笔记前言笔者本来是要入手一款树莓派来玩的。但是时间,金钱等缘故。一直不能执行。偶然发现另外一种玩法。特记录一下过程。也许,尘封的老手机或平板可以再压榨一下价值。安装参考文章① termux项目主页② termux下载地址如果应用商店不提供termux下载,请移步apk安装。安装之后注意一下权限(例如后台)。清华源参考文章① Termux 镜像使用帮助sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mir

2021-04-22 11:12:27 913

原创 aria2配置笔录

安装以Msys为例$ pacman -S mingw64/mingw-w64-x86_64-aria2配置配置文件路径$HOME/.aria2/aria2.confdir=/Downloadscontinue=truefile-allocation=fallocmax-concurrent-downloads=256max-connection-per-server=16max-overall-upload-limit=128Kmax-concurrent-downloads=

2021-04-10 18:57:43 1849

原创 FreeRTOS之奇淫技巧

FreeRTOS之奇淫技巧前言工欲善其事,必先利其器。串口打印笔者的环境是ST STM32F103VE + IAR。printf依赖IAR的库函数,移植的时候需实现putchar。以下是笔者的配置和实现。#if defined( __ICCARM__ )int putchar( int lOutChar ){#ifdef aosSHELL_PUTCHAR_DIRECT if ( ucPrintfReady ) { return cSerialPutChar( ( char

2021-04-01 11:49:48 1379

原创 HDMI之CEC

前言CEC全称Consumer Electronics Control。它属于单总线协议。整个协议划分为底层协议和高层协议。底层协议讲述信号,时序和包结构。高层协议描述一些协定的应用features,例如One Touch Play,System Audio Control等等。由于HDMI协议需要NDA,所以本文不会直接引用协议原文。信号与时序信号包括开始位,逻辑0和逻辑1。时序请参照后面的截图,红框框部分,允许偏差±0.2ms。开始位逻辑0逻辑14.应答此处没有图解,因为应答信

2021-03-31 12:23:18 2251

原创 HDMI之eARC

HDMI 2.1之eARC前言eARC全称Enhanced Audio Return Channel。它将原来ARC脚(PIN14 UTILITY)和HPD脚(PIN19)组合成一对差分信号,实现了100MHz带宽传输。从而,更好的兼容现在的Dobly Atmos,DTS X等现代Audio技术。eARC的两个引脚实现了3个信号,HPD本身的IO信号;CMDC(Common Mode Data Channel)以及DMAC(Differential Mode Audio Channel)。本文主要想

2020-11-26 20:55:12 5923

原创 freqz之C实现例程

参考文章绘制数字滤波器的频域响应gnuplotOctavepkg load signalb=[+1.009874 -1.973835 +0.980993];a=[+1.000000 -1.973835 +0.990867];Fs = 48000for k=1:Fs w(k)=2*pi*(k-1)/(Fs - 1); z=exp(j*w(k)); Z=[1 z^-1 z^-2]; H_z(k)=sum(b.*Z)./sum(a.*Z);end% T

2020-11-19 23:01:04 875

HDMI HDCP 2.3 DDC抓图

HDMI HDCP 2.3 DDC抓图

2023-09-24

edid-decode-msys2.patch.zip

edid-decode msys2 patch

2021-11-24

crc16_helper.zip

基于Msys2的IAR Checksum验证程序。

2021-09-01

openwrt ubus 简介

openwrt ubus简介。主要是介绍ubus调用流程和API

2015-10-20

vim 经典配置(2014-1-4)

vim 经典配置(2014-1-4)针对个人习惯做更新

2014-01-04

stardict离线字典

stardict离线字典。不是一般的好。真的很好的。呵呵

2013-10-27

linux触摸屏驱动

自己写的一个触摸屏驱动,ft5x06。值得各位收藏。

2013-09-24

Understanding the Linux Kernel

Understanding the Linux Kernel原版,极为清晰。

2013-04-02

嵌入式汇编指令集(来自互联网)

一本来自互联网的汇编指令集。排版较好,而且指令全面。希望能帮助大伙。

2012-12-01

vim的经典IDE配置

自己长期使用的vim配置,希望能给你帮助

2012-08-26

一个完美的tq2440的linux按键驱动程序

一个近乎完美的按键驱动程序。还附带完美的makefile。错过了,你这辈子白混了。

2012-05-04

Linux串口异步接收程序

一个绝对可以运行的串口接收程序,童叟无欺。

2012-05-04

lds规则连接脚本的介绍

最近在看Linux内核时,总是遇到一些和连接脚本相关的东东,搞得人一头雾水,终于下定决心把它搞明白,写下一点心得,希望对和我一样的人有所帮助!sections节的讲解,很好很详细。

2011-11-19

空空如也

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

TA关注的人

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