首页 > 代码库 > 如何看芯片手册(一)

如何看芯片手册(一)

我归纳了一下,大致把芯片分为两种,按照用途不同一种叫做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里控制寄存器的参数,来适应某个芯片或是达到相应的功能。