《常用嵌入式存储器和嵌入式总线技术.ppt》由会员分享,可在线阅读,更多相关《常用嵌入式存储器和嵌入式总线技术.ppt(86页珍藏版)》请在三一办公上搜索。
1、 嵌入式系统原理与开发,第16讲南京大学计算机系 俞建新主讲,2008年春季,2008年07页13日,南京大学计算机系,2,第8章 嵌入式存储器和接口技术,本章主要介绍以下内容:嵌入式系统常用存储器嵌入式系统常用总线嵌入式系统常用接口嵌入式系统常用外部设备,2008年07页13日,南京大学计算机系,3,8.1 嵌入式系统常用存储器,嵌入式系统常用的存储器主要有这几类:ROM小规模容量、Bootloader载体容量16KB到32KBSRAMEmbedded SRAM,简称为嵌入式SRAM容量达几百K字节、用作片上Cache、片上SRAMSDRAMSynchronous Dynamic Rando
2、m Access Memory高密度同步动态随机访问存储器容量在8MB至512MB范围内Flash存储器大容量中低密度、最大容量达到32GB,2008年07页13日,南京大学计算机系,4,8.1.1 闪速存储器,闪速存储器是一种半导体集成电路存储器在EEPROM的基础上进化而来英文原文是Flash Memory,简称闪存主要物理特点是非易失Non-Volatile,也叫做不挥发,2008年07页13日,南京大学计算机系,5,与传统半导体存储器的比较,2008年07页13日,南京大学计算机系,6,两种类型的Flash,Nor Flash,称为或非型闪存,或者NOR闪存Nand Flash,称为与
3、非型闪存,或者NAND闪存Nor Flash是在EEPROM基础上发明的。Intel公司于1983年首次提出,在1988年商品化。Nand Flash是1989年东芝公司和三星公司发明的。十几年以来,世界主要闪存生产商分成Nor和Nand两大技术阵营,积极开展研发和生产。Nor阵营主要有Intel和AMD公司Nand阵营主要有Toshiba和Samsung公司,2008年07页13日,南京大学计算机系,7,闪存位元工作原理,Intel公司提出的单管叠栅位元结构是基于EPROM隧道氧化层(ETOX,EPROM Tunnel Oxide)的位元结构,该位元结构最为简单实用。下面以ETOX结构为例介
4、绍Flash存储器记忆位元的结构原理。,2008年07页13日,南京大学计算机系,8,ETOX位元结构,ETOX单元结构是由两个相互重叠的多晶硅栅组成,浮栅(FG,Floating Gate)用来存储电荷,以电荷记录所存储的数据;控制栅(CG,Control Gate)作为字选择栅极起控制与选择的作用。通过控制栅字线的电平状态能够检测所存储的是“0”还是“1”。,2008年07页13日,南京大学计算机系,9,Flash存储位元结构图,2008年07页13日,南京大学计算机系,10,Flash位元编程操作1,FG上有电子,成为“0”位元,2008年07页13日,南京大学计算机系,11,Flash
5、位元编程操作2,FG上无电子,成为“1”位元,此时电子汇集在源极,2008年07页13日,南京大学计算机系,12,Nor Flash记忆单元块的结构,Nor Flash存储器的一个存储单元(记忆单元)使用一个晶体管。每个晶体管有一个字线和一个位线与之相连。在这种存储阵列布局下,对某一根位线而言,有一组字线(例如8根)与之相交,在交叉点上有一个晶体管与两线相连。,2008年07页13日,南京大学计算机系,13,Nor Flash记忆单元块读操作图解,2008年07页13日,南京大学计算机系,14,Nor Flash的读操作说明,读数据时,未被选中字线上的晶体管栅极为接地电平,致使晶体管截止,成为
6、逻辑值“1”。选中字线上的栅极为高电平,并且这个晶体管的漏极会和该位线连通。于是位线上的电平逻辑取决于选中晶体管的逻辑。如果为“1”则晶体管导通,相应读出放大器(RA,Read Amplifier)输出“1”。如果为“0”,RA输出也为“0”。Nor Flash的逻辑功能类似于NOR门(或非门),由此而命名为Nor Flash。,2008年07页13日,南京大学计算机系,15,Nand Flash记忆单元块的结构,核心结构是将8个晶体管的漏极和源极头尾相连接成一组,最高端接位线,最低端与高电压的源极Vs相连接。存储阵列的行线是字线,平时保持适合的电平状态,使得这些晶体管通常是处于导通状态。读出
7、数据时,被选中的字线加高电平,未选中字线上的存储单元不论存储的值是逻辑0还是逻辑1都是导通的。这样,被选中的存储单元如果存“1”则导通,输出“1”,位线为高电平;如果存“0”则截止,位线为低电平,输出“0”。这个逻辑功能类似于NAND门(与非门)。,2008年07页13日,南京大学计算机系,16,Nand Flash记忆单元块读操作,2008年07页13日,南京大学计算机系,17,Nor Flash存储阵列分析,以8行 x 8列的Nor Flash存储单元阵列为例,说明下面三种操作的工作机理。擦除编程(写操作)读出参看教材243页的Nor Flash存储矩阵分析,2008年07页13日,南京大
8、学计算机系,18,Nor Flash存储阵列的擦除操作,2008年07页13日,南京大学计算机系,19,Nor Flash存储阵列的编程操作,2008年07页13日,南京大学计算机系,20,Nor Flash存储阵列的读出操作,2008年07页13日,南京大学计算机系,21,NAND Flash存储阵列分析,以8行 X 8列的Nand Flash存储单元阵列为例,说明下面三种操作的工作机理。擦除编程(写操作)读出参看教材244页的Nand Flash存储矩阵分析,2008年07页13日,南京大学计算机系,22,Nand Flash存储阵列的擦除操作,2008年07页13日,南京大学计算机系,2
9、3,Nand Flash存储阵列的编程操作,2008年07页13日,南京大学计算机系,24,Nand Flash存储阵列的读出操作,2008年07页13日,南京大学计算机系,25,典型的Nand Flash闪存芯片的存储单元立体阵列结构,下面给出一个典型的Nand Flash闪存芯片的存储单元立体阵列结构示意图。每1个存储页呈平面形状,含512个字节存储空间。此外在一个页面上还有16个字节的备用字节区,用阴影线示出。备用字节区用于存放纠错码(ECC:Error Correcting Code)校验和其他信息,有时也被称为Out Of Bank区域,即OOB区。每32个页构成一个数据块,数据块的
10、容量是16KB。该闪存器件一共集成有2048个块,所以总容量达到32MB,或者256Mb。,2008年07页13日,南京大学计算机系,26,Nand Flash记忆单元立体阵列,2008年07页13日,南京大学计算机系,27,典型Nand Flash读操作时序状态,读操作是通过4个地址周期将命令字00H、列地址、行地址1和行地址2写入到指令寄存器开始的,2008年07页13日,南京大学计算机系,28,Nor Flash和Nand Flash的共同特点,向芯片中写数据必须先将芯片中对应的内容清空,然后再写入。闪存擦写的次数都是有限的,当闪存的使用寿命快到时,经常会出现写操作失败。为了延长使用寿命
11、,不要对某个特定区域反复地进行写操作。闪存的读写操作不仅是一个物理操作,还需要算法支持。一般在驱动程序的内存技术设备(MTD,Memory Technology Drivers)模块中或者在闪存转换层(FTL,Flash Translation Layer)内实现,具体算法同芯片生产商以及芯片信号有关。,2008年07页13日,南京大学计算机系,29,闪存驱动,Nor Flash存储器可以进行字节读写,所以在Nor Flash存储器上运行代码基本上不需要软件支持。Nand Flash存储器由于其物理特性独特,数据读写比较复杂,对其存储的数据管理方法与其他存储设备的管理方法不同,需要软件支持。N
12、and Flash的存储单位有字节、页和块。一页大小为512字节,依次分成两个256字节主数据区(512字节,正好等于磁盘一个扇区大小),最后是16字节空闲区(Spare Data)。若干页组成一块,通常为32页。一个存储设备又由若干块组成。,2008年07页13日,南京大学计算机系,30,NOR闪存HY29LV160与S3C44B0X处理器的接线,CPU对Nor Flash的接口不需要其他任何软件上的设置。这样,系统加电复位时,从Nor Flash的0 x0地址开始执行第1条指令,也就开始执行了Nor Flash里的启动代码。,2008年07页13日,南京大学计算机系,31,NAND闪存K9
13、F2808U0A功能方框图,2008年07页13日,南京大学计算机系,32,NAND闪存K9F2808U0A的地址信号线分析,K9F2808U0A总容量是16MB=224Bytes,地址信号一共有24根。其中A0-A7为列地址,A9-A16为前一半寄存器行地址,A17-A23和外加的低电平“L”为后一半寄存器行地址。A8由00h或01h命令设置为Low或者High。00H命令定义了起始地址在寄存器的前一半,01H命令定义了起始地址在寄存器的后一半。,2008年07页13日,南京大学计算机系,33,NAND闪存K9F2808U0A与S3C44B0X处理器的连接方法,NAND型闪存K9F2808U
14、0A与与不带NAND控制器的S3C44B0X的连接方法如下图(教材图8-12)所示。,2008年07页13日,南京大学计算机系,34,8.1.2 SDRAM,SDRAM(Synchronous DRAM)是同步动态存储器。从技术角度上讲,同步动态存储器是在现有的标准DRAM中加入同步控制逻辑(一个状态机),利用一个单一的系统时钟同步所有的地址数据和控制信号,做到SDRAM的时钟频率与CPU前端总线时钟频率相同,实现存储器读写速度与CPU的处理速度保持一致。嵌入式系统通常直接使用一颗SDRAM芯片作为主存储器。,2008年07页13日,南京大学计算机系,35,S3C44B0X的SDRAM配置计算
15、表,总容量/芯片粒数/单元数/芯片位宽/Bank数之间的计算关系,2008年07页13日,南京大学计算机系,36,SDRAM芯片实例,IS42S16400同步动态RAM芯片是美国ISSI公司的产品。总容量为64Mbit,存储组织为1M x 16bits x 4Bank。时钟频率为133MHz或者100MHz。全部信号同步于时钟的上升沿。单一3.3V电源供电。下面给出了该SDRAM芯片的内部结构图。,2008年07页13日,南京大学计算机系,37,SDRAM芯片IS42S16400同步内存芯片结构图,2008年07页13日,南京大学计算机系,38,32MB同步动态存储器与S3C44B0X处理器的
16、接线,HY57V561620(L)T 芯片与S3C44B0X的接线图,2008年07页13日,南京大学计算机系,39,8.2 嵌入式系统常用总线,从电信号角度看,嵌入式产品里面内连在PCB上的设备以及外接的设备大都采用总线方式连接。这些总线的控制器以两种方式存在。一种是集成在处理器内部,另外一种是以专用芯片形式出现。下面我们介绍常用的嵌入式系统总线技术标准。包括:I2C总线、SPI总线、CAN总线、现场总线概论、基金会现场总线(FF)、现场总线104总线。,2008年07页13日,南京大学计算机系,40,8.2.1 I2C总线(IIC总线),I2C总线(InterIntegrated Circ
17、uit,IIC也是常用写法)是1980年代初由PHILIPS公司发明的一种双向二进制同步串行总线,它是目前SOC控制外围设备的常用总线。I2C是一个廉价优质的总线适用于消费电子、通讯电子、工业电子等领域的低速器件。,2008年07页13日,南京大学计算机系,41,I2C总线的技术特征,I2C总线是一个简单的双向两总线物理上一共有两条信号线和一条地线。两条信号线分别为串行数据线(SDA,Serial Data)和串行时钟线(SCL,Serial Clock)。使用集电极开路门以“线与”(Wired-AND)方式与IIC连接,而不是通常的三态门。IIC总线不设置仲裁器和时钟发生器,而是通过定义一个
18、仲裁过程来实现总线仲裁,并由仲裁胜利方提供总线时钟。,2008年07页13日,南京大学计算机系,42,I2C总线的技术特征(续),I2C总线中的每一个设备都有唯一的7位地址,也就是说一个I2C总线系统中理论上可挂接128个不同地址的设备。采用I2C总线连接的设备处于主从模式,主设备既可接受数据,也可发送数据。I2C总线是一个真正多主总线,可以有许多主机共设备于一条总线上。I2C总线含冲突检测和竞争功能,从而确保当多个主设备同时发送数据时不会造成数据冲突。I2C总线是一个串行的8位双向数据传送总线。在标准模式下,数据传输速率为100Kbps;在快模式下,数据传输速率为400Kbps;在高速模式下
19、,数据传输速率为3.4Mbps。,2008年07页13日,南京大学计算机系,43,IIC总线结构示意图,2008年07页13日,南京大学计算机系,44,I2C总线的传输规范,由于I2C总线的连线少,结构简单,可不用专门的母板和插座直接用导线互连各个设备,因而可大大简化系统的硬件设计。每一个设备都可以作为主设备或者是从设备,例如存储器之类的设备就可以既是主设备又是从设备。I2C总线的数据传输包括位传输和字节传输两方面。当位传输时,必须有一个时钟脉冲产生。此外,由于I2C总线中接口连接器件的制作工艺不同(如CMOS,NMOS等),位的逻辑0和1的电平并不是固定的,它根据连接的电源VDD来确定。,2
20、008年07页13日,南京大学计算机系,45,I2C总线的传输规范(续1),仅当SCL信号线为稳定高电平时,SDA信号线上的数据有效;当SCL信号线为低电平时,允许SDA信号线上的数据改变。每一位数据传输需要一个时钟脉冲。如下图所示:,I2C总线数据稳定与变化的时序图,2008年07页13日,南京大学计算机系,46,I2C总线的传输规范(续2),在位传输时,有两个重要的传输位:START(开始位)和STOP(结束位)。START位出现在SDA信号线电平由高向低转换并且SCL信号线电平为高的场合。STOP位出现在当SDA信号线电平由低向高转换并且SCL信号线维持高电平场合。在位传输时,START
21、与STOP的位置如图所示:,时序图中开始位置与停止位置图,2008年07页13日,南京大学计算机系,47,I2C总线的传输规范(续3),在字节传输时,传送到SDA线上的每一个字节必须为8位;每次传送的字节数不限;每一个字节后面必须跟一个响应位。数据传输时,首先传输最高有效位(MSB,Most Significant Bit)。如果在传输的过程中,从设备不能一次接收完一个字节,此时它就使时钟置为低电平,迫使主设备等待;当从设备能接收下一个数据字节后,将释放SCL线,继续后面的数据传输。如下图所示为数据传输时序图:,I2C总线中数据传输时序图,2008年07页13日,南京大学计算机系,48,S3C
22、44B0X的I2C总线读写操作,(1)读写操作在发送模式下(即写操作),数据被发送之后,I2C总线接口会等待直到IICDS(I2C数据移位寄存器)被程序写入新的数据。在新的数据被写入之前,SCL线都被拉低。新的数据写入之后,SCL线被释放。S3C44B0X利用中断来判别当前数据字节是否已经完全送出。CPU接收到中断请求后,在中断处理程序中将下一个新的数据写入IICDS中,如此循环。,2008年07页13日,南京大学计算机系,49,在接收模式下(即读操作),数据被接收到后,I2C总线接口将等待直到IICDS寄存器被程序读出。在数据被读出之前,SCL线保持低电平。新的数据被读取之后,SCL线才被释
23、放。S3C44B0X也利用中断来判别是否接收到了新的数据。CPU收到中断请求之后,处理程序将从IICDS中读取数据。,S3C44B0X的I2C总线读写操作(续1),2008年07页13日,南京大学计算机系,50,S3C44B0X的I2C总线读写操作(续2),(2)配置I2C总线要控制串行时钟SCL的频率,可以通过IICCON寄存器中的4位预分频值来设置。另外,I2C总线接口地址通过I2C总线地址寄存器IICADD来配置(默认状态下,I2C总线接口地址是一个未知值)。,2008年07页13日,南京大学计算机系,51,S3C44B0X的I2C总线控制器,S3C44B0X支持多主模式的IIC总线串行
24、接口。S3C44B0X处理器提供专用串行数据线(SDA)和串行时钟线(SCL)与IIC总线上的其他外设传输信息,提供4种传输模式:主发送,主接收,从发送,从接收。I2C总线接口专用寄存器有4个,包括:多主I2C总线控制寄存器IICCON、状态寄存器IICSTATD、I2C总线地址寄存器IICADD、I2C总线发送接收数据移位寄存器IICDS。它们都是可读可写寄存器。,2008年07页13日,南京大学计算机系,52,8.2.2 SPI总线,串行外围设备接口(SPI:Serial Peripheral Interface)是Motorola公司推出的一种同步串行接口技术。由于它起到了串行总线的作用
25、,有不少业内人士将SPI称为同步串行总线接口。SPI主要用于主从分布式的通信网络。由4根接口线即可完成主从设备之间的数据通信。这4根接口线分别是:时钟线(SCLK)、数据输入线(SDI)、数据输出线(SDO)、片选线(CS)。,2008年07页13日,南京大学计算机系,53,SPI串行总线的典型结构,SPI标准中没有定义最大数据速率。取决于外部设备自己定义的最大数据速率,通常为5Mbps量级以上。微处理器可以适应很宽范围的SPI数据速率。下面给出了SPI总线的结构示意图,2008年07页13日,南京大学计算机系,54,8.2.3 CAN总线,CAN全称为“Controller Area Net
26、work”,即控制器局域网,是一种串行数据通信总线,也是应用最广泛的现场总线。CAN最初由德国Robert Basch及几个半导体集成电路制造商开发出来的,目的是为了节省接线的工作量,目前CAN芯片由Motorola,Intel等公司生产。巳由ISO/TC22技术委员会批准为国际标准IS011898(高速场合)和ISO11519(低速场合),是最早被批准为国际标准的现场总线。,2008年07页13日,南京大学计算机系,55,8.2.3.1 什么是现场总线?,现场总线(Fieldbus)是1980年代后期开始出现的工控领域通信网络,是安装在生产过程区域的智能现场设备(仪表)与总控制站内的自控装置
27、之间的一种串行、数字式、多点、双向传输、多分支结构的通信网络,被称为自动化领域的计算机局域网。现阶段流行使用的现场总线有:FF H1、PROFIBUS、CAN、WORLDFIP、P-NET和LONWORKS等。现场总线的特点是:数字化、分布式、开放性、双向串行传输互操作性、节省布线空间等。1999年底现场总线协议已被国际电工委员会(IEC,International Electro-technical Commission)批准正式成为国际标准,从而使现场总线成为一种开放的技术。,2008年07页13日,南京大学计算机系,56,现场总线标准化机构,目前,现场总线的标准化机构是现场总线基金会(F
28、F,Fieldbus Fundation)。该机构是一个国际性的非赢利性组织,于1994年6月成立,其总部位于美国的德州奥斯汀市。FF的目标是建立单一的、开放的、可互操作的现场总线国际标准。这个组织给予国际电工委员会(IEC)现场总线标准起草工作组以强大的支持,起着举足轻重的作用。这个组织目前有l00多成员单位,包括了全世界主要的过程控制产品及系统的生产公司。,2008年07页13日,南京大学计算机系,57,一个典型的开放式现场总线协议,是仪表及过程控制领域向数字化通讯领域的技术转变产物。FF自1984年成立以来,经过十年的发展,已经形成了一个开放的、全数字化的工业通信系统,并在上世纪末开始进
29、入中国市场,推动了中国的工业自动化技术进步。在大型全区域系统集成方面FF有广泛的应用。现场总线基金会分别于1996年和2000年颁布了两种FF标准。低速总线H1(31.25Kbps)和高速以太网HSE(High Speed Ethernet,100Mbps)。H1的分层模型自顶向下分为用户应用层、现场总线报文规范层、现场总线访问子层、数据链路层和物理层,采用双绞线连接各个结点。,基金会现场总线(FF),2008年07页13日,南京大学计算机系,58,现场总线PROFIBUS,一个典型的重要的现场总线。1987年由西门子公司等13家企业和5家研究机构联合开发。1996年批准为欧洲标准EN 501
30、70 V.2 PROFIBUS-FMS/-DP。PROFIBUS有两个主要的通信协议,FMS和DP。前者用于车间级通信,在车间级主要是可编程的控制器(如PLC和PC)彼此之间的通信。后者用于总线主站与其所属从站设备之间进行简单、快速、循环和时间确定性的过程性数据交换。,2008年07页13日,南京大学计算机系,59,8.2.3.2 CAN主要技术特点,CAN是一种多主串行通信总线系统。通信介质可以是双绞线、同轴电缆或光纤。通信速率可达到1Mbps/40m,直接传输距离最远可达10Km/5Kbps。最多可挂接110个设备。报文标识符可达2032种(CAN2.0)。CAN的媒体访问采用多主随机发送
31、协议。由于使用了NRZ(非归零码)作为传输码元(发送隐式码元时,总线与发送器间为高阻),实现了无冲突的媒体访问协议CSMA/CA(载波侦听多路存取/冲突避免)。,2008年07页13日,南京大学计算机系,60,CAN主要技术特点(续),CAN总线优点包括:速度快,网络带宽利用率高,纠错能力强,帧未结束时就可以得到确认。CAN总线也有缺点。1)CAN的时延不确定。它每一帧包括0-8个字节的有效数据,所以,只有具有最高优先权的帧的延时是确定的,其它帧只能根据一定的模型估算。2)由于CAN的数据传输方式单一,限制了它的功能,例如通过网上下载程序就比较困难。另外,CAN的网络规模比较小,一般在50个节
32、点以下。,2008年07页13日,南京大学计算机系,61,CAN的组网结构示意图,CAN的最主要应用领域是汽车电子,用于汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。如下图所示:,CAN总线在汽车电子中的应用示意图,2008年07页13日,南京大学计算机系,62,微处理器内置的CAN控制器举例,LPC2294是PHILIPS公司新推出的一款功能强大的超低功耗的具有ARM7TDMI内核的32位微控制器。144脚封装、两个32位定时器、八路10位ADC、四路CAN通道和PWM通道以及多达九个的外部中断,内部嵌入256K字节高速Flash存储器和16K字节静
33、态RAM,包含76(使用了外部存储器)112(单片)个GPIO口。LPC2294内部集成的4个CAN控制器符合CAN规范CAN2.0B,ISO 11989-1标准。总线数据波特率都可达1Mbps;可访问32位的寄存器和RAM;全局验收过滤器可识别几乎所有总线的11位和29位Rx标识符。,2008年07页13日,南京大学计算机系,63,8.2.4 工业以太网,将以太网技术引入到工业现场过程控制领域是当前工业自动化技术发展的潮流。下面我们介绍工业以太网基本知识。,2008年07页13日,南京大学计算机系,64,以太网历史沿革,以太网于1973年由Xerox(施乐)公司创建,1980年由DEC、In
34、tel和Xerox三家公司联合开发,1982年作为IEEE802.3局域网标准公布于世。最初的以太网只有10Mbps的传输速率,所使用的访问控制方法是CSMACD(载波侦听多路访问/冲突检测)。现在,以太网成为应用最为广泛的局域网,包括标准以太网(10Mbps)、快速以太网(100Mbps)、千兆以太网(1000 Mbps)和10G以太网(10Gbps),它们都符合IEEE802.3系列标准规范。,2008年07页13日,南京大学计算机系,65,工业以太网,工业环境下使用的以太网称为工业以太网(Industry Ethernet)。工业以太网与普通以太网非常类似,只是在数据的冗余处理和可靠性处
35、理方面进行了重新设计以便用于苛刻的工厂环境。工业以太网使用的局域网技术标准与嵌入式系统使用的类似,主要采用网速为10Mbps的标准以太网,同时也少量地采用了100Mbps的快速以太网。,2008年07页13日,南京大学计算机系,66,工业以太网协议栈结构,ISO/OSI七层参考模型与工业以太网和现场总线PROFIBUS的网络协议层的比较如图所示:,2008年07页13日,南京大学计算机系,67,现场总线与工业以太网的比较,现场总线作为工控自动化技术发展而出现的技术目前已经比较成熟,但是由于现场总线的功能单一和实现标准的不统一,使得企业在不同的现场环境下需要使用不同类型的现场总线,沿着开放的方向
36、发展步履艰难。此外,现场总线类型的选择非常棘手,多类型现场总线的使用又使得整个控制系统显得相当混乱。近年来,工业以太网作为一种新兴、统一、快速发展的标准,已逐渐出现了取代现场总线的趋势,成为工控与自动化领域趋势论题中的一个热门话题,显示了工业以太网良好的发展预期。,2008年07页13日,南京大学计算机系,68,现场总线与工业以太网的比较,工业以太网的优势主要表现在以下方面:高速数据传输率。可提供各种可能的带宽,换言之带宽不受限制。资源共享能力强。容易做到系统与设备之间方便地传送数据。控制设备上的数据容易以实时方式与信息系统上的资源、应用软件和数据库共享。广泛的技术支持。几乎所有的编程语言都支
37、持以太网的应用开发。与因特网连接方便。TCP/IP协议是工业以太网的上层协议,开放性能良好。目前已经有工业以太网与TCP/IP协议的接口模块,因此工业以太网内的设备可以实现广域网络连接。大多数技术人员熟悉以太网,无需技术培训方面的投资。,2008年07页13日,南京大学计算机系,69,现场总线与工业以太网的比较(续),工业以太网也有缺点,主要表现在以下方面:成本高,是工业以太网用于现场设备层的最大障碍。例如,铜介质的Ethernet传输距离还无法突破100m,这对于现场仪表来说还远远不够,而如果长距离地采用多芯电缆却费用昂贵。再如,Ethernet无法供电,与现场总线相比,需要另配电缆,在成本
38、上也处于劣势。另外,如果将TCP/IP的模块或芯片嵌入到现场设备中,就意味着配置更好的CPU、更大的内存,也仍然会增加设备成本。由于现场总线发展了十多年,能够支持的智能控制设备较多,客户在研发新的控制系统时开发周期短,上马快。然而工业以太网目前支持的控制设备和产品还不多,新系统开发周期长,市场影响力不如现场总线。,2008年07页13日,南京大学计算机系,70,工业以太网技术指标,工业以太网的主要技术指标有以下几个:最大响应时间。对于每个节点的报文,在网络正常运行的情况下,报文从发送到接收后产生响应所经历的最大的延迟时间。数据包丢失率。在正常工作的情况下,指定时间内数据包的丢失数目。传输介质。
39、普通以太网传输介质在工业现场的测试结果并不令人满意。以太网的传输介质是否能保证数据稳定、可靠地传输是重要的选择标准。传输速率。在网络正常工作的情况下,单位时间所能传送的比特位数。突发事件的处理。在以太网出现一些意外情况时,应有相应的紧急处理措施以保证数据不至于丢失和损坏。,2008年07页13日,南京大学计算机系,71,8.2.5 PC-104总线,PC-104是一种专门为嵌入式控制而定义的工业控制总线标准。它被IEEE协会定义为IEEE-P996.1标准。PC-104实质上是一种优化的,小型堆栈式结构的嵌入式工业控制总线标准。它有以下三个特点:(1)微型化结构(2)堆栈式连接(3)小功率总线
40、驱动,2008年07页13日,南京大学计算机系,72,PC-104总线特点,(1)微型化结构标准模块的外形尺寸是3.63.8英寸(9690mm)。微型化的结构使其更容易嵌入到机器设备、控制系统、仪器仪表、智能产品和军事装备中,提供智能化控制。,2008年07页13日,南京大学计算机系,73,PC-104总线特点(续1),(2)堆栈式连接去掉总线背板和插板滑道,总线以“针”和“孔”形式层叠连接,即PC-104总线模块之间总线的连接是通过上层的针和下层的孔相互咬和相连,这种层叠封装有极好的抗震性和抗冲击性,能使其在环境异常恶劣的控制系统中得以广泛应用和推广。,2008年07页13日,南京大学计算机
41、系,74,PC-104总线驱动(续2),(3)小功率总线驱动PC-104微型化的结构减少元件数量和电源消耗,4mA总线驱动即可使模块正常工作,每个模块12瓦功耗,大大提高了总线的驱动能力。,2008年07页13日,南京大学计算机系,75,PC-104总线外观结构,PC-104总线插板可以堆叠,请参看组装图。,2008年07页13日,南京大学计算机系,76,补充内容*闪存文件系统,Nand Flash的主要操作有ReadChipID,read,Write和Erase等。基于Nand Flash上的特殊的文件系统称之为闪存文件系统(Flash File System,FFS)。参看教材图8-9(a
42、)。FFS从功能上分为两个层次:一个是底层的闪存转换层,封装底层一些特殊复杂的管理控制功能。例如:磨损控制、坏块管理等;另一个是高层的文件管理层,在闪存转换层之上,类似于普通磁盘上的通用文件系统,向上提供一些标准的文件系统接口,例如:格式化、打开文件、关闭文件、查找文件、读文件、删除文件等。,2008年07页13日,南京大学计算机系,77,物理闪存操作层次结构,MTD/FTL层向上将闪存设备抽象成逻辑设备(逻辑页面和块),为文件系统提供对物理设备操作的接口;向下实现对物理闪存设备的读写、清零、ECC校验等工作。参看下图。,2008年07页13日,南京大学计算机系,78,Linux的MTD介绍之
43、一,一般认为,Linux的MTD设备可分为四层(从设备节点直到底层硬件驱动)这四层从上到下依次是:设备节点MTD设备层MTD原始设备层硬件驱动层MTD的所有源代码在/drivers/mtd子目录下。,2008年07页13日,南京大学计算机系,79,Linux的MTD介绍之二,MTD原始设备:原始设备层有两部分组成,一部分是MTD原始设备的通用代码,另一部分是各个特定的Flash的数据,例如分区。用于描述MTD原始设备的数据结构是mtd_info,这其中定义了大量的关于MTD的数据和操作函数。在drivers/mtd/maps/子目录下存放的是特定的flash的数据,每一个文件都描述了一块板子上
44、的flash。,2008年07页13日,南京大学计算机系,80,MTD在Linux模块结构图中的位置,2008年07页13日,南京大学计算机系,81,Linux的MTD介绍之三,MTD设备层:基于MTD原始设备,linux系统可以定义出MTD的块设备(主设备号31)和字符设备(主设备号90)。MTD字符设备的定义在mtdchar.c中实现,通过该函数注册一系列 file operation函数(lseek、open、close、read、write)。MTD块设备则定义了一个描述MTD块设备的结构 mtdblk_dev,并声明了一个名为mtdblks的指针数组。,2008年07页13日,南京大
45、学计算机系,82,Linux的MTD介绍之四,设备节点:通过mknod在/dev子目录下建立MTD字符设备节点(主设备号为90)和MTD块设备节点(主设备号为31),通过访问此设备节点即可访问MTD字符设备和块设备。根文件系统:在Bootloader中将JFFS(或JFFS2)的文件系统映像jffs.image(或jffs2.img)烧到flash的某一个分区中,在/arch/arm/mach-your/arch.c文件的your_fixup函数中将该分区作为根文件系统挂载。,2008年07页13日,南京大学计算机系,83,第16讲重点,闪存的基本特点闪存位元工作原理Nor Flash存储矩阵
46、工作原理Nand Flash存储矩阵工作原理闪存驱动以及闪存芯片与ARM处理器的接线SDRAM内部结构以及与ARM处理器的接线IIC总线、SPI总线、CAN总线和PC104总线现场总线、基金会现场总线和PROFIBUS,2008年07页13日,南京大学计算机系,84,第16讲复习题思考题,嵌入式系统常用的存储器有哪些?与其它存储器相比较,闪存有什么特点?试描述闪存记忆位元工作原理试描述Nor Flash存储矩阵的工作原理试描述Nand Flash存储矩阵的工作原理试描述驱动闪存操作的软件层次。闪存芯片和SDRAM芯片是如何同CPU连线的?I2C总线的基本特点是什么?I2C总线系统的寻址能力如何?试描述I2C总线的传输规范S3C44B0X处理器如何控制I2C总线的读写操作?,2008年07页13日,南京大学计算机系,85,第16讲复习题思考题(续),何谓SPI?它的主要用途是什么?CAN总线的主要用途是什么?试阐述CAN的主要技术特点何谓现场总线?基金会现场总线(FF)是怎么一回事?主要的现场总线有哪些?工业以太网同普通以太网有什么不同?PC-104总线有什么特点?请例举CAN总线、SPI总线、I2C总线和PC-104总线的若干应用实例,并说明各自的适用范围。,2008年07页13日,南京大学计算机系,86,第16讲结束,谢谢大家的使用!欢迎大家提出宝贵意见和建议!,