自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

baron-周贺贺-代码改变世界ctw

【介绍】: 某外企资深安全工程师、阅码场资深讲师、51CTO编辑、CSDN博客专家... 【研究方向】:安全/虚拟化、Trustzone、TEE、SOC架构、ARM架构、终端安全/手机安全/设备安全/系统安全、Linux Kernel安全、Android

  • 博客(32)
  • 资源 (21)
  • 问答 (1)
  • 收藏
  • 关注

原创 [How TO]-virtualbox下安装ubuntu14.04超详细

点击新建点击下一步注意,内存一定不要太大,点击下一步点击创建下一步下一步创建点击设置找到ubuntu14的镜像点击启动勾选第一行,这里不会清除你的磁盘,放心好了

2020-08-25 17:06:19 4166 2

原创 博客笔记导读目录-temp

1、理论基础篇typetitlereservedcore1、optee栈的介绍2、optee中断的介绍3、optee同步机制的介绍4、optee中smc的介绍5、optee中MMU介绍6、optee中的页面管理7、optee中的share-memoryreservedcryptoreservedreservedDevice TreereservedreservedFile StructurereservedreservedGP API

2020-08-20 00:37:23 1192

原创 [optee]-optee的加解密接口的介绍

目录1、算法的注册2、算法的实现 --- 举例(1)、aes(2)、hash3、在TA中使用这些算法(1)、rsa-encrypt/rsa-decrypt(2)、rsa-sign\rsa-verify(3)、hash★★★ 友情链接 : 个人博客导读首页—点击此处 ★★★1、算法的注册再service_init阶段,调用了tee_ltc_reg_algs()注册系统的各类算法.(ltc是libtomcrypt的缩写)service_init(tee_cryp_init) --> tee_cr

2020-08-18 14:31:16 2140

原创 [ATF]-ATF启动--BL31跳转到optee和uboot

1、bl31_main在有些厂商的设计中,ATF并不是BOOTROM加载的第一个启动镜像,可能是这样的:BOOTROM—>PL---->ATF—>optee—>uboot…, 在PL阶段就已经了ATF/OPTEE/UBOOT镜像的load.所以我们的ATF在BL31阶段就不负责oad BL32/BL33镜像到内存了,在我们的ATF的BL31阶段,找到BL32/BL33镜像地址,然后跳转即可.bl31_main调用bl31_prepare_next_image_entry()找

2020-08-18 13:17:47 6643

原创 linux kernel内存管理学习篇

目录1、DDR的注册(1)、在dts中定义了DDR(memory)的范围(2)、将DDR地址范围注册到linux kernel2、reserved-memory的注册(1)、在dts中定义了reserved-memory的范围(2)、将reserved memory信息告知给linux kernel1、DDR的注册(1)、在dts中定义了DDR(memory)的范围memory@0 { device_type = "memory"; reg = <0x0 0x80

2020-08-17 14:09:43 3262

原创 [toolchains]-ARM ToolChains介绍

目录1、toolchains版本的介绍2、toolchains中的命令介绍3、objdump的详细使用1、toolchains版本的介绍在linaro官网有众多toolchains的版本,目前比较常用的是4.9-2016.02Parent Directoryfolder 4.9-2016.02 - folder 4.9-2017.01 - folder 5.1-2015.08 - folder 5.2-2015.11 - folder 5.2-2015.11-1 - folder

2020-08-17 12:07:11 4343 1

原创 [ATF]-TEE/REE系统切换时ATF的寄存器的保存和恢复

ATF点滴1、设置运行时栈SP2、寄存器的保存和恢复的实现3、寄存器的保存和恢复的使用场景1、设置运行时栈SPbl31_entrypoint—>el3_entrypoint_common---->plat_set_my_stack—>platform_set_stack—>platform_get_stack动态找到该cpufunc platform_set_stackmov x9, x30 // lrbl platform_get_stackmov sp, x0r

2020-08-13 20:43:21 1158

原创 [optee]-TA的签名和验签

TA签名验签1、TA的签名2、TA的验签1、TA的签名在optee或sdk的目录下,有一个default_ta.pem(RSA2048 priv key)和sign.py签名脚本. 在编译TA结束后,会使用这个脚本和key对TA进行签名…export-ta_arm64/keys/default_ta.pemexport-ta_arm64/scripts/sign.py在编译TA时,会调用到TA中的link.mk, 在该文件文件中可以看到rsakey和签名脚本sign.py的引用和makefil

2020-08-12 19:52:50 14458

原创 [optee]-opteeTA启动的过程(open_ta的过程)

open TA1、open TA的两种方式2、TA的分类 & 查询TA的顺序(1)、Look for already loaded TA(2)、Look for pseudo TA(3)、Look for user TA1、open TA的两种方式在CA中TEEC_OpenSession()打开一个TA在TA中TEE_OpenSession()打开一个TA如下图所示,是打开一个user_ta的过程,最终都是调用了rpc_load,然后再调用shdr_verify_signature()验

2020-08-12 18:18:51 3602

原创 linux kernel中__setup()函数介绍

setup1、__setup使用示例2、__setup宏原理3、__setup链接函数的调用1、__setup使用示例我们先看一个例子,在driver中,定义下面这一段函数,并加上__setup注册static int __init skip_initramfs_param(char *str){ if (*str) return 0; do_skip_initramfs = 1; return 1;}__setup("skip_initramfs", skip_initramfs_p

2020-08-12 15:24:49 5831

原创 linux kernel中的cmdline的详细介绍

cmdline1、跳转linux kernel之前-准备cmdline2、kernel启动-解析cmdline1、跳转linux kernel之前-准备cmdline在跳转linux kernel之前(如uboot中),将cmdline数据放到了FDT中,然后将FDT的地址写入到了X0中。然后再跳转linux kernel.别问我怎么知道的,请看kernel-4.14/Documentation/arm64/booting.txtBefore jumping into the kernel, the

2020-08-12 15:02:07 17411 2

原创 [optee]-optee中的异常向量表的实现

Optee异常向量表ARMV8-aarch641、optee中定义的异常向量表2、optee中设置向量表基地址VBAR_EL1ARMV8-aarch32、ARMV7-aarch32分析optee中的向量表,我们注意看两件事:软件中定义的向量表,是否和ARM文档中的向量offset一致向量表的基地址是否写入到了VBAR寄存器ARMV8-aarch641、optee中定义的异常向量表(core/arch/arm/kernel/thread_a64.S) .section .text.threa

2020-08-12 11:54:32 2820

原创 MTK平台的启动流程(secureboot)

2020-08-11 20:24:19 3028

原创 [trustzone]-ARM Core的扩展和ELx级别的切换过程

目录1、ARM Core的扩展 : 增加SCR.NS bit位2、ELx级别的切换过程1、ARM Core的扩展 : 增加SCR.NS bit位在ARMv8中,增加了SCR_EL3寄存器只有SCR_EL3,没有SCR_EL1和SCR_EL2只有EL3等级下才能读写此寄存器.NS 标记processor element的secure/non-secure的安全位IRQ、FIQ标志中断是routing到EL3是routing到ELx. 如果为1则routing到EL3ARM Core扩展后的软件

2020-08-11 20:16:52 2730 1

原创 [trustzone]-ARM trustzone技术下常见的软件框图

常用软件框图1、常用的系统软件框图2、指纹软件框图3、Gatekeeper的软件框图1、常用的系统软件框图2、指纹软件框图3、Gatekeeper的软件框图

2020-08-11 20:06:57 2831 1

原创 [trustzone]-ARM Trustzone架构下的软件框图

官方框图1、ARMv72、ARMv8(1)、aarch32(2)、aarch64(3)、arch32和aarch64总结3、Cortex-A9 architecture1、ARMv72、ARMv8(1)、aarch32(2)、aarch64(3)、arch32和aarch64总结有关armv7下aarch32和aarch64的理解:如果secureos和monitor都是64位,secureos跑在el1, monitor跑在el3;如果secureos和monitor都是32位,s

2020-08-11 19:58:30 1790 1

原创 linux kernel中的中断处理流程

目录1、linux kernel arm32的中断函数处理流程(1)、irq_handler宏(2)、arch_irq_handler_default 宏(3)、调用了asm_do_IRQ2、linux kernel arm64的中断函数处理流程(1)、irq_handler宏 调用handle_arch_irq(2)、handle_arch_irq(3)、gic_handle_irq()(4)、handle_domain_irq()---->__handle_domain_irq()---->

2020-08-11 12:15:29 3168

原创 linux kernel中的栈的介绍

目录1、linux kernel中的中断irq的栈stack(1)、arm32体系的irq的栈(2)、arm64体系的irq的栈2、linux kernel中的进程栈stack(1)、概念介绍:内核栈、内核空间进程栈、用户空间进程栈(2)、内核栈 的实现(2)、内核进程栈、用户进程栈 的实现1、linux kernel中的中断irq的栈stack(1)、arm32体系的irq的栈如下结构体描述了IRQ mode的栈,很小,只有12bytes。那是因为在linux kernel arm32体系中,真正的

2020-08-11 11:27:56 3059 1

原创 [ARM异常]-ARM Core中与中断相关的寄存器

目录1、PSTATE中的DAIF中的I和F2、SCR_EL3, Secure Configuration Register1、PSTATE中的DAIF中的I和Fstatic inline void arch_local_irq_enable(void){ asm volatile( "msr daifclr, #2 // arch_local_irq_enable" : : : "memory");}static inline void arch_local_irq_dis

2020-08-10 17:19:45 3548 1

原创 [gic]-ARM gicv3/gicv4的详细介绍-2020/08

gic,gicv2,gicv3,中断控制器,IRQ,FIQ,Serror, 中断,同步异常,异步异常,TF-A,TF-M,ATF,TrustedFirmware,trustzone,TEE,optee,trusty,tlk,lk,armv8,armv9,arm,secureboot,BL31,BL32,BL1,BL2,hypervisor,终端安全,secureboot,security,virtulization

2020-08-10 16:58:51 7369 1

原创 linux kernel中设置向量表基地址

这目录1、linux kernel的arm32下设置向量表基地址VBAR2、linux kernel的arm64下设置向量表基地址VBAR在linux kernel中,是如何设置向量表基地址的(如何设置VBAR的)?1、linux kernel的arm32下设置向量表基地址VBAR(1)、在entry-armv.S中,软件中定义了向量表__vectors_start是向量表基地址,vector_irq/vector_fiq是向量表中的offset需要将__vectors_start基地址写入到VB

2020-08-10 14:45:30 2375 1

原创 Android Security视频学习合集

目录1、Android Gatekeeper精讲![在这里插入图片描述](https://img-blog.csdnimg.cn/20200808145510609.JPG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjEzNTA4Nw==,size_16,color_FFFFFF,t_70)请扫码到哔哩哔哩看视频1、Andro

2020-08-08 14:55:33 1086

原创 电子书pdf预览

armv8,armv9

2020-08-08 14:44:08 1504 1

原创 在linux、optee、ATF中的中断异常向量表

目录1、在linux中的异常向量表(1)、arm64的异常向量表-(irq,fiq,svc......)(2)、arm32的异常向量表-(irq,fiq,swi......)2、在optee中的异常向量表3、在ATF中的异常向量表(1)、同步异常向量表-(smc)handle_sync_exception调用smc_handler64处理同步异常(2)、异类步异常向量表-(irq,fiq...)get_interrupt_type_handler获取ATF注册的中断处理函数handle_interrupt_

2020-08-08 14:25:41 2514

原创 [ARM异常]-ARM Core如何响应中断的

目录1、51单片机的中断响应模型2、ARM的异常有哪?3、ARM的异常向量表基地址4、ARM的向量表offset1、51单片机的中断响应模型我们先回忆一下在单片机上的中断的使用。如下图所示,左边是51单片机的管脚图,P3.0-P3.5是单片机对应的中断管教,当该管教电平发生变化时,触发cpu异常。当cpu来了一个异常时(中断),cpu跳转到异常向量地址处,执行handler函数,执行完毕后再回来那么cpu异常时,跳转的是哪个地址呢,其实这都是cpu出厂时设计好的。如下图所示,左边是cpu设计好的

2020-08-08 14:15:53 4057 1

原创 TEE Internal core API介绍(globalplatform)

目录一、TEE的API介绍1、Cryptographic Operations API 加解密函数介绍(1)、Generic Operation FunctionsTEE_AllocateOperationTEE_FreeOperationTEE_SetOperationKeyTEE_SetOperationKey2(2)、Message Digest Functions 消息摘要TEE_DigestUpdateTEE_DigestDoFinal(3)、Symmetric Cipher Functions

2020-08-07 18:12:54 2466 1

原创 android密码解锁/指纹解锁返回的authToken深度解剖

目录1、authToken是什么2、authToken代码精读(1)、AddAuthenticationToken(2)、FindAuthorization(3)、AddAuthenticationToken1、authToken是什么在android中authToken是一串标致调用者身份的数据,是一个结构体.在gatekeeper和fingerprint的鉴权成功后(verify成功后),都会返回一个authToken给android,然后加入到auth_token_table表中, 该表最大存储

2020-08-07 14:13:32 4758

原创 Android Gatekeeper流程深度解剖

1、先来张整体的软件框图2、enroll和verify的调用流程4、关键函数的介绍(1)、writeCredentialHash //将enroll_handle保存到文件如果是password,保存到passwordFilename, patterFilename写入空如果是patter,保存到patterFilename, passwordFilename写入空frameworks/base/services/core/java/com/android/server/locksettin

2020-08-06 21:12:16 4634 16

原创 详解android gatekeeper/fingerprint中的authToken

文章目录1、authToken是什么?2、authToken的填充3、authToken的保存1、authToken是什么?在密码或指纹验证通过后(verify通过后),需返回一个authToken值,然后交由keystore保持起来. 以下是gatekeeper的verify产生authToken和调用keystore保存authToken的流程图:2、authToken的填充在gatekeeper TA的verify()通过后,对填充authToken结构体,然后再返回。(hardware/l

2020-08-06 15:46:25 3031 1

原创 Android keystore/Keymaster的代码导读

1、先上架构图:2、keyMaster Hal接口(system/keymaster/include/keymaster/android_keymaster.h)class AndroidKeymaster { public: AndroidKeymaster(KeymasterContext* context, size_t operation_table_size); virtual ~AndroidKeymaster(); AndroidKeymaster(Andr

2020-08-05 13:48:29 6307

原创 linux kernel中的module_init/initcall代码导读

在kernel/include/linux/module.h中#define module_init(x) __initcall(x);在kernel/include/linux/init.h中,定义了一堆宏#define pure_initcall(fn) __define_initcall(fn, 0)#define core_initcall(fn) __define_initcall(fn, 1)#define core_initcall_sync(fn) __define_ini

2020-08-04 19:56:14 2296

原创 [专栏目录]-Android专栏目录

英文缩写简写全称reservedSPISerial Peripheral interfacereservedAIArtificial Intelligence人工智能NB-IOTNarrow Band-Internet of Thingsreservedreservedreservedreservedreservedreservedreservedreservedreservedreservedreservedreserv

2020-08-04 15:02:57 1235

深度学习cache系列

Armv8/Armv9的,深度学习cache系列,2023最新版本

2023-04-12

Learning the Arm Architecture(中文)

学习Arm Architecture的资料,总结后的笔记,共计120多页

2023-04-12

Armv8/Armv9 cache深度学习

Armv8/Armv9 cache深度学习

2023-04-12

ARMv8/ARMv9指令集概述(中文)PDF

ARMv8/ARMv9指令集概述(中文)PDF

2023-04-12

嵌入式Linux C语言初学者项目实践:火车票订票系统

2023年最新,480行代码实现火车票订票系统,适合嵌入式Linux C语言初学者,附编译和使用文档,支持: 1:Insert a train information 2:Inquire a train information 3:Book a train ticket 4:Update the train information 5:Advice to you about the train 6:save information to file 7:quit the system

2023-04-12

GlobalPlatform规范中的密码学算法总结

GlobalPlatform TEE规范中的密码学算法总结。包含彩图讲解、代码示例、函数总结等

2022-06-12

seL4-manual-latest.pdf

微内核白皮书、sel4微内核白皮书、seL4-whitepaper.pdf

2021-11-19

DDI0487G_b_armv8_arm.pdf

ARMV8文档,2021.9最新,armv8.8

2021-09-13

optee-readthedocs-io-en-latest.pdf

optee官方文档,2021年最新

2021-08-05

Linux-Kernel官方文档.pdf

3882页Linux Kernel Documentation; Linux Kernel官方文档

2021-08-05

GPD_TEE_TUI_Extn_Biometrics_API_v1.0_PublicRelease_2018_04_03.pdf

2021最新版: GP TEE TUI API文档

2021-08-05

GPD_TEE_Internal_Core_API_Specification_v1.3_PublicRelease.pdf

2021年最新版: GP TEE internal Core API

2021-08-05

TrustZone for Armv8-A

TrustZone for Armv8-A ARM Trustzone的详细介绍

2020-12-25

iOS_Security_Guide-苹果安全白皮书

iOS_Security_Guide-2015-9

2020-12-25

移动应用(App)数据安全与个人信息保护-白皮书

移动应用(App)数据安全与个人信息保护-2019

2020-12-25

oppo-ColorOS 11安全技术白皮书

ColorOS 11安全技术白皮书

2020-12-25

GlobalPlatform_TEE_Whitepaper

GlobalPlatform_TEE_Whitepaper 安全白皮书

2020-12-25

ARM-gic官方文档资料打包下载-gicv2v3-gic500等.rar

ARM gicv2、ARM gicv3的官方pdf文档精简版、详细版 共计6篇文档。值得学习. GICv3 and GICv4 Software Overview.pdf Arm Generic Interrupt Controller Architecture Specification GIC architecture version 3 and version 4.pdf ARM Generic Interrupt Controller Architecture Specification.pdf GIC-500 Cycle Model User Guide.pdf ......

2020-07-12

armv8指令详细介绍-官方pdf文件112页.rar

ARMv8指令集详细介绍,共计112页。详细介绍A64指令,非常值得学习。ARM的入门级资料,学完再看linux kernel底层汇编代码游刃有余

2020-07-12

Crypto.tar.gz

python3调用标准的AES的ECB CBC CRT, 实现加解密。并写了unittest测试用例

2019-07-13

Armv9的RME安全架构介绍

QEMU-based Simulation Platform for ARM CCA

2023-07-03

基于英飞凌产品的汽车EPS方案介绍

随着对车辆的转向性能以及能耗标准的不断提高,作为一种有效的性能改进和节能手段,电动助力转向系统(EPS)正替代传统的液压助力转向系统(HPS)而被越来越多的中小型汽车所采用。 本文将从北京晶川电子技术发展有限责任公司和英飞凌科技公司合作开发的一个汽车电动助力转向系统参考方案出发,介绍EPS的一般结构及其电控单元的一般原理。在此基础上本文将着重介绍英飞凌对于EPS电控单元的理解并详细介绍该单元基于英飞凌产品上的实现方案。通过对所用器件的说明我们将分析该方案的突出特点。最后,本文将分析EPS电控单元的发展趋势并简介英飞凌公司所采取的与之对应的解决方案。

2023-06-23

面向安全要求严苛的应用的飞思卡尔双核控制器系列

电子稳定性控制、动力转向与自适应巡航控制有什么共同之处?对于系统设计师来说,设计出此类系统、同时满足一流的功能性安全要求是一项极具挑战性的任务。应用功能的数量和复杂性都在上升,开发成本压力很高,走向市场的时间在缩短。 针对采用复杂的控制算法、且安全要求严苛的应用的设计工程师,看似有广泛的系统架构进行选择。然而,当今现有的大多数微控制器解决方案或者缺乏灵活性,不能支持各种功能性安全概念,或者要求在安全软件方面投入很大。另一方面,额外的软件增加了复杂度并更容易导致系统故障。 因而,我们为 MPC564xL系列双核控制器的开发提出了以下的口号: 高效—提供最高性能水平(以更少的投入,实现更多产出),更低的时钟频率,并实现智能外围协调 灵活—构建一种支持多重安全架构的双核概念并让用户在性能和安全水平之间取得平衡 安全—形成一个符合 SIL3/ASIL D 标准的安全概念并通过在硬件中加入关键安全组件和自测功能降低软件复杂度

2023-06-23

汽车电动助力转向系统的研究与方案-英飞凌

现代汽车技术追求高效节能,高舒适性和高安全性三大目标。 作为汽车最重要的子系统 之一,转向系统的发展也一直努力追求达到这些目标。 与传统液压助力转向系统(HPS)相比, 电动助力转向系统(EPS)能节省油耗约 3%~5%,具有结构精巧、节能环保、安全舒适等优点, 是汽车助力转向系统的发展方向。 英飞凌作为世界第二大车用半导体供应商,一直致力于开发新的产品以适应于电动助力 转向系统的发展。本文首先介绍转向系统的市场分析以及 EPS 的分类及其基本功能, 然后在 此基础上介绍英飞凌对于基于两种不同电机的 EPS 系统的解决方案及其产品,最后本文分析 了 EPS 的两个新方向以及英飞凌将采用的解决方案和新的产品技术。 关键词: 电动助力转向 EPS 英飞凌 Infineon

2023-06-23

支持ASIL D 应用的安全集成硬件解决方案

在汽车应用中,人体与电气/电子系统之间的交互显著增加,具体而言是指在管理对安全至关重要的决策时的交互,这些决策会对驾驶员的健康产生严重影响。随着这些先进的安全系统从被动安全不断演进到更主动的安全系统,包括预测安全系统,甚至自主车概念等,汽车行业已经并将继续出台严格的要求。 管理这些对安全至关重要的决策会增加安全系统的复杂性和额外的软件内容。复杂性增加会不断增加系统和/或随机硬件故障的风险。为了帮助确保最高的安全标准并影响安全汽车系统的开发,汽车行业已经发布了最新的汽车安全标准 ISO 26262。 本文讨论了对各种安全架构的实施,并介绍了一个创新的集成安全解决方案,以简化系统级功能安全设计,包括遵从 ISO 26262 标准。

2023-06-23

英飞凌汽车安全解决方案

英飞凌汽车安全解决方案

2023-06-23

论文:函数信号发生器制作

本设计运用了基于NiosⅡ嵌入式处理器的SOPC技术,设计完成了函数信号发生器系统。本系统的DDS 信号发生部分由FPGA最小系统加DAC904构成,控制与信息显示部分由单片机最小系统加键盘,液晶显示器构成。单片机接受键盘指令通过串口将控制字,发送到FPGA内部的NIOSII处理器,由NIOS处理器来控制FPGA内部的信号发生部分实现各项功能。本系统充分利用了EDA开发工具与FPGA内部资源,提高了系统的稳定性和抗干扰能力,得到很好的输出效果。

2023-06-23

论文:单相电参数测量仪

本系统以高精度电表集成电路CS5463为计量核心、以C8051F005单片机为控制核心,并辅以必要的外围电路,可以精确地测量电压、电流、频率、有功功率、无功功率、功率因数、电量等各种单相电参数。系统主要包括采集模块、信号调理模块、计量模块、控制模块、语音模块、通信模块等。同时还可以实现预购置电量设置、分时段计量、超限保护、语音报警、打印以及与上位机通信功能

2023-06-23

论文:简易数控充电电源

本系统以直流电源为核心,NEC upd78F0547单片机为主控制器,通过键盘来设置直流电源的输出电流,并可由液晶显示器显示输出的电压、电流值

2023-06-23

基于51单片机循迹智能小车

关键词: AT89C52 红外传感器 减速电机 光电管 霍尔元件 本次设计的简易智能电动车采用简单的人工智能技术,使用AT89C52作为小车的检测和控制核心。根据题目设定的行进及具体要求,分别采用红外传感器进行寻迹行驶、黑带采集及变速行驶,采用霍尔元件对小车行驶过程中的速度进行测量,并在终点进行行驶路程的测量,采用直流减速电机对小车实行较精确定位,由LCD显示出各项功能知识。由数码管进行行驶时间显示,由蜂鸣器及LED构成声光提示电路。最后,小车的运行过程中的各种自动化过程由单片机通过编程实现。

2023-06-23

C8051F005小车自动控制

关键词:单片机C8051F005,反射型光电传感器,角度传感器,PWM技术 本系统采用单片机C8051F005作为核心器件对小汽车行驶的自动控制。控制过程是利用反射型光电传感器识别路面黑线信息,保证小车能够有效的寻迹和停止。采用角度传感器测量坡度,通过数据采集系统的处理,完成电动小汽车在跷跷板处于任何角度时的速度及方向控制。利用PWM (脉宽调制)技术控制直流电机的转速,时间用数码管显示。本设计共使用五支反射型光电传感器,其中利用四支控制车轮的转向,一支控制前进、停止。整个系统较好的实现了题目的要求,达到了较高的性能指标。

2023-06-23

AT89C51红外避障小车

本设计通过小车这个载体再结合由AT89S51为核心的控制板可以达到其基本功能,再辅加由漫反射式光电开关组成的避障电路、555组成的转速控制电路、电源电路、差分驱动电路就可以完善整个设计。

2023-06-23

电动车跷跷板-全国大学生电子设计竞赛

本系统以51系列单片机89S52为控制中心,外加电机驱动集成电路L298、七段码译码显示集成电路74LS247、七段码数码管等外围元件控制电动车前进、后退、停止等运行状态,并显示所需时间、发出声光报警。本次设计前进、后退、停止等状态运行时间通过简单估算及实验测试最终确定,并通过单片机定时完成。单片机通过接收键盘信号确定小车的工作方式,从而启动具有相应定时参数的运行程序;单片机执行程序时根据定时信息适时发出控制信号给电机驱动集成电路L298;而L298通过输出高电压、低电压、零值电压来控制电动车的前进、后退、刹车、停止等运行模式。

2023-06-23

电动智能小车(完整论文)

80C51单片机、光电检测器、PWM调速、电动小车。 80C51单片机是一款八位单片机,他的易用性和多功能性受到了广大使用者的好评。这里介绍的是如何用80C51单片机来实现长春工业大学的毕业设计,该设计是结合科研项目而确定的设计类课题。本系统以设计题目的要求为目的,采用80C51单片机为控制核心,利用超声波传感器检测道路上的障碍,控制电动小汽车的自动避障,快慢速行驶,以及自动停车,并可以自动记录时间、里程和速度,自动寻迹和寻光功能。整个系统的电路结构简单,可靠性能高。实验测试结果满足要求,本文着重介绍了该系统的硬件设计方法及测试结果分析。 采用的技术主要有: (1) 通过编程来控制小车的速度; (2) 传感器的有效应用; (3) 新型显示芯片的采用.

2023-06-23

TF-A LTS Proposal

TF-A LTS Proposal

2023-06-12

数字车钥匙CCC规范V1.1

数字车钥匙CCC规范 : Car Connectivity Consortium

2023-04-12

Armv8/Armv9架构入门指南(cortex-A系列)

2022年最新,300多页,Armv8/Armv9架构入门指南(cortex-A系列)

2023-04-12

Armv8/Armv9指令集速查手册

2023年最新,Armv8/Armv9指令集速查手册

2023-04-12

Armv8/Armv9寄存器速查手册

2023年最新,Armv8/Armv9寄存器速查手册

2023-04-12

Armv8/Armv9异常中断深度学习系列

Armv8/Armv9异常中断深度学习系列

2023-04-12

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

TA关注的人

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