ARM嵌入式系统实验指导书文档格式.docx
《ARM嵌入式系统实验指导书文档格式.docx》由会员分享,可在线阅读,更多相关《ARM嵌入式系统实验指导书文档格式.docx(79页珍藏版)》请在冰豆网上搜索。
(13)提供详细的使用教材,实验例程。
(14)可进行GPIO的控制实验,如LED控制、键盘输入、蜂鸣器控制、模拟SPI等;
(15)可进行外部中断实验,学习向量中断控制器(VIC);
(16)定时器控制实验,如定时控制LED、匹配比较输出等;
(17)使用RS232转换电路,完成UART通讯实验;
(18)使用板内的CAT24WC02,完成I2C总线的实验;
(19)使用74HC595芯片,实现SPI接口数据发送、接收实验;
(20)具有PWM输出测试点及滤波电路,实现PWM输出、PWMDAC实验;
(21)实时时钟控制实验;
(22)WDT及低功耗控制实验;
(23)ADC数据采集实验。
二、硬件原理
1.原理图
EasyARM2100开发实验板电路原理图如图1所示。
图1EasyARM2100开发实验板电路原理图
2.原理说明
(1)电源电路
LPC2114/2124/2119/2129/2194要使用两组电源,I/O口供电电源为3.3V,内核及片内外设供电电源为1.8V,所以系统设计为3.3V应用系统。
首先,由CZ1电源接口输入9V直流电源,二极管D2防止电源反接,经过C1、C3滤波,然后通过78M05将电源稳压至5V,再使用LDO芯片(低压差电源芯片)稳压输出3.3V及1.8V电压。
LDO芯片采用了LM1117MPX-1.8和LM1117MPX-3.3,其特点为输出电流大,输出电压精度高,稳定性高。
系统电源电路如图2所示。
图2系统电源电路
LM1117系列LDO芯片输出电流可达800mA,输出电压的精度在±
1%以内,还具有电流
限制和热保护功能,广泛用户在手持式仪表、数字家电、工业控制等领域。
使用时,其输出
端需要一个至少10uF的钽电容来改善瞬态响应和稳定性。
注意:
EasyARM2100开发实验板使用的电源是9V直流电源,由CZ1电源接口输入,接头上
的电源极性为外正内负。
(2)复位电路
由于ARM芯片的高速、低功耗、低工作电压导致其噪声容限低,对电源的纹波、瞬态
响应性能、时钟源的稳定性、电源监控可靠性等诸多方面也提出了更高的要求。
本实验板的
复位电路使用了专用微处理器电源监控芯片MAX708SD,提高系统的可靠性。
由于在进行
JTAG调试时,nRST、TRST是可由JTAG仿真器控制复位的,所以使用了三态缓冲门74HC125
进行驱动,电路如图3所示。
图3系统复位电路
如图3,信号nRST连接到LPC2114芯片的复位脚
,信号nTRST连接到LPC2114芯片内部JTAG接口电路复位脚
。
当复位按键RST按下时,MAX708SD立即输出复位信号,其引脚
输出低电平导致74HC125C、74HC125D导通,信号nRST、nTRST将输出低电平使系统复位。
平时MAX708SD的
输出高电平,74HC125C、74HC125D截止,由上拉电阻R4、R5将信号nRST、nTRST上拉为高电平,系统可正常运行或JTAG仿真调试。
(3)系统时钟电路
LPC2114/2124/2119/2129/2194可使用外部晶振或外部时钟源,内部PLL电路可调整系统时钟,使系统运行速度更快(CPU最大操作时钟为60MHz)。
倘若不使用片内PLL功能及ISP下载功能,则外部晶振频率范围是1MHz~30MHz,外部时钟频率范围是1MHz~50MHz;
若使用了片内PLL功能或ISP下载功能,则外部晶振频率范围是10MHz~25MHz,外部时钟频率范围是10MHz~25MHz。
EasyARM2100开发实验板使用了外部11.0592MHz晶振,电路如图4所示,用1MΩ电阻R6并接到晶振的两端,使系统更容易起振。
用11.0592MHz晶振的原因是使串口波特率更精确,同时能够支持LPC2114/2124/2119/2129/2194芯片内部PLL功能及ISP功能。
图4系统时钟电路
(4)JTAG接口电路
采用ARM公司提出的标准20脚JTAG仿真调试接口,JTAG信号的定义及与LPC2114的连接如图5所示。
图中,JTAG接口上的信号nRST、nTRST与开发实验板的复位电路连接(参考图3),形成线与的关系,达到共同控制系统复位的目的。
根据LPC2114的应用手册说明,在RTCK引脚接一个4.7KΩ的下拉电阻,使系统复位后LPC2114内部JTAG接口使能,这样就可以直接进行JTAG仿真调试了。
如果用户需要使用P1.26~P1.31作I/O,不进行JTAG仿真调试,则可以在用户程序中通过设置PINSEL2寄存器来使LPC2114内部JTAG接口禁能。
另外,在TRACESYNC引脚通过跳线器JP12接一个4.7KΩ的下拉电阻,可以在系统复位时使能/禁能跟踪调试端口,禁能时(JP12断开)方可使用P1.16~P1.25作I/O。
图5JTAG接口电路
(5)串口及MODEM接口电路
由于系统是3.3V系统,所以使用了MAX3232进行RS232电平转换,MAX3232是3V工作电源的RS232转换芯片。
另外,LPC2114/2124/2119/2129/2194的UART1带有完整的调制解调器(MODEM)接口,所以要使用8路的RS232转换芯片SP3243ECA(或MAX3243ECA)。
如图6所示,JP5、JP6分别为UART0、UART1口线连接跳线,当把它们断开时,这些口线保留给用户作为其它功能使用。
图6串口及MODEM接口电路
当要使用ISP功能时,请把JP5短接,然后将PC的串口(如COM1)与开发实验板的CZ2相连,使用UART0进行通讯。
同时还要把JP8短接,使ISP的硬件条件得到满足。
用户通过CZ3直接连接MODEOM,由LPC2114/2124/2119/2129/2194的UART1控制MODEM拔号、通讯等等。
需要注意的是,LPC2114/2124/2119/2129/2194的ISP使能管脚(P0.14口)与DCD1功能脚复用,在系统复位时若P0.14口为低电平,则进入ISP状态;
同样,在程序仿真调试过程中,若把JP8短接,则DCD1保持为低电平,影响MODEM接口正确使用。
(6)键盘电路
EasyARM2100开发实验板具有6个独立按键,分别为KEY1~KEY6,如图7所示。
由于GPIO作为输入时,内部无上拉电阻,所以要使用R17~R22等6个上拉电阻,当没有按键时,口线值为1,当按键按下时为0;
而R11~R16为口线保护电阻,即当连接按键的I/O设置为输出时,这几个电阻保证了输出口不会直接对地短路。
其中,KEY1、KEY5所连接的口线为P0.16、P0.20,这两个口分别与外部中断EINT0、EINT3复用,所以可用这两个按键进行外部中断的实验、唤醒掉电CPU的实验。
图7键盘电路
(7)LED显示电路
在显示方面,EasyARM2100开发实验板采用了一片74HC595驱动一位静态共阳LED数码管,如图8所示,其时钟(SCK)、数据(SI)分别接到LPC2114的SPI接口的SCLK0、MOSI0,这样就可以发送数据到74HC595;
片选(RCK,即74HC595输出触发端)与P0.29口连接,由P0.29控制74HC595数据锁存输出;
而最高位输出(SQH)连接到LPC2114的SPI接口的MISO0,可用来读回数据。
这样连接就可以进行SPI接口控制实验,并能把74HC595的移位输出读回来(由MISO0读回)。
这一部份电路可用JP3跳开。
在使用硬件SPI接口主方式时,要把SPI0/1的4个I/O口均设置为SPI功能,如P0.4、P0.5、P0.6、P0.7,而且SSEL0/1引脚不能为低电平,一般要接一个10KΩ的上拉电阻。
图8SPI驱动显示电路
另外,EasyARM2100开发实验板还具有4个独立的发光二极管LED1~LED4,分别由P0.22~P0.25输出控制,输出1时对应的LED熄灭,输出0时对应的LED点亮,电路如图9所示。
这一部份电路可用JP4跳开。
电路采用了I/O口灌电流的驱动方式来驱动LED,这样做主要是因为I/O口能提供的灌电流大于其拉电流,保证了LED的显示亮度。
如图9,限流电阻为470Ω,则当I/O输出0时,流过LED的电流计算公式如公式1所示。
图9LED控制电路
(公式1)
其中,Vled为发光二极管的导通压降值,一般为1.7V。
(公式2)
若需要进行大量数据显示,则可使用EasyARM.exe软件进行模拟显示。
EasyARM.exe是一款用于EasyARM2100开发实验板的上位机软件,具有8位模拟数码管显示,全仿真DOS屏显示,模拟日历时钟显示屏等,并且有20个模拟按键输入等,这一切均通过串口通讯控制操作。
(8)蜂鸣器及PWM电路
如图10所示,蜂鸣器使用PNP三极管Q1进行驱动控制,当P0.7控制电平输出0时,Q1导通,蜂鸣器蜂鸣;
当P0.7控制电平输出1时,Q1截止,蜂鸣器停止蜂鸣;
若把JP7断开,Q1截止,蜂鸣器停止蜂鸣。
Q1采用开关三极管8550,其主要特点是放大倍数高hFE=300,最大集电极电流ICM=1500mA,特征频率fT=100MHz。
R36用于限制Q1的基极电流,当P0.7输出0时,流过R36的电流如公式3所示,Ir为2.6mA,假设Q1工作在放大区,则
;
而一般直流蜂鸣器在3.3V电压下工作电流约为28mA,反过来说,只要
=28mA,蜂鸣器上的电压即可达到3.3V,此时Uec≈0V,即Ueb>
Uec,Q1为深度饱和导通,为蜂鸣器提供足够的电流。
(公式3)
由于P0.7口与SPI部件的SSEL0复用,所以此管脚上接一上拉电阻R2,防止在使用硬件SPI总线时由于SSEL0引脚悬空导致SPI操作出错。
图10蜂鸣器控制电路
如图11所示,在PWM输出实验上,使用PWM6(即P0.9引脚)输出,经过R39、C27进行RC滤波,实现PWMDAC控制,而JP11可以断开这部份电路。
PWM测试点可直接测试PWM波形,PWMDAC测试点可以测量PWMDAC的电压值。
图11PWMDAC电路
(9)I2C电路
LPC2114/2124/2119/2129/2194具有支持400K高速模式的硬件I2C接口,所以设计了一片CSI24WC02/CAT24WC02与其连接,实现I2C的读写操作实验。
如图12,总线上拉电阻R37、R38放在JP9跳线之后,当不使用CAT24WC02时,把JP9断开,两个上拉电阻就不会影响口线了(P0.2、P0.3)。
注意,P0.2和P0.3设置为输出时为开漏输出,若需要控制输出1,则必须连接上拉电阻。
为了支持高速I2C总线操作,总线上拉电阻R37、R38的大小为3KΩ,这样总线变化时上升/下降的速度就变快了。
若使用标准100KHz总线速度时,一般其总线上拉电阻为5.1KΩ或10KΩ,以减小总线操作时的功耗。
图12I2C接口实验电路
(10)ADC电路
LPC2114/2124/2119/2129/2194具有4路10位ADC转换器,其参考电压为3.3V(由V3a引脚提供),参考电压的精度会影响ADC转换结果。
EasyARM2100开发实验板提供了两路直流电压测量电路,如图13所示,可调电阻W1、W2用于调整ADC的输入电压,可以在VIN1、VIN2测试点上用万能表检查当前电压值。
R10、R35为I/O口保护电阻,当ADC输入电压调整到3.3V或0V时,而P0.27或P0.28作为GPIO输出0/1,这两个电阻保证电路
不产生短路故障。
JP10可以断开这部份电路。
图13ADC实验电路
EasyARM2100开发实验板中微控制器的所有I/O全部引出,用户可以从用户接口J5找到4路ADC通道对应的I/O。
(11)CAN接口电路
LPC2119/2129具有2路CAN接口,LPC2194具有4路CAN接口,EasyARM2100开发实验板中微控制器的所有I/O全部引出,用户可以从用户接口J5找到4路CAN接口对应的I/O,如图14所示。
将CAN接口与CAN收发器连接(如TJA1050),即可进行CAN总线通讯操作。
图14CAN接口电路
三、硬件结构
1.布局图
EasyARM2100开发实验板布局图如图15所示。
图15EasyARM2100开发实验板布局图
2.跳线器及连接器说明
(1)跳线器说明
EasyARM2100开发实验板跳线器说明如表1,跳线器分布如图16所示。
表1跳线器一览表
(2)连接器说明
EasyARM2100开发实验板连接器说明如表2,跳线器分布如图17所示。
另外,J1~J4为CPUPACK,J8为SP3243ECA接口信号测试点。
图17EasyARM2100实验板连接器
四、其它
1.EasyARM2100开发实验板电源
EasyARM2100开发实验板电源输入接口为CZ1,输入的电源为DC9V,接头上的电源极性为外正内负,当正确连接电源后,POWER灯点亮。
连接器J5有电源输出,可以向用户板提供电源,但要求负载不要过重,也不要与其它电源连接,否则可能导致器件损坏。
2.跳线器
EasyARM2100开发实验板上的功能部件基本上都有相应的连接跳线,当用户使用某个功能部件时,将相应的跳线器短接即可,当用户需要这些口线作为其它用途时,可以将跳线断开,然后通过J5连接到用户的器件上。
其中P0.8~P0.15是UART1的MODEM接口I/O,同时其它器件复用部分口线,如P0.14、P0.9,所以在不使用UART1的MODEM功能时,最好断开JP6所有跳线。
3.CPUPACK的安装
CPUPACK是有方向性的,安装时要特别小心,以免插反导致CPU损坏。
CPUPACK板上印有“EasyARM2100”的字符,安装到开发实验板上时这该字符是正面方向的,如图18所示。
图18CPUPACK安装方向
第2章EasyJTAG-H仿真器的使用
一、EasyJTAG-H仿真器的安装与应用
1.1EasyJTAG-H简介
EasyJTAG-H仿真器是一款新的仿真器,目前,可以支持LPC2000系列ARM7微控制器和部分ARM9芯片,支持ADS1.2集成开发环境,支持单步、全速及断点等调试功能,支持下载程序到片内FLASH和特定型号的片外FLASH,采用ARM公司提出的标准20脚JTAG仿真调试接口。
这款仿真器需要H-JTAG软件(调试代理)的支持。
1.2安装H-JTAG软件
在PC上运行安装文件H-JTAGV0.3.2.EXE,如图1.1所示,根据安装提示完成安装即可。
图1.1H-JTAG软件安装界面
安装好的H-JTAG软件包含有H-JTAGServer(下文简称为H-JTAG)和H-Flasher,在桌面上有它们的快捷图标。
运行程序H-JTAG和H-Flasher后,用户任务栏中将出现图1.2所示图标。
图1.2H-JTAG提示图标
1.3配置H-JTAG软件
将计算机并口与EasyJTAG-H仿真器相连,然后再将EasyJTAG-H仿真器的JTAG接口连
1.3.1H-JTAG配置
H-JTAG设置较简单,只要进行以下两步操作,其它采用默认设置即可。
(1)单击任务栏的H提示图标,将看见H-JTAG的主窗口,如图1.3所示。
单击放大
镜图标按钮后应能看见调试代理发现ARM7处理器。
图1.3H-JTAG主窗口
(2)选择【Flasher】->
【AutoDownload】选择自动下载项,如图1.4所示。
图1.4打开自动下载功能
1.3.2H-Flasher配置
H-Flasher的配置有两种方法,直接加载配置文件与手动配置。
1.加载配置文件配置
单击任务栏的F提示图标将看见H-Flasher的主窗口。
单击Load菜单装载目标板配置文件,如LPC2100.hfc,配置H-Flasher如图1.5所示。
图1.5装载配置文件
2.手动配置
这是通用配置方法。
单击任务栏的F提示图标,确认目标板的CPU型号后,打开H-Flasher的FlashSelection选项,选择正确的CPU型号即可。
如:
开发板上的CPU型号为LPC2114,操作如图1.6所示。
说明:
如果目标板上使用了有外部总线的LPC2200系列的芯片,且外部扩展有Flash,若要将程序烧写到其外部Flash中,请在FlashSelection选项中选择正确的Flash型号。
另外,还要在MemoryConfig中设置Flash的地址,在InitScript中设置目标板的初始化命令。
图1.6选择Flash型号
1.3.3验证并启用配置
验证调试代理配置是否正确,打开H-Flasher的Programming选项单击Check按钮,如果正常,可看到所使用的Flash芯片的型号如图1.7所示。
单击Check按钮时,H-Flasher就会启用当前新的配置值。
到此配置完成。
图1.7Flash编程选项
1.3.4H-Flasher菜单说明
(1)主菜单
New:
新建一个配置文件。
Load:
载入配置文件。
H-Flasher在启动时,总是自动载入最近一次的配置信息。
Save:
将当前的配置信息保存为一个文件。
SaveAs:
将配置信息另存为一个文件。
Option:
调试程序时,是否使能自动计算向量表前32字的累加和。
默认为使能。
(2)Flash编程选项的菜单
Check:
检测芯片内核。
如果EasyJTAG-H连接正确,且芯片型号正确,则Check后会显示芯片的基本信息。
Type:
烧写文件的类型。
AutoFlashDown:
自动下载方式
IntelHexFormat:
下载Hex文件
PlainBinaryFormat:
下载Bin文件
SrcFile:
烧写文件的路径,如果Type选择为AutoFlashDown时,该项无效。
DstAddr:
目标地址信息,只有Type选择为PlainBinaryFormat时,该项才有效。
Program:
对芯片进行编程操作。
Erase:
对选中(由“From~To”指定)的扇区进行擦除操作。
1.4EasyJTAG-H仿真器的使用
(1)将计算机并口与EasyJTAG-H仿真器相连,再将EasyJTAG-H仿真器的JTAG接口连接到开发板上,并给开发板上电。
然后打开H-JTAG软件,单击放大镜图标按钮,如果正常就会检测到芯片内核信息,如图1.8所示。
然后可以最小化或关闭H-JTAG和H-Flasher窗口(注意:
不能使用Exit菜单关闭)。
图1.8启动H-JTAGServer
(2)选择Windows系统的【开始】->
【程序】->
【ARMDeveloperSuitev1.2】->
【AXDDebugger】启动AXD软件。
在AXD软件中,打开【Options】->
【ConfigureTarget...】,弹出ChooseTarget对话框,单击Add添加仿真器的驱动程序,在添加文件窗口选择如C:
\ProgramFiles\H-JTAGV0.3.2目录下的H-JTAG.dll,如图1.9所示,接着单击“打开”即可。
若在添加文件窗口中没有显示DLL文件,请设置WINDOWS文件浏览窗口的“文件夹选项(O)...”,将查看页中的“隐藏文件”项选用“显示所有文件”。
图1.9为AXD添加H-JTAG驱动
(3)添加完H-JTAG驱动后,选择该驱动程序,如图1.10所示,然后单击OK,如果正常就会出现图1.11所示的界面,红线框内的提示信息表示EasyJTAG-H仿真器检测到CPU内核。
图1.10ChooseTarget窗口
图1.11EasyJTAG-H检测到CPU内核
(4)关闭AXD窗口。
以后调试就直接在ADS中打开一个工程,编译链接通过后,单击Debug或按下“F5”即可启动AXD调试软件,进行JTAG仿真调试。
如果工程文件的路径中存在中文,进入AXD调试环境会出现错误。
因此,建议
工程路径