
BENTLY 330130-085-00-05
本公司***销售大型进口各种品牌DCS系统模块备件:BENTLYNEVADA3500/3300,AB,ABBAdvantOCS,ABBMOD30/MODCELL,ABBMOD300,ABBBaileyINFI90,ABBProcontic,ABBProcontrol,RosemountRS-3,YokogawaCentumXL,YokogawamicroXL,FOXBOROI/A,Westinghouse,Ovation,HoneywellQCS,HoneywellTDC系列,HoneywellS9000,HITACHI,MitsubishiPLC,MotorolaMVME,ALSTOMMVME,OtherVME,TOSHIBA,HP,Yaskawa,FANUC等大型模组,有着充足的库存,交货期快,查询。BENTLYNEVADA330130-085-00-05BENTLYNEVADA330130-085-00-05BENTLYNEVADA330130-085-00-051引言随着消费类电子产品包括PDA,MP3、智能手机等手持设备的市场需求逐步扩大,产品间的竞争也愈发激烈,降低产品的设计成本,提升产品的市场竞争力成为嵌入式系统开发者所面临的重大挑战。NANDFLASH和NORFLASH作为两种主要的非易失性存储器,被应用于各种嵌入式系统。其中NANDFLASH主要优点在于存储密度高、容量大,有更占优势的存储性价比。但是NANDFLASH由于其独特的页式读写方式,并不适合程序的直接执行。因此,从NANDFLASH启动需要片上存储器作为代码执行的中转区。本文所讨论的一种系统启动方式,是在缺少片上存储器支持的情况下,实现系统直接从NANDFLASH启动。***中充分考虑了如何实现软、硬件之间的协同工作,以完成SOC系统的设计。2NANDFLASH控制器的结构本文所讨论的NANDFLASH控制器是针对一款基于ARM7TDMI的SoC芯片,该控制器在芯片中的位置如图1所示,作为AMBA总线上的一个从设备集成于AHB上。主要模块包括总线接口模块、FIFO缓冲模块、ECC编码模块以及逻辑控制模块。控制器及其系统架构总线接口模块主要的功能是转换AMBA总线上的控制和数据信号:将总线上的数据送入FIFO或将数据从FIFO读出到总线上,将总线上的控制信号转换时序后送到控制模块。NAND控制器包含一个宽度为32b,深度为4的缓冲FIFO,用于解决高速总线与低速设备之间数据传输速度的匹配问题。为提高总线的传输效率,以及控制器设计的便利性,NANDFLASH在总线上的数据传输采用DMA的方式来完成。譬如在读取FLASH一页数据时,数据持续写入控制器FIFO,FIFO满时发出DMA传输的请求,同时暂停FLASH的数据读取,控制信号nRE拉高,直至DMA响应请求即FIFO不满时,FLASH的数据传输重新开始。当选择应用的FLASH位宽为8,页大小为(512+16)B时,控制器需要发出(32+1)次4拍字宽度的DMA传输请求来完成数据和校验信息的读取。控制模块的上作主要是将总线接口转换的控制信号,按照NANDFLASH的接口协议.将片选、地址、命令、读写使能按照所配置的时序要求,发送到NANDFLASH中,并且控制数据的传输个数,以及DMA请求、数据传输完成中断、数据错误中断等系统信号。NANDFLASH可靠性相对较差,存储器芯片中有坏块的存在,会导致存储数据出错。ECC校验模块针对NANDFLASH的可靠性问题,提供了一种查错、纠错的机制。ECC校验码在数据读人时,由硬件计算完成后写入到FLASH的校验位中,当此页数据读出时,校验码再次生成与存储器校验位中的数据进行比较,若相同则没有损坏位,若不同,则给出出错中断,软件通过检查比较结果,判断出错位的位置进行纠错处理。纠错功能仅针对单bit位的出错,当一个以上位同时在一页中出现时,ECC校验不能给出出错位正确的位置。3NANDFLASH工作的软件流程按照上节对控制器结构以及传输机理的分析,NANDFLASH的使用需要在FLASH控制器模块以及DMA控制器模块的协同下完成,工作的软件流程如图2所示。工作状态流程图软件驱动的主要工作是配置DMA模块以及FLASH控制模块,当传输完成,检测到中断后,软件查询状态寄存器,其中的状态位来自FLASH。当一次操作完成后,控制器自动向FLASH发出查询状态的命令070,读出的状态字保存在控制器的状态寄存器中。4NANDFLASH系统启动的传统模式目前支持从NANDFLASH启动的SoC芯片中,一般都内嵌有片卜存储器。各个处理器厂商对这块片上存储器定义的容量大小有所不同,但是启动模式都是比较一致的。NANDFLASH按页顺序读取的方式,意味着对当前的存储地址访问后就无法马上再次访问,需在当前页访问完成后,重新对此页访问时,才可对先前的地址单元再次访问,这就导致了一些程序语句无法执行,譬如跳转、循环等语句的使用。因此NANDFLASH仅作为启动代码的存储区,而真正执行的存储器区域是内嵌的片上存储器或者片外的SDRAM。以上文中描述的控制器为例,按照这种启动模式,程序搬运以及执行的过程如下:系统上电前,外部硬线NANDBOOT开关选择从NANDFLASH启动。芯片设计时,默认DMA占有系统总线,DMA按照配置寄存器的默认值工作,其源地址指向NANDFLASH,目标地址指向片上SRAM,NANDFLASH控制器在NANDBOOT选中的情况下,默认向NANDFLASH的首页发出读命令。即上电后,DMA控制器以及NANDFLASH控制器默认的把FLASH存储器中的***页搬到了片上SRAM中。一直到DMA的工作完成前,ARM核无法占用总线。此时零地址映射在片上SRAM,DMA完成搬运后,ARM开始执行程序。此段代码完成的工作包括对SDRAM控制器的初始化,从NANDFLASH搬运核心代码至SDRAM,配置地址重映射寄存器至零地址处,***后将PC指向零地址的SDRAM。在SDRAM执行的代码开始真正启动系统。5NANDFLASH系统启动的新方法一般情况下,片上存储器在作为启动代码转移阶石的同时,往往在启动后也有其特殊的作用。可以作为特殊的程序区,譬如在进行MP3***过程中,核心***函数作为频繁调用的程序,可以安排在片上SRAM中,以提高读取速度,提升系统性能。在SoC芯片开发过程中,在整体架构以及模块功能的变化之后,这块内嵌的SRAM失去了原来的作用,而仅作为NANDFLASH启动时的代码跳板,对于整个芯片而言,付出的代价比较大。于是提出了在没有片上存储器的架构下,从NANDFLASH启动的一种新模式。在上述一般模式启动过程中,片上SRAM所起到的作用,就是执行NANDFLASH中***页的代码,将真正的启动代码引入到SDRAM,***后将PC指针指向SDRAM。在失去片上SRAM的支持后,可以在控制器的FIFO中去执行此段代码,这需要在硬件以及软件代码中作出适当的改变。(1)首先需要改变的是地址映射的机制,系统上电后,ARM即从零地址开始执行指令,零地址映射到NANDFLASH的FIFO入口地址,地址的译码过程由AMBA总线模块完成。在外部硬线NANDBOOT拉高的条件下,AMBA从设备地址译码模块在启动过程中,将零地址的设备选择权给到缓冲FIFO。在***页的指令执行完毕后,PC指针也指向SDRAM。1771-IVN1771-OZ1771-OAD1771-IFE1771-ASB1771-IBN1771-NC61771-IR1771-IXHR1771-OFE21771-OVN1771-OZL1771-OX1771-HD1771-OBN1785-L20E1785-L20C151785-L20B1785-ME161785-BCM1785-BEM1785-L11B1785-L80C1785-CHBM1785-KE1785-L40C1785-L60L1785-ENET1785-L40L1785-L80E1785-L86B1785-L80C151785-L80B1785-M1001785-RC1785-L60B1785-L46C151785-L46B1785-ME641785-L40E1785-L40C151785-L40B1785-L30B1785-ME321785-L26BBoschPS75=047181-209110TeradyneM-841-00HONDA3557-1143-01HPTeradyne605-452-21TERADYNE950-392-00TERADYNE950-696-01TERADYNE950-556-00TERADYNE950-595-01TERADYNE950-661-03-00-ATERADYNEBIR-021587太平洋安防TERADYNE950-760-00TERADYNEBGR-024356TERADYNE950-656-00TERADYNE950-572-03TERADYNE950-657-00TERADYNE950-558-00/ATERADYNE950-563-04TERADYNEASSY118227TERADYNE950-563-02TERADYNE950-665-03TERADYNE950-660-02TERADYNE950-710-00TERADYNE950-678-01TERADYNE950-596-03TERADYNE950-658-00TERADYNE950-678-04TERADYNE950-658-02Teradyne804-972-07福克斯波罗FoxboroP0950BM福克斯波罗FOXBOROP0400HH福克斯波罗FoxboroFBM217福克斯波罗FOXBORODM400YL福克斯波罗FoxboroP0916PY福克斯波罗FoxboroP0916SR福克斯波罗FOXBOROFBM204福克斯波罗FoxboroP0961FR福克斯波罗FoxboroP0400DA福克斯波罗FoxboroCM400YHFBM福克斯波罗Foxboro83F-D06K2SSRJZ-D福克斯波罗FoxboroP0400DA福克斯波罗FOXBOROCM400YR-0C福克斯波罗FoxboroP0950BM福克斯波罗FoxboroRTT20-I1BNQCA-D3福克斯波罗FOXBOROP0970EJ-DNBXREXROTH2AD132D-B350B1-BD01-S001REXROTHHDD02.2-W040N-HD32-01REXROTHAA4VG56EP1D1/32R-NSC52F005DREXROTHAA4VG56EP1D1/32R-NSC52F003DHSREXROTHAA4VG56EP1D1/32L-NSC52F005DH-SREXROTHR902111779REXROTHA6VE55EP6/63W-VZL027BREXROTH2AD100C-B050B2-AS01/S01Rexroth4WS2EM6-21/15B11ET315K17EVREXROTHAA4VG56EP3D1/32L-NSC52F003DH-SREXROTHAA6VM80EZ3/63W-VSC520B-ESREXROTHAA2F***0/61W-VBDN527REXROTHMAC112C-0-ED-3-C/130-A-2/S018Rexroth4WRTE-42/MREXROTHAA10VG45HD1D1/10R-NSC60F015DREXROTHMA4/200-7301-MREXROTHMHD112B-058-PP1-BNREXROTHA6VE160EP1/63W-VZL020HBREXROTHAA6VM160HD1/63W-VSD520BREXROTHAA6VM160HD2/63W-VSD520BREXROTHR902037874REXROTHAA4VG90EP2D1/32L-NSF52F901DHREXROTHMDD115D-N-020-N2M-130-PA2REXROTHAA4VG90EP3DT1/32L-NUF52F071DH-SREXROTHAA4VG90HD1DT1/32L-NUF52F011D-SREXROTH0-608-830-093REXROTHAA6VM107HA1T/63W-VSD517AREXROTHAA4VG71HD3DT1/32L-NSF52F021D-SREXROTHMKD112B-024-KP0-BNREXROTHSO43A-1572REXROTHAA4VG56EP2D1/32R-NSC52F023DH-SREXROTHAA2FM180/61W-VSD510REXROTHAA6VM107HD1/63W-VSD510BREXROTHR902092802REXROTHR902092802REXROTHR902117244REXROTHAA2FM160/61W-VSD510REXROTHAA4VG180EP2D1/32L-NSD52F071DHREXROTHAA11VO260DRG/11REXROTH0-608-600-004REXROTHAA4VG125ES5DMT1/32R-NSF52F001DMREXROTH1PV2V4-17/50RA12VCREXROTHAA4VG125EP1D1/32R-NSF52F001SHREXROTHAA4VG125HD3DM1/32L-NSF52F021DREXROTHAA6VM200EP1/63W-VSD510B)