1 / 56

第 3 章 PSoC3/5 存储器系统 Chapter 3 Memory Sub-System of PSoC3/5

第 3 章 PSoC3/5 存储器系统 Chapter 3 Memory Sub-System of PSoC3/5. 何宾 2010.10. PSoC3/5 存储器系统 -- 前言. 详细介绍了 PSoC3/5 的存储器系统,其中包括静态 存储器 SRAM , Flash 程序存储器, EEPROM 模块和外部 存储器接口 EMIF 。通过本章内容的学习将系统掌握 PSoC 存储器系统的结构、功能、接口特性和访问方法。. PSoC3/5 存储器系统 -- 静态存储器 SRAM. 静态存储器 SRAM 用来暂存数据。 PSoC3 中 SRAM 的容

kohana
Download Presentation

第 3 章 PSoC3/5 存储器系统 Chapter 3 Memory Sub-System of PSoC3/5

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第3章 PSoC3/5 存储器系统Chapter 3 Memory Sub-System of PSoC3/5 何宾 2010.10

  2. PSoC3/5 存储器系统--前言 • 详细介绍了PSoC3/5的存储器系统,其中包括静态 存储器SRAM,Flash程序存储器,EEPROM模块和外部 存储器接口EMIF。通过本章内容的学习将系统掌握 PSoC存储器系统的结构、功能、接口特性和访问方法。

  3. PSoC3/5 存储器系统--静态存储器SRAM • 静态存储器SRAM用来暂存数据。PSoC3中SRAM的容 量最大为12kB(3个块),8051 CPU和DMA控制器均可访 问SRAM。 如果访问不同的4kB块,8051和DMA控制器可以同步 访问SRAM。

  4. SRAM(包括4KB跟踪缓冲区) 外设集线器 外设 外设 8051中央处理器 片上调试 PSoC3访问SRAM PSoC3/5 存储器系统--静态存储器SRAM

  5. 8051 CPU CPU接口 PHUB 接口 外设集线器PHUB SRAM BANK0 (1KBX32) SRAM BANK1 (1KBX32) SRAM BANK2 (1KBX32) 测试控制器TC CY8C38 SRAM的结构 PSoC3/5 存储器系统--静态存储器SRAM

  6. PSoC3/5 存储器系统--静态存储器SRAM 在调试时,片上调试(Debug on-Chip,DoC)访问 高4kB的空间,作为跟踪缓冲区。 如果跟踪缓冲区没有用于跟踪,那么就可以用于作为 额外的SRAM用于普通的操作。

  7. PSoC3/5 存储器系统--静态存储器SRAM • PSoC5提供最大64KB的SRAM空间。CPU和DMA控制 器都能访问SRAM。 Cortex-M3 CPU和DMA控制器能同时访问两个不同的 32KB块的SRAM空间。

  8. PSoC3/5 存储器系统--静态存储器SRAM 图 PSoC5访问SRAM

  9. PSoC3/5 存储器系统--静态存储器SRAM 图 CY8C55 SRAM的结构

  10. PSoC3/5 存储器系统--静态存储器SRAM 其地址空间位于0x20000000。 这样允许使用c总线(Cortex-M3的I和D总线)或者s总 线(Cortex-M3的系统总线)访问SRAM的所有块。 指令能从低于地址0x20000000的SRAM中执行。

  11. PSoC3/5 存储器系统--静态存储器SRAM PHUB能使用SRAM作为源设备或目标设备。所有到 SRAM的数据通道都是32位宽的(除了8051CPU,它是8 位宽度)。 CPU可以直接连接到SRAM,而不需要通过PHUB。 当出现CPU和DMA访问冲突时,采用下面的规则: 1)PSoC3中,访问SRAM的BANK0和2时,CPU优先级高于 PHUB;而访问SRAM的BANK1时,PHUB优先权高于CPU。 当使用DoC时,CPU和PHUB不允许访问BANK2。 2)PSoC5中大多数情况下,访问SRAM时,Cortex-M3 CPU优 先级高于 PHUB。

  12. PSoC3/5 存储器系统--Flash存储器 • PSoC内的Flash为用户的、用户的配置数据、海量数 据存储和可选择使用的纠错码(Error Correcting Codes, ECC)数据提供非易失性的存储空间。

  13. PSoC3/5 存储器系统--Flash存储器 图 Flash块图

  14. PSoC3/5 存储器系统--Flash存储器 PSoC3/5的Flash存储器具有下面的特点: • 以行为单位构成,每一行有256个数据字节,额外的32字节用于ECC或者数据存储; • 对于PSoC3:64,128,256行构成1块Flash存储器; • 对于PSoC5:128,256行构成1块Flash存储器,或256行构成多个块; • 存储CPU程序,块或非易失性数据; • 对于PSoC5,8,16,32位读访问,PSoC3只有8位读访问; • 有一个可编程的命令/状态寄存器接口。 • 提供四级Flash保护;

  15. PSoC3/5 存储器系统--Flash存储器 • 如果ECC空间没有用于ECC数据,那么可以用来保存 设备配置数据和海量用户数据。用户代码不得运行在 ECC的空间外。ECC能检测两比特错误,纠正一比特错 误;当检测到错误时,产生中断。

  16. PSoC3/5 存储器系统--Flash存储器 • Flash以行为单位进行读操作;每行为9个字节,其中 的8个字节为数据,1个字节为ECC数据。 当读一行时,数据字节复制到一个8字节指令缓冲区。 CPU从该缓冲区加载指令,用于提高CPU的性能。

  17. PSoC3/5 存储器系统--Flash存储器 通过特殊的接口对Flash进行编程,并且不需要在 Flash外执行代码。 Flash编程接口执行Flash的擦除,编程和设置代码保 护级别。 系统内串行Flash系统编程(Flash In System Serial Programming, ISSP)用于产品的编程,可以通过SWD和 JTAG接口实现。 系统内编程用于引导,系统内编程也可使用串行接 口,比如I2C、USB、UART、SPI和其他通信协议。

  18. PSoC3/5 存储器系统--Flash存储器 • PSoC提供了灵活的Flash保护模型,用来阻止访问和 看到片上的Flash存储器。 Flash储器是以分块的形式构成的,每个块包含256 字节的程序/数据,32字节的ECC/配置数据。 在64KB的Flash共有256个块。

  19. PSoC3/5 存储器系统--Flash存储器 • Flash为每行Flash提供了四种保护方式

  20. PSoC3/5 存储器系统--Flash存储器 如果通过引导代码更新程序,使用域更新保护模 式。 PSoC也提供了一种高级的安全特性称为设备保护, 用来永久禁止所有的测试,编程和调试端口,保护用户 程序防止外部访问。

  21. PSoC3/5 存储器系统--EEPROM存储器 • PSoC的EEPROM是字节可寻址的非易失性存储器。 PSoC3有最大2kB的EEPROM空间用于保存用户数据。 对EEPROM的读操作通过随机访问的方式实现,而 对EEPROM的写操作是通过发送写命令到EEPROM的编 程接口实现的。 在EEPROM写操作过程中,CPU能从FLASH继续执行 代码。 EEPROM分成两部分,每部分包含64行,每行16个 字节。由于EEPROM中没有ECC硬件,因此不能在 EEPROM中执行程序。如果需要ECC,则必须在固件中进 行处理。

  22. PSoC3/5 存储器系统--外部存储器接口EMIF • PSoC3/5提供了外部存储器接口(External Memory Interface, EMIF)用来连接外部的存储器设备。 • EMIF与UDB、I/O端口和其它硬件产生外部存储器 地址和控制信号。EMIF支持同步和异步的存储器。 在一个时刻内EMIF只支持一种存储器类型。

  23. PSoC3/5 存储器系统--外部存储器接口EMIF

  24. PSoC3/5 存储器系统--外部存储器接口EMIF 图 EMIF接口结构

  25. PSoC3/5 存储器系统--外部存储器接口EMIF 图 EMIF和同步SRAM的连接

  26. PSoC3/5 存储器系统--外部存储器接口EMIF 图 EMIF和异步SRAM的连接

  27. PSoC3/5 存储器系统--EMIF接口时序 • 总线时钟驱动EMIF,在EMIF模块内,总线时钟可以 1,2,4分频;输出是到外部存储器的EM_CLOCK信号。 EMIF_STATE寄存器可以用来添加更多的等待状态。 • 一个限制是PSoC3/5的GPIO引脚的最高速度为 33MHz。这就是说EM_CLOCK的频率最高为33MHz。

  28. PSoC3/5 存储器系统--EMIF接口时序 EMIF接口产生的PHUB等待状态

  29. PSoC3/5 存储器系统--EMIF接口时序 EM_CLOCK相对于总线时钟的限制

  30. EMIF接口时序图 PSoC3/5 存储器系统--EMIF接口时序

  31. 存储器映射结构--PSoC3存储器映射结构 • PSoC3的存储器映射模式和MCS-51存储器的映射方 式相似。

  32. 存储器映射结构--代码空间 • PSoC3的代码空间是64KB。在这个空间只有Flash 设备存在。

  33. 存储器映射结构--内部数据空间 • PSoC3的内部数据空间是384个字节,被分配在256 个字节的空间内。 这个空间由256字节的RAM组成,最低32个字节用 于4个Bank空间的R0-R7寄存器。随后的16个字节是位可 寻址的空间。

  34. 存储器映射结构--内部数据空间 8051内部的数据空间

  35. 存储器映射结构--内部数据空间 • SFR是8051单片机种各功能部件所对应的寄存器, 用来存放相应功能部件的控制命令、状态或数据。PSoC 除了提供8051单片机 标准的寄存器集外,还增加了SFR用 来提供对片上I/O端口的直接访问,以及对CPU时钟的修 改。

  36. 存储器映射结构--内部数据空间 SFR的映射空间

  37. 存储器映射结构--内部数据空间

  38. 存储器映射结构--内部数据空间

  39. 存储器映射结构--内部数据空间 1. xData空间访问SFR 8051提供了两个DPTR寄存器用于快速的数据传输 操作。数据指针选择SFR,DPS,选择DPTR0和DPTR1 中的哪个寄存器用于下面的指令: • MOVX @DPTR, A • MOVX A, @DPTR • MOVC A, @A+DPTR • JMP @A+DPTR • INC DPTR • MOV DPTR, #data16

  40. 存储器映射结构--内部数据空间 扩展的数据指针SFR,DPX0,DPX1,MXAX和P2AX 用来保存当访问xdata空间时的高位存储地址。这些SFR只 用在MOVX指令。 在MOVX指令,使用DPTR0/DPTR1寄存器,地址的 最高字节与DPX0/DPX1的内容一致。在MOVX指令,使 用R0/R1寄存器,地址的最高字节的MXAX的内容一致, 次高字节与P2AX内容一致。 8051xdata是一个24位(16MB)的空间。这个空间的 绝大部分用于片上的外设。

  41. 存储器映射结构--内部数据空间 XDATA空间映射

  42. 存储器映射结构--内部数据空间

  43. 存储器映射结构--内部数据空间

  44. 存储器映射结构--内部数据空间 • 2.I/O端口SFR I/O端口提供了输入感应,输出驱动,引脚中断,模 拟输入和输出的连接,LCD和通过DSI访问外设。 I/O端口通过PHUB连接到CPU,使用SFR允许快速的 访问有限的I/O端口寄存器集,而是用PHUB允许启动配 置和访问所有的I/O端口寄存器。 每个支持SFR的端口提供了三种SFR:

  45. 存储器映射结构--内部数据空间 1)SFRPRTxDR:用于设置端口的输出状态(x表示 端口号, 范围0-6,12,15)。 2)SFRPRTxSEL:选择使用PHUB PRTxDR寄存器 /SFRPRTxDR控制端口的输出缓冲区。如果 • SFRPRTxSEL[y]=1,相应的SFRPRTxDR[y]来设置引脚的输出状态; • SFRPRTxSEL[y]=0,相应的PRTxDR[y]来设置引脚的输出状态; 3)SFRPRTxPS:只读寄存器,包含端口引脚的引脚 状态值。

  46. 存储器映射结构--内部数据空间 • 3.时钟分频器SFR CPU分频器允许CPU运行在不同的速度下。用户通 过配置用户SFR空间地址为0xA1的CPUCLK_DIV寄存器 来指定CPU的时钟速度。

  47. 存储器映射结构--内部数据空间 时钟分频器设置

  48. 存储器映射结构--PSoC5存储器映射结构 • Cortex-M3有固定的地址映射,允许使用简单的存储 器访问指令来访问外设。

  49. 存储器映射结构--地址映射 地址映射

More Related