搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
天景科技苑
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
自用笔记-Qt5.14.2开发Android环境搭建_qt 安卓ndk下载
2
手把手教你部署并使用国产开源大模型ChatGLM3-6B_开源大模型部署
3
【附源码】Python :人脸实时检测与抓捕_python 人脸抓拍
4
电子元件分销商_premier farnell plc
5
【转载】解读Mamba序列模型_mamba模型
6
介绍几个好用的guava工具类_guava 工具包
7
java计算程序运行耗时的方法_java 计算耗时
8
ROS机器人编队 roslaunch远程启动节点_ros远程的machine name
9
【进阶】Stable Diffusion 插件 Controlnet 安装使用教程(图像精准控制)_stable diffusion control net安装
10
文件服务器 架构图,传奇世界服务端架构图(说明文件),适合新手看
当前位置:
article
> 正文
驱动开发必备硬件知识_芯片驱动开发需要懂硬件吗
作者:天景科技苑 | 2024-07-23 16:55:14
赞
踩
芯片驱动开发需要懂硬件吗
综述:在嵌入式领域,可分为硬件开发和软件开发。对于软件开发又可分为底层开发(模块驱动编写,uboot,内核),上层开发(应用,QT)。 作为一名软件驱动开发的工程师,我们不需要去设计硬件的原理图,PCB。我们只需看懂硬件开发人员提供的硬件模块时序就行了,但是我们应该也需了解如下硬件知识。
一)处理器
1,可分为通用处理器(单片机,ARM),数字处理器(DSP),其他专用处理器(FPGA)
在通用处理器领域中,采用的内核有
51,AVR,PIC,ARM
。在当今通用处理器芯片大多数采用ARM架构并且多采用SOC的芯片设计方法,集成了各种功能模块(图形处理器,视频解码器,浮点协处理器,GPS,WIFI等),每一种功能都是由硬件描述语言设计程序,然后在Soc内由电路连接实现。
主流的ARM移动处理芯片供应商有:高通,三星,英伟达,美满,联发科,海思(哪个国家的?尴尬了)。
中央处理器的体系结构:冯.诺依曼结构(程序指令存储器和数据存储器合并在一起的存储结构),哈佛结构(
程序指令存储器和数据存储器分开的存储结构
)。
指令集:RISC(精简指令集计算机)和CISC(复杂指令集计算机)。CISC强调增强指令的能力,减少目标代码数量,但指令复杂,指令周期长。RISC强调尽量减少指令集,指令单周期执行,但是目标代码会更大。ARM,MIPS等内核CPU都采用了RISC指令集。
2,数字信号处理器:针对通信,图像,语音,视频处理等领域的算法设计。它包含的硬件乘法器,DSP的乘法指令一般在单周期内完成,且优化了卷积,数字滤波,FFT,相关矩阵运算等算法中的大量重复乘法。
德州仪器(TI),美国模拟器件公司(ADI)是全球DSP的两大主厂商。
3,其他专用处理器:为某种应用的特定设计。采用ASIC,CPLD/FPGA等实现。 在实际项目的硬件方案中,往往会根据应用的需求方案选择通用处理器,数字处理器,特定领域处理器,CPLD/FPGA或ASIC之一的解决方案,在复杂系统中,这些芯片可同时存在,协同合作,各自发挥自己的长处。(ARM+DSP+FPGA)。
二 存储器
存储器主要可分为只读存储器(ROM),闪存(Flash),随机存取存储器(RAM)。
1,ROM在可细分为:不可编程ROM ,可编程ROM,电可擦除可编程ROM(E2PROM),它可完全用软件来擦写。
2,FLASH可分为NOR(或非),NAND(与非)两种,Intel于1988年首先开发出Nor flash 技术,紧接着1989年,东芝发表了NAND flash结构,彻底改变了原先的EPROM,EEPROM垄断的地位。
Nor Flash:程序可直接在nor中执行,支持位擦写,支持SPI接口,
存储量小。
Nand Flash:储存量大,页擦除,占用的I/O多。
3,RAM可分为静态RAM和动态RAM。动态RAM储存在电容中,擦写速度快,由于电容器有漏电现象,因此需要定期刷新。静态RAM不需要定期刷新电路,储存速度慢。(好坏,快慢都是相比较而言的)
4,其他 嵌入式系统中往往还有些特定类型的RAM
双端口RAM:具有两套完全独立的地址,数据总线,用于两个处理器之间的数据交互,具有同时读写的的功能。
内容寻址RAM(CAM):以内容进行寻址的存储器,是一种特殊的存储阵列RAM,它的主要工作机制就是同时将一个输入的数据与存储在CAM中的所有数据自动进行比较,判断该输入数据项与CAM中存储单元的数据项是否相匹配,并输出该数据项对应的匹配信息。
FIFO:先进先出队列:特点是先进先出,进出有序,FIFO多用于数据缓冲。
三 接口与总线
1,串口:RS-232是一种单机发送,多机接收的单向,平衡传输规范,后来发展的RS-422改进了RS232通信距离短,通信速度慢的特点,在RS-485中,又增加了多点,双向通信能力,即允许多个发送器连接在一条总线上。串口电路组成部分:CPU---UART--RS-232芯片---连接器(接口芯片)。
2,I2C
I2C总线是由Philips公司开发的两线式串行总线,产生于20世纪80年代,用于连接微控制器及外围设备。I2C总线支持多主控,但需要注意的是在任意时刻只能有一个主控。
相应时序:当SCL稳定在高电平时,SDA由高向低的变化将产生一个开始位,而且由低到高变化,则产生一个停止位。(都有注主设备产生)
在选择设别时:主设备需要首先发送一个字节的地址信息,前7位代表地址信息,最后一位代表读写信息。
数据通信:在第9个上升沿来到之前,从设备应该发出一个ACK位。结束时,SCL稳定保持在高电平期间,SDA从低向高,产生停止信号。
3 SPI
SPI总线系统是一种同步串行外设接口,它可以使CPU与各种外围设别以串行的方式进行通信。SPI接口一般使用4条线,串行时钟线,主机输入/从机输出数据线(MOSI),主机输出/丛机输入线(MOSI),和低电平有效的数据选择线(SS)。
4 USB
USB:具有数据传输高,易扩展,支持热插拔等特点。在USB1.1中传输速度有12Mbit/s,在USB2.0中,传输速率达到480Mbit/s。在USB3.0中,传输速率甚至高达5.0Gbit/s。在USB2.0总线的机械连接非常简单,采用4芯的屏蔽线,一对差分线(D+,D-)传输信号,另一对(VBUS,电源地)传送+5v的直流电。
5 以太网接口
以太网接口由MAC(以太网媒体接入控制器)和PHY(物理接口收发器)组成。以太网MAC由IEEE802.3以太网标准定义,实现数据链路层。常用的MAC支持10Mbit/s和100Mbit/s两种速率。吉比特网是快速以太网的下一代,速度将高达1000Mbit/s.
6 PCI和PCI-E
PCI是一种局部总线,作为一种通用的总线接口标准,它目前在计算机系统中得到了非常广泛的应用。
7 SD和SDIO
SD是一种关于FLASH的储存卡的标准,也就是一般常见的SD记忆卡,在设计上与MMC保持兼容。
SDIO在SD标准的基础上,定义了储存卡以外的外设接口。
四 CPLD和FPGA
CPLD由完全可编程的与或门阵列以及宏单元构成。 与CPLD不同,FPGA(现场可编程门阵列)基于LUT(查找表)工艺。CPLD和FPGA的主要厂商有Altera,Xilinx和Lattice等,它们专门的开发流程,在设计阶段使用HDL编程。它们可实现许多复杂功能,如实现USART,I2C等I/O控制芯片,通信算法,音视频解码算法等。甚至还可以直接集成ARM等CPU内核和外围电路。对于驱动工程师而言,我们就直接把它看成由很多逻辑门(与 或 非)组成的可完成一系列功能的芯片。如果完成的功能是CPU,我们就直接把它看成是CPU。驱动工程师眼里的硬件要比IC设计师要宏观。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/天景科技苑/article/detail/870766
推荐阅读
article
后
端
返回
数据
全局
处理
_
数据
返回
本月
的
所有
数据
后
端
处理
方式...
返回
值
全局
拦截前言现在项目中,软件开发采用前后
端
分离模式是越来越普遍,后
端
人员更加专注
数据
,前
端
(包括html和app开...
赞
踩
article
Mybatis
-
Plus
+JPA+postgresql存储复杂类型、
TypeHandle
使用_myb...
文章介绍了在使用
Mybatis
-
Plus
和PostgreSQL进行开发时,如何处理Object和List
...
赞
踩
article
CHARLS
数据
库
提取
数据
和清洗—
基于
R...
学习资料,包括
CHARLS
离线
数据
库
、SCI论文思路复现代码-
基于
R、讲义。关注公众号“熊大学习社”,回复“charls...
赞
踩
article
ollama
Linux
部署_linux部署
ollama
...
本文介绍了在
Linux
系统上部署
ollama
的步骤。通过下载
ollama
并修改配置,可以实现在本地网络和外部网络访问服务...
赞
踩
article
基于
Java
中的
SSM
框架
实现
羽毛球
交流平台
系统
项目【项目源码+论文说明】...
随着社会的发展和人们需求的变化,
羽毛球
这项运动也有了一定的发展,由于其规则简单,对场地的要求也不是很高,所以有很多人选择...
赞
踩
article
机器
学习
-20-基于
交互式
web
应用
框架
streamlit
的基础使用
教程
...
streamlit
的基础使用
教程
以及配合FastAPI的
应用
方式
机器
学习
-20-基于
交互式
web
应用
框架streamli...
赞
踩
article
GitHub
使用
教程
(小白版)
_
github
网站
教程
...
看一百篇文章不如自己写一篇。
_
github
网站
教程
github
网站
教程
看一百篇文章不如...
赞
踩
article
Python
并发编程:
多线程
...
全局解释锁(Global Interpreter Lock,简称GIL)是
Python
(特别是C
Python
)解释器中的...
赞
踩
article
Qwen2
大
模型
微调
_
微调
qwen2
对话
模型
...
本项目主要关注在大
模型
的
微调
上,所以使用Lora技术对
Qwen2
大
模型
进行
微调
,打造了一个医疗问答助手,相关
模型
文件已在...
赞
踩
article
Spark
RPC
框架详解...
Spark
Context构造过程的重要一步,就是Driver、ApplicationMaster以及Executor之间...
赞
踩
article
网络
安全
等级保护测评-
安全
计算环境
-
Linux
-下篇_
a
)开启
a
uditd
和
rsyslog
审计
进...
测评过程;1、现场核查服务器是否具备
审计
功能;(通常默认都有)2、
审计
策略是否开启:使用命令service
a
uditd
...
赞
踩
article
Fl
Studio
20.9
中文汉化
破解版
永久版
下载
(含Keygen)_
flstudio
汉化包...
FL
Studio
20.9
.0.2736
破解版
是最优秀、最繁荣的数字音频工作站 (DAW) 之一,日新月异。它是一款录...
赞
踩
article
图
的
BFS
算法_
图
bfs
...
BFS
:Breadth-First-Search介绍
BFS
:广度优先搜索类似于树的按层次遍历过程思想访问起始点v之后,依...
赞
踩
article
应届生
必看!
毕业
后
如何
快速进入
高薪
行业
?_年轻人
如何
实现
高薪
就业...
现在
毕业
的
应届生
,十个里面,有八个是迷茫的,迷茫已经成为广大应届
毕业
生的常态。比如,很多应届
毕业
生不知道该
如何
选择第一份...
赞
踩
article
VS
code
解决
npm
install
报错
npm
ERR!
code
ECONNRESET
npm
...
本文介绍了如何在VS
code
中遇到
npm
install
连接错误时,通过更改
npm
registry为淘宝镜像(https:...
赞
踩
article
计算机
视觉
相关
比赛
,
竞赛
|
Kaggle
上
有
哪些
有
趣又多金的
计算机
视觉
类
比赛
?...
原标题:
竞赛
|
Kaggle
上
有
哪些
有
趣又多金的
计算机
视觉
类
比赛
?本文阅读时间约5分钟如今
计算机
视觉
已经成为人工智能领...
赞
踩
article
BFS
:解决
拓扑
排序
问题...
要知道什么
拓扑
排序
我们首先要知道什么是有向无环图,有向无环图我们看名字其实就很容易理解,有向就是有方向,无环就是没有环形...
赞
踩
article
MySQL
(三)
:
子
查询
...
本文详细解读了Java面试中的常见问题,涉及
子
查询
的不同用法(ANY、IN、SOME、ALL),独立和相关
子
查询
的区别,...
赞
踩
article
C语言
与
嵌入式
GUI
开发
:µ
GFX
、
LVGL
等
嵌入式
图形库的使用与定制(一)_
lvgl
gfx...
C语言
作为一门简洁、高效且贴近硬件的编程语言,自其诞生以来便在
嵌入式
系统
开发
中占据着无可替代的重要地位。_
lvgl
gf...
赞
踩
article
推荐开源
项目
:
H5HandLock
-
手势
解锁
的
HTML5
实现
...
推荐开源
项目
:
H5HandLock
-
手势
解锁
的
HTML5
实现
项目
地址:https://gitcode.com/son...
赞
踩
相关标签
全局处理
java
spring boot
r语言
AI使用
使用指南
安装
环境配置
ollama
大模型
语言模型
羽毛球交流平台系统
项目源码
网页设计
课程设计
spring
毕业设计
机器学习
github
学习
笔记
python
前端
人工智能
自然语言处理