
嵌入式开发
文章平均质量分 87
bobuddy
这个作者很懒,什么都没留下…
展开
-
网络变压器的工作原理
网络变压器原创 2023-07-10 14:01:30 · 4138 阅读 · 0 评论 -
嵌入式网络接口设计
嵌入式网络原创 2023-07-10 10:49:41 · 477 阅读 · 0 评论 -
pinctrl子系统和gpio子系统
GPIO转载 2022-06-06 17:30:43 · 1403 阅读 · 0 评论 -
内存模型简介
内存模型原创 2021-11-22 20:33:50 · 1905 阅读 · 0 评论 -
单片机I/O的常用驱动与隔离电路的设计
1、 输入电路设计图1 开关信号输入一般输入信号最终会以开关形式输入到单片机中,以工程经验来看,开关输入的控制指令有效状态采用低电平比采用高电平效果要好得多,如图1如示。当按下开关S1时,发出的指令信号为低电平,而平时不按下开关S1时,输出到单片机上的电平则为高电平。该方式具有较强的耐噪声能力。若考虑到由于TTL电平电压较低,在长线传输中容易受到外界干扰,可以将输入信号提高到+24 V,在单片机入口处将高电压信号转换成TTL信号。这种高电压传送方式不仅提高了耐噪声能力,而且使开关原创 2021-10-08 20:21:48 · 4496 阅读 · 0 评论 -
冯诺依曼结构 与 哈佛结构
冯诺依曼结构 冯·诺依曼结构,又称为普林斯顿体系结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。取指令和取操作数都在同一总线上,通过分时复用的方式进行;缺点是在高速运行时,不能达到同时取指令和取操作数,从而形成了传输过程的瓶颈。由于程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同。哈佛结构 哈佛结构是一种将程序指令存储和数据存储分开的存储器结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,转载 2021-07-24 16:56:20 · 1975 阅读 · 0 评论 -
Modbus通信协议详解
一、Modbus 协议简介 Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。 当在...转载 2021-05-06 20:02:14 · 4999 阅读 · 0 评论 -
MTK- android9.0(内核版本kernel-4.9)内核GPIO驱动实现
1、内核中的GPIO使用(Gpio API in kernel)1)调用 of_get_named_gpio 从 DTS 节点中获取映射后的 gpio 号2)调用 gpio_request 向 kernel 申请 gpio 使用。3)调用 gpio_direction_output / gpio_direction_input 设置输出/输入方向4)调用 gpio_set_value / gpio_get_value 设置/获取 gpio 值2、Pinctrl API in kernel1)在转载 2021-01-06 16:58:02 · 1579 阅读 · 0 评论 -
SPI协议
什么是SPI SPI主从模式 SPI信号线 SPI设备选择 SPI数据发送接收 SPI通信的四种模式 SPI的通信协议 SPI的三种模式 SPI原理图连接 STM32中SPI初始化配置 什么是SPISPI 是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola(摩托罗拉)首先在其MC68HCXX系列处理器上定义的。SPI,是一种高速的,全双工,同步...转载 2020-09-23 15:26:21 · 1417 阅读 · 0 评论 -
SPI接口的MISO和MOSI连接时注意
经常遇到一些朋友,在设计SPI主机和从机的逻辑互联时,会习惯性地仿照UART上的TXD和RXD交叉连接,而将SPI主机的MISO和从机的MOSI进行逻辑连接,SPI主机的MOSI和从机的MISO进行逻辑连接,结果导致设计错误。这里给大家提供一个不再出错而记忆简单的方法--- 理解MISO和MISO缩写的具体含义。MISO和MOSI的含义以及为何主机从机不能交叉接 信号 MISO = Mast In Slave Out,即 在主机这边是输入,在从机那边是输出。 信号 MOSI = Ma...转载 2020-09-23 15:23:00 · 50312 阅读 · 1 评论 -
STM32-SPI接口
一、SPI协议【SerialPeripheral Interface】 串行外围设备接口,是一种高速全双工的通信总线。在ADC/LCD等与MCU间通信。1、SPI信号线 SPI 包含 4 条总线,SPI 总线包含 4 条总线,分别为SS 、SCK、MOSI、MISO。(1)SS(SlaveSelect):片选信号线,当有多个 SPI 设备与 MCU 相连时,每个设备的这个片选信号线是与 MCU 单独的引脚相连的,而其他的 SCK、MOSI、MISO 线则为多个设备...转载 2020-09-23 15:06:49 · 1724 阅读 · 1 评论 -
inux 高效命令备忘录
1、locate 命令最初在android代码中查找文件使用find命令,后来发现android代码越来越多,有时搞不准在哪个大目录下,只好在android代码的根目录下搜索,非常慢,非常影响工作效率,为了实现提高效率,早搬完砖早下班的心态,积极搜索其他高效命令,偶尔间发现了locate 命令,令人眼前一亮,三分到手。locate 命令用来查找linux的文件或目录。 locate命令要比...转载 2020-04-21 10:51:50 · 151 阅读 · 0 评论 -
常用android命令备忘录
1. 常用基本命令adb devices 查看当前挂载手机设备的信息adb root root userdebug版本的手机。adb remount 将 '/system' 目录改为可写入的模式,默认情况下 '/system' 部分是只读模式的。 这个命令只适用于已被 root 的设备, 即调用过 adb root之后。 注意,使用其他命令之前,最好...转载 2020-04-21 10:44:43 · 615 阅读 · 0 评论 -
MTK-Audio system block diagram
原创 2020-04-17 17:08:04 · 832 阅读 · 0 评论 -
MTK-SPI block diagram
原创 2020-04-17 17:03:09 · 362 阅读 · 0 评论 -
MTK-UART Block diagram
原创 2020-04-17 16:58:51 · 367 阅读 · 0 评论 -
AMR GIC(general interrupt controller)
对于ARM的处理器,中断给处理器提供了触觉,使处理器能够感知到外界的变化,从而实时的处理。本系列博文,是以ARM cortex-A系列处理器,来介绍ARM的soc中,中断的处理。ARM cortex-A系列处理器,提供了4个管脚给soc,实现外界中断的传递。分别是: nIRQ: 物理普通中断 nFIQ: 物理快速中断 nVIRQ: 虚拟普通中断 nVFIQ:...原创 2020-04-17 16:07:33 · 517 阅读 · 0 评论 -
串口透传
透明传输。就是不管所传输的内容、数据协议形式。只是把需要传输的内容当成一组二进制数据完美地传输到接收端。不对要传的数据做任何处理。就像《非常人贩》里的斯坦森那样,他不管后备箱里送的到底是货物还是毒品、是猪肉还是女人……只负责把货物送到目的地。串口透传这个词汇一般出现在串口模块中,串口模块接上MCU用透传方式把MCU要发的数据发送到接收端,串口模块不会对MCU要发送的数据做任何处理。mcu都...转载 2020-04-16 16:39:50 · 2358 阅读 · 0 评论 -
UART接口介绍
1. 概述UART, Universal Asynchronous Receiver-Transmitter, 通用异步收发器;串口:在嵌入式里指的是UART口,常用TTL电平即3.3V或者5.0V;COM口:在台式机上常用的口,DB9那种接口,接口协议只有两种RS232和RS485;RS232电平即负逻辑电平,定义+5V~+12V为逻辑0,-5V~-12V为逻辑1。UART...转载 2020-01-01 11:19:52 · 4396 阅读 · 0 评论 -
NRZ与NRZI编码
NRZ与NRZI编码解释RZ 编码(Return-to-zero Code),即归零编码。在RZ编码中,正电平代表逻辑1,负电平代表逻辑0,并且,每传输完一位数据,信号返回到零电平,也就是说,信号线上会出现3种电平:正电平、负电平、零电平:从图上就可以看出来,因为每位传输之后都要归零,所以接受者只要在信号归零后采样即可,这样就不在需要单独的时钟信号。实际上,RZ编码...原创 2019-12-20 15:32:41 · 5247 阅读 · 0 评论 -
Linux内核中识别USB设备过程
1.usb全速模式和高速模式的区别,名字上感觉速度应该差不多??Usb1.1又是usb2.0全速模式,传输速率只有12MbpsUsb2.0高速模式达到了480mbps擦类这明显不是一个等级。。。。2.如何查看插入电脑的usb设备是全速模式还是高速模式??Linux下使用dmesg命令查看设备中下查看方法:插入后直接看打印信息3.怎么测试的说,电脑下设备是高速的,...转载 2019-12-20 14:41:47 · 2733 阅读 · 0 评论 -
USB枚举过程
1. 枚举是什么? 枚举就是从设备读取一些信息,知道设备是什么样的设备,如何进行通信,这样主机就可以根据这些信息来加载合适的驱动程序。调试USB设备,很重要的一点就是USB的枚举过程,只要枚举成功了,那么就已经成功大半了。USB架构中, hub负责检测设备的连接和断开,利用其中断IN端点(Interrupt IN Endpoint)来向主机(Host)报告。在系统...转载 2019-12-20 09:50:34 · 361 阅读 · 0 评论 -
USB chirp信号测试
1 信号及原理分析1.1 KJ信号说明USBchirp信号分为K信号和J信号。根据USB速率将chirp信号做如下区别: USB速率 Chirp DP DM 空闲状态 Low Speed K 1 0 ...转载 2019-12-19 21:13:22 · 1694 阅读 · 0 评论 -
全速USB和高速USB的识别过程分析
1 前言我们知道USB2.0向下兼容USB1.x,即高速2.0的hub能支持所有的速度类型的设备,而USB1.x的hub不能支持高速设备(High Speed Device)。因此,如果高速设备挂到USB1.x的hub上,那该设备只能工作在全速模式下。不管是hub还是设备(device),对于速度的区分是非常重要的,否则,后续的通信根本无法进行。2 全速和低速USB的识别根据规范,全速(F...转载 2019-12-19 20:33:20 · 1698 阅读 · 0 评论 -
USB设备被识别流程
USB模块包括usb core,host,hub,device驱动,其中hub会启动一个内核线程名曰:khubd(hub_events一直在查询(hub使用的是中断传输), 当usb 设备连接在 hub 的某个端口上,hub检测到有设备连接了进来,hub会去调用hub_port_status函数去获取hub端口状态,要是真有设备了,会调用hub_port_connect_change函数会调用us...转载 2019-12-19 20:04:43 · 757 阅读 · 0 评论 -
USB设备识别加载过程
(1)集线器检测新设备 主机集线器监视着每个端口的信号电压,当有新设备接入时便可觉察。(集线器端口的两根信号线的每一根都有15kΩ的下拉电阻,而每一个设备在D+都有一个1.5kΩ的上拉电阻。当用USB线将PC和设备接通后,设备的上拉电阻使信号线的电位升高,因此被主机集线器检测到。)(2)主机知道了新设备连接后 每个集线器用中断传输来报告在集线器上的事件。当主机知道了这个事件,...转载 2019-12-19 19:55:38 · 754 阅读 · 0 评论 -
Linux驱动之驱动的基本概念
硬件是计算机系统的底层基础,代码最终会转化为硬件上的组合逻辑与时序逻辑;应用软件调用接口完成具体的任务. 软件工程师在使用接口函数时不应该考虑接口具体是怎么实现的.驱动与底层硬件直接打交道, 按照硬件设备的具体工作方式. 读写设备的寄存器, 完成设备的轮询, 中断处理, DMA通信, 进行物理内存向虚拟内存的映射实现各种接口函数, 充当了硬件与应用软件中间的桥梁.驱动工程师负责编写驱动程序,...转载 2019-11-20 15:19:14 · 185 阅读 · 0 评论 -
蓝牙配对方式
4种蓝牙配对方式,通俗地说:1.Numeric Comparison:配对双方都显示一个6位的数字,由用户来核对数字是否一致,一致即可配对。例如手机之间的配对。2.Just Works:用于配对没有显示没有输入的设备,主动发起连接即可配对,用户看不到配对过程。例如连接蓝牙耳机。3. Passkey Entry:要求配对目标输入一个在本地设备上显示的6位数字,输入...转载 2019-11-20 14:51:55 · 8414 阅读 · 0 评论 -
Android 8.1 源码_启动篇(一) -- 深入研究 init(转 Android 9.0 分析)
前言init进程,它是一个由内核启动的用户级进程,当Linux内核启动之后,运行的第一个进程是init,这个进程是一个守护进程,确切的说,它是Linux系统中用户控件的第一个进程,所以它的进程号是1。它的生命周期贯穿整个linux 内核运行的始终, linux中所有其它的进程的共同始祖均为init进程。开篇核心源码Android 版本 关键类 路径 ...转载 2019-11-14 20:58:27 · 625 阅读 · 1 评论 -
通用智能传感集线器(Sensorhub)介绍
摘要: 智能传感集线器,也称之为Sensor hub,是一种基于低功耗MCU和轻量级RTOS操作系统之上的软硬件结合的解决方案,其主要功能是连接并处理来自各种传感器设备的数据。1.通用智能传器集线器概要 智能传感集线器,也称之为Sensor hub,是一种基于低功耗MCU和轻量级RTOS操作系统之上的软硬件结合的解决方案,其主要功能是连接并处理来自各种传感器设备的数据。诞生之初的目的...转载 2019-11-07 17:26:33 · 1918 阅读 · 0 评论 -
“adb”不是内部或外部命令——解决方案
在AS(Android Studio简称AS)app真机测试中adb可以轻松找到安卓设备,ADB全称Android Debug Bridge,用于Android设备进行交互,也可以这样理解ADB是Android Studio连接安卓设备之间的一个桥梁或者是一个中间人帮助管理你的设备或模拟器,请看下文:Windows:打开命令提示符(视窗键 + R)---->输入cmd...转载 2019-11-05 17:09:13 · 19021 阅读 · 1 评论 -
find命令详解
find命令 一般格式: find + 目录名称 + 参数@1参数的含义:-name #文件名称实验1:按照文件名查找##查找/etc目录中文件名为passwd的文件[root@localhost ~]# find /etc/ -name passwd/etc/passwd/etc/pam.d/passwd##查找/etc目录中文件名以.con...转载 2019-11-05 15:42:50 · 1305 阅读 · 0 评论 -
vi/vim基本使用命令
转载 2019-11-05 14:50:14 · 139 阅读 · 0 评论 -
adb下载安装及使用
adb介绍:Android Debug Bridge(安卓调试桥) tools。它就是一个命令行窗口,用于通过电脑端与模拟器或者是设备之间的交互。ADB是一个C/S架构的应用程序,由三部分组成:运行在pc端的adb client:命令行程序”adb”用于从shell或脚本中运行adb命令。首先,“adb”程序尝试定位主机上的ADB服务器,如果找不到ADB服务器,“adb”程序自动启动一个A...转载 2019-11-05 11:16:41 · 2112 阅读 · 0 评论 -
Linux常用命令
Linux常用命令1.查看目录结构命令ls(list)功能:列出目录内容格式:ls[参数][文件或目录]-a或--all所有文件和目录。注意隐藏文件、特殊目录、以“.”开头的和以“..”开头的-l使用详细格式列表-t用文件和目录的更改时间排序-r反向排序--help在线帮助常用:ls-l列出当前...转载 2019-10-30 21:09:44 · 120 阅读 · 0 评论 -
vi命令汇总
进入vi的命令vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复fil...转载 2019-10-29 14:37:04 · 193 阅读 · 0 评论 -
摄像头人头方向与LCD预览情况
转载 2019-10-28 20:35:10 · 2105 阅读 · 0 评论 -
LCD显示方向
LCD显示方向一、ILI9341内存到显示地址的映射 本文只讨论“正常显示”,不讨论“垂直滚动显示”模式。可以看到物理内存被两个指针访问,行指针和列指针,行指针范围从000h到013Fh,列指针范围为0000h到00EFh。也就是说,物理内存和LCD显示屏的对应关系是一种竖屏(240*320)的对应的关系。至于如何让GRAM数据显示到LCD屏上,不需要我们去考虑,只要知道这种对应...转载 2019-10-28 19:46:31 · 3076 阅读 · 0 评论 -
扫描方式,lcd驱动程序
显示器的扫描方式主要有隔行扫描(Interlaced)与逐行扫描(Non-Interlaced)两种,港台地区也称为交错与非交错。隔行扫描是指在显示器在显示图像时,先扫描奇数行,然后再回头扫描偶数行,经过两次扫描才完成一次图像刷新。而逐行扫描则是将视频线条连续进行扫描,一次性刷新图像。逐行扫描方式显示的图像要比隔行扫描稳定和清晰,一般来说,在640*480的分辨率下,几乎所有显示器都为逐行...转载 2019-10-28 19:22:28 · 1905 阅读 · 0 评论 -
LCD正向扫描和反向扫描
CD扫描一般分正向扫面和反向扫描,分别针对正装和倒装结构(如下):有时候提到长边扫描和短边扫描应该是针对横屏和竖屏的设置,大部分显示屏是正向扫描,是否都支持,和玻璃有关,可通过设置寄存来设置。所谓的正装和显示屏与主板连接的FPC有关。...转载 2019-10-28 19:19:15 · 3742 阅读 · 0 评论