嵌入式ARM9micro2440底板制作精品文档21页Word文档格式.docx
《嵌入式ARM9micro2440底板制作精品文档21页Word文档格式.docx》由会员分享,可在线阅读,更多相关《嵌入式ARM9micro2440底板制作精品文档21页Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
如啄木鸟的嘴是长长的,尖尖的,硬硬的,像医生用的手术刀―样,给大树开刀治病。
通过联想,幼儿能够生动形象地描述观察对象。
一、摘要
为适应嵌入式技术在现代工业及电子等更多领域的广泛应用,通过对ARM9嵌入式微处理器芯片
S3C2410的研究,设计出基于S3C2410核心板的嵌入式系统开发底板,更多的需求及功能可在其底板上
进行扩展与实现。
首先对ARM9嵌入式微处理器S3C2440进行介绍,然后给出了基于S3C2440核心板的嵌入式系统开发底板的设计与功能扩展,包括开发板总体设计,电源模块设计,各种通信模块设计如串口、JTAG接口、网络接口、CAN总线通信接口等。
该模板的设计实现了嵌入式系统在更多更广泛领域应用的灵活性。
关键词
ARM9S3C2440嵌入式微处理器嵌入式系统
AbstractToadaptingfortheembeddedtechnology’sapplicationwidelyinthemodernindustry,electronandsoon,itisthedesignfortheembeddedsystemexploitationmotherboardbasedonS3C2410coreboardthroughtheresearchonARM9embeddedmicroprocessorS3C2440.Moredemandandfunctioncanextendandcometrueonthemotherboard.Firstly,introduceARM9embeddedmicroprocessorS3C2440.Thenintroducethedesign
fortheembeddedsystemexploitationmotherboardbasedonS3C2410coreboardandthefunctionextend,includingexploitationmotherboards’collectivitydesign,powersupplydesign,allkindsofcommunicationmoduledesign,suchasserialinterface,JTAGinterface,networkinterface,CANbuscommunicationinterfaceandsoon.Themotherboard’sdesignhasrealizedtheembeddedsystemapplication’sflexibility.
KeywordsARM9S3C2440EmbeddedmicroprocessorEmbeddedsystem
二、ARM简介
如果说,“嵌入式”是2019年电子工程师谈论得最多的词之一,2009年谈论得最多的一个词就是“ARM”。
究竟什么是ARM呢,他是英国一家电子公司的名字,全名的意思是Advanced
RISC
Machine。
该公司成立于1990年11月,是苹果电脑,Acorn电脑集团和VLSI
Technology的合资企业。
Acorn曾推出世界上首个商用单芯片RISC处理器,而苹果电脑当时希望将RISC技术应用于自身系统,ARM微处理器新标准因此应运而生。
80年代末90年代初半导体行业产业链刚刚出现分工,台积电,联电等半导体代工厂正悄悄崛起,美国硅谷中的一些fabless公司也如雨后春笋一样涌现出来,所谓的fabless公司自己设计芯片,但是生产过程则包给台积电等代工厂生产。
而ARM更是为天下先,19年前首创了chipless的生产模式,即该公司既不生产芯片,也不设计芯片,而是设计出高效的IP内核,授权给半导体公司使用,半导体公司在ARM技术的基础上添加自己的设计并推出芯片产品,最后由OEM客户采用这些芯片来构建基于ARM技术的系统产品。
这种方式有点象通信行业的高通和半导体行业的RAMBUS,他们站在了半导体产业链上游的上游。
19年前成立的ARM可能面临着很大风险,因为没有人知道这条路能不能行得通,但是现在的事实已经证明,ARM走了一条没人走过,却是正确的道路。
,作为附加产品,他还让中国的行业人士从这个窗口认识到了英国的电子公司,ARM的成功带动了英国的chipless公司的发展。
因为ARM的产品是IP
Core,没有任何物理意义上的硬件或者软件实体,所以只能在中国注册成为“咨询”公司,尽管咨询只是其业务中很小的一块。
ARM的核心业务是销售芯片核心技术IP,目前全球有103家巨型IT公司在采用ARM技术,20家最大的半导体厂商中有19家是ARM的用户,包括德州仪器,意法半导体,Philips,
Intel等。
20大巨头中唯一没有购买ARM授权的是Intel的老对头AMD,因为Intel便携式处理器采用的是StrongARM,而AMD则收购了Alchemy公司与之抗衡,采用的是MIPS结构。
Mrico2440是一款用于学习和实践的一款ARM9开发板,是目前国内性价比最高的一款学习板;
Micro2440是一个双层电路底板,核心板采用6层板设计的开发板。
为了方便用户学习开发参考使用,底板引出了常见的各种接口,并且大部分都集中在电路板一侧,多余的IO口和系统总线则通过2.0mm间距的插针引出。
可以组合固定,不会有很多电线“缠身”,运行时只要连好5V电源,开机就可进入精彩的嵌入式世界。
本文讲的是在市场需求下制作Mrico2440底板的步骤。
三、基于ARM9-S3C2440最小系统的需求分析
在选择嵌入式系统硬件进行设计时,最重要的是先选择ARM处理器类型进行相关的分析。
因为ARM处理器不仅决定了整个系统的性能,而且影响其他硬件的选用,以及操作系统和软件代码的配置。
根据微处理器芯片的内部结构图和外部引脚功能图可以对系统进行整体的功能需求分析。
如下图所示为系统的功能图。
S3C2440
本核心板的设计正是以此基于ARM9-S3C2440的系统功能图为基础,根据课程设计预期仅设计出最小系统,就整个嵌入式系统而言,最小系统核心板是其核心灵魂,一般核心板都进行单独设计,以利于其低噪声、低功耗、小体积等的要求,而不与其他功能部分在一起。
最小系统以外的各个功能部分可根据用户需求另行设计出用户底板。
实际应用中,只需要将此最小系统核心板的J1、J2口与用户底板进行连接就可以实现用户需求的功能。
以ARM内核嵌入式微处理器为中心,具有完全相配接的SDRAM电路、Flash电路、电源电路、时钟晶振及复位电路和扩展总线等,保证嵌入式微处理器正常运行的系统,可称为嵌入式最小系统。
S3C2440芯片是不能独立工作的,需要一些必要的外围元器件给它提供基本的工作条件。
因此,一个基于ARM9-S3C2440的最小系统一般包括:
(1)ARM9微处理器芯片,这是嵌入式最小系统的心脏。
(2)电源电路,是整个系统工作的前提,主要为其他模块提供稳定的电压;
在设计PCB板时,给各个单元电路提供高质量的电源,会使系统的稳定性大幅度提高。
(3)系统时钟晶振电路,为系统的各个部分提供相应的时钟频率,也是影响系统运行速度的重要因素。
(4)存储器(SDRAM和FLASH),微处理器片内4KB
SRAM,用作NAND
Flash系统引导区,需要外扩存储器。
本设计中采用现代公司的HY57V561620BT-H芯片外扩了64MB
SDRAM,Samsung公司生产的K9F1208芯片实现外扩64MB
NAND
Flash和SST39VF1601实现外扩2MB
NOR
Flash。
Flash主要存放嵌入式操作系统、用户应用程序或其他在系统掉电后需要保存的数据,SDRAM主要是系统代码运行的场所
(5)JTAG调试接口,操作系统软件的下载与烧写都要通过它来完成。
本设计将JTAG调试接口做在用户板上,以利于核心板的设计,保证稳定良好的性能。
本设计只提供最小系统核心板的硬件设计,如图下图所示为其设计需求图。
根据设计需求可以基本确定出本设计的流程,其中较为重要的理论部分是最小系统各部分功能模块的原理图设计。
此最小系统核心板由五大部分组成:
电源、S3C2440、存储部分、系统时钟晶振、I/O接口等。
本设计需要设计的功能模块分别为:
电源部分、系统存储部分、系统时钟的晶振部分、I/O接口等。
由此可以对各个模块所需要的芯片进行选型,然后确定原理图,进行PCB设计等,最终进行系统测试并完成设计。
四、基于ARM9-S3C2410最小系统的设计及系统测试流程
下图为本设计的最小系统的硬件设计及系统测试流程图。
基于ARM9的最小系统核心板硬件设计完成后,通过由核心板上的扩展接口所引出的信号,根据用户自身的特定需求来扩展外围电路。
整个系统硬件设计的最终是构建出一个具有体积较小、功耗较小、成本低、运行稳定的ARM嵌入式平台。
五、底板制作流程:
总体设计主要包括以下内容:
1、单板在整机中的位置:
单板功能描述
2、单板尺寸
3、单板逻辑图及各功能模块说明
4、单板软件功能模块划分
5、接口定义及与相关板的关系
6、重要性能指标、功耗及采用标准
7、开发用仪器仪表等
六、PCB布线布局
对于PCB的布局布线,我们在根据原理图模块化思想的前提下,将按电路模块进行布局,电路模块中的元件采用就近集中原则,同时数字电路和模拟电路分开。
同时,注意到线与线之间的距离以及元件之间相互干扰的情况下,我们采取了以下几个措施:
布局规则:
1、
元器件的外侧距板边的距离为5mm;
2、贴装元件焊盘的外侧与相邻插装元件的外侧距离大于2mm;
3、金属壳体元器件和金属件(屏蔽盒等)避免了与其它元器件相碰,没有紧贴印制线、焊盘,其间距大于2mm。
定位孔、紧固件安装孔、椭圆孔及板中其它方孔外侧距板边的尺寸大于3mm;
4、发热元件避免了紧邻导线和热敏元件;
5、电源插座布置在印制板的四周,电源插座与其相连的汇流条接线端布置在同侧。
特别注意不要把电源插座及其它焊接连接器布置在连接器之间,以利于这些插座、连接器的焊接及电源线缆设计和扎线。
电源插座及焊接连接器的布置间距也要考虑方便电源插头的插拔;
6、所有IC元件单边对齐,有极性元件极性标示明确,同一印制板上极性标示不得多于两个方向.贴片焊盘上不能有通孔,以免焊膏流失造成元件虚焊。
重要信号线不准从插座脚间穿过;
贴片单边对齐,字符方向一致,封装方向一致;
有极性的器件在以同一板上的极性标示方向尽量保持一致。
布线规则:
1、画定布线区域距PCB板边≤1mm的区域内,以及安装孔周围1mm内,禁止布线;
2、电源线尽可能的宽,不低于18mil;
信号线宽不低于12mil;
线间距不低于10mil;
3、正常过孔不低于30mil;
4、双列直插:
焊盘60mil,孔径40mil;
1/4W电阻:
51*55mil(0805表贴);
直插时焊盘62mil,孔径42mil;
无极电容:
直插时焊盘50mil,孔径28mil;
5、注意电源线与地线应尽可能呈放射状,以及信号线不能出现回环走线。
PCB设计图如下:
底板原理图如下:
七、元件清单
八、Micro2440SDK底板介绍
Micro2440SDK底板布局及接口资源如下图所示,它是一个双层电路板,上面引出了常见的各种接口,并且大部分都集中在电路板一侧,多余的IO口和系统总线则通过2.0mm间距的插针引出。
Micro2440SDK底板布局及接口资源如上图所示,它是一个双层电路板,为了方便学习开发参考使用,上面引出了常见的各种接口,并且大部分都集中在电路板一侧,多余的IO口和系统总线则通过2.0mm间距的插针引出。
Micro2440SDK底板资源特性:
*1个100M网络RJ-45接口,采用DM9000网卡芯片
*3个串口接口,分别有RS232接口和TTL接口引出
*4个USBHost(使用USB1.1协议),通过USBHUB芯片扩展
*1个USBSlave(使用USB1.1协议)
*标准音频输出接口,在板麦克风(MIC)
*1个PWM控制蜂鸣器
*1个可调电阻接W1,用于AD转换测试
*6个用户按键,并通过排针座引出,可作为其他用途。
*1个标准SD卡座
*2个LCD接口座,其中LCD1为41Pin0.5mm间距贴片接口,可直接连接本公司提
供的真彩屏显示模块或者VGA转接板,另一个LCD接口适合直接连接群创
7”LCD。
*2个触摸屏接口,分别有2.0mm和2.54间距两种,实际它们的定义都是相同的,
*1个CMOS摄像头接口(CON4),为20Pin2.0mm间距插针,可直接连接本公司的
CAM130摄像头模块。
*在板RTC备份电池
*1个电源输入口,+5V供电
主要接口定义:
Micro2440SDK参考底板除了常见的标准接口:
音频输入和输出、DB9串口COM0,
COM1、COM2、USBHost和USBSlave、RJ-45网络接口、SD卡座等,为了方便学习开发,还引出了其他GPIO、系统总线接口等外设和接口,它们的名称及定义可以在用户手册中查询。
S3C2440A
包含了130
个多功能输入/输出口引脚并且它们为如下显示的八个端口:
–
端口A(GPA):
25
位输出端口
端口B(GPB):
11
位输入/输出端口
端口C(GPC):
16
端口D(GPD):
端口E(GPE):
端口F(GPF):
8
端口G(GPG):
端口H(GPH):
9
端口J(GPJ):
13
每个端口都可以简单的由软件配置为各种系统配置和设计要求。
你必须在开始主程序前定义使用的每个引脚的功能。
如果没有使用某个引脚的复用功能,这个引脚可以配置为I/O
口。
端口控制描述
端口配置寄存器(GPACON
至GPJCON)
中,大多数端口为复用引脚。
因此要决定每个引脚选择哪项功能。
PnCON(引脚控制寄存器)决定了每个引脚使用哪项功能。
如果在掉电模式中PE0
至PE7
用于唤醒信号,这些端口必须配置为输入模式。
端口数据寄存器(GPADAT
至GPJDAT)如果端口配置为输出端口,可以写入数据到PnDAT
的相应位。
如果端口配置为输入端口,可以从PnDAT
的相应位读取数据。
端口上拉寄存器(GPBUP
至GPJUP)
端口上拉寄存器控制每个端口组的使能/禁止上拉电阻。
当相应位为0
时使能引脚的上拉电阻。
当为1
时禁止上拉电阻。
如果使能了上拉电阻,那么上拉电阻与引脚的功能设置无关(输入、输出、DATAn、EINTn
等等)
杂项控制寄存器
此寄存器控制睡眠模式,USB
引脚和CLKOUT
选择的数据端口上拉电阻。
外部中断控制寄存器
24
个外部中断由各种信号方式触发。
EXTINT
寄存器为外部中断请求配置信号触发方式为低电平触发、高电平触发、下降沿触发、上升沿触发或双边沿触发。
由于每个外部中断引脚包含一个数字滤波器,中断控制可以确认请求信号是否长于3
个时钟。
EINT[15:
0]用于唤醒源
下面是结合具体的程序(用的是FL2440开发板):
一般步骤:
上拉寄存器和控制寄存器设置
I/O口上拉寄存器和控制寄存器设置比较简单,首先确定I/O
口工作模式,如果
是工作在第二功能状态,则上拉电阻功能禁止,即
GPBUP~GPHUP
中相应位置
1;
如果工作在基本输入
/输出状态,则上拉电阻功能允许,此时因上电或复位时
初值为
0,所以在程序中不用设置。
I/O口数据寄存器中每一位输入
/输出功能大多由
I/O
口控制寄存器中两位控制,如
GPHDATA[0],即
GPH0
的
输入
/输出功能,由
GPHCON[1:
0]
控制,
0]=0
0,该位作输入;
1
,该位作输出;
0]=1
0
,该位作nCTS0;
GPHCON[1
:
1,系统保留没用。
其他各口与此相同,编写
程序时一定注意
GPnCON
和GPnDATA
中位的对应关系。
I/O口与外围设备连接一般要通过光电隔离或其他隔离器件,直接相连一定要确认负载不能超过
4个与非门。
光电隔离一是可保护微处理器;
二是可进行电平转换;
三是可对某些信号进行分配,所以在一般情况下都要加。
#define
GPBCON
(*(volatile
unsigned
*)0x56000010)
GPBDAT
*)0x56000014)
GPBUP
*)0x56000018)
uchar
char
uint
int
void
Delay(int
x);
x)
k,
j;
while(x)
for
(k=0;
k<
=0xff;
k++)
for(j=0;
j<
j++);
x--;
}
ledMain(void)
{
=
0x1dd7fc;
//
GPB5,GPB6,GPB8,GPB10设置为输出
((1<
<
5)|(1<
6)|(1<
8)|(1<
10));
//使LED全灭
GPBDAT&
=0xffe;
//关闭蜂鸣器
0x00;
//使能上拉寄存器,因为作为输出口所以要使能上拉
while
(1)
死循环
~(1<
5);
//LED0亮
Delay(500);
6);
//LED1亮
8);
//LED2亮
10);
//LED3亮
return
0;
}
九、结论与展望
本论文主要是围绕ARM9微处理器S3C2440而开展的最小系统核心板的硬件设计以及硬件调试。
通过本论文掌握了解ARM9-S3C2440的结构与特点,掌握该类嵌入式微处理器的开发技术及软硬件初步的调试方法。
从而熟悉嵌入式微处理器类的系统硬件开发流程,以及掌握开发过程和调试过程中相应问题的解决方案。
最终,本设计的核心板通过测试分析,对核心板进行测试和修正,验证了核心板的性能。
通过对整个设计过程的分析,现总结几点结论:
基于嵌入式微处理器的最小系统核心板的硬件开发,首先要进行系统需求及功能的分析,明确所要实现的功能要求;
然后根据要求进行器件的选型,搜集相关的器件资料。
有效地利用核心处理器的内部与外扩资源进行电路设计是非常重要的。
(2)
整个设计的实际制作过程是通过利用EDA软件来完成的,而PCB布局布线环节十分重要。
它影响着设计结果的一些重要性能。
熟练并良好的利用EDA软件对技术人员来说十分重要。
(3)
在设计和调试过程中,要充分地了解和掌握各模块的基本原理,只有较好地掌握了相关原理,才能灵活地做好设计和调试工作。
(4)
电源是核心板设计的灵魂部分,在设计过程中要注意多考虑其影响;
(5)
在原理图设计中要认真核对每一部分的每一引脚,以免因为某一局部的问题的对整个核心板造成无法挽回的影响;
(6)
在最小系统的规划中,考虑到核心板体积和局部对整体的影响,要将不必要在核心板上进行的设计安排在底板上。
另外,在设计开发过程中一定要注意问题的分析与总结,最好是做好笔记,出现问题后要从根本上查找原因,寻找解决方案,问题解决后及时总结,记录原因及相应解决方案,以备后用。
由于设计时间和个人能力的限制,本课题虽然有了一定的成果,但在某些方面仍存在一定的问题,需要继续改进:
核心板的PCB设计中可以将一些器件放置在PCB板背面以利于布线而达到良好的稳定性以及实现更低的制造成本,同时也使核心板的体积更小;
在核心板规划中应考虑到总线驱动部分的安排,这对于整个核心板的信号稳定性有很大的影响;
本课题只是对核心板的硬件做了设计。
基于ARM9的嵌入式系统的开发还需要根据用户的需求进行底板和软件的开发。
附录
测试程序如下:
#include
"
def.h"
opti