arm最小系统
从今天开始,我算是从头开始来学习嵌入式linux了,之前都走过了,arm裸板 程序设计,linux内核分析,linux系统程序设计,驱动程序设计每个阶段都只是浅尝辄止,总算是把整个嵌入式的学习流程有了一个大致的概念,那么从 今天开始就开始对每个阶段进行细致、深入的学习。对前面学习的总结我把接下来的学习分为如下的几个阶段:
1:c语言功底
2:arm裸板程序设计
3:linux系统程序设计。
4:嵌入式linux环境的搭建:
5:linux驱动程序设计。
6:linux内核学习。
而这里我就开始从arm裸板程序设计开始学习,这个阶段的学习的主要目的有:(1):精通arm板级资源以及外围硬件资源
(2):精通电路图的阅读,(3):芯片手册的阅读能力。
下面开始这个阶段的第一个内容的学习
arm最小系统
想起以前学习单片机的时候或者是用单片机做一个东西的时候总是先做一个最小系统,最小系统能够跑起来了然后再开始后面的工作。这个阶段叫做 arm裸板程序设计,其实质就是将arm也当作一个单片机来用。回想一下51的最小系统:电源,晶振,复位电路。arm的最小系统是什么呢,估计也差不 多,在网上找到一个周立功的资料。看后之后将其总结一下,然后再分析一下我的hf44b0和mini2440板子。
一:arm最小系统概述
学习arm从最小系统开始这绝对是一个正确的选择,这也是周立功力捧的方法。和51相比就多了存储系统和调试系统。
电源、时钟、复位电路、存储系统、调试系统。
二:电源设计
从我的mini2440原理图中可以看到有上面的三个关于电源的降压电路,从外部接的变压器过来都是5v,三个变压芯片分别输 出:3.3,1.8,1.25.在原理图中跟踪三个电源的去处。看以看到1.25是接到了camera芯片上,先不深究这个。1.8则接到了camera 的插槽上,不太明白这是做什么的。3.3接的就多了,让我懂点的就是接在了2440的电源脚上。上面用到了三个芯 片:MAX8860EUA18,LM1117-18,LM1117-33,这些降压芯片加上周围这些电容什么的就构成了电源系统,这些电容是根据什么来接 的呢?我看了一下这三个芯片的手册发现都有一个典型应用,这个电路大致就是按照那个手册里面的典型应用来接的。说到电源电路的设计,这个也算是划分到了模 拟电路的知识范围,对大多数人来说模电一直是个软肋,我也不例外,电源的设计还是需要考虑很多因素,还要一些经验。到目前为止我还从来没有设计过电源,即 使做过那也是非常简单的。只能看别人说的设计电源应该考虑的因素了,下面是周立功:
设计电源时要考虑的因素:
1.输出的电压、电流、功率;
2.输入的电压、电流;
3.安全因素;
4.输出纹波;
5.电磁兼容和电磁干扰;
6.体积限制;
7.功耗限制;
8.成本限制。
在这七点里面,我不理解的就是4.输出纹波,5电磁兼容和电磁干扰。以后还得加强学习。
二:时钟
1:时钟控制逻辑单元能够产生s3c2440需要的时钟信号,包括CPU的FCLK,AHB总线设备使用的HCLK,APB总线使用的PCLK,2440内部有两个PLL(锁相环):一个对应FCLK,HCLK,PCLK.另外一个对应USB使用的48MHz.
2:Fout=2*m*Fin/(p*2^s);m=MDIV+8;p=PDIV+2;s=SDIV
这是从2440的中文手册中载下来的。
这是原理图上2440旁边的晶振电路:
通过上面收集的资料应该对时钟电路有了一个大概的认识,不过也不是很清楚。
四:复位电路
微控制器在上电时状态并不确定,这造成微控制器不能正确工作。为解决这个问题,所有微控制器均有一个复位逻辑,它负责将微控制器初始化为某个确定的 状态。这个复位逻辑需要一个复位信号才能工作。一些微控制器自己在上电时会产生复位信号,但大多数微控制器需要外部输入这个信号。这个信号的稳定性和可靠 性对微控制器的正常工作有重大影响。
这里的复位电路用的一个MAX811芯片,其电路的设计也是按照芯片手册里面的典型应用来连接的。
来源:http://www.cnblogs.com/gaomaolin_88/archive/2010/06/06/1752470.html