首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于ARM核的音频解码器单芯片系统研究(2)

基于ARM核的音频解码器单芯片系统研究(2)

EP7209中断控制器有两个中断类型:中断请求(IRQ)和快速中断请求(FIQ)。中断控制器有能力控制来自22个不同的FIQ和IRQ中断源的中断。这22个之中,有17个被映射为IRQ输入,而另5个源被映射为FIQ输入。FIQ较IRQ有较高的优先级。如果来自于同一个组(IRQ或 FIQ)的两个中断被接收到的话,其服务次序必须由软件来解决。所有中断均为电平敏感,也就是说,它们必须与下列的次序一致。
(1)中断器件(内部或者外部)产生适当的中断。
(2)如果中断屏蔽寄存器中适当的位已被设置,那么一个FIQ或IRQ将由中断控制器产生。
(3)如中断被使能的话,处理器将跳转到适当的地址。
(4)中断调度软件读中断状态寄存器,以确定中断源并调用相应的中断服务例程。
(5)中断服务例程中的软件将清除中断源,这是通过对申请中断的器件采取一些由该器件特定的行动来实施的(如,读UART RX寄存器)。
然后,中断服务例程可以重新使能中断。任何其它未处理的中断都将以相同的方法被服务。或者,它可以返回到中断调度软件。此软件能检查任何其它的未处理中断并能相应地调度它们。"End of Interrupt"类型的中断将被锁存。所有其它的中断源(如外部中断源)必须保持有效,直到相应的服务例程开始执行为止。
6. EP7209的启动方式
片上启动ROM的128字节中包含有一个指令序列。此指令序列能够初始化器件,然后配置UART1以接收2048字节的串行数据。这些数据接收后将置于片上的SRAM中。一旦下载传送完成,执行将跳转到片上SRAM的起始处。这将允许诸如在产品的制造过程中将代码下载并编程到系统Flash中这样的操作。
是否从片上启动ROM启动系统是由nMEDCHG引脚在电源复位期间的状态决定的。如果nPOR有效时,nMEDCHG为高,那么,EP7209将从连接到CS[0]的外部存储器器件启动(正常启动模式);如果nMEDCHG为低,那么,启动将从片上ROM处开始。注意:在两种情形下,上电复位结束后,EP7209将处于后备态,而且为了真正地开始执行启动序列,需要在WAKEUP引脚上有一个由低到高的跳变。
片上ROM启动的结果是对所有片选的解码都翻转了。控制启动选项的信号由nPOR锁存,这意味着地址和总线宽度的重新映射将继续应用,直到nPOR的再一次有效为止。从ROM启动后,启动ROM的内容可从地址0x0000000处读回来;而在正常操作状态下,启动ROM的内容可从地址范围 0x70000000中读回。
7. 存储器和I/O扩展接口
EP7209能够解码6个分立的线性存储器或扩展段。其中的两个可为PC Card卡预留,每一个接口连接到一个独立的单个CL-PS6700器件。每一个段的大小为256MB。两个附加段(除了这6个段以外的)被用于片上 SRAM和片上ROM。片上ROM空间被完全解码,SRAM空间也被完全解码到编程在LCDCON寄存器中的视频帧缓冲器的最大容量中(128KB)。超出此地址范围的SRAM空间不被完全解码(即超出128KB范围的任何存取将绕回到128KB范围内)。6个段中的任一个可配置成与传统SRAM接口一致的接口相连接,而且能单独地被编程为8、16或32位宽,支持页模式存取,并且在执行非连续存取时可插入1~8个等待状态,执行触发模式存取时可插入 0~3个等待状态。零等待状态连续存取特性被设计成支持触发模式的ROM。对使用nMWE引脚的可写存储器件,不允许零等待状态连续存取,至少应插入一个等待状态(等待状态数应编程到适当的MEMCFG寄存器的连续域中)。总线周期也可以通过使用EXPRDY输入信号来进行扩展。
8. 大端配置与小端配置
EP7209对内部寄存器使用小端(little endian)配置。然而,连结器件到用大端(big endian)配置的外部存储器系统上是可能的。ARM720T控制寄存器中的大端/小端位设置了EP7209在处理存储器中的字时是按大端格式还是小端格式进行。存储器被认为是从0开始向前编号的字节的线性组合。字节0~3容纳第1个被存储的字,字节4~7容纳第2个字,等等。在小端规划中,字中编号最低的字节认为是字的最低位字节,而编号最高的字节被认为是字的最高位字节。存储系统的Byte0在这个规划中应当连到数据线7到0(D[7:0])。在大端规划中,字的最高位字节被存储于编号最低的字节中,而最低字节存储于编号最高的字节中。因此,存储器系统的Byte0应当连到数据线31到 24(D[31:24])。装载和存储指令是被大小端配置影响的唯一指令。
9. 支持片上帧缓冲器的LCD控制器
LCD 控制器提供了所有需要的控制信号以便直接与一个单面板复合LCD接口。面板的大小是可编程的,可以是以16像素为增量,从32到1024像素的任何宽度(线长度)。总的视频帧缓冲大小可编程为高达128KB。这等同于理论上最大的面板大小1024×256像素(每像素4个位 )。视频帧缓冲器可定位于任何一个片选所控制的存储器中。在任何一个片选所控制的存储器中,它的起始地址固定于地址0X00000000。LCD视频帧缓冲器的起始地址定义在寄存器FBADDR[3:0]中,这些位将成为外部地址总线的最重要nibble(半字节)。缺省起始地址为 0XC0000000(FBADDR=0XC)。一个使用片上SRAM(OCSR)建立的系统将把片上SRAM用于LCD视频帧缓冲以及用于各种数据的存储。LCD视频帧缓冲器起始地址在这个系统中应当设置为0X6。
三、内存映射
地址空间的低2GB分配给了存储器。在EP7209中,恰好在2GB下的8KB的空间是为内部寄存器所准备的且不可存取,EP7209的MMU应被编程为在访问这一区域时产生一个中断例外。
通过从十六进制地址8000.0000到8000.3FFF的一组内部存储器位置来寻址内部外围部件。这些内存位置在EP7209中被认为是内部寄存器。从0x8000.0000到0x8000.1FFF含有与CL-PS7111兼容的寄存器,包含了这些寄存器是为了向下兼容并称它们为旧的内部寄存器。
表2显示了ARM720T处理器的4GB地址空间范围在EP7209中是如何被映射的(当从片上启动ROM启动时将有不同的内存映射),所显示的内存映射假定两个CL-PS6700卡控制器连结上了。如果此功能不需要的话,那么nCS[4]和nCS[5]存储器空间是可用的。外部启动ROM没有被完全解码(即:启动代码在0x7000.0000到0x8000.0000的256MB字节空间内将重复)。SRAM可被完全解码至最大的大小,即128KB,对超出此范围的任何位置的存取将绕回到这个范围内。
返回列表