如何看芯片手册(一)

我归纳了一下,大致把芯片分为两种,按照用途不同一种叫做Master(主)一种叫做Slave(从)。这个分法是我自己分的,只是为了方便掌握而已。OK,我们先来看Master,一般这个角色又可以被称为SOC(System On chip),即系统级芯片。SOC又可以分为三种,一种叫MCU(Micro Control Unit),一种叫MPU(Micro Processor Unit),还有一种叫DSP我不是很了解,MPU、MCU两者之间没有明确的分界线,但是个人认为这种区分依然是非常有必要的。

我们先来看一款MCU的手册。先看一款非常普遍使用的stm32来自意法半导体,我随便从网上下的DATASHEET。有人说为什么不找中文的,一般芯片手册是没有中文的,而且中文的芯片手册排版上一般不是很规范,看起来反而不是很顺手。据我看手册的经验来看,要看懂手册和自身的英文水平关系不大,一般达到cet-4就可以了。要是有人告诉你看手册所以要学好英语,这种人一般都是混的。

首先,先看旁边的书签(图2-1),相当于我们看书的目录,目录上基本概述了一些信息。

(图2-1)

一般Introduction非常短,没什么内容,跳过。Description,

这里是(如图2-2)。

下面我们来看一下Description的截图:

(图2-2)

从上面我们可以得到以下基本信息:

1、  频率达到72MHZ,片内的Flash Memory 128k,SRam20k.

2、  两个APB总线(时钟方面)

3、  两个12-bit的ADCs,一般MCU会带,而MPU不会。

4、  外设总线I2C SPI USART USB CAN

Q:这些属性对于STM32的意义在哪?

Da:1、时钟是芯片的心脏,Flash块状存储,SRam静态内存;要是这些不知道应该找出一本51的书看看了。

2、APB这个事为了省电设计的,我们可以在不需要某些外设的时候停止外设对应的时钟,当需要的时候再开启,那么就达到了省电的目的。

3、ADC 即Analog-to-Digital Converter不多解释了。

4、外设总线系统,我们就可以提出一个问题:

这些外设总线是用来干嘛的?

我们是否都可以猜想一下,这是一种标准,就像插座一样,有三个头的,有两个头的,公母头。那么这些外设的总线系统有没有可能接到一下外围的同样配置了对应的外设总线的芯片呢?人们为了方便是不是提出了一个相应的标准来规范这些芯片呢,从而使得SOC的外设和芯片的外设一一对应。

对于我们开发的人而言,是不是掌握了这几种外设总线就掌握了数字电路的连线么。看似复杂的原理图是不是迎刃而解!OK,这些我会在以后进行补充说明。

在Description中,还会有一些比如时钟图Device overview等等这些东西是芯片内部的构造可以帮助你更好地理解整个芯片,一般是回过头来再看的。

而且具体情况具体分析,说明也比较复杂,我会另外写一篇专门描述。

(图2-3)

下面来看pin Description,(图2-4)

OSC OS即系统 C 即 Clock ,NC 表示与内部无连接,它的意义在于维持封装。

一般接下来会给一个Pin definitions 的表格详细说明每个引脚的作用,肯定有的。

红色圈圈画出来的是复用功能,我们可以在程序里声明来使用这些功能。

一般这些功能就是对应外设总线,比如我们上面提到的I2C SPI USART USB CAN等等,具体这些怎么用,不应该由具体的芯片手册得到,手册不会告诉你全部的东西,你应该在用的时候找GOOGLE或是查看Slave的芯片手册(可能会有)。

(图2-4)

Electrical characteristics 电气特性,一般是PCB 工程师看的。

Package characteristics 封装特性,一般是PCB 工程师看的。

Order codes 说明的是每一种芯片型号对应的不同的特性:如flash大小什么的。

OK,这样是不是就结束了。事实证明这一手册是给硬件工程师看的。一般我不画板子,画画原理图还行,我布线总是太丑了,一看就知道是新手。

那么我们偏向驱动的工程师该应该看什么呢?

时序图!可是貌似这里没有!

那我们找一个有的,再看看。用我手上的Samsung的2440.这是一款MPU 32位,arm 9架构 。stm32 也是一款32位的芯片 CM3架构,等看完2440再回过头来看MCU和MPU的区别。

我们可以看,是不是有很多和stm32一样的的外设总线,UART、I2C、SPI、USB。

说明一下这里的ADC&TOUCH,这个事触摸板的,和Stm32的ADC不是一回事情。STM32是用来采样的,当然一定要用作触摸板我想也是可以的,可我没用过,我以前用的是TFT控制器RA8875上面有触摸的模块。把touch pan连接到 RA8875 上就好了。

不扯了。

(图2-5)

OK,我们随便看一个。

就看SPI吧。

四种SPI模式,我就讲第一种。

MSB(Most Significant Bit)最高有效位,就是bit7.

MOSI—— Master out Slave In ,就是2440对外围的SPI设备下发指令。我们可以看这个时序图。

芯片之间的通信原则,

A说的B要听得懂

A说的B要跟得上。

(第一种)我们可以看到 基本上市SPICLOCK上升沿的时候读入数据,而下降沿的时候准备一个新的数据。周而复始,直到发完整个数据8位。

其实SPI就是芯片之间约定的一种个协议,在编写驱动程序的时候既要照顾到我们的Master也要照顾到具体的外围电路。SPICLOCK不能太快,在否则Slave反应不过来。

OK,所以我们还要根据具体的芯片来调整Master里控制寄存器的参数,来适应某个芯片或是达到相应的功能。

如何看芯片手册(一)

时间: 2024-08-10 17:03:53

如何看芯片手册(一)的相关文章

芯片手册写错了,很悲剧

芯片手册是一个非常严谨的东西,至关重要,但是芯片手册上的描述都是正确的吗?从笔者的经验来说,未必啊!可以这样说99%是不大可能出错,也还存在1%可能是有错误的.当然我们日常开发碰到问题的时候,首先还是不要怀疑芯片手册会不会有错,需要做大量的实验,研究一些资料,再根据实际情况来综合判断. /*****************************************************************************************************/声明:

【资源共享】完整版RK3399芯片手册《RK3399 Technical Reference Manual 1.4》

[资源共享]完整版RK3399芯片手册 <RK3399 Technical Reference Manual 1.4> 完整资料总共824页 详细的寄存器与操作资料 下载地址:http://developer.t-firefly.com/thread-12361-1-1.html

芯片手册查询网站

转载: http://bbs.ednchina.com/BLOG_ARTICLE_125649.HTM 作为电子工程师,芯片的datasheet肯定是每天都要接触的.记得在学校学习的时候,芯片手册都是印在书上的,于是以后做电子小制作时,都那课本来看.显然书上不可能有所有的芯片手册,也不可能得到及时更新.于是我们学会了上网查找.我的一般流程是:1.到芯片datasheet下载网站下载datasheet   2.根据datasheet作出设计 3.到中发网或其他网站(好像21ic)找出哪个公司有现货

如何快速的获得url地址中参数名和参数值(在看PHP手册的时候无意间看见这两个函数,猜想能不能搭配使用。)

今天在看手册的时候,无意间看到这两个内置函数parse_url和parse_str.看到他们的用法后,我突然想到能不能利用这两个函数来获得url地址中的参数.为了验证我的猜想,我就以如下url为例子:https://www.baidu.com/baidu?wd=百度&tn=monline_4_dg&ie=utf-8 代码如下: $url = 'https://www.baidu.com/baidu?wd=百度&tn=monline_4_dg&ie=utf-8'; $url_

FPGA基础知识7(从芯片手册获取参数FPGA时序约束--“CMOS Sensor接口时序约束”)

需求说明:FPGA基本知识 内容       :如何确定时序约束数值 来自       :时间的诗 来源:http://www.61ic.com/Technology/embed/201304/48186.html FPGA工程的功能框图如图所示.上电初始,FPGA需要通过IIC接口协议对摄像头模块进行寄存器初始化配置.这个初始化的基本参数,如初始化地址和数据存储在一个预先配置好的FPGA内嵌ROM中.在初始化配置完成后,摄像头就能够持续输出RGB标准的视频数据流,FPGA通过对其相应的时钟.行

看php手册2015-03-19版后备注

类与对象->基本概念:1,#############################::class 自 PHP 5.5 起,关键词 class 也可用于类名的解析.使用 ClassName::class 你可以获取一个字符串,包含了类 ClassName 的完全限定名称.这对使用了 命名空间 的类尤其有用. Example #7 类名的解析as stated in the docs is:<?phpnamespace NS {    class ClassName {    }    echo

(三) UART 串口通讯

UART  : university asynchronous receiver and transmitter UART  // 通用异步接收器和发送器 为什么要有串口:因为许多嵌入式设备没有显示屏,无法获得设备的实事数据信息,所以可以通过 UART 串口和超级终端相连,打印嵌入式设备输出信息.也可以通过串口跟踪和调试. 比如设备: 网络路由器.交换机通过串口配置, GPS接收器通过串口输出GPS接收的数据. 1.异步通信技术:发送和接收方没有同步时钟,只有数据线,但是协商好了协议,(固定频率

ubuntu系统下很受欢迎的PDF阅读器--okular

环境:物理机 + Ubuntu12.04 自带的阅读器evince是一个轻量级的PDF阅读器(只占用11M空间,okular占用149M),可以满足基本功能需求.但是,有一个问题最近让我 很头疼,背景永远是高亮的白色,看芯片手册或者原理图看久了会对眼睛造成很大伤害.于是,上网找了下其它的PDF阅读器,据说有linux版的福昕阅读 器,没有去尝试,选择了比较受欢迎的okular. 一. 用命令行安装 sudo apt-get install okular 安 装好后,查看软件version为0.1

作为一个新人,怎样学习嵌入式Linux?

作为一个新人,怎样学习嵌入式Linux?被问过太多次,特写这篇文章来回答一下. 在学习嵌入式Linux之前,肯定要有C语言基础.汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会).C语言要学到什么程度呢?越熟当然越好,不熟的话也要具备基本技能.比如写一个数组排序.输入数字求和什么的.学C语言唯一的方法是多写程序多练习,编译出错没关系,自己去解决:执行出错没关系,自己去分析.以前我是用VC来练习C语言的,经常去尝试着写一些C语言竞赛的题目.它们是纯C.纯数学.纯逻辑的题目,不涉及界面这些东