Download presentation
Presentation is loading. Please wait.
1
S3c2410电路设计(以北京博创s3c2410-s实验箱为例讲解)
设计要点 1.最小电路设计 电源与时钟电路 复位电路 RTC 调试电路设计 Jtag 串口电路 2.存储器扩展 3.音频接口电路 4.LCD与触摸屏接口电路 5.以太网接口电路 6.USB接口电路 7.其它接口电路 接口编程驱动另做实验要求
2
1.8v/2.0v内核供电,3.3v存储器供电,3.3v外部I/O供电
1.最小电路设计(参考s3c2410说明书) 电源问题 1.8v/2.0v内核供电,3.3v存储器供电,3.3v外部I/O供电 2410-S 电源电压为5V,经LM V 和AS V 分别得到3.3V 和1.8V 的工作电压。开发板上的芯片多数使用了3.3V 电压,而1.8V 是供给S3C2410 内核使用的。5V电压供给音频功放芯片、LCD、电机、硬盘、CAN 总线等电路使用。 电源控制:常规、缓慢、空闲和断电模式
5
由于S3C2410 结构复杂,部件较多,各部件甚至是同一部件的各引脚上的电平值都有可能不同,因此必须理清楚整个系统的电源需求。大致情况是:
ARM 芯核工作电压1.8V,通用I/O 口和部分外设电压3.3V, USB 主机和LCD 工作电压5V。因此开发板由外部开关电源提供5V 直流电源,然后经过LM V稳压得到一路3.3V,再经过AS V线性电压调压器得到所需的1.8V 提供给ARM 芯核、MPLL、 UPLL、alive 等
6
时钟电路 S3C2410 有两个工作时钟:系统主时钟MPLL和USB 的基准输入时钟源总线时钟UPLL。 开发板上提供了一个实时时钟32.768KHz,一个12MHz 的外部晶振,并可以在EXTCLK 脚引入外部时钟。
10
复位电路 复位电路 硬件复位电路由IMP811T 构成,实现对电源电压的监控和手动复位操作。2410-S主板复位电路设置专用逻辑:IMP811T 的复位电平可以使CPU JTAG nTRST)和板级系统(nRESET)全部复位;来自仿真器的ICE_nSRST 信号只能使板级复位;来自仿真器的ICE_nTRST 可以使JTAG(nTRST)复位,通过跳线选择是否使板级nRESET 复位。nRESET反相后得到RESET 信号。
11
实时钟电路(RTC) RTC 电路的电压是1.8V,实际是将电池电压或3.3V 电压经过两个BAV99(等价于4 个二极管串联)降压后得到的。
12
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针接口。
13
调试电路 Jtag 边界扫描测试是通过在芯片的每个I/ O 脚附加一个边界扫描单元(BSC ,boundary scan cell) 以及一些附加的测试控制逻辑实现的,BSC 主要是由寄存器组成的。每个I/ O 管脚都有一个BSC ,每个BSC 有两个数据通道:一个是测试数据通道,测试数据输入TDI ( test data input ) 、测试数据输出TDO(test data output) ;另一个是正常数据通道,正常数据输入NDI ( normal data input ) 、正常数据输出NDO(normal data output) TMS :JTAG测试模式选择。 TDI :串行边界扫描输入数据; TDO :串行边界扫描输出数据; TRST :JTAG 测试逻辑复位,低电平有效,当 TRST 输入为低电平时,芯片进入正常工作状态,JTAG测试逻辑无效 在带IEEE1149标准的JTAG/ICE端口的任何ARM处理器中,TDI,TDO,TMS和TCK是最少的引脚。除TDO引脚外的其他所有引脚内部均有大约10KR的上拉电阻。
14
调试电路 串口扩展
15
S3C2410 + 电源电路 + 时钟电路 + 复位电路 + JTAG接口电路可构成真正意义上的最小系统
程序可运行于S3C2410内部的8KB RAM中 程序大小有限,掉电后无法保存,只能通过JTAG接口调试程序
16
印刷电路板的设计 印刷电路板设计注意事项 S3C2410的片内最高工作频率为203MHz,因此,在印刷电路板的设计过程中,应该遵循一些高频电路的设计基本原则,否则会使系统工作不稳定甚至不能正常工作。 印刷电路板的设计人员应注意以下几个方面: 注意电源的质量与分配。 同类型信号线应该成组、平行分布。
17
印刷电路板的设计 电源质量与分配 电源滤波 为提高系统的电源质量,消除低频噪声对系统的影响,一般应在电源进入印刷电路板的位置和靠近各器件的电源引脚处加上滤波器,以消除电源的噪声,常用的方法是在这些位置加上几十到几百微法的电容。 同时,在系统中除了要注意低频噪声的影响,还要注意元器件工作时产生的高频噪声,一般的方法是在器件的电源和地之间加上0.1uF左右地电容,可以很好地滤出高频噪声的影响。
18
印刷电路板的设计 电源质量与分配 电源分配 实际的工程应用和理论都证实,电源的分配对系统的稳定性有很大的影响,因此,在设计印刷电路板时,要注意电源的分配问题。 在印刷电路板上,电源的供给一般采用电源总线(双面板)或电源层(多层板)的方式。电源总线由两条或多条较宽的线组成,由于受到电路板面积的限制,一般不可能布得过宽,因此存在较大的直流电阻,但在双面板得设计中也只好采用这种方式了,只是在布线的过程中,应尽量注意这个问题。 在多层板的设计中,一般使用电源层的方式给系统供电。该方式专门拿出一层作为电源层而不再在其上布信号线。由于电源层遍及电路板的全面积,因此直流电阻非常的小,采用这种方式可有效的降低噪声,提高系统的稳定性。
19
同类型信号线的分布 印刷电路板的设计 在各种微处理器的输入输出信号中,总有相当一部分是相同类型的,例如数据线、地址线。
对这些相同类型的信号线应该成组、平行分布,同时注意它们之间的长短差异不要太大,采用这种布线方式,不但可以减少干扰,增加系统的稳定性,还可以使布线变得简单,印刷电路板的外观更美观。
20
硬件系统的调试 硬件调试 尽可能的从简单到复杂,一个单元一个单元地焊接调试,以便在调试过程中遇到困难时缩小故障范围,在调试过程中,应先确定电路没有短路,才能通电调试。 先从最小系统调试: S3C 电源电路 + 晶振电路 + 复位电路 + JTAG接口 然后加上SDRAM,再加上FLASH,然后再加上其它接口 芯片在工作时有一定的发热是正常的,但如果有芯片特别发烫,则一定有故障存在,需断电检查确认无误后方可继续通电调试。
21
电源、晶振及复位电路调试 硬件系统的调试 调试电源电路之前,尽量少接器件,通电之前检查有无短路现象 用示波器观测,晶振的输出应为12MHz
复位电路的nRESET端在未按按钮时输出应为高电平(3.3V),按下按钮后变为低电平,按钮松开后应恢复到高电平
22
JTAG接口电路调试 硬件系统的调试 调试JTAG接口电路之前,应该保证晶振已经起振
检测JTAG接口的TMS、TCK、TDI、TDO信号是否已与S3C4510B的对应引脚相连 连接调试器,看是否能够连接上,如果连接不上,检查TMS、TCK、TDI、TDO等信号是否正常 正常工作时,TRST应该为高电平,如果连接不上调试器,需要检查该信号
23
s3c2410存储器管理
28
Bank0 总线宽度 bank0 的数据总线(nGCS0)必须首先设置成16 位或32 位的。因为bank0 通常作为引导ROM 区(映射到地址0x ),在复位时,系统将检测OM[1:0]上的逻辑电平,并依据这个电平来决定bank0 区存储器的总线宽度。
29
NandFlash 当OM1、OM0都是低电平——即开发板插上BOOT SEL跳线时,S3C2410从NAND Flash启动:NAND Flash的开始4k代码会被自动地复制到内部SRAM中。我们需要使用这4k代码来把更多的代码从NAND Flash中读到SDRAM中去。 NAND Flash的操作通过NFCONF、NFCMD、NFADDR、NFDATA、NFSTAT和NFECC六个寄存器来完成。请参考S3C2410数据手册和NAND Flash K9F1208U0M的数据手册。
30
SDRAM SDRAM使用BANK6,它的物理起始地址为6*128M=0x 。
32
音频电路扩展 音频电路提供耳机输出,线路输入,麦克输入等功能,另有板载MIC。配合软件可以实现录音,放音,传话等功能。插入耳机后,板载扬声器不会发音;插入外置MIC 后,板载MIC 也被切断。UDA1341 芯片通过IIS 总线连接到CPU,ARM2410 内含有双工DMA,可支持录音和放音同时进行。IIS 总线只提供音频数据流的传输通道,而CPU 和UDA1341的L3 控制接口是用GPG8、9、10 模拟的。音量电位器用来调节扬声器的音量。
34
LCD与触摸屏 从CPU 的LCD 控制器出来的信号线包括24 根数据线和若干根控制线。对于256色LCD 只需要其中低8 位数据线即可。这些信号线是经过74HC245 隔离后接到LCD 模块的,接256 色屏时也由245 芯片完成电平转换。8 位LCD 模块除了需要控制信号和数据信号外,还需要一个22V 左右的工作电压和上千伏的背光电压。前者由MAX629 升压后得到,后者由一个逆变器模块提供。另外LCD 信号线驱动芯片74HC245 的电源是可选的,当使用5V 电平的256 色彩屏时该芯片电源使用5V,使用3.3V 的16 位真彩屏选择3.3V。(2410-S可以安装5#的伪彩屏和8#的真彩屏)。
37
触摸屏由FM7843 完成电压转换,如果有触摸动作也会产生中断,FM7843 占用EINT5。CPU 通过SPI 总线读取电压转换结果,从而计算出坐标位置。对FM7843 的片选信号用GPG12 口线控制。
38
以太网接口电路 双网卡NIC-2 和NIC-1 都在BANK2 上,但NIC-2 的基地址是0x400,逻辑地址是0x ;而NIC-1 的则是基地址0x200,逻辑地址x 。另外,NIC-2 的中断是INT3,而NIC-1 的则是INT2。
40
USB接口电路(USB HOST) S3C2410X supports 2-port USB host interface as follows: · OHCI Rev 1.0 compatible · USB Rev1.1 compatible · Two down stream ports · Support for both LowSpeed and HighSpeed USB devices
41
USB HUB,将2410 的USB HOST 扩展为4 口,芯片为AT43301。电源管理的总电流限制为500mA,采用总线供电模式,芯片为MIC2525-2。过流后MIC2525 会改变电平告知AT43301,然后AT43301 发出信号使MIC2525 关断,同时会向处理器发送信息,可参考AT43301 USB HUB 文档。
44
其他接口电路 8 位LED 由ZLG7290 控制显示,而17 键小键盘和PS2 接口、IC 卡接口都由一片ATMEGE8 单片机控制,二者都是通过IIC总线接到2410 CPU 的。电路中对IICSDA 和IICSCL两个信号都接有3.3K 上拉电阻。
46
RS485 总线接口,传输线通过跳线接UART2,方向控制线占用GPH1。RS485接口采用DB9 母座,3 脚为RS485D+,8 脚为RS485D-。另外该插座可对外提供5V 电源,DB9 插座6 脚为RS485VCC,5 脚为GND,该电源可以通过跳线进行开关控制。
47
IrDA 红外电路,收发线通过跳线接UART2,收发芯片采用TFDU4100。该电路没有UART 握手信号,CTS 和RTS 等,需要软件设置UART2 为半双工串口红外模式。
48
板上的3 个ADC 电位器对应AIN0-2,可通过跳线选择处理器的AIN0-2 是连接电位器还是引出到扩展槽。另外PCB 上单独增加了一个具有AIN0-7 的接口,同扩展槽上AIN0-7,其中AIN0-2,AIN5,AIN7 也受跳线选择。ADC 电路的参考电压VREF 由多圈电位器RP1004 来提供,调试程序时需要用万用表检测VREF 测试点并调整到合理电压值,否则ADC 电位器的分压值或者扩展槽的电压将会和软件得出的数值存在不确定关系。
49
电机电路中用74HC573 扩展出8 位EXIO 控制端口来,该芯片和IDE/CF 卡电路同在BANK1,硬件依靠地址范围来分离两块电路功能。软件中访问IDE 设备时,请确保地址线A8 为0,地址在0x080000FF 以下即可;而74HC573 的地址可用0x ,使A8为1 即可。对74HC573 的访问(写操作)即可设置EXIO 的状态,从而控制步进电机和其他设备,EXIO 各线定义见原理图。直流电机依然使用定时器输出TOUT0 和TOUT1。
50
DA 电路芯片采用MAX504,通过SPI 总线接到CPU,MAX504 的片选和清零线为由74HC573 扩展出来的EXIO,编程方法参考电机部分。
51
CAN 总线电路, MCP2510 的片选线CS 线为GPH0, 接线端子5V 提供电源输出功能。
52
PCMCIA 接口是通过3 片74HC245 和一片CPLD 芯片接到扩展总线上的,而CPLD 的剩余6 个IO 端口已经引到168Pin 扩展槽上。PCMCIA 的电源管理采用了TPS2211芯片。
55
其他接口、扩展卡(如FPGA、GPRS、GPS等)如果项目需要,可以和我协商提供,不在课堂上讲解。
各种接口的启动以及Linux操作系统下的驱动希望大家在实验程序编写测试过程中去掌握。
Similar presentations