嵌入式讲座04-ARM系统硬件设计.ppt
嵌入式系统设计,彭刚,1,3,2,4,5,硬件系统的调试,6,7,ARM嵌入式系统硬件设计,ARM9系统开发举例,嵌入式系统开发步骤,印刷电路板的设计,硬件抗干扰经验,ARM7系统开发举例,嵌入式系统软硬件框架,嵌入式系统软硬件框架,串口、并口、USB、以太网等,LED、LCD、触摸屏、鼠标、键盘等,Linux、uCLinux、uC/OS-II等,嵌入式系统的开发步骤,嵌入式系统的开发步骤,系统需求分析:确定设计任务和目标,并提炼出设计规格说明书,作为正式设计指导和验收的标准。系统的需求一般分功能性需求和非功能性需求两方面。功能性需求是系统的基本功能,如输入输出信号、操作方式等;非功能需求包括系统性能、成本、功耗、体积、重量等因素。,体系结构设计:描述系统如何实现所述的功能和非功能需求,包括对硬件、软件和执行装置的功能划分以及系统的软件、硬件选型等。一个好的体系结构是设计成功与否的关键。,嵌入式系统的开发步骤,硬件/软件协同设计:基于体系结构,对系统的软件、硬件进行详细设计。为了缩短产品开发周期,设计往往是并行的。,系统集成:把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进单元设计过程中的错误。,系统测试:对设计好的系统进行测试,看其是否满足规格说明书中给定的功能要求。,系统硬件组成,采用三星公司生产的S3C44B0(ARM7),分析某个ARM嵌入式系统的硬件设计步骤、实现细节以及调试技巧等。,硬件配置,CPU:S3C44B0X,Arm7TDMI,工作频率66MHz,FALSH:4Mbytes Flash(1X2MX16位),SDRAM:8Mbytes SDRAM(1X4MX16位),6英寸,320240256色LCD显示器+触摸屏,键盘,1个10M以太网口 1个USB 1.1接口,2个RS-232C串行接口 14针JTAG接口,4个可编程的LED指示灯 1个七段数码显示管 蜂鸣器,2个外部中断测试按钮,IIS音频接口,立体声录、放音,1个I2C接口的EEPROM,S3C44B0X微处理器体系结构框图,S3C44B0X微处理器管脚定义图,S3C44B0X片上资源,ARM7TDMI核、工作频率66MHz;,8KB Cache,外部存储器控制器;,LCD控制器;,4个DMA通道;,2通道UART、1个多主I2C总线控制器、1个I2S总线控制器;,5通道PWM定时器及一个内部定时器;,71个通用I/O口;,8个外部中断源;,8通道10位ADC;,实时时钟等。,S3C44B0X特性,内核:2.5V I/O:3.0 V 到 3.6 V,最高为66MHz,S3C44B0X芯片及引脚分析,S3C44B0X共有160只引脚,采用LQFP封装,具有大量的电源和接地引脚,以及地址总线、数据总线和通用I/O口,以及其他的专用模块如UART、IIC等接口,在硬件系统的设计中,应当注意芯片引脚的类型,S3C44B0X的引脚主要分为三类,即:输入(I)、输出(O)、输入/输出(I/O),输出类型的引脚主要用于S3C44B0X对外设的控制或通信,由S3C44B0X主动发出,这些引脚的连接不会对S3C44B0X自身的运行有太大的影响,输入/输出类型的引脚主要是S3C44B0X与外设的双向数据传输通道,S3C44B0X的引脚信号描述 总线控制信号,S3C44B0X的引脚信号描述 DRAM/SDRAM/SRAM,输入,S3C44B0X的引脚信号描述 LCD控制信号,S3C44B0X的引脚信号描述 TIMER/PWM控制信号,S3C44B0X的引脚信号描述 中断控制信号,S3C44B0X的引脚信号描述 DMA控制信号,S3C44B0X的引脚信号描述 UART控制信号,S3C44B0X的引脚信号描述 IIC-BUS控制信号,S3C44B0X的引脚信号描述 IIS-BUS控制信号,S3C44B0X的引脚信号描述 SIO控制信号,S3C44B0X的引脚信号描述 ADC,S3C44B0X的引脚信号描述 GPIO,S3C44B0X的引脚信号描述 复位和时钟信号,S3C44B0X的引脚信号描述 JTAG测试逻辑,S3C44B0X的引脚信号描述 电源,复位后的S3C44B0X的存储器映射表,S3C44B0X存储系统的特征,支持数据存储的大/小端选择(通过外部引脚进行选择)地址空间:具有8个存储体,每个存储体可达32Mb,总共可达256Mb。对所有存储体的访问大小均可进行改变(8位16位32位)8个存储体中,Bank0Bank5可支持ROM、SRAM;Bank6、Bank7可支持ROM、SRAM和FPEDOSDRAM等。7个存储体的起始地址固定,1个存储体的起始地址可变。,典型系统中存储体的分配情况,S3C44B0X把外部复位信号,也作为一个中断来处理。在系统复位的时候,程序(PC)指针被设置成0,使程序跳转到0 x00000000开始运行。此空间对应的是Bank0。这里存储的是供系统的初始化的程序BootLoader。此程序负责配置处理器的结构、工作模式以及自动检测嵌入式控制器的各个硬件是否工作正常。它还负责加载内核。引导程序把程序(PC)指针指向0 xc000000地址,系统开始运行。,系统自动检测引导Rom负责检测系统的启动必须的外设是否正常。主要是系统的SDRAM的检测。通过引导Rom设置或者查看系统的一些软件信息。包括:通过开启USB端口,更新系统文件system.bin;LCD显示测试;演示程序的装载测试;键盘测试;触摸屏的坐标校准;触摸屏测试;以太网地址的设置等。,使用Bank0上的Flash放置系统Bootloader,系统上电以后,PC指针自动指向Bank0的第一个单元,开始进行系统自举。系统自举完成以后,便从硬盘中将系统文件和用户应用程序复制到SDRAM内存中执行。Bank1上接Flash,可当做系统硬盘使用,可以构造文件系统,存放海量数据。用SDRAM当作系统内存,只有Bank6/Bank7能支持SDRAM,所以将SDRAM接在Bank6上。如果同时使用Bank6/Bank7,则要求连接相同容量的存储,而且其地址空间在物理上是连续的。,存储空间分配例子,Bank1:K9F2808(三星 16Mbyte Flash),非线性寻址,每次寻址需要3次写入8位地址线。具体的时序可以参考K9F2808的datasheetBank2:USBN9603。USB设备端接口芯片,占用系统外部中断0。8位数据总线。Bank3、Bank4:可以供扩展使用Bank5:RTL8019AS,ISA总线兼容的10M以太网(PHYMAC层)控制芯片。占用系统外部中断1,16位数据总线,Bank6:SDRAM,起始地址为0 xC000000。在SDRAM中,前512Kbyte的空间划分出来,作为系统的LCD显示缓冲区使用(更新其中的数据,就可以更新LCD的显示)。系统的程序存储空间从0 xC080000开始。也就是,引导系统的时候,需要把system.bin文件复制到0 xC080000开始的地址空间,把PC指针指向0 xC080000。Bank7:未使用。可以扩展另一片SDRAM,或者其他的外设。系统的同步串行口(SIO),连接着触摸屏控制芯片FM7843(与ADS7843完全兼容)。在同步串行口上,还可以扩展其他的芯片。靠IO口控制设备的片选信号(CS)来防止设备的冲突。注:系统的扩展接口上,A0的标号,连接在S3C44B0X的ADDR1上,后面的地址依次向后错位。,电源电路设计DC-DC转换芯片,有很多DC-DC转换器可完成到3.3V的转换,如Linear Technology的LT108X系列。常见的型号和对应的电流输出如下:LT1083 7.5ALT1084 5ALT1085 3ALT1086 1.5A,有很多DC-DC转换器可完成到2.5V的转换,常用的如Linear Technology的LT1761。,电源电路设计3.3V,需要使用3.3V的直流稳压电源,系统电源电路如下图所示:,DC 7.5V 2A直流电源,整流、定向,DC-DC转换芯片LT1086,滤波电路,电源电路设计2.5V,需要使用2.5V的直流稳压电源,系统电源电路如下图所示:,滤波电路,DC3.3V,晶振电路设计,晶振电路用于向CPU及其他电路提供工作时钟。在该系统中,S3C44B0X使用无源晶振,晶振的接法如下图所示:,系统时钟PLL的滤波电容(700pF左右),系统时钟晶体电路的输入信号,系统时钟晶体电路的输出信号,晶振电路设计,根据S3C44B0X的最高工作频率以及PLL电路的工作方式,选择10MHz的无源晶振,10MHz的晶振频率经过S3C44B0X片内的PLL电路倍频后,最高可以达到66MHz。,片内的PLL电路兼有倍频和信号提纯的功能,因此,系统可以以较低的外部时钟信号获得较高的工作频率,以降低因高速开关时钟所造成的高频噪声。,复位电路设计,采用IMP706看门狗芯片,低电平复位,JP2短接后,必须定时喂狗,否则将引起系统复位,在规定时间内没有喂狗,将输出低电平,复位及看门狗功能是否有效,如果短接则有效,复位按键,JP2短接时才有效,JTAG接口电路设计接口简介,JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试。,JTAG技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路TAP(Test Access Port,测试访问口),通过专用的JTAG测试工具对内部节点进行测试。,目前大多数比较复杂的器件都支持JTAG协议,如ARM、DSP、FPGA器件等。,标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为测试模式选择、测试时钟、测试数据输入和测试数据输出。,JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。JTAG接口还常用于实现ISP(In-System Programmable在系统编程)功能,如对FLASH器件进行编程等。,通过JTAG接口,可对芯片内部的所有部件进行访问,因而是开发调试嵌入式系统的一种简洁高效的手段。目前JTAG接口的连接有两种标准,即14针接口和20针接口。,JTAG接口电路设计14针接口及定义,JTAG接口电路设计20针接口及定义,JTAG接口电路设计接口电路,必须接上拉,最小系统,ARM处理器+电源电路+晶振电路+复位电路+JTAG接口电路可构成真正意义上的最小系统,程序可运行于S3C44B0X内部的8KB RAM中,程序大小有限,掉电后无法保存,只能通过JTAG接口调试程序,SDRAM接口电路设计SDRAM简介,与Flash存储器相比较,SDRAM不具有掉电保持数据的特性,但其存取速度大大高于Flash存储器,且具有读/写的属性,因此,SDRAM在系统中主要用作程序的运行空间,数据及堆栈区。,当系统启动时,CPU首先从复位地址0 x0处读取启动代码,在完成系统的初始化后,程序代码一般应调入SDRAM中运行,以提高系统的运行速度,同时,系统及用户堆栈、运行数据也都放在SDRAM中。,SDRAM具有单位空间存储容量大和价格便宜的优点,已广泛应用在各种嵌入式系统中。SDRAM的存储单元可以理解为一个电容,总是倾向于放电,为避免数据丢失,必须定时刷新(充电)。因此,要在系统中使用SDRAM,就要求微处理器具有刷新控制逻辑,或在系统中另外加入刷新控制逻辑电路。S3C44B0X在片内具有独立的SDRAM刷新控制逻辑,可方便地与SDRAM接口。,SDRAM接口电路设计SDRAM选型,目前常用的SDRAM为8位/16位的数据宽度,工作电压一般为3.3V。主要的生产厂商为HYUNDAI、Winbond等。他们生产的同型器件一般具有相同的电气特性和封装形式,可通用。,本系统中使用Winbond的W986416DH。,W986416DH存储容量为4组16M位(8M字节),工作电压为3.3V,常见封装为54脚TSOP,兼容LVTTL接口,支持自动刷新(Auto-Refresh)和自刷新(Self-Refresh),16位数据宽度。,SDRAM接口电路设计W986416DH引脚分布,SDRAM接口电路设计W986416DH引脚信号描述,SDRAM接口电路设计SDRAM接口电路,SDRAM接口电路设计电路说明,一片W986416DH构建16位的SDRAM存储器系统,将其配置到Bank6,即将S3C44B0X的nGCS6接至两片W986416DH的/CS端。此时SDRAM地址为0 x0c000000-0 x0c7fffff。,W986416DH的CLK端接S3C44B0X的SCLK端;,W986416DH的CKE端接S3C44B0X的SCKE端;,W986416DH的/RAS、/CAS、/WE端分别接S3C44B0X的nSDRAS端、nSDCAS端、nSDWE端;,W986416DH的A12A0接S3C44B0X的地址总线ADDRADDR;,W986416DH的BA1、BA0接S3C44B0X的地址总线ADDR、ADDR;,W986416DH的数据总线接S3C44B0X的数据总线的低16位XDATAXDATA;,FLASH接口电路设计FLASH简介,Flash存储器是一种可在系统(In-System)进行电擦写,掉电后信息不丢失的存储器。,它具有低功耗、大容量、擦写速度快、可整片或分扇区在系统编程(烧写)、擦除等特点,并且可由内部嵌入的算法完成对芯片的操作,因而在各种嵌入式系统中得到了广泛的应用。,作为一种非易失性存储器,Flash在系统中通常用于存放程序代码、常量表以及一些在系统掉电后需要保存的用户数据等。,FLASH接口电路设计FLASH选型,常用的Flash为8位或16位的数据宽度,编程电压为单3.3V。主要的生产厂商为INTEL、ATMEL、AMD、HYUNDAI等。,本系统中使用INTEL的TE28F320B。,TE28F320B存储容量为32M位(4M字节),工作电压为2.7V3.6V,采用48脚TSOP封装或48脚FBGA封装,16位数据宽度。,TE28F320B仅需单3V电压即可完成在系统的编程与擦除操作,通过对其内部的命令寄存器写入标准的命令序列,可对Flash进行编程(烧写)、整片擦除、按扇区擦除以及其他操作。,FLASH接口电路设计TE28F320B引脚分布,FLASH接口电路设计 TE28F320B引脚信号描述,FLASH接口电路设计FLASH接口电路,FLASH接口电路设计电路说明,地址总线A20A0与S3C44B0的地址总线ADDR20ADDR0相连;,16位数据总线DQ15DQ0与S3C44B0的低16位数据总线XDATA15XDATA0相连。,注意此时应将S3C44B0X的OM1:0置为01,选择Bank0为16位工作方式。,一片TE28F320B构建16位的FLASH存储器系统,将其配置到Bank0,即将S3C44B0X的nGCS0接至两片TE28F320B的CE端。此时FLASH地址为0 x00000000-0 x004fffff。,S3C44B0X扩展系统,S3C44B0X最小系统+SDRAM+FLASH电路可构成一个完全的嵌入式系统,可运行于SDRAM中的程序,也可以运行FLASH中的程序,程序大小可以很大,如果将程序保存到FLASH中,掉电后不会丢失,因此,既可以通过JTAG接口调试程序,也可以将程序烧写到FLASH,然后运行FLASH中的程序,在此基础上加入必要的接口及其他电路,就构成了具体的S3C44B0X应用系统,存储扩展,目前常用的SDRAM为8位/16位的数据宽度,工作电压一般为3.3V。主要的生产厂商为HYUNDAI、Samsung、Winbond等。他们生产的同型器件一般具有相同的电气特性和封装形式。HYUNDAI公司的SDRAM:HY57V641620HGT,容量为8MB。使用2片组成4M32位的SDRAM,共16MB。三星SDRAM:Samsung K4S561632(32M16bits)Intel Flash:TE28F128J3A(16M16bits)三星公司的NAND Flash:K9F1208U0M,容量为64MB.,串口接口电路设计串口简介,几乎所有的微控制器、PC都提供串行接口,使用电子工业协会(EIA)推荐的RS-232-C标准,这是一种很常用的串行数据传输总线标准。,早期它被应用于计算机和终端通过电话线和MODEM进行远距离的数据传输,随着微型计算机和微控制器的发展,不仅远距离,近距离也采用该通信方式。在近距离通信系统中,不再使用电话线和MODEM,而直接进行端到端的连接。,RS-232-C标准采用的接口是9芯或25芯的D型插头,以常用的9芯D型插头为例,各引脚定义如下所示:,串口接口电路设计串口芯片选型,要完成最基本的串行通信功能,实际上只需要RXD、TXD和GND即可,但由于RS-232-C标准所定义的高、低电平信号与S3C44B0X系统的TTL电路所定义的高、低电平信号完全不同。,TTL的标准逻辑“1”对应2V3.3V电平,标准逻辑“0”对应0V0.4V电平,而RS-232-C标准采用负逻辑方式,标准逻辑“1”对应-5V-15V电平,标准逻辑“0”对应+5V+15V电平,显然,两者间要进行通信必须经过信号电平的转换。,目前常使用的电平转换电路为MAXIM公司的MAX232、Sipex公司的SP3232E等。,串口接口电路设计串口接口电路,RS232电平,TTL电平,I2C接口电路设计I2C简介,I2C总线是一种用于IC器件之间连接的二线制总线。它通过SDA(串行数据线)及SCL(串行时钟线)两线在连接到总线上的器件之间传送信息,并根据地址识别每个器件:不管是微控制器、存储器、LCD驱动器还是键盘接口。,带有I2C总线接口的器件可十分方便地用来将一个或多个微控制器及外围器件构成系统。尽管这种总线结构没有并行总线那样大的吞吐能力,但由于连接线和连接引脚少,因此其构成的系统价格低,器件间总线简单,结构紧凑,而且在总线上增加器件不影响系统的正常工作,系统修改和可扩展性好。即使有不同时钟速度的器件连接到总线上,也能很方便地确定总线的时钟,因此在嵌入式系统中得到了广泛的应用。,S3C44B0X内含一个I2C总线主控器,可方便地与各种带有I2C接口的器件相连。,在本系统中,外扩一片KS24C08作为I2C存储器。KS24C08提供1K字节的EEPROM存储空间,可用于存放少量在系统掉电时需要保存的数据。,I2C接口电路设计,基于ARM9的移动视频监控系统的设计与实现,视频监控的发展趋势,发展趋势网络化通过Internet传输视频,引入基于IP或Web的监控手段移动化移动化既可以指视频采集设备可移动,也可以指图像监控设备可移动。智能化人工智能技术与视频技术结合也成为了视频监控的一个发展趋势,S3C2410X内部结构图,S3C2410X片上资源,55个中断源,24个外部中断口;,16KB 指令Cache,16KB数据Cache;,4通道16bit带PWM的定时器及1通道16bit内部定时器;,3通道UART、1个多主I2C总线控制器、1个IIS总线控制器,一 个SPI接口;,4个DMA控制器,8通道10位ADC;,实时时钟等。,存储器控制器,支持NAND FLASH启动,4BK用于启动的内部缓 存区;,两个USB主、一个USB从;,支持SD卡/MMC卡;,LCD控制器,支持黑白、STN、TFT显示器;触摸屏接口支持;,现在S3C2410有两个版本,分别是S3C2410A-20和S3C2410A-26。S3C2410A-20的内核工作电压为1.8V,工作频率最高为200MHz;S3C2410A-26的内核工作电压为2.0V,最高工作频率可达266MHz。,S3C2410X特性,最高为203MHz,272脚的FBGA封装,内核:1.8V I/O:3.3 V,S3C2410X的引脚分布图,系统的实现方案及整体介绍,开发环境,CPU:S3C2410,ARM920T,工作频率203MHz,FALSH:NOR 2M,NAND 64Mbytes,SDRAM:32Mbytes SDRAM,1个10M以太网口CS8900A 2个USB接口,2个RS-232C串行接口 14针JTAG接口,步进电机接口,硬件配置,Flash的选择,存储单元分为3个部分:启动Flash(NORFlash)、内存(SDRAM)、数据存储Flash(NANDFlash)。目标系统中有两片Flash,一片是NORFlash,一片是NANDFlash。它们的用途是不一样的,NOR Flash主要用来存储系统bootloader、内核镜像和应用程序;NAND Flash主要是用来进行大量数据的存储。NOR和NAND是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR Flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NAND Flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。大多数情况下闪存只是用来存储少量的代码,这时NOR闪存更适合一些。而NAND则是高数据存储密度的理想解决方案。,NOR Flash的特点是芯片内执行(XIP,Execute In Place),芯片拥有独立的数据和地址总线,所以能直接快速的随机读取,这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。NOR的传输效率很高,在14MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。对NOR Flash可以单字节编程,但进行重新编程之前需要对块或整片进行预编程或擦除操作,由于NOR Flash的编程和擦除速度较慢,而块尺寸又较大,因此编程和擦除的时间较长。NAND Flash的地址和数据采用同一总线,使用复杂的I/O口来分时串行地传送控制、地址和数据信息。NAND Flash随机读取的速度慢且不能按字节随机编程,因此存放在NAND Flash中的代码必须拷贝到内存中才能执行。NAND Flash以页为单位进行读写操作,一页为256或512字节。以块为单位进行擦除操作,每一块为4KB、8KB或16KB,所以编程和擦除的速度快。NAND Flash的引脚少,芯片尺寸小,能提供极高的单元密度。在综合考虑了性价比后,采用了一片2MB的NOR Flash和一片64MB的NAND Flash。NOR Flash采用AMD公司的AM29LV160B,NAND Flash采用Samsung公司的K9F1208U0M。,步进电机驱动电路,TA8415P芯片所组成的步进电机分频电路用于控制步进电机的分频方式并驱动步进电机的旋转,其中的Ea和Eb使能端就是用来选择分频方式的,这里同时接低电平表示使用一相激励,步距角为1.8度。,以太网接口,RTL8019AS以太网控制器,支持IEEE802.3;支持8位或16位数据总线;内置16KB的SRAM,用于收发缓冲;全双工,收发同时达到10Mbps;支持10Base5、10Base2、10BaseT,并能自动检测所连接的介质,在ISA总线网卡中占有相当比例。,网络接口芯片选用DM9000,DM9000是带有通用处理器接口的单片快速以太网MAC控制器,并带有10/100M物理层接口,内部集成4K字节SRAM,接口支持8位、16位、32位处理器。,时钟芯片,时钟芯片是Philips公司的PCF8563,它是I2C接口的时钟芯片。连接32768Hz的晶振后,PCF8563会按照1Hz的频率不断统计时间,设定好标准时间后,只要芯片电压不低于1.8V,就会自动记录时间,可以精确到1秒,并且提供秒、分钟、小时、天、周、月、年的时间记录范围。,USB接口电路,S3C2410集成了USB控制器,支持两路USB Host和一路USB Device。与USB Rev1.1兼容,支持低速和全速USB设备。本系统中设计两路USB,都作为Host使用。,软件结构,Boa和thttpd是目前比较流行的两种用于嵌入式平台的Web服务器,这两种Web服务器都属于占用资源小且运行也不逊色的轻量级服务器。两种Web服务器的移植和没有功能没有太大的差别,本系统选择的是Boa,移植的版本为。,电源滤波为提高系统的电源质量,消除低频噪声对系统的影响,一般应在电源进入印刷电路板的位置和靠近各器件的电源引脚处加上滤波器,以消除电源的噪声,常用的方法是在这些位置加上几十到几百微法的电容。同时,在系统中除了要注意低频噪声的影响,还要注意元器件工作时产生的高频噪声,一般的方法是在器件的电源和地之间加上0.1uF左右地电容,可以很好地滤除高频噪声的影响。,印刷电路板设计电源质量与分配,电源质量与分配,电源分配实际的工程应用和理论都证实,电源的分配对系统的稳定性有很大的影响,因此,在设计印刷电路板时,要注意电源的分配问题。在印刷电路板上,电源的供给一般采用电源总线(双面板)或电源层(多层板)的方式。电源总线由两条或多条较宽的线组成,由于受到电路板面积的限制,一般不可能布得过宽,因此存在较大的直流电阻,但在双面板的设计中也只好采用这种方式了,只是在布线的过程中,应尽量注意这个问题。在多层板的设计中,一般使用电源层的方式给系统供电。该方式专门拿出一层作为电源层而不再在其上布信号线。由于电源层遍及电路板的全面积,因此直流电阻非常的小,采用这种方式可有效的降低噪声,提高系统的稳定性。,同类型信号线的分布,在各种微处理器的输入输出信号中,总有相当一部分是相同类型的,例如数据线、地址线。,对这些相同类型的信号线应该成组、平行分布,同时注意它们之间的长短差异不要太大,采用这种布线方式,不但可以减少干扰,增加系统的稳定性,还可以使布线变得简单,印刷电路板的外观更美观。,硬件调试,尽可能的从简单到复杂,一个单元一个单元地焊接调试,以便在调试过程中遇到困难时缩小故障范围,在调试过程中,应先确定电路没有短路,才能通电调试。,先从最小系统调试:MPU/MCU/DSP+电源电路+晶振电路+复位电路+JTAG接口,然后加上SDRAM,再加上FLASH,然后再加上其它接口,芯片在工作时有一定的发热是正常的,但如果有芯片特别发烫,则一定有故障存在,需断电检查确认无误后方可继续通电调试。,电源、晶振及复位电路调试,调试电源电路之前,尽量少接器件,通电之前检查有无短路现象,用示波器观测,晶振的输出应为10MHz,复位电路的nRESET端在未按按钮时输出应为高电平(3.3V),按下按钮后变为低电平,按钮松开后应恢复到高电平,JTAG接口电路调试,调试JTAG接口电路之前,应该保证晶振已经起振,检测JTAG接口的TMS、TCK、TDI、TDO信号是否已与S3C44B0/2410的对应引脚相连,连接调试器,看是否能够连接上,如果连接不上,检查TMS、TCK、TDI、TDO等信号是否正常,正常工作时,TRST应该为高电平,如果连接不上调试器,需要检查该信号,硬件抗干扰经验,在研制电子产品时,如何提高抗干扰能力和电磁兼容性?,下面的一些系统要特别注意抗电磁干扰:1、时钟频率特别高,总线周期特别快的系统。2、系统含有大功率,大电流驱动电路,如产生火花的继电器,大电流开关等。3、含微弱模拟信号电路以及高精度A/D变换电路的系统。,1、选用频率低的嵌入式处理器:选用外时钟频率低的嵌入式处理器可以有效降低噪声和提高系统的抗干扰能力。同样频率的方波和正弦波,方波中的高频成份比正弦波多得多。虽然方波的高频成份的波的幅度,比基波小,但频率越高越容易发射出成为噪声源,对嵌入式处理器产生的最有影响的高频噪声大约是时钟频率的3倍。,增加系统抗电磁干扰能力采取的措施,2、减小信号传输中的畸变 嵌入式处理器主要采用高速CMOS技术制造。信号输入端静态输入电流在1mA左右,输入电容10PF左右,输入阻抗相当高,高速CMOS电路的输出端都有相当的带载能力,即相当大的输出值,将一个门的输出端通过一段很长线引到输入阻抗相当高的输入端,反射问题就很严重,它会引起信号畸变,增加系统噪声。当TpdTr时,就成了一个传输线问题,必须考虑信号反射,阻抗匹配等问题。信号在印制板上的延迟时间与引线的特性阻抗有关,即与印制线路板材料的介电常数有关。可以粗略地认为,信号在印制板引线的传输速度,约为光速的1/3到1/2之间。嵌入式处理器构成的系统中常用逻辑元件的Tr(标准延迟时间)为3到18ns之间。,2、减小信号传输中的畸变 在印制线路板上,信号通过一个7W的电阻和一段25cm长的引线,线上延迟时间大致在420ns之间。也就是说,信号在印刷线路上的引线越短越好,最长不宜超过25cm。而且过孔数目也应尽量少,最好不多于2个。当信号的上升时间快于信号延迟时间,就要按照高速电子学处理。此时要考虑传输线的阻抗匹配,对于一块印刷线路板上的集成块之间的信号传输,要避免出现TdTrd的情况,印刷线路板越大系统的速度就越不能太快。用以下结论归纳印刷线路板设计的一个规则:信号在印刷板上传输,其延迟时间不应大于所用器件的标称延迟时间。,3、减小信号线间的交叉干扰:A点一个上升时间为Tr的阶跃信号通过引线AB传向B端。信号在AB线上的延迟时间是Td。在D点,由于A点信号的向前传输,到达B点后的信号反射和AB线的延迟,Td时间以后会感应出一个宽度为Tr的页脉冲信号。在C点,由于AB上信号的传输与反射,会感应出一个宽度为信号在AB线上的延迟时间的两倍,即2Td的正脉冲信号。这就是信号间的交叉干扰。干扰信号的强度与C点信号的di/at有关,与线间距离有关。当两信号线不是很长时,AB上看到的实际是两个脉冲的迭加。,3、减小信号线间的交叉干扰:CMOS工艺制造的微控制由输入阻抗高,噪声高,噪声容限也很高,数字电路是迭加100200mv噪声并不影响其工作。若图中AB线是一模拟信号,这种干扰就变为不能容忍。如印刷线路板为四层板,其中有一层是大面积的地,或双面板,信号线的反面是大面积的地时,这种信号间的交叉干扰就会变小。原因是,大面积的地减小了信号线的特性阻抗,信号在D端的反射大为减小。特性阻抗与信号线到地间的介质的介电常数的平方成反比,与介质厚度的自然对数成正比。若AB线为一模拟信号,要避免数字电路信号线CD对AB的干扰,AB线下方要有大面积的地,AB线到CD线的距离要大于AB线与地距离的23倍。可用局部屏蔽地,在有引结的一面引线左右两侧布以地线。,4、减小来自电源的噪声 电源在向系统提供能源的同时,也将其噪声加到所供电的电源上。电路中微控制器的复位线,中断线,以及其它一些控制线最容易受外界噪声的干扰。电网上的强干扰通过电源进入电路,即使电池供电的系统,电池本身也有高频噪声。模拟电路中的模拟信号更经受不住来自电源的干扰。,5、注意印刷线板与元器件的高频特性 在高频情况下,印刷线路板上的引线,过孔,电阻、电容、接插件的分布电感与电容等不可忽略。电容的分布电感不可忽略,电感的分布电容不可忽略。电阻产生对高频信号的反射,引线的分布电容会起作用,当长度大于噪声频率相应波长的1/20时,就产生天线效应,噪声通过引线向外发射。印刷线路板的过孔大约引起0.6pf的电容。一个集成电路本身的封装材料引入26pf电容。一个线路板上的接插件,有520nH的分布电感。一个双列直扦的24引脚集成电路扦座,引入418nH的分布电感。这些小的分布参数对于这行较低频率下的微控制器系统中是可以忽略不计的;而对于高速系统必须予以特别注意。,6、元件布置要合理分区 元件在印刷线路板上排列的位置要充分考虑抗电磁干扰问题,原则之一是各部件之间的引线要尽量短。在布局上,要把模拟信号部分,高速数字电路部分,噪声源部分(如继电器,大电流开关等)这三部分合理地分开,使相互间的信号耦合为最小。,7、处理好接地线 印刷电路板上,电源线和地线最重要。克服电磁干扰,最主要的手段就是接地。对于双面板,地线布置特别讲究,通过采用单点接地法,电源和地是从电源的两端接到印刷线路板上来的,电源一个接点,地一个接点。印刷线路板上,要有多个返回地线,这些都会聚到回电源的那个接点上,就是所谓单点接地。所谓模拟地、数字地、大功率器件地开分,是指布线分开,而最后都汇集到这个接地点上来。与印刷线路板以外的信号相连时,通常采用屏蔽电缆。对于高频和数字信号,屏蔽电缆两端都接地。低频模拟信号用的屏蔽电缆,一端接地为好。对噪声和干扰非常敏感的电路或高频噪声特别严重的电路应该用金属罩屏蔽起来。,8、用好去耦电容。好的高频去耦电容可以去除高到1GHZ的高频成份。陶瓷片电容或多层陶瓷电容的高频特性较好。设计印刷线路板时,每个集成电路的电源,地之间都要加一个去耦电容。去耦电容有两个作用:一方面是本集成电路的蓄能电容,提供和吸收该集成电路开门关门瞬间的充放电能;另一方面旁路掉该器件的高频噪声。数字电路中典型的去耦电容为0.1uf的去耦电容有5nH分布电感,它的并行共振频率大约在7MHz左右,也就是说对于10MHz以下的噪声有较好的去耦作用,对40MHz以上的噪声几乎不起作用。1uf,10uf电容,并行共振频率在20MHz以上,去除高频率噪声的效果要好一些。在电源进入印刷板的地方和一个1uf或10uf的去高频电容往往是有利的,即使是用电池供电的系统也需要这种电容。每10片左右的集成电路要加一片充放电电容,或称为蓄放电容,电容大小可选10uf。最好不用电解电容,电解电容是两层溥膜卷起来的,这种卷起来的结构在高频时表现为电感,最好使用胆电容或聚碳酸酝电容。去耦电容值的选取并不严格,可按C=1/f计算;即10MHz取0.1uf,对微控制器构成的系统,取0.10.01uf之间都可以。,三、降低噪声与电磁干扰的一些经验 能用低速芯片就不用高速的,高速芯片用在关键地方。可用串一个电阻的办法,降低控制电路上下沿跳变速率。尽量为继电器等提供某种形式的阻尼。使用满足系统要求的最低频率时钟。时钟产生器尽量靠近到用该时钟的器件。石英晶体振荡器外壳要接地。用地线将时钟区圈起来,时钟线尽量短。,三、降低噪声与电磁干扰的一些经验。I/O驱动电路尽量靠近印刷板边,让其尽快离开印刷板。对进入印制板的信号要加滤波,从高噪声区来的信号也要加滤波,同时用串终端电阻的办法,减小信号反射。MCD无用端要接高,或接地,或定义成输出端,集成电路上该接电源地的端都要接,不要悬空。闲置不用的门电路输入端不要悬空,闲置不用的运放正输入端接地,负输入端接输出端。(10)印制板尽量使用45折线而不用90折线布线以减小高频信号对外的发射与耦合。印制板按频率和电流开关特性分区,噪声元件与非噪声元件要距离再远一些。,三、降低噪声与电磁干扰的一些经验。单面板和双面板用单点接电源和单点接地、电源线、地线尽量粗,经济是能承受的话用多层板以减小电源,地的容生电感。时钟、总线、片选信号要远离I/O线和接插件。模拟电压输入线、参考电压端要尽量远离数字电路信号线,特别是时钟。对A/D类器件,数字部分与模拟部分宁可统一下也不要交叉。时钟线垂直于I/O线比平行I/O线干扰小,时钟元件引脚远离I/O电缆。,三、降低噪声与电磁干扰的一些经验。元件引脚尽量短,去耦电容引脚尽量短。关键的线要尽量粗,并在两边加上保护地。高速线要短要直。对噪声敏感的线不要与大电流,高速开关线平行。石英晶体下面以及对噪声敏感的器件下面不要走线。弱信号电路,低频电路周围不要形成电流环路。任何信号都不要形成环路,如不可避免,让环路区尽量小。,三、降低噪声与电磁干扰的一些经验。每个集成电路一个去耦电容。每个电解电容边上都要加一个小的高频旁路电容。用大容量的钽电容或聚酷电容而不用电解电容作电路充放电储能电容。外壳要接地。,