ABB DCS AC800M模块 CI861K01 CI858K01
ABB DCS AC800M模块 CI861K01 CI858K01
ABB DCS AC800M模块 CI861K01 CI858K01
-------------------------------------------------------------------------------------------------------------------
软件驱动的主要工作是配置DMA模块以及FLASH控制模块,当传输完成,检测到中断后,软件查询状态寄存器,其中的状态位来自FLASH。当一次操作完成后,控制器自动向FLASH发出查询状态的命令070,读出的状态字保存在控制器的状态寄存器中。
4NANDFLASH系统启动的传统模式
目前支持从NANDFLASH启动的SoC芯片中,一般都内嵌有片卜存储器。各个处理器厂商对这块片上存储器定义的容量大小有所不同,但
是启动模式都是比较一致的。NANDFLASH按页顺序读取的方式,意味着对当前的存储地址访问后就无法马上再次访问,需在当前页访问完成后,重新对此页访问时,才可对先前的地址单元再次访问,这就导致了一些程序语句无法执行,譬如跳转、循环等语句的使用。因此NANDFLASH仅作为启动代码的存储区,而真正执行的存储器区域是内嵌的片上存储器或者片外的SDRAM。
以上文中描述的控制器为例,按照这种启动模式,程序搬运以及执行的过程如下:
系统上电前,外部硬线NANDBOOT开关选择从NANDFLASH启动。芯片设计时,默认DMA占有系统总线,DMA按照配置寄存器的默认值工作,其源地址指向NANDFLASH,目标地址指向片上SRAM,NANDFLASH控制器在NANDBOOT选中的情况下,默认向NANDFLASH的首页发出读命令。即上电后,DMA控制器以及NANDFLASH控制器默认的把FLASH存储器中的***页搬到了片上SRAM中。一直到DM
A的工作完成前,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。
(2)其次是NANDFLASH控制器在启动过程中,对数据的读取方式。鉴于NANDFLASH大批量数据读写的特性,往往采用DMA方式对数据进行操作。启动过程中,由ARMcore直接向FIFO读取数据,在FIFO读空的情况下,将从没备READY信号拉低,等待NAND中的数据读出。并且在此读取过程中,DMA的请求被屏蔽。
(3)NANDFLASH型号类型众多,从每页容量大小、数据宽度、地址级数以及各型号芯片不同的时序参数,决定了一个控制器接口的兼容性要求相当的高。为了兼容从不同的NANDFLASH启动,设置了4根硬线作为选择。NANDBOOT选择是否从NANDFLASH启动;PAGESIZE选择每页大小,支持512B/page,2kB/page;IOWIDE选择数据端口的宽度,支持8位、16位;AD-DRE***YCLE选择发送地址级数,支持3级、4级、5级地址。时序参数的配置值可以采用默认的宽松值,在读取首页信息之后,将配置值根据当前的时钟频率以及芯片类型,选择舍适的时序值以达到***佳的性能。
(4)存储器首页的代码是在缓冲FIFO中执行的,FIFO的入口地址是一个高24位的选通地址,因此当系统启动时,零地址开始增加,
对FIFO中渎出的指令而言,低8位地址的变化是无关的,FIFO始终被选通。指令的输出是默认的顺序输出。这就要求首页的代码中不可以出现循环、跳转等语句,并且要求在128条指令内完成需要的操作。
6启动代码和流程的分析
上述的汇编程序即是存放在NANDFLASH首页的启动代码,启动的流程如下:
(1)配置DMA控制器的4个寄存器,通道使能后,等待FLASH发出的搬运请求;
(2)配置NANDFLASH控制器的3个寄存器,选择适合的地址、时序参数与所用的FLASH芯片吻合;
(3)分别在r8~r11中放入程序需要的备用值;
(4)将需要在S
DRAM中运行的4条指令搬入SDRAM030000000处;
(5)执行Nop指令,Nop指令用于填充一页NANDFLASH中的剩余空间;
(6)执行在页末的指令,将PC指针指向SDRAM的030000000处;
(7)执行SDRAM中的指令,首先启动NANDFLASH的数据传输,将程序搬往SDRAM的030001000处。其次执行一个循环语句,等待***页的程序搬完,之后将PC指针指向030001000处,启动程序从030001000处正式开始执行。
英维思
增强型智能通讯模件 4351B V10.5.2
数字输出模件3664
数字输出模件3604E
数字输出模件3625
脉冲输入模件3511
数字输入模件3503E
模拟输出模件3805E
模拟输入模块3721
远程RXM模块4211
主RXM模块4210
电源模块 8312230VAC
TRICON系统模块3511
TRICON系统通讯卡TCM4351B
TRICON系统卡件 DO3625
TRICON系统卡件DI3503E
TRICON系统卡件MP3008
TRICON系统卡件AO3805E
TRICON系统卡件 AI3721
巴赫曼
PLC-***处理器模块 MPC240 128MB
PLC-数字I/0模块 DIO216
扩展模块***11
接口模块 EM203
输入输出模块 DIO280
接口模块 RS204
模拟量输入模块 PTAI216
电源模块 NT255
数字量输入/输出模块 DIO16-C
背板模块 BS214
数字输入模块 DI232
数字输出模块 DO232
Fastbus模块 FS211/N
主控制器 MPC270
英维思
SIS卡件 AO连接卡9853-610
SIS卡件 AI连接卡9771-210
SIS卡件 DO连接卡9662-610
SIS卡件 DI连接卡9563-810
SIS卡件 电源卡8312
SIS卡件_电源卡,220VAC型号8312
SIS卡件tricon 8312
SIS卡件 DI卡件3503E
SIS卡件_DO卡件,型号3664 RevE6.0
SIS卡件AI卡件3721
SIS卡件3721
SIS卡件3625
SIS系统卡件3625
SIS 系统卡件 TRICONEX 3625
SIS卡件TRICONEX 3625
DO数字输出卡3625
SIS系统 DO卡件3625产品
SIS系统卡件3721
SIS系统AI卡3721
SIS卡件TRICONEX 3721
AI 3721卡件
SIS卡件DO卡件3664
I/O卡件DI3503E
SIS卡件 数字量输入DI卡 3503E
SIS系统卡件3503E
DI卡件 3503E TRICON
SIS系统卡件8312
SIS卡件电源卡件8312
SIS 系统卡件TRICONEX 8312
电源模件8312
SIS电源卡件8312
SIS系统卡9563-810
SIS 系统卡件TRICONEX 9563-810
数字量输入 9563-810
SIS卡件_DI连接卡,型号9563-810
SIS系统卡9662-610
SIS卡件 DO接线底板9662-810
SIS卡件9662-610
SIS卡件_AI连接卡,型号9771-210
SIS系统卡9771-210
SIS系统卡9853-610
系统SIS数字量输出 9853-610
数字量输出 9853-610
SIS卡件9853-610
SIS系统AI 3721
SIS系统CPU MP3008
三重化处理器3008
I/O卡件AI3721
I/O卡件DO3625
I/O卡件PI3511
通讯卡件TCM4351B
ITCC控制器triconex 4210
AO模件3805E|tricon|INVENSYS
AO模件3805Etricon
ITCC控制器triconex 4211
ITCC控制器triconexMP3008
ITCC系统电源模块TRICONEX 8312
控制系统配件 SIS扩展机架8111
控制系统配件 SIS 模拟量输入3721
控制系统配件 ESD 系统3805E
控制系统配件 TRICON 控制系统3604E
控制系统配件TRICON 控制系统3664
控制系统配件 TRICON 控制系统4351B
控制系统配件 TS3000 ETP 9761-210
控制系统配件 ESD 系统SIS数字量输入 9563-810
控制系统配件 ESD 系统SIS数字量输出 9853-610
控制系统配件 ESD 系统数字量输出 9662-110
TRICON ESD系统 扩展总线电缆 9000
控制系统配件 振动监测卡 3500/42-01-00
HONEYWELL 51401635-150
abb BRC100
abb BRC300
abb BR***00
abb HSS03