ARMIO接口介绍课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ARMIO接口介绍课件
19
ARMIO接口介绍课件
18
• 5)16位写操作
• unsigned short *pwAddr = (unsigned short *)0x6;
• *pwAddr = 0x1234;
• 由于NOR Flash的特性,使得NOR Flash的写操作比较复 杂——比如要先发出特定的地址信号通知NOR Flash准备接 收数据,然后才发出数据等。不过,其总线上的电信号与 软件指令的关系与读操作类似,只是数据的传输方向相反。
ARMIO接口介绍课件
16
• 3)8位读操作 • unsigned char *pwAddr = (unsigned char *)0x6; • unsigned char ucVal; • ucVal = *pwAddr; • CPU首先使用地址0x6对NOR Flsh发起16位的读操作,
得到两个字节的数据,假设为D0、D1;然后将D0取出赋 值给变量ucVal。在读操作期间,地址总线 ADDR1~ADDR20、 A0~A19的信号都是1、1、0、...、0(CPU的ADDR0为0,不 过ADDR0没有接到NOR Flash上)。CPU会自动丢弃D1。
5.2 I/O( GPIO)接口
• GPIO (General Purpose I/O Ports)意思为通用输入/输 出端口,通俗地说,就是一些引脚,可以过它们输出高 低电平或者通过它们读入引脚的状态——是高电平还是 低电平。
• 嵌入式系统的硬件平台是由微处理器(或微控制器)、 存储器、I/O端口及设备组成。I/O接口部件是嵌入式系 统的关键组成部分。
ARMIO接口介绍课件
8
ARMIO接口介绍课件
9
• 1.2 访问硬件
• 1.2.1 访问单个引脚
• 单个引脚的操作无外乎3种:输出高低电平、检测引脚 状态、中断。对某个引脚的操作一般通过读、写寄存器来 完成。
• 访问这些寄存器是通过软件来读写它们的地址。比如: S3C2410和S3C2440的GPBCON、GPBDAT寄存器地址都是 0x56000010、0x56000014,可以通过如下的指令让GPB5输 出低电平。
ARMIO接口介绍课件
6
• GPxCON中每两位控制一根引脚:00表示输入、01表示输 出、10表示特殊功能、11保留不用。
• 5.2.2 GPxDAT寄存器 • GPxDAT用于读/写引脚;当引脚被设为输入时,读此寄
存器可知相应引脚的电平状态是高还是低;当引脚被设为 输出时,写此寄存器相应位可以令此引脚输出高电平或是 低电平
• S3C2410有117个I/O端口,共分为A-H其8组: GPA、GPB、…、GPH。S3C2440有130个I/O端口 ,分为A-J共9组:GPA、GPB、…、GPJ。可以 通过设置寄存器来确定某个引脚用干输入、输 出还是其他特殊功能。比如可以设置GPH6作为 般的输入、输出引脚,或者用于串口。
ARMIO接口介绍课件
3
端口功能定义
• S3C2410芯片的每个I/O端口均是多功能的 • 上述8个I/O端口根据系统配置和设计的不同需求,设计
者可以选择这些I/O端口的功能。若选定某个I/O端口的 功能,设计者应在主程序运行之前编程设置对应的控制 寄存器,从而选定所需I/O端口的功能。如果某个I/O引 脚不用于特定功能的话,那么该引脚就可以设置为普通 的输入/输出引脚。
ARMIO接口介绍课件
13
ARMIO接口介绍课件
14
• 软件如何发起写操作呢,下面有几个例子的代码进行讲解。 • 1)地址对齐的16位读操作 • unsigned short *pwAddr = (unsigned short *)0x2; • unsigned short uwVal; • uwVal = *pwAddr; • 上述代码会向NOR Flash发起读操作:CPU发出的读地
址为0x2,则地址总线ADDR1~ADDR20、A0~A19的信号都 是1、0...、0(CPU的ADDR0 为0,不过ADDR0没有接到NOR Flash上)。NOR Flash的地址就是0x1,NOR Flash在稍后的 时间里将地址上的16位数据取出,并通过数据总线D0~D15 发给CPU。
ARMIO接口介绍课件
ARMIO接口介绍课件
10
ARMIO接口介绍课件
11
• #define GPBCON (*volatile unsigned long *)0x56000010) //long=int 4字节;char 1字节;short 2字节
• #define GPBDAT (*volatile unsigned long *)0x56000014) • #define GPB5_out (1<<(5*2)) • GPBCON = GPB5_out; • GPBDAT &= ~(1<<5);
ARMIO接口介绍课件
17
• 4)32位读操作
• unsigned int *pwAddr = (unsigned int *)0x6;
• unsigned int udwVal;
• udwVal = *pwAddr;
• CPU首先使用地址0x6对NOR Flsh发起16位的读操作, 得到两个字节的数据,假设为D0、D1;再使用地址0x8发 起读操作,得到两字节的数据,假设为D2、D3;最后将这 4个数据组合后赋给变量udwVal。
• 控制I/O接口部件的方式主要有:程序查询、中断控制 、DMA方式 等。
• 中断技术主要是用于I/O接口部件与微处理器之间进行 数据传输的控制,它协调了数据传输的双方的步调。
ARMIO接口介绍课件
1

• I/O端口是嵌入式系统硬件平台的重要组成部 分,通过I/O端口可以连接各种类型的外部输 入/输出设备,如:键盘、LCD显示器等。
择引脚的功能。
ARMIO接口介绍课件
5
• PORTA与PORT B~PORT H/J在功能选择方面有所不同, GPACON中每一位对应一根引脚(共23根引脚)。当某位 被设为0时,相应引脚为输出引脚,此时我们可以在 GPADAT中相应位写入0或1让此引脚输出低电平或高电平: 当某位被设为l时,相应引脚为地址线或用于地址控制,此 时GPADAT无用。一般而言GPACON通常被设为全l,以便访 问外部存储器件。 PORT B~ PORT H/J在寄存器操作方面完 全相同。
ARMIO接口介绍课件
2
§5.2.1 S3C2410的I/O接口
• S3C2410芯片共有117个输入/输出引脚,分属 于8个I/O端口:
• ·端口A (GPA):有23条输出引脚的端口。 • ·端口B (GPB):有11条输入/输出引脚的端口。 • ·端口C (GPC):有16条输入/输出引脚的端口。 • ·端口D (GPD):有16条输入/输出引脚的端口。 • ·端口E (GPE):有16条输入/输出引脚的端口。 • ·端口F (GPF):有8条输入/输出引脚的端口。 • ·端口G (GPG):有16条输入/输出引脚的端口。 • ·端口H (GPH):有11条输入/输出引脚的端口。
ARMIO接口介绍课件
7
• 5.2.3 GPxUP寄存器
• GPxUP:某位为1时,相应引脚无内部上拉电阻;为0 时,相应引脚使用内部上拉电阻。
• 上拉电阻的作用在于:当GPIO引脚处于第三态(即不 是输出高电平,也不是输出低电平,而是呈高阻态,即相 当于没接芯片)时,它的电平状态由上拉电阻、下拉电阻 确定。
15
• 2)地址位不对齐的16位读操作 • unsigned short *pwAddr = (unsigned short *)0x1; • unsigned short uwVal; • uwVal = *pwAddr; • 由于地址是0x1,不是2对齐的,但是BANK0的位宽被
设为16,这将导致异常。我们可以设置异常处理函数来处 理这种情况。在异常处理函数中,使用 0x0、0x2发起两次 读操作,然后将两个结果组合起来:使用地址0x0的两字 节数据D0、D1;再使用地址0x02读到D2、D3;最后,D1、 D2组 合成一个16位的数字返回给wVal。如果没有地址不 对齐的异常处理函数,那么上述代码将会出错。如果某个 BANK的位宽被设为n,访问此BANK时,在 总线上永远只 会看到地址对齐的n位操作。
ARMIO接口介绍课件
4
• 对于这几组GPIO引脚,它们的寄存器是相似的:GPxCON 用于选择引脚功能,GPxDAT
• 用于读/写引脚数据;另外,GPxUP用于确定是否使用内部 上拉电阻。x为A、B、…H/J,没有GPAUP寄存器。


1 . GPxCON寄存器

从寄存器的名字即可看出,它用于配置(Configure) /选
ARMIO接口介绍课件
12
• 1.2.2 以总线方式访问硬件
• 并非只能通过寄存器才能发出硬件信号,实际上通过 访问总线的方式控制硬件更为常见。如下图所示 S3C2410/S3C2440与NOR Flash的连线图,读写操作都是16 位为单位。
• 图中缓冲器的作用是以提搞驱动能力、隔离前后级信 号。NOR Flash(AM29LV800BB)的片选信号使用nGCS0信 号,当CPU发出的地址信号处于0x00000000~0x07FFFFFF之 间 时,nGCS0信号有效(为低电平),于是NOR Flash被选 中。这时,CPU发出的地址信号传到NOR Flash;进行写操 作时,nWE信号为低,数据信号从CPU发给NOR Flash;进 行读操作时,nWE信号为高,数据信号从NOR Flash发给 CPU。
相关文档
最新文档