第3章 基于S3C2410X处理器的嵌入式应用系统设计.ppt
《第3章 基于S3C2410X处理器的嵌入式应用系统设计.ppt》由会员分享,可在线阅读,更多相关《第3章 基于S3C2410X处理器的嵌入式应用系统设计.ppt(107页珍藏版)》请在三一办公上搜索。
1、第3章 基于S3C2410X处理器的嵌入式应用系统设计,3.1 基本电路设计 3.2 存储器系统设计 3.3 S3C2410X的串行通信设计3.4 S3C2410X的键盘及LED驱动设计 3.5 S3C2410X的D/A功能应用开发,3.1 基本电路设计 3.1.1 电源电路设计 S3C2410X需要3.3V和1.8V两种供电电压,是由5V电源电压经 LM1085-3.3V和 AS1117-1.8V分别得到 3.3V和1.8V的工作电压。开发板上的芯片多数使用了 3.3V电压,而 1.8V是供给 S3C2410 内核使用的。5V电压供给音频功放芯片、LCD、电机、硬盘、CAN总线等电路使用。具
2、体如图3.1所示。,RTC 电路的电压是 1.8V,实际是将电池电压或 3.3V电压经过两个 BAV99(等价于4 个二极管串联)降压后得到的。如图3.2所示。,图3.2 RTC 电路的电压原理图,3.1.2 复位电路设计 硬件复位电路实现对电源电压的监控和手动复位操作。IMP811T 的复位电平可以使 CPU JTAG(nTRST)和板级系统(nRESET)全部复位;RESET反相后得到nRESET信号。,图3.3 系统的复位电路,3.1.3 晶振电路设计S3C2410X微处理器的主时钟可以由外部时钟源提供,也可以由外部振荡器提供,通过引脚OM3:2来进行选择。OM3:2=00时,MPLL和
3、UPLL的时钟均选择外部振荡器;OM3:2=01时,MPLL的时钟选择外部振荡器;UPLL选择外部时钟源;OM3:2=10时,MPLL的时钟选择外部时钟源;UPLL选择外部振荡器;OM3:2=11时,MPLL和UPLL的时钟均选择外部时钟源。,该系统中选择OM3:2均接地的方式,即采用外部振荡器提供系统时钟。外部振荡器由12MHz晶振和2个15pF的微调电容组成。如图3.4所示,,图3.4 晶振电路原理图,图3.5所示的是S3C2410X应用系统所需的RTC时钟电路图,电路由12MHz晶振和2个15pF的电容组成,振荡电路的输出接到S3C2410X微处理器的XTlpll脚,输入由XTOpll提
4、供。12MHz的晶振频率经S3C2410X内部PLL电路的倍频后可达203MHz。,图3.5 系统时钟的选择,3.2 存储器系统设计 在嵌入式应用系统中,通常使用3种存储器接口电路,Nor Flash接口、Nand Flash接口和SDRAM接口电路。引导程序既可存储在Nor Flash中,也可存储在Nand Flash中。而SDRAM中存储的是执行中的程序和产生的数据。存储在Nor Flash中的程序可直接执行,与在SDRAM执行相比速度较慢。存储在Nand Flash中的程序,需要拷贝到RAM中去执行。,3.2.1 8位存储器接口设计,由于ARM微处理器的体系结构支持8位/16位/32位的
5、存储器系统,相应地可以构建8位的存储器系统、16位的存储器系统或32位的存储器系统,在采用8位存储器构成8位/16位/32位的存储器系统时,除数据总线的连接不同之处,其它的信号线的连接方法基本相同。,1构建8位的存储器系统 采用8位存储器构成8位的存储器系统如图3.6 所示。此时,在初始化程序中还必须通过BWSCON寄存器中的DWn 设置为00,选择8位的总线方式。存储器的nOE端接S3C2410X的nOE引脚;存储器的nWE端接S3C2410X的nWE引脚;存储器的nCE端接S3C2410X的nGCSn引脚;存储器的地址总线A15A0与S3C2410X的地址总线ADDR15ADDR0相连;存
6、储器的8位数据总线DQ7DQ0与S3C2410X的数据总线DATA7DATA0相连。,2构建16位的存储器系统 采用两片8位存储器芯片以并联方式可构成16位的存储器系统,如图3.7 所示,此时,在初始化程序中将BWSCON寄存器中的DWn 设置为01,选择16位的总线方式。存储器的nOE端接S3C2410X的nOE引脚;低8位的存储器的nWE端接S3C2410X的nWBE0引脚,高8位的存储器的nWE端接S3C2410X的nWBE1引脚;存储器的nCE端接S3C2410X的nGCSn引脚;存储器的地址总线A15A0与S3C2410X的地址总线ADDR16ADDR1相连;低8位的存储器的8位数据
7、总线DQ7DQ0与S3C2410X的数据总线DATA7DATA0相连,高8位的存储器的8位数据总线DQ7DQ0与S3C2410X的数据总线DATA15DATA8相连。,3构建32位的存储器系统采用四片8位存储器芯片以并联方式可构成32位的存储器系统,如图3.8 所示,此时,在初始化程序中将BWSCON寄存器中的DWn 设置为10,选择32位的总线方式。存储器的nOE端接S3C2410X的nOE引脚;低8位的存储器的nWE端接S3C2410X的nWBE0引脚,次低8位的存储器的nWE端接S3C2410X的nWBE1引脚,次高8位的存储器的nWE端接S3C2410X的nWBE2引脚,高8位的存储器
8、的nWE端接S3C2410X的nWBE3引脚;存储器的nCE端接S3C2410X的nGCSn引脚;存储器的地址总线A15A0与S3C2410X的地址总线ADDR17ADDR2相连。,图3.8 32位存储器系统,3.2.2 SDRAM接口电路设计 在ARM嵌入式应用系统中,SDRAM主要用于程序的运行空间、数据及堆栈区。当系统启动时,CPU首先从复位地址0 x0处读取启动程序代码,完成系统的初始化后,为提高系统的运行的速度,程序代码通常装入到SDRAM中运行。在S3C2410X片内具有独立的SDRAM刷新控制逻辑电路,可方便地与SDRAM接口。目前常用的SDRAM芯片有8位和16位的数据宽度、工
9、作电压一般为3.3 V。主要生产厂商有HYUNDAI、Winbond等,下面以K4S561632C-TC75为例说明其与S3C2410X的接口方法,构成16M x 32位的存储系统。,K4S561632C-TC75存储器是4组 4M 16 位的动态存储器,工作电压为3.3 V,其封装形式为54脚TSOP,兼容LVTTL接口,数据宽度为16位,支持自动刷新(Auto-Refresh)和自刷新(Self-Refresh)。其引脚如图3.9所示,引脚功能如表3.1所示。,图3.9 K4S561632C-TC75引脚图,表3.1 K4S561632C-TC75引脚功能表,采用两片K4S561632C-
10、TC75存储器芯片可组成16M 32位SDRAN存储器系统,其片选信号CS*接S3C2410X的nGCS6 引脚,具体连线如图3.10所示。,图3.10 K4S561632C-TC75组成的32位SDRAM存储器系统,3.2.3 Flash接口电路设计 Flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。目前所做用的Flash芯片主要有NorFlash和Nand Flash两种。但这两种Flash芯片在某些方面存在一定的差异,如:Nand器件执行擦除操作简单,而Nor则要求在进行写入前先将目标块内所有的位都写为0;Nor的读速度比Nand稍快一些;Nand的写入速度比No
11、r快很多,Nand需4ms擦除,而Nor需要5s快。Nand Flash的单元尺寸几乎是Nor器件的一半,由于生产过程更为简单,其价格低。在Nand闪存中每个块的最大擦写次数是一百万次,而Nor的擦写次数是十万次。,Nor具有XIP(eXecute In Place,芯片内执行)特性,应用程序可以直接在Flash闪存内运行,不必再把代码读到系统RAM中。Nor的传输效率很高,在14MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。Nand结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。在接口方面,Nor Flash和Nand Flash也存
12、在着差别。Nor Flash带有SRAM接口,Nand器件使用复杂的I/O口来串行存取数据。,1Nor Flash与S3C2410X微处理器接口设计SST39LF/VF160是1M X 16位的CMOS芯片,SST39LF160工作电压为3.03.6V,SST39VF160工作电压为2.73.6V,采用48脚TSOP封装或TFBGA封装,16位数据宽度,以字模式(16位数据宽度)的方式工作。SST39VF160的在系统编程和编程操作仅需3.3V电压,通过命令可以对芯片进行编程(烧写)、擦除(整片擦除和按扇区擦除)以及其他操作。SST39LF/VF160的引脚图如图3.11所示,引脚功能如表3.
13、2所示。,图3.11 SST39LF/VF160的引脚图,表3.2 SST39LF160/SST39VF160引脚功能表,表3.2 SST39LF160/SST39VF160引脚功能表,嵌入式应用系统中,常见的Nor Flash存储器芯片单片容量有1MB、2MB、4MB、8MB、16MB等。下面以SST39VF160为例,简述其与S3C2410X微处理器的连线,构成1M X 16位的存储器系统。SST39VF160的OE*与S3C2410X的nOE相连;WE*与S3C2410X的nWE相连;地址总线A19A0与S3C2410X的地址总线ADDR20ADDR1相连(注:因为是16位的存储器系统,
14、半字对齐,所以S3C2410X的A0不用连线);16位的数据总线DQ15DQ0与S3C2410X的低16位数据总线XDATA15XDATA0相连,如图3.12所示。,图3.12 SST39LF/VF160的存储系统电路图,2Nand Flash与S3C2410X微处理器接口电路设计 Nand Flash相对于Nor Flash接口复杂得多,但对于S3C2410X微处器提供了Nand Flash的接口,使其在嵌入式应用系统中的接口大大简便。例:K9F1208UDM-YCB0/K9F1208UDM-YIB0 存储器与S3C2410X微处理器接口。K9F1208UDM-YCB0/K9F1208UDM
15、-YIB0 存储器是64M8位的NAND Flash存储器,数据总线宽度为8位,工作电压为2.7V-3.6V,采作48脚TSOP封装,系统的编程和擦除电压仅需3.3V,其引脚如图3.13所示,引脚功能如表3.3所,表3.3 U-K9F1208UDM引脚功能表,图3.13 U-K9F1208UDM引脚图,K9F1208UDM与S3C2410X微处理器接口如图3.14所示。K9F1208UDM的ALE和CLE引脚分别与S3C2410X的ALE和CLE引脚相连;K9F1208UDM的WE*、RE*、CE*和R/B引脚分别与S3C2410X的Nfwe、Nfre、CLE和R/nB引脚相连;K9F1208
16、UDM的数据输入输出线IO7IO0分别与S3C2410X的DATA7DATA0引脚相连。其操作模式如表3.4所示。,图3.14 Nand Flash存储系统电路,3.3 S3C2410X的串行通信设计 3.3.1 串行口原理及接口技术 1异步串行IO 异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。数据的各不同位可以分时使用同一传输通道,因此串行IO 可以减少信号连线,最少用一对线即可进行。,图3.15 串行通信字符格式,S3C2410X串行接口,S3C2410X提供了3个通道的UART,要使其与PC机通信,必须将其信号电平转换为RS232C 的电平。RS232C规定
17、了双极性的信号逻辑电平:-3V 到-25V 之间的电平表示逻辑“1”。+3V 到+25V 之间的电平表示逻辑“0”。因此这是一套负逻辑定义,以上标准称为EIA 电平。,图3.16 S3C2410X与PC机的异步通信接口图,3.3.2 S3C2410X的UART模块 S3C2410X与UART 有关的寄存器主要有以下几个:(1)UART线控制寄存器包括ULCON0,ULCON1和ULCON2,主要用来选择每帧数据位数、停止位数,奇偶校验模式及是否使用红外模式,如表3.5和表3.6所示。,表3.5 UART寄存器设置,表3.6 UART寄存器位描述,(2)UART控制寄存器包括UCON0,UCON
18、1 and UCON2,主要用来选择时钟,接收和发送中断类型(即电平还是脉冲触发类型),接收超时使能,接收错误状态中断使能,回环模式,发送接收模式等。如表3.7和表3.8所示。,图3.7 UART控制寄存器设置,图3.8 UART控制寄存器器位设置,(3)UART错误状态寄存器包括 UERSTAT0,UERSTAT1 and UERSTAT2,此状态寄存器的相关位表明是否有帧错误或溢出错误发生。如表3.9和表3.10所示。,表3.9 UART错误状态寄存器,表3.10 UART错误状态寄存器位描述,(4)在UART 模块中有三个接收/发送状态寄存器,包括:UTRSTAT0 UTRSTAT1 U
19、TRSTAT2 如表3.11和表3.12 所示。,表3.11 UART接收/发送寄存器设置,表3.12 UART接收/发送寄存器位描述,(2)在UART 模块中有3 个UART 发送缓冲寄存器,包括:UTXH0,UTXH1 和UTXH2,UTXHn 有8位发送数据。如表3.13所示。,表3.13 UART发送缓冲寄存器,表3.14 UART发送缓冲寄存器功能,(3)在UART 模块中有3 个UART 接收缓冲寄存器,包括URXH0,URXH1 和URXH2,URXHn 有8位接收数据。如表3.15所示。,表3.15 UART接收缓冲寄存器,表3.16 UART接收缓冲寄存器功能,(4)UART
20、 波特率因子寄存器,表3.17 UART波特率因子寄存器,表3.18 UART波特率因子寄存器功能,UART包括三个波特率因子寄存器UBRDIV0,UBRDIV1 and UBRDIV2,存储在波特率因子寄存器(UBRDIVn)中的值决定串口发送和接收的时钟数率(波特率),计算公式如下:UBRDIVn=(int)(PCLK/(bps x 16)1或UBRDIVn=(int)(UCLK/(bps x 16)1例如:如果波特率是115200,PCLK or或UCLK is是40 MHz,那么UBRDIVn:UBRDIVn=(int)(40000000/(115200 x 16)-1=(int)(2
21、1.7)-1=21-1=20,3.3.3 S3C2410X的UART模块软件设计1编写串口驱动函数基于上述的寄存器描述,即可编写出驱动程序,其流程如图3.17和图3.18所示,其源程序代码详见本书所带光盘,在ADS1.2下编译调试通过。,图3.19 主函数框图,2在主函数中实现将从串口0 接收到的数据发送到串口0(main.c),图3.19所示。,/main.c函数/说明:C main 函数,ucos-ii初始化等定义#define U8 unsigned char#include#include#define TRUE 1#define FALSE 0#pragma import(_use_
22、no_semihosting_swi)/ensure no functions that use semihosting#define rUTRSTAT0(*(volatile unsigned*)0 x50000010)#define rUTRSTAT1(*(volatile unsigned*)0 x50004010)#define WrUTXH0(ch)(*(volatile unsigned char*)0 x50000020)=(unsigned char)(ch)#define WrUTXH1(ch)(*(volatile unsigned char*)0 x50004020)=(
23、unsigned char)(ch)#define RdURXH0()(*(volatile unsigned char*)0 x50000024)#define RdURXH1()(*(volatile unsigned char*)0 x50004024),void Uart_SendByten(int,U8);char Uart_Getchn(char*Revdata,int Uartnum,int timeout);void ARMTargetInit(void);void hudelay(int time);int main(void)char c11;char err;ARMTar
24、getInit();/do target(uHAL based ARM system)initialisation/while(1)Uart_SendByten(0,0 xa);/换行 Uart_SendByten(0,0 xd);/回车 err=Uart_Getchn(c1,0,0);/从串口采集数据 Uart_SendByten(0,c10);/显示采集的数据,void Uart_SendByten(int Uartnum,U8 data)/ok eric rong if(Uartnum=0)while(!(rUTRSTAT0,char Uart_Getchn(char*Revdata,i
25、nt Uartnum,int timeout)if(Uartnum=0)while(!(rUTRSTAT0,3.4 S3C2410X的键盘及LED驱动设计 S3C2410X的键盘采用AVR单片机mega8实现,较为简单,LED驱动采用ZLG7290进行设计,本节将针对ZLG7290进行详细描述。3.4.1 LED驱动原理及功能 ZLG7290是一片具有串行接口的,可同时驱动8位共阴式数码管(或64只独立LED)的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵,单片即可完成LED显示键盘接口的全部功能。,其特点如下:I2C 串行接口提供键盘中断信号方便与处理器接口 可驱动8 位共阴数码
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 基于S3C2410X处理器的嵌入式应用系统设计 基于 S3C2410X 处理器 嵌入式 应用 系统 设计

链接地址:https://www.31ppt.com/p-4722547.html