当前位置:文档之家› SD卡原理及内部结构

SD卡原理及内部结构

SD卡原理及内部结构
SD卡原理及内部结构

1、简介:

SD卡(Secure Digital Memory Card)是一种为满足安全性、容量、性能和使用环境等各方面的需求而设计的一种新型存储器件,SD卡允许在两种模式下工作,即SD模式和SPI模式,本系统采用SPI模式。本小节仅简要介绍在SPI模式下,STM32处理器如何读写SD卡,如果读者如希望详细了解SD卡,可以参考相关资料。

SD 卡内部结构及引脚如下图所示:

SD卡内部图.JPG

2、SD卡管脚图:

SD卡图.JPG

3、SPI模式下SD各管脚名称为:

sd 卡:

SPI模式下SD各管脚名称为.JPG

注:一般SD有两种模式:SD模式和SPI模式,管脚定义如下:

(A)、SD MODE 1、CD/DATA3 2、CMD 3、VSS1 4、VDD 5、CLK 6、VSS2 7、DATA0 8、DATA1 9、DATA2

(B)、SPI MODE 1、CS 2、DI 3、VSS 4、VDD 5、SCLK 6、VSS2 7、DO 8、RSV 9、RSV

SD 卡主要引脚和功能为:

CLK:时钟信号,每个时钟周期传输一个命令或数据位,频率可在0~25MHz之间变化,SD卡的总线管理器可以不受任何限制的自由产生0~25MHz 的频率;

CMD:双向命令和回复线,命令是一次主机到从卡操作的开始,命令可以是从主机到单卡寻址,也可以是到所有卡;回复是对之前命令的回答,回复可以来自单卡或所有卡;

DAT0~3:数据线,数据可以从卡传向主机也可以从主机传向卡。

SD卡以命令形式来控制SD卡的读写等操作。可根据命令对多块或单块进行读写操作。在SPI 模式下其命令由6个字节构成,其中高位在前。SD卡命令的格式如表1所示,其中相关参数可以查阅SD卡规范。

4、MicroSD卡管脚图:

MicroSD卡管脚图.JPG

5、MicroSD卡管脚名称:

MicroSD卡管脚名称.JPG

SD 卡与MicroSD卡仅仅是封装上的不同,MicroSD卡更小,大小上和一个SIM卡差不多,但是协议与SD卡相同。

一般我们用单片机操作SD 卡时,都不需要对FAT分区表信息做处理,原因如下:

1)、操作FAT分区表要增加程序代码量、增加SRAM的消耗,对于便携应用来说代码大小和占用SRAM的多少至关重要。

2)、即使我们对FAT分区表不做任何了解,实际上我们一样可以向SD卡上写入数据,这就表明使用FAT对我们做数据存储应用来说如同鸡肋。

3)、耗费大量经历和时间去了解FAT分区表对于我们做嵌入式软件开发的人来说有些得不偿失。4)、SD卡支持两种操作模式,SD模式和SPI模式,SPI模式做SD数据操作时根本不需要知道FAT,这时候SD卡对于我们来说实际上就是个大的、快速的、方便的、容量可变的外部存储器。

基于以上原因,一般情况下对SD卡的操作只需要了解SPI通讯就可以了,而现在大部分单片机都有SPI接口,那么操作SD卡易如反掌。

以下是做SD卡试验时使用的电路图:

SD卡试验时使用的电路图.JPG

SD_CS/ 连接到单片机的片选SD管脚,只有单片机设置SD_CS/为低电平时才可以操作SD卡。MOSI连接单片机SPI总线的MOSI管脚(SPI数据输入),单片机从这个管脚读取SD卡内的数据。

MISO连接单片机SPI总线的MISO管脚(SPI数据输出)、单片机通过这个管脚向SD卡内写入数据。

SCK连接单片机SPI总线的SCK(SPI时钟)

SD管脚实际上在SD卡内部连接到了GND,当SD插座上没插入SD卡时,单片机从这个管脚能读到高电平(前提是使用单片机内部上拉输入,或者外部增加一个上拉电阻),一旦插入SD卡,这个管脚就变成低电平,这个功能用来检测是否插入SD卡。

RSV1和RSV2是保留功能管脚,不需要操作。

MicroSD卡的连接和SD卡大同小异,只是MicroSD卡比SD卡少一个GND管脚,所以不能使用上面做的这种插入卡的检测,实际上现在很多SD卡/MicroSD卡插座都有插入检测管脚,当然,一分钱一分货,价格上当然也要贵一些

顺便提一下,普通SD卡插座最多5块钱。

SPI命令格式

Byte 1 Byte2-5 Byte 6

7 6 5 0 31 0 7 0

0 1 Command Command Argument CRC 1

以下是一个简单的测试SD卡读写的程序,程序是基于Atmega128单片机编写的,对于Atmega 的其他单片机仅需要做管脚改动就可以使用,其他单片机更改要更大。

sd.h

//******************************************************************

//SPI 各线所占用的端口

#define SD_SS PB6

#define SD_SCK PB1

#define SD_MOSI PB2

#define SD_MISO PB3

//******************************************************************

#define SD_DDR DDRB

#define SD_PORT PORTB

#define SD_PIN PINB

#define SD_SS_H SD_PORT |= (1<

#define SDSS_L SD_PORT &= ~(1<

#define SD_SCK_H SD_PORT |= (1<

#define SD_SCK_L SD_PORT &= ~(1<

#define SD_MOSI_H SD_PORT |= (1<

#define SD_MOSI_L SD_PORT &= ~(1<

#define SD_MISO_IN (SD_PIN&(1<

//-------------------------------------------------------------

// 错误号

//-------------------------------------------------------------

#define INIT_CMD0_ERROR 0xFF

#define INIT_CMD1_ERROR 0xFE

#define WRITE_BLOCK_ERROR 0xFD

#define READ_BLOCK_ERROR 0xFC

#define TRUE 0x01

//-------------------------------------------------------------

// MMC/SD 命令(命令号从40开始,只列出基本命令,并没有都使用) //-------------------------------------------------------------

#define SD_RESET 0x40 + 0

#define SD_INIT 0x40 + 1

#define SD_READ_CSD 0x40 + 9

#define SD_READ_CID 0x40 + 10

#define SD_STOP_TRANSMISSION 0x40 + 12

#define SD_SEND_STATUS 0x40 + 13

#define SD_SET_BLOCKLEN 0x40 + 16

#define SD_READ_BLOCK 0x40 + 17

#define SD_READ_MULTI_BLOCK 0x40 + 18

#define SD_WRITE_BLOCK 0x40 + 24

#define SD_WRITE_MULTI_BLOCK 0x40 + 25

//片选关(MMC/SD-Card Invalid)

#define SD_Disable() SD_SS_H

//片选开(MMC/SD-Card Active)

#define SD_Enable() SD_SS_L

SD_TEST.C

//****************************************************************************************/

//ICC-AVR application builder : 03-5-20 8:39:11

// Target : M128

// Crystal: 3.6864Mhz

#include

#include

#include 'sd.h'

void uart0_init(void);

void putchar(unsigned char content);

void putstr(unsigned char *s);

void SD_Port_Init(void);

unsigned char SD_Init(void);

unsigned char SD_write_sector(unsigned long addr,unsigned char *Buffer);

unsigned char SD_read_sector(unsigned long addr,unsigned char *Buffer);

unsigned char SPI_TransferByte(unsigned char byte);

unsigned char Write_Command_SD(unsigned char cmd,unsigned long address);

unsigned long SD_find(void);

//**************************************************************************

// 串口调试程序

//**************************************************************************

void uart0_init(void)

{

UCSR0B = 0x00; //disable while setting baud rate

UCSR0A = 0x00;

UCSR0C = 0x06; // 00000110 UART0设置为异步模式、无奇偶校验、1位停止位、8位数据位UBRR0L = 0x17; //set baud rate lo

UBRR0H = 0x00; //set baud rate hi 设置UART0口通信速率9600

UCSR0B = 0x18;

}

void putchar(unsigned char content)

{

while(!(UCSR0A & (1 << UDRE0))); /* 判断上次发送有没有完成*/

UDR0 = content; /* 发送数据*/

void putstr(unsigned char *s)

{

while(*s)

{

putchar(*s);

s++;

}

}

//**************************************************************************** // 端口初始化

void SD_Port_Init(void)

//**************************************************************************** {

SD_PORT |= (1<<

SD_DDR |= (1<<<

SD_DDR &= ~(1<

}

//**************************************************************************** // 初始化MMC/SD 卡为SPI模式

unsigned char SD_Init(void)

//**************************************************************************** {

unsigned char retry,temp;

unsigned char i;

SPCR=0x53; //设定SPI为128分频,慢速进行初始化SPSR=0x00;

for (i=0;i<0x0f;i++)

{

SPI_TransferByte(0xff); //延迟74个以上的时钟

SD_Enable(); //开片选

SPI_TransferByte(SD_RESET); //发送复位命令

SPI_TransferByte(0x00);

SPI_TransferByte(0x00);

SPI_TransferByte(0x00);

SPI_TransferByte(0x00);

SPI_TransferByte(0x95);

SPI_TransferByte(0xff);

SPI_TransferByte(0xff);

retry=0;

do{

temp="Write"_Command_SD(SD_INIT,0); //发送初始化命令

retry++;

if(retry==100) //重试100次

{

SD_Disable(); //关片选

return(INIT_CMD1_ERROR); //如果重试100次失败返回错误号

}

}while(temp!=0);

MSD_Disable(); //关片选

SPCR=0x50; //设置SPI为2分频。进行高速读写SPSR=0x01;

return(TRUE); //返回成功

}

//****************************************************************************

// 发送命令给MMC/SD卡

//Return: 返回MMC/SD卡对命令响应的第2字节,作为命令成功判断unsigned char Write_Command_SD(unsigned char cmd,unsigned long address) //****************************************************************************

{

unsigned char tmp;

unsigned char retry="0";

SD_Disable();

SPI_TransferByte(0xFF);

SD_Enable();

SPI_TransferByte(cmd); //将32位地址进行移位作为地址字

SPI_TransferByte(address>>24);

SPI_TransferByte(address>>16);

SPI_TransferByte(address>>8);

SPI_TransferByte(address);

SPI_TransferByte(0xFF);

SPI_TransferByte(0xFF);

do{

tmp = SPI_TransferByte(0xFF); //发送8个时钟接受最后一个字

retry++;

}while((tmp==0xff)&&(retry<8));

return(tmp);

}

//****************************************************************************

// 写一个扇区(512Byte) to MMC/SD-Card

//如果写完成返回TRUE

unsigned char SD_write_sector(unsigned long addr,unsigned char *Buffer)

//****************************************************************************

{

unsigned char temp;

unsigned int i;

SPI_TransferByte(0xFF); //延迟8个时钟

SD_Enable(); //开片选

temp = Write_Command_MMC(MMC_WRITE_BLOCK,addr<<9); //发送写扇区命令if(temp != 0x00)

{

SD_Disable();

return(temp);

}

SPI_TransferByte(0xFF);

SPI_TransferByte(0xFF);

SPI_TransferByte(0xFE);

for (i=0;i<512;i++)

{

SPI_TransferByte(*Buffer++); //发送512字节数据

}

//CRC-Byte

SPI_TransferByte(0xFF); //Dummy CRC

SPI_TransferByte(0xFF); //CRC Code

temp = SPI_TransferByte(0xFF); //读SD卡运行响应

if((temp & 0x1F)!=0x05) //如果最后4位为0101,为操作成功。否则为操作失败。{

SD_Disable();

return(WRITE_BLOCK_ERROR); //返回错误

}

while (SPI_TransferByte(0xFF) != 0xFF);

SD_Disable();

return(TRUE); //返回成功

}

//****************************************************************************

// 读512字节from MMC/SD-Card

//如果成功返回TRUE

unsigned char SD_read_sector(unsigned long addr,unsigned char *Buffer) //****************************************************************************

{

unsigned char temp;

unsigned int i;

unsigned char data;

SPI_TransferByte(0xff);

MMC_Enable();

temp = Write_Command_SD(SD_READ_BLOCK,addr<<9);//发送读扇区命令

if(temp != 0x00)

{

SD_Disable();

return(READ_BLOCK_ERROR); //返回错误号

}

while(SPI_TransferByte(0xff) != 0xfe);

for(i=0;i<512;i++)

{

data = SPI_TransferByte(0xff); //存数据

*Buffer++=data;

}

SPI_TransferByte(0xff); //读CRC码

SPI_TransferByte(0xff); //读CRC码

SD_Disable();

return(TRUE); //返回成功

}

//**************************************************************************

// 查找数据开始标志(预设DATASTART)根据实际需要删改

//**************************************************************************

unsigned long SD_find(void)

{

unsigned long tmp="400";

unsigned char data[512];

do

{

SD_read_sector(tmp,data); //从0扇区开始查找

tmp++; //查找DATASTART

}while(!((data[0]=='D')&&(data[1]=='A')&&(data[2]=='T')&&(data[3]=='A')&&(data[4]=='S')&&(da ta[5]=='T')&&(data[6]=='A')&&(data[7]=='R')&&(data[8]=='T')));

return tmp; //返回开始标志的下一个扇区

}

//**************************************************************************

// 发送一个字节

//**************************************************************************

unsigned char SPI_TransferByte(unsigned char byte)

{

SPDR = byte;

while (!(SPSR & 0x80)); //检测线路是否空闲

return SPDR;

}

//**************************************************************************

// 主程序例子

//**************************************************************************

void main(void)

{

unsigned long temp;

unsigned char data[512];

unsigned char data2[512]={'sssssssssssssssssssssssss'};

unsigned char comm1[]={'\r\nhello world\r\n'};

unsigned char comm2[]={'\r\nSD_INIT OK\r\n'};

uart0_init();

SD_Port_Init(); //端口初始化

if(SD_Init()== 0x01)

{ //SD卡初始化,并读取返回值

putstr(comm2);

}

temp="SD"_find(); //查找DATASTART数据开始标志,返回下一扇区地址

SD_read_sector(1001,data); //读取temp地址的512字节数据,512字节数据存入data 数组

putstr(data);

SD_write_sector(temp,data2); //将data2数组512字节数据写入temp扇区

}

测试程序很简单,仅仅是做了一下读写SD卡的测试。

关于SD卡的几点注意事项。

1、无论我们愿意不愿意,SD卡每次读写数据的最小单位是1个扇区,即512个字节。

2、SD卡与单片机连接的SPI总线不能太长,要尽量短。这样的好处是速度可以更快,也不容易出错。

3、虽然我们并不关心FAT文件表,但是我们仍然要关心SD卡的存储结构,如果我们不想使用PC机来读取保存在SD卡上的数据那我们就不用关心SD存储结构了。但,作为一个大容量的可移动存储设备,不能用PC机来读取是个很大的遗憾,我解决这个遗憾的方法如下:

3-1、因为我不了解FAT复杂的结构,所以我做的程序没法去按照FAT表的各项功能来进行创建文件、删除文件、创建目录等等操作。

3-2、虽然我们的单片机不能创建文件,但是PC机是可以创建文件的啊!所以我使用PC机将SD卡格式化,之后在SD卡上创建一个大文件,比如我的128M的SD卡上我建立了一个100M 的文件。这里需要注意一下,一般使用windows创建文件的功能时是没有办法指定创建文件的

大小的,空文件就是0个字节的长度,而我们是需要一个固定长度的文件的,所以我用VC编写了一个小软件,这个软件可以为我创建一个100M长度的空文件,记住,这点很重要:一个固定长度的空文件

3-3、虽然我们建立了个文件在SD卡上,可是我们因为不去了解FAT表,所以我们一样不知道这个文件到底位于SD卡的什么地方,不要以为它会在0字节的地方开始,为了找到这个文件的开始位置,我们可以在建立的那个空文件的开头写上几个字符,比如我程序里面写的“DATASTART”,接下来我们要做的就是一个扇区一个扇区的去找这个几个特殊的字符,这是个笨方法,但却是最简单直观的方法。这个方法有两个缺点:a、如果文件建立在整个SD卡的后面,那找到这个文件需要漫长的等待。b、如果碰巧某个文件里面也有我们定义的那个特殊字符串的话,那就乱套了!不过好在我们使用的SD卡一般都是专用的,并不能拿去做其他应用,比如从公司copy点文件回家之类的,那就能保证这个SD卡上文件的简单性,即只有我们需要的那个文件,其他文件并不存在,而且这个文件肯定会从SD卡开始的那些扇区中的某一个开始。这样说来的话找到这个字符串也不是那么慢嘛!^_^。不过这里要建议一下,在使用SD卡之前最好用windows将它完全格式话一下。

3-4、一旦我们找到了我们要写入文件的起始位置(它一般表示为一个扇区号),那我们就可以在这个起始扇区的下一个扇区写入数据了。

4、OK,看起来很简单!有了这种存储方式我们还需要IIC接口的EEPROM干吗呢?

电脑还原原理解析

要想实现硬盘还原,需要做到两个步骤:第一步是分析扇区,还原产品通过分区表和文件分配表,获取当前硬盘哪些扇区是已经使用过的,哪些扇区是暂未使用的。第二步是拦截读写,还原产品通过还原驱动程序拦截硬盘读写驱动,并改变系统对硬盘的读写,实现对硬盘已经存在的数据的保护。 举个简单的例子。Windows要将一段内容写入到硬盘的第100扇区,这时还原驱动会将它拦截下来,通过还原算法将这段内容转而写入到了硬盘中空闲的第1000扇区,并将这个扇区映射关系(100→1000)记录下来,这样实际上100扇区原先的内容并未改变。之后当Windows要读取100扇区时,还原驱动通过查询将1000扇区的内容提交给Windows,Windows则认为它成功的从100扇区得到了想要的数据。这样对用户甚至Windows来说硬盘随时都在发生着改变,然而实际上硬盘原有的数据都没有改变。当Windows重新启动后,包括这个100→1000在内的所有记录都被清除了,在用户和Windows看来,硬盘没有发生任何变化,数据被还原了。 目前还原方式不外乎硬件还原和软件还原两种。 那么还原卡和还原软件有什么区别呢?我们一一分析。 现在流行的还原软件大致可分为两种,一种是以冰点为代表的纯驱动还原软件。这一类的还原软件只有一个驱动程序,在Windows启动过程中加载。这个驱动程序不仅要实现对硬盘驱动的拦截,它还要在程序加载时完成对硬盘已使用扇区和未使用扇区的分析。它把还原的两个步骤结合到了一个驱动程序当中。它还舍弃了从Windows开始启动后,到还原驱动程序启动前这段时间Windows对硬盘的读写(事实上这段时间几乎没有写操作)。这是实现还原最简单的方法,简单就会存在安全性的问题,我们后面再分析。 第二种是以还原精灵为代表的类还原卡软件。顾名思义,它们和还原卡很类似,它们的特点是通过修改硬盘的主引导记录(MBR)来启动还原。启动还原的代码是在安装时写入到硬盘中去的。我们知道,硬盘都是通过主引导记录来启动的。还原精灵将硬盘原有的主引导记录保存下来,并改成自己的主引导程序。这样当硬盘启动时,系统就会首先加载还原精灵的主引导程序。分析扇区这一步就是在这个时候完成的。而同时还原精灵可以做很多事情,包括分析硬盘扇区,还原,转储(又叫更新硬盘数据)等等,这让它也能实现还原卡的诸多功能。当还原精灵做完了这些事后,就去加载硬盘原有的主引导记录,开始启动Windows。然后还是通过驱动程序,完成对硬盘读写的拦截。 还原卡的工作原理和还原精灵类似,也是分两部分,只不过它的启动是通过插在主板PCI 槽上的还原卡来实现的。这种方式启动时间更早,而且也无需修改硬盘的引导区,相比之下更加安全。还原卡在启动时,同样可以实现转储等功能,甚至还能实现网络对拷,硬盘复制等附加功能,这些对于拥有多台相同型号电脑的机房来说,非常实用。 了解了这些还原产品的原理后,我们可以对它们做一番比较。(考虑到市场上还原产品很多,各有特点和附加的功能,所以我们只针对还原相关的功能,对以上三类还原产品做比较)。 功能比较 纯驱动还原软件的功能都很简单,只有开机还原,和开放还原两个功能。这和它的工作原理有关。没有引导程序,让它无法执行转储等类似于整理磁盘的功能。当还原驱动处于工作状态时,就是开机还原;当还原驱动停止工作时,就是开放还原。 类还原卡软件,顾名思义和还原卡很类似。它除了有开机还原和开放还原的功能外,还

硬盘内部结构图解

硬盘内部结构图解 平时大家在论坛上对硬盘的认识和选购,大都是通过产品的外型、性能指标特征和网站公布的性能评测报告等方面去了解,但是硬盘的内部结构究竟是怎么样的呢,所谓的磁头、盘片、主轴电机又是长什么样子呢,硬盘的读写原理是什么,估计就不是那么多人清楚了。所以我就以一块二手西数硬盘WD200BB为例向大家讲解一下硬盘的内部结构,让硬件初学者们能够对硬盘有一个更深的认识。 在动手之前,先了解一些硬盘的结构理论知识。总得来说,硬盘主要包括:盘片、磁头、盘片主轴、控制电机、磁头控制器、数据转换器、接口、缓存等几个部份。所有的盘片都固定在一个旋转轴上,这个轴即盘片主轴。而所有盘片之间是绝对平行的,在每个盘片的存储面上都有一个磁头,磁头与盘片之间的距离比头发丝的直径还小。所有的磁头连在一个磁头控制器上,由磁头控制器负责各个磁头的运动。磁头可沿盘片的半径方向动作,而盘片以每分钟数千转到上万转的速度在高速旋转,这样磁头就能对盘片上的指定位置进行数据的读写操作。由于硬盘是精密设备,尘埃是其大敌,所以必须完全密封。现在先贴上今日的主角西数WD200BB硬盘的“玉照”,它是容量为20G的7200转的普通3.5寸IDE硬盘,属于比较常见的产品,也是用户最经常接触的。除此之外,硬盘还有许多种类,例如老式的普通IDE硬盘是5.25英寸,高度有半高型和全高型,还有体积小巧玲珑的笔记本电脑,块头巨大的高端SCSI硬盘及非常特殊的微型硬盘。

在硬盘的正面都贴有硬盘的标签,标签上一般都标注着与硬盘相关的信息,例如产品型号、产地、出厂日期、产品序列号等,上图所示的就是WD200BB的产品标签。在硬盘的一端有电源接口插座、主从设置跳线器和数据线接口插座,而硬盘的背面则是控制电路板。从下图中可以清楚地看出各部件的位置。总得来说,硬盘外部结构可以分成如下几个部份:

硬盘保护卡的工作原理

硬盘保护卡 硬盘保护卡、硬盘还原卡也称硬盘保护卡,它主要的功能就是还原硬盘上的数据。每一次开机时,硬盘保护卡总是让硬盘的部分或者全部分区能恢复先前的内容。任何对硬盘受保护的分区的修改都无效,这样就起到了保护硬盘数据的内容。硬盘保护卡的原理简单来讲就是它接管对硬盘进行读写操作的一个INT13中断,保护卡在系统启动的时候首先用它自己的程序接管INT13中断地址。这样,只要是对硬盘的读写操作都要经过保护卡的保护程序进行保护性的读写。也就是先将FAT文件分配表、硬盘主引导区、CMOS信息、中断向量表等信息都保存到保护卡内的临时储存单元中。 纠错编辑摘要 目录 ? 1 概述 ? 2 安装 ? 3 注意事项 ? 4 安全性 ? 5 选择 硬盘保护卡 还原卡的主体是一种硬件芯片,插在主板上与硬盘的MBR(主引导扇区)协同工作。大部分还原卡的原理都差不多,其加载驱动的方式十分类似DOS下的引导型病毒:接管BIOS的INT13中断,将FAT、引导区、CMOS信息、中断向量表等信息都保存到卡内的临时储存单元中或是在硬盘的隐藏扇区中,用自带的中断向量表来替换原始的中断向量表;再另外将FAT信息保存到临时储存单元中,用来应付我们对硬盘内数据的修改;最后是在硬盘中找到一部分连续的空磁盘空间,然后将我们修改的数据保存到其中。 硬盘保护卡在学校的机房管理中占有很重要的地位,基本上达到了“一卡无忧”的目标,使用了硬盘保护卡后极大的减少了机房的维护,基本无需担心病毒、误操作等问题。当然,如果硬盘发生了物理性损坏,硬盘保护卡是无能为力的。在教育、科研、设计、网吧等单位使用较多。它可以让电脑硬盘在大多情况下非物理损坏,恢复到最初的样子。换句话说,不管是病毒、误改、误删、故意破坏硬盘的内容等,都可以轻易地还原。

各类盗号木马是这样盗取你看似不可能盗取的帐号密码的!详细讲解

各类盗号木马是这样盗取你看似不可能盗取的网游帐号密码的!详细讲解帖子比较长,有耐心的就看下去吧,绝对有收获 首先先问大家几个问题,大家对号入座,看有没有你对上的情况。 1、有多少人的电脑没有装杀毒软件、防火墙,或者说有多少人装了且正确使用的; 2、有多少人在玩游戏的时候QQ聊得热火朝天; 3、有多少人装系统的时候用的是番茄花园等一系列所谓电脑公司专用系统盘的; 4、有多少人从来不关心微软每天发布的层出不穷的补丁的; 5、有多少人受不了诱惑去看PLMM的视频或照片; 6、有多少人在家上网,不设电脑密码或密码没有复杂性的; 7、有多少人家里电脑开启GUEST账户,且登录时用非Administrator账户登陆,尽管设置了密码,但最高权限的Administrator账户却无密码的(请搞清楚这段话什么意思); 8、有多少人在公司或机关上网,有硬件防火墙便不做任何防范措施的; 9、有多少人使用有未知风险的辅助的; (注:风大和大大们的小M等辅助挂可以放心使用,但新手发的要小心) 10、有多少人是在极不安全的网吧上网的; 11、有多少人会看些不安全网站(**、暴力等)的; 12、有多少人喜欢随手点一些不明链接的; 13、有多少人喜欢贪图小便宜,相信问道里的小道或陌生消息去看非官方网站的; 14、有多少人看别人盗号眼红,自己去网上搜索下载盗号木马的; 大家自己对对看,有的人抱怨我没上QQ、没上黑网等等的。其实你们仔细想想,恐怕大多数被盗号的人都干过这些中的某一条或很多条(当然不包括那些相信所谓朋友,自己给人家账号的笨蛋)。 接下来详细谈。说起盗号,不能不谈QQ盗号。我想问道里QQ号被盗的人数肯定远远超过游戏号被盗的人数。对大多数网民来说,QQ盗号也许是他们接触的最早的盗号现象了.早期的盗取Q号的方法主要有两种. 一,是本地机器种木马.这是极为普遍的一种方法,而且很简单,只要您能有一个QQ(或游戏)木马就行,这种软件可以说遍地都是,数量很多,随便到哪个小黑客网站都能找到,其工作原理也很简单,首先它具备记录功能,敲入的密码可以自动记录下来,当木马被“种”到您的电脑里之后,它会更改注册表,随系统启动而自动运行,并会自动侦测QQ(游戏)的进程,一旦运行QQ(游戏)它就开始记录键盘输入,有的木马会先弹出个伪装窗口和QQ登陆窗口一样,等您把号码、密码都输入后点确定,它会提示密码不正确,关闭后再弹出真正的登陆框,无论是以上哪种方法,此时您的QQ号+密码已经被发至盗号者的邮箱了。(这个现象在问道里不会出现,因为两者的数据验证方式有所不同,这里不谈).这种方式一般需要盗号者有机会接触盗取对象的电脑,对于网络游戏来说,一般情况下是不现实的,也没有太多的实用价值. 二,是远程机器种木马.原理是和第一种方式一样的,唯一的不同就是盗号者不需要接触盗取对象的电脑,通过传输文件的方式种植木马. 了解原理后,盗取方法就很简单了.

IR2130的内部结构如图1所示

IR2130的内部结构如图1所示,引脚定义VCC为输入电源, HIN1、HIN2、HIN3、LIN1、LIN2、LIN3为输入端,FALUT为故障输出端, ITRIP为电流比较器输入端,CA O为电流放大器输出端, CA-为电流放大器反向输入端,VSS为电源地,VSD为驱动输出地,L01、L02、L03为三路低侧输出,VB1、VB2、VB3为三路高侧电源端,HO1、HO2、HO3为三路高侧输出端,VS1、VS2、VS3为高端侧电源地。 图1 IR2130内部原理图 正常工作时,输入的6 路逻辑控制信号经内部的3个输入信号处理器处理,下桥臂信号L1-L3经输出驱动器功放后,直接送往被驱动功率器件。而上桥臂功率管的信号H1-H3先经集成于IR2130内部的3 个电平移位器中的自举电路进行电位变换, 变为3 路电位悬浮的驱动信号, 再经对应的3路输出锁存器锁存并经严格的电压检验之后, 送到输出驱动器后才加到被驱动的功率管。 当外部电流发生过流时,电流检测单元送来的信号高于内部给定电压0.5V,IR2130内部的电流比较器迅速翻转,使故障逻辑处理单元输出低电平,快速封锁3路输入脉冲信号处理器的输出,使IR2130的输出全为低电平,保护功率管;同时IR2130的FAULT脚电平拉低,输出故障指示。若发生工作电源欠压,则欠压检测器迅速翻转,也会进行类似动作。发生故障后,IR2130内的故障逻辑处理单元的输出将保持故障闭锁状态,直到故障清除。在信号输入端LIN1-LIN3同时被输入高电平时,才可以解除故障闭锁状态。 3 IR2130在电机驱动中的应用 本文将IR2130作为信号的前级驱动,将其应用在三相混合式步进电机驱动系统中做驱动信号的转换。三相逆变桥中的一个桥的典型连接如图2所示,系统主供电电压为220VAC,经整流滤波得到的近310V的直流母线电压,图中C1是自举电容,为上桥臂功率管驱动的悬浮电源存储能量,当开关频率大于5kHz 时, 该电容值应不小于0.1UF, 且选低漏电流的瓷片电容为好;D1为自举二极管,其作用是防止上桥臂导通时的直流电压母线电压加到IR2130的电源上而使器件损坏,因此D1应有足够的反向耐压,为了满足主电路功率管开关频率的要求,D1还应选超快速恢复型二极管。R1和R2是IGBT的栅极限流电阻, 一般可采用十几到几十欧。不同电阻值对IGBT的动态特性将产生极大的影响,数值较小的栅极电

计算机文化基础练习题1-

第一套 1 有关信息与数据之间的联系,下列说法错误的是__________。 A 数据(data)是反映客观事物属性的记录,是信息的载体 B 数据可表示信息,而信息只有通过数据形式表示出来才能被人们理解和接受 C 数据是有用的信息,信息是数据的表现形式 D 信息是数据的内涵,是对数据语义的解释 2 与其他运算工具相比,计算机最突出的特点是_________,它也是计算机能够自动运算的前提和基础。 A 高速性B存储性C通用性D精确性 3 在计算机的应用领域,CAI的中文全称是_________。 A 计算机辅助教育 B 计算机辅助设计 C 计算机辅助制造 D 计算机辅助教学 4 计算机在存储数据时,把2的10次方个存储单元记作1_________。 A M B K C T D G 5 计算机的硬件系统由五大部分组成,其中控制器的功能是________。 A 完成算术运算和逻辑运算 B 完成指令的翻译,并产生各种控制信号,执行相应的指令 C 将要计算的数据和处理这些数据的程序转换为计算机能够识别的二进制代码 D 将计算机处理的数据、计算结果等内部二进制信息转换成人们习惯接受的信息形式 6 系统软件中最重要的是________。 A 操作系统 B 语言处理程序 C 程序设计语言D数据库管理系统 7 在当前计算机领域中,通常用GHz来描述计算机的_________。 A 运算速度B主频 C 存储容量 D 字长长度 9 下列关于文件名的说法错误的是_________。 A 文件名由主文件名和扩展名两部分组成 B 从Windows 95开始放宽了对文件名的限制,组成文件名的字符数最多可达255个 C 主文件名和扩展名之间用英文句号分隔,但一个文件名只能有一个英文句号 D 文件名中可以包括空格和英文句号 10 可以修改计算机设置或安装程序,但不能读取属于其他用户的文件,没有备份和复制目录、安装或卸载设备程序以及管理安全和审核日志的权利的组是_________组。

下图为蛋的内部构造汇总

一.題組50% 1.下圖為蛋的內部構造,請回答下列問題(以代號作答) (1)哪一部份可決定小雞的羽毛顏色?答: 1 (2) 2 可供給受精卵發育時所需的養份(複選) (3)欲判斷蛋是否新鮮可由何處得知?答 3 (4)關在籠內的母雞沒有和公雞交配,則母雞 (A)要有公雞才會生蛋(B)不會生蛋(C)所生的蛋 可孵化出小雞(D)大部份會生蛋答: 4 (5)B部份相當於雞卵細胞的(A)細胞膜(B)細胞質 (C)液胞(D)細胞核答: 5 2.請參照下圖,並以代號回答下列問題 (1)請選出細胞分裂所需之圖,並按先後順序排列 答: 6 (2)把精子形成的過程按先後順序加以排列 答: 7 3.下圖為某胎生動物的胚胎在母體子宮內發育情形,試 回答下列問題 (1)己的名稱為何?答8 (2)胚胎可由9 從母體血液中獲得養份(填代號) (3)可使胎兒免於受到震盪的是何種構造?答: 10 〈填 代號〉 (4)人類子代性別決定於下列哪一過程? (A)受精卵的 發育(B)卵和精子的受精(C) 減數分裂的過程(D) 該受精卵的細胞分裂答: 11 4.參照下圖花的構造,回答下列問題(以代號作答) (1)植物的胚珠位於12 處 (2)欲觀察花粉粒,應取圖中的13 部份 (3)花的最外層且為綠色的構造是14 (4)卵受精後15 部份發育成果實 (5)花粉到達圖中的B處後,可萌發長出16 (填文字) 5.一隻長翅雄果蠅和一隻長翅雌果蠅交配,產生的子代 中有65隻長翅,21隻短翅,若以A代表長翅顯性基 因,a代表短翅隱性基因,試問 (1)親代雌果蠅其基因型為何?答: 17 (2)若親代長翅雄果蠅再和一短翅雌果蠅交配,產110雙子 代,其中,短翅子代的數目應接近下列何者? (A)88隻(B)0隻(C)51隻(D)26隻答: 18 6.大雄和宜靜都有酒窩,他們的基因型都是Rr,酒窩為顯 性基因(以R表示),無酒窩為隱性基因(以r表示),若已 知前三個小孩都無酒窩則將出生的第四個小孩出現酒窩的機率為何? 答19 7.有一黑毛老鼠與白毛老鼠交配,生下六隻老鼠全部黑毛 請問 (1)兩隻子代黑毛老鼠互相交配,其產生的後代為白毛 的機會是20 (2)其子代老鼠的基因組合為21 (以B、.b表示) (3)控制子代毛色基因來自何處? (A)一半得自精細胞, 一半得自卵細胞(B)全部得自精細胞(C)全部得自卵細 胞(D)以上三者皆有可能答: 22 8.大雄和美惠的族譜如下圖,他們已有一男一女,耳垂皆 緊貼,試回答下列問題(註:人耳垂分離的基因為顯性) (1)大雄的基因型為何? 答: 23 (以A、.a表示) (2)試問他們的第三個小孩耳垂分離之機率為何? 答: 24 (3)他們的第三個孩子是男孩的機會是多少? (A)1/2 (B)0 (C)1/4 (D)1 答: 25 二.選擇題20﹪ ( )1.下列哪一種動物的卵細胞最小,所含的養份少 (1)蛇(2)鮭魚(3)駱駝(4)蛙 ( )2.承上題,此動物應行(1)卵生,因受精卵發育時需太多養份(2)卵生,因卵小可順利生產(3)胎生,因 受精卵發育時,可由母親供給養份(4)胎生,因幼兒

还原精灵与还原卡的工作原理

还原精灵与还原卡的工作原理分析: 还原精灵的工作原理:它修改了引导区,引导区又被称为MBR,它位于硬盘的0头0柱1扇区,在扩展int 13中没有头、柱、扇区这个概念,它只有逻辑扇区,在扩展的int 13中MBR位于是0扇区,如果BIOS中设置的是硬盘启动的话,系统会首先载入这个扇区到内存,然后运行这个代码,还原精灵就是用的是自己的引导代码,这个方法与引导型病毒一样,病毒的目的是破坏,而它的目的是保护,就如武器在坏人手里有破坏力一样,这个代码接管了INT13中断,每当我们向硬盘写入数据时,其实还是写入到硬盘中,可是没有真正修改硬盘中的FAT。由于INT13被接管,当还原精灵发现是写操作,如果没有激活管理身份,便将原先数据目的地址重新指向它自己定义的一段连续的空磁盘空间,并将先前背份的第二份FAT中的被修改的相关数据指向这片空间。当我们读取数据时,和写操作相反。所以还原精灵需要被保护的磁盘上有较大的空闲空间,它就需要利用这段空间! 另外,用户不可能格式化真正的硬盘,还是因为被接管的INT13,所有对硬盘的操作都要通过INT13。还原卡的原理也和还原精灵软件的方法类似,不做详细解释 如何解除还原精灵与还原卡的保护呢? 通过分析原理,我们发现保护程序是通过修改中断向量来达到保护硬盘不被真正写入的,其中int13是关键,它拦截了int13的处理程序,将自己的程序挂到上面,这也是无法写进数据的原因所在,有的卡同时还修改了时钟中断来达到反跟踪,它会利用早以被它修改过的时钟中断定时检查中断向量表,它一旦发现修改为别的值.就会一一还原。 所以我们从编程的角度来看,就有了下面这样一些解决方法(用qbasic在理论上都能使用下面的破解方法!) 1、既然它拦截了int13的处理程序,将自己的程序挂到上面,那么我们只要把bios的int13的程序地址,在dos下填入中断向量表不就大功告成了,不过对于有的卡不方便用,而且需要你对汇编有一定的基础。最重要的是这个方法用编程的方法来破解很有难度。 2、破解密码,这个方法比上一个我认为要简单,还原精灵把自己的密码放在0头0柱8扇区的位置,如何知道是这个位置呢?对于硬盘的0头0柱的63个扇区只有1扇区被使用,我们可以写个代码来分析这些扇区是否被改动,在安装还原精灵前,先保存这63个扇区,然后安装,再读取这些扇区与保存的比较,就可以找到存放真正MBR的扇区与存放密码的扇区,然后我们改动一下密码,再比较存放密码的扇区有什么不同,这样通过分析来找出密钥,很多还原卡也是把密码保存在前63个扇区里,不过扇区的位置和密钥不一定都一样,这个是肯定的! (凡是密码进行判断肯定有一段代码会把真假密码进行比较,可以使用一些调试工具来破解,如果加密技术不强也可以用什么能查看内存的软件来搜索,这种方法不大适合编程,只适合手动破解!) 相关编程资料: 中断INT13 读硬盘扇区功能用法 INT 13H,AH=02H读扇区说明: 调用此功能将从磁盘上把一个或更多的扇区内容读进存贮器。因为这是一个 低级功能,在一个操作中读取的全部扇区必须在同一条磁道上(磁头号和磁道号 相同)。BIOS不能自动地从一条磁道末尾切换到另一条磁道开始,因此用户必须 把跨多条磁道的读操作分为若干条单磁道读操作。

硬盘的内部结构图解

硬盘的内部结构图解 平时大家在论坛上对硬盘的认识和选购,大都是通过产品的外型、性能指标特征和网站公布的性能评测报告等方面去了解,但是硬盘的内部结构究竟是怎么样的呢,所谓的磁头、盘片、主轴电机又是长什么样子呢,硬盘的读写原理是什么,估计就不是那么多人清楚了。所以我就以一块二手西数硬盘WD200BB为例向大家讲解一下硬盘的内部结构,让硬件初学者们能够对硬盘有一个更深的认识。 在动手之前,先了解一些硬盘的结构理论知识。总得来说,硬盘主要包括:盘片、磁头、盘片主轴、控制电机、磁头控制器、数据转换器、接口、缓存等几个部份。所有的盘片都固定在一个旋转轴上,这个轴即盘片主轴。而所有盘片之间是绝对平行的,在每个盘片的存储面上都有一个磁头,磁头与盘片之间的距离比头发丝的直径还小。所有的磁头连在一个磁头控制器上,由磁头控制器负责各个磁头的运动。磁头可沿盘片的半径方向动作,而盘片以每分钟数千转到上万转的速度在高速旋转,这样磁头就能对盘片上的指定位置进行数据的读写操作。由于硬盘是精密设备,尘埃是其大敌,所以必须完全密封。 现在先贴上今日的主角西数WD200BB硬盘的“玉照”,它是容量为20G的7200转的普通3.5寸IDE硬盘,属于比较常见的产品,也是用户最经常接触的。除此之外,硬盘还有许多种类,例如老式的普通IDE硬盘是5.25英寸,高度有半高型和全高型,还有体积小巧玲珑的笔记本电脑,块头巨大的高端SCSI硬盘及非常特殊的微型硬盘。

在硬盘的正面都贴有硬盘的标签,标签上一般都标注着与硬盘相关的信息,例如产品型号、产地、出厂日期、产品序列号等,上图所示的就是WD200BB的产品标签。在硬盘的一端有电源接口插座、主从设置跳线器和数据线接口插座,而硬盘的背面则是控制电路板。从下图中可以清楚地看出各部件的位置。总得来说,硬盘外部结构可以分成如下几个部份: 一、硬盘接口、控制电路板及固定面板: (1)、接口。接口包括电源接口插座和数据接口插座两部份,其中电源插座就是与主机电源相连接,为硬盘正常工作提供电力保证。数据接口插座则是硬盘数据与主板控制芯片之间进行数据传输交换的通道,使用时是用一根数据电缆将其与主板IDE接口或与其它控制适配器的接口相连接,经常听说的40针、80芯的接口电缆也就是指数据电缆,数据接口主要分成IDE接口、SATA接口和SCSI接口三大派系。 (2)、控制电路板。大多数的控制电路板都采用贴片式焊接,它包括主轴调速电路、磁头驱动与伺服定位电路、读写电路、控制与接口电路等。在电路板上还有一块ROM芯片,里面固化的程序可以进行硬盘的初始化,执行加电和启动主轴电机,加电初始寻道、定位以及故障检测等。在电路板上还安装有容量不等的高速数据缓存芯片,在此块硬盘内结合有2MB 的高速缓存。 (3)、固定面板。就是硬盘正面的面板,它与底板结合成一个密封的整体,保证了硬盘盘片和机构的稳定运行。在面板上最显眼的莫过于产品标签,上面印着产品型号、产品序列号、产品、生产日期等信息,这在上面已提到了。除此,还有一个透气孔,它的作用就是使硬盘内部气压与大气气压保持一致。

浅论如何科学管理和高效维护多媒体语言实验室

浅论如何科学管理和高效维护多媒体语言实验室 随着计算机技术和网络技术的飞速发展,语言实验室的建设从模拟化转化成数字化、网络化。多媒体语言实验室目前是高校外语教学的重要组成部分,所以,如何科学的管理和高效的维护多媒体语言实验室显得尤为重要。 标签:多媒体语言实验室;科学管理;高效维护 多媒体语言实验室是高校外语教学的主要阵地,其效能的发挥不仅关系到外语教学的进展情况,而且也直接影响外语教学的质量。目前,大学里使用多媒体语言实验室进行外语教学已经很普遍了,并成为了外语教学不可缺少的重要组成部分,那么,如何科学管理和高效维护多媒体语言实验室,为学生提供一个良好的学习环境,提高教学质量,使之充分发挥其效能,是管理人员应该认真思考的问题。多媒体语言实验室的使用为教育教学开创了广阔的科学远景,但也存在着一些不和谐的因素。 一、多媒体语言实验室的现状 多媒体语言实验室的管理包括设备管理、环境管理、使用管理、及工作人员和学生管理等方面。 在高校的教育改革中,语言实验室在硬件的投入上较过去有很大改变,数字多媒体、投影等现代教学设备的不断更新换代,使语音室的设备不断地提升档次,从而为教学的功能与手段,以及全面提高大学生的语言素质等方面提供了可靠的保证。但是,由于语音室的管理者属于教学管理人员,其中多数人非本专业,业务不精,管理缺乏科学性,队伍不稳定,并且缺乏定期、必要的岗位技能培训,所以不论在管理理念上,还是具体动作上总是安于现状,墨守成规的多,新思维、新方法较少。这导致与教学部门的横向沟通不够,相互配合不协调,使教师在教学设备的使用上,学生在上课过程中的软环境建设中出现了许许多多的问题。另外,语音室的设备管理、规章制度建设等方面也都缺乏一定的科学性。因此,语音室的科学化管理是一个势在必行和亟待解决的问题。 实验管理员属于教辅人员,每天必须早到,提前做好准备工作;晚走,做好清理工作。这样才能保证后面的教学课程正常进行。齐齐哈尔大学网络信息中心要求管理人员每天提前15分钟上班,下班后对自己管辖的教室设备都要进行全面检查,确认安全后方可下班。由于设备使用率高和学生操作不当会引起各种故障,为了不耽误学生上课,语音室管理员就要加班加点地查找故障原因,并要及时排除故障。 二、提高管理人员自身素质是科学管理的关键 加强岗位业务培训是干好工作的基础。齐齐哈尔大学网络信息中心管理人员始终坚持岗位练兵,每年一次,对管理人员进行理论知识和实践技能的全面考核。

单反相机内部结构(实物解剖分析图)

单反相机内部结构(实物解剖) 单以结构性上来看,数码单反相机(DSLR)和一般数码相机(DC)最大区别,在于数码单反相机的感光组件前方有设置一个反光镜,而一般数码相机则是直接透过液晶屏幕(LCD)取景。除此之外,DSLR还有哪些特殊设计?以下我们就来介绍数码单反相机的结构及工作原理吧! 按下数码单反相机的快门前,光线从镜头进入相机内部,透过斜斜的反光板,将那道光向上反射给五棱镜,其作用最终射入观景窗内,而我们便是经由观景窗来观察拍摄物体以及决定构图。相较于一般数码相机的电子观景窗,数码单反相机的光学观景窗更为精确,即便在昏暗的光线条件下也能拍摄出清晰影像,而且色彩也更加真实。 当按下快门时,数码单反相机的反光板向上翻转,位于感光组件前方的快门帘开启,感光组件在感光后透过对信号的分析和处理,将影像信息储存于记忆卡内,一张数字照片就此产生。反光板是个很特殊的配备,却也阻碍了数码单反相机小型化的发展,这也是数码单反相机无法拥有如同消费机般轻巧便利外型的最重要原因。

反光板升起前/后,数码单反相机工作示意图。

左边为DSLR金属机壳架构图,右边的则是机身透视图。 透过结构透视图和数码单反相机的金属机壳架构图可以看出,数码单反相机是由各式各样的电子和光学零件所组成,为了能更有效地保护这些零件,数码单反相机大多拥有一个轻质金属材质的机身骨架,因此数码单反相机相较一般数码相机更加坚固耐用。 五棱镜 五棱镜和反光板一样,都是数码单反相机特有的零件。五棱镜位于相机的前端,而也正是数位单眼相机前端突起的原因,即便目前市面上的数码单反相机所使用的五棱镜,有着体积上或大或小的差异,但工作方式和原理却仍是相通的。

网吧电脑还原卡的原理(转载)

网吧电脑还原卡的原理(转载) 今天给邻居修理电脑,此电脑室邻居买的二手电脑,打开机器看到里面有一块小哨兵还原卡。我猜应该是网吧的电脑。以前从来没有遇到过这种带还原卡的电脑。于是百度了一下,看到这篇文章,感觉写的不错,于是转载过来。 还原卡的原理是在操作系统启动之前获得机器的控制权。用户对硬盘的操作,实际上不是对原来数据的修改,而是对还原卡虚拟的空间进行操作,从而达到对系统数据保护的功能。单纯功能的硬盘还原卡占用的系统资源多,要求硬盘有很大的剩余空间才行,已经逐渐被淘汰。现在出现了网络还原卡,采用网卡实现还原卡,将网络和还原技术结合,实现远程的开机关机、重起、还原、对拷、监视、控制等功能。其对拷功能支持一台和数百台机器的数据对拷,每秒可以达到数MB,比传统的维护方法省时省力,可以为大规模机群的管理提供支持。 使用还原卡,可以将计算机的系统分区或其他需要保护的分区保护起来,可以将还原卡设定为下次启动或过一定的时间后对系统进行自动还原,这样,在此期间内对系统所作的修改将不复存在,免去了系统每使用一段时间后就由于种种原因造成系统紊乱、经常出现蓝屏而不得不再次重装系统之苦。这对于熟练用户来说也有一定的意义,对那些新手就更不用说了。当然,还原卡一般也提供了安装模式以安装新的需要正常使用的软件。其实,就笔者的使用经验来看,使用还原卡甚至比使用GHOST软件来恢复系统还要方便。即使您需要经常安装/卸载一些软件,也可以很方便地用还原卡来恢复系统。您可以将还原卡设定为每一星期还原一次,如果需要还原时,将系统时间改一下,那么下次启动时系统就会自动还原了。 还原卡好是好,但它还有一个致命的弱点,就是要想使还原卡发挥作用,必须在BIOS中将第一启动项(First Boot Device)设为“LAN” 启动。而BIOS设置可以很容易地用Debug加以清除(只需在Debug下输入“o 70 71”和“o 71 70” 两行代码即可)。而主板中BIOS中启动第一项的默认项一般并非为“LAN”启动,这样一旦BIOS设置被清除,BIOS中的设置值被恢复到默认值,还原卡就不能起作用。虽然大多数还原卡还具有还原BIOS设置的功能,但还原卡不起作用,它的还原BIOS设置的功能也就成了一句空话。(联想启天电脑使用的还原卡集成在网卡上,BIOS中启动第一项设置为任何值还原卡均可起作用,据笔者分析,这款电脑BIOS中启动第一项已被锁定为LAN启动,实际上在BIOS中根本没有提供BIOS第一启动项的设置,在BIOS中所显示的第一启动项设置实际上是第二启动项的设置)。笔者所在的学校机房从价格因素考虑,购买了50台金长城电脑,型号为育翔3600-1000C-Q,使用的主板是技嘉的GA-6VEML。同时使用了一款小哨兵还原卡,就遇到了这样的问题。由于大学生电脑知识较多,动手能力也较强,这批电脑投入使用一段时间后,就有很多电脑因还原卡不起作用,系统被安装了很多杂乱的软件,更糟糕的是感染了很多病毒,造成系统无法正常使用。因为这款电脑无网络拷贝功能,机房管理维护人员只能将机箱打开后用GHOST将系统再重新恢复上去,因此维护工作量很大。 为摆脱这一困境,我们考虑到如果BIOS里启动第一项锁定为LAN启动,那么即使清除了BIOS设置,还

SD测速和超速保护卡SDP及端子板说明(有路DOC

测速和超速保护卡(SDP)及其端子板 使用说明 (有6路模拟量输入) 编制:???????????????????? 校对:???????????????????? 审核:???????????????????? 审定:???????????????????? 批准:???????????????????? 新华控制工程有限公司 二00四年四月

转速测量和超速保护卡及端子板使用说明 1. 概述 SDP卡是转速量测速和超速保护功能合二为一的DEH/MEH专用卡件。在DEH系统中为保证冗余设计,采用3块SDP卡分布在3个不同的站,3块SDP卡与SDP端子板( CCC2.908.402)配合使用,构成硬件三选二超速保护系统。在DEH/MEH系统中,SDP板作为一个前端数据处理器,将转速信号转换成相应的数字信号,经I/O总线送至控制计算机系统中,用于转速控制等。同时SDP卡对转速进行逻辑,并发出超速保护信号,控制超速限制(OPC)电磁阀或停机电磁阀,防止汽轮机超速。SDP卡在DEH系统中还可以根据输入电负荷和汽负荷的瞬间不平衡,产生超速保护的信号。DEH/MEH系统的超速保护功能由SDP及其端子板完成,与DPU独立。同时SDP卡上的所有信息都可以通过DPU读取在操作员站及工程师站的画面上显示。 2. 硬件组成 测速及超速保护硬件系统由SDP卡及端子板组成,一般在设计时都采用三块SDP卡和一块SDP端子板组成硬件的三选二系统。 2.1 SDP测速卡 2.1.1 简介 SDP为汽机控制系统中专用的测速及超速保护模件,模件上采用AMD 188EM为16位嵌入式CPU,它具有与速度快、数据处理能力强PC机的指令相兼容。因此,具有较强的软件开发手段。最大寻址空间为存贮器1Mbyte,I/O为64K,有3个16位定时器/计数器、多级中断、8个优先级等功能。 程序存储器FLASH ROM(AMD 29F040),FLASH ROM中固化了32K的EMON86 V3.21和PI的执行程序,数据存储器一片628128 128K字节的RAM,该RAM主要用于程序的运行和数据计算。 2.1.2 主要特点 (1) 1路交流量输入、8路开关量输入、4路开关量输出、六路模拟量输入。 (2)采用全光电隔离,隔离电压 1500V。 (3)采用1路16位计数器,在转速>50rpm时,测量转速时间<20ms。 (4)允许带电插拔(热插拔)。 (5)运行状态LED指示

胃的内部结构图

胃的内部结构图 2009-05-02 14:17 【大中小】【我要纠错】 胃是人体消化道中最宽大的部分,位于左上腹,像一个有弹性的口袋,上端连着食道,下端接十二指肠。连接食管的入口处称为贲门,接十二指肠的出口处叫幽门。在幽门处有环形增厚的肌肉称为幽门括约肌。胃的结构分为胃底、胃体和胃窦三部分,胃有前后两壁,还有上下两弯,较短的上边是胃小弯,较长的下边是胃大弯。胃小弯和幽门部都是溃疡病的好发部位,十二指肠紧接幽门,它的长度与十二个手指的宽度基本相同,故称为十二 指肠。 胃壁的组成 胃壁共分四层,自内向外依次为粘膜层、粘膜下层、肌层和浆膜层。 (1)粘膜层:即胃壁的最内层,它由表层上皮、粘膜、肌和肌间组织构成,厚约0.5~0.7毫米。粘膜肌由二束平滑肌纤维组成。表层上皮下面为腺体和固有膜,含有结缔组织基质、浆细胞、淋巴细胞、少数嗜酸细胞、肥大细胞以及神经和血管。用胃镜观察胃粘膜为微红的橙黄色,并且有闪光。在空腹时,粘膜形成许多皱襞。当胃被食物充满后,皱襞即变为低平或全部消失。胃粘膜被许多纵横沟分成若干小块,称为胃区。每区有许多小窝,叫胃小凹,胃腺即开口于胃小凹的底部。胃大约有300多万个胃小凹,一个胃小凹底部有3~5条胃腺共同开口。 临床上,胃粘膜皱襞的改变,常表示有病变的发生。胃腺是胃粘膜上皮向结缔组织中深入凹陷而形成的,分泌胃液的腺体有3种,即贲门腺、胃底腺和幽门腺。贲门腺位于食管~胃交界处的胃粘膜内,腺体由含有粘液的分泌细胞组成;胃底腺位于胃底和胃体的粘膜,腺体的细胞主要有主细胞、壁细胞和颈粘液细胞3种;幽门腺位于胃窦的粘膜,几乎全是粘液细胞,幽门腺只分泌碱性粘液。 胃小弯、幽门部的粘膜较平滑,神经分布丰富,是酸性食糜必经之路,易受机械损伤及胃酸消化酶的作用, 所以易发生溃疡。 (2)粘膜下层:由疏松结缔组织和弹力纤维组成,起缓冲作用。当胃扩张或蠕动时,粘膜可伴随这种活动而伸展或移位。此层含有较大的血管、神经丛和淋巴管,胃粘膜炎或粘膜癌时可经粘膜下层扩散。 (3)肌层:胃壁的肌层很发达,由三层平滑肌组成,外层为纵形肌,以大弯和小弯部分较发达;中层为环形肌,在贲门和幽门处变得很厚,形成贲门括约肌和幽门括约肌;内层为斜形肌,由贲门左侧沿胃底向胃体方向进行,以下渐渐分散变薄,以至不见。在环形肌与纵形肌之间,含有肌层神经丛。胃的各种生理运动主要靠肌层 来完成。 (4)浆膜层:胃壁的浆膜层是胃的外膜,实际上是腹膜覆盖在胃表面的部分。其覆盖主要是在胃的前上面和后下面,并在胃小弯和胃大弯处分别组成小网膜和大网膜。 胃液的构成胃液是由胃腺内多种细胞所分泌的混合液,其中包括盐酸(即胃酸)、钠和钾的氯化物、粘液、消化酶、内因子、血型物质和非壁细胞来源的碱性溶液,含水量约占91%~97%.胃液中的盐酸能杀灭随食物进入胃中的细菌。盐酸进入小肠后,可刺激肠液、胰液、胆汁的分泌。盐酸又能提供胃蛋白酶发挥作用的酸性环境,使胃蛋白酶元变成胃蛋白酶,初步消化食物中的蛋白质。当盐酸,即胃酸不足时,胃蛋白酶的作用受到影响。 消化酶中最重要的是蛋白酶,它能使蛋白质水解成际、胨和其他短肽链,便于吸收。

还原卡

一、原理篇 硬盘还原卡也称硬盘保护卡,在教育、科研、设计、网吧等单位使用较多。它可以让电脑硬盘在大多情况下 非物理损坏,恢复到最初的样子。换句话说,不管是病毒、误改、误删、故意破坏硬盘的内容等,都可以轻易地还原。 还原卡的主体是一种硬件芯片,插在主板上与硬盘的MBR(主引导扇区)协同工作。大部分还原卡的原理都差不多,其加载驱动的方式十分类似DOS下的引导型病毒:接管BIOS的INT13中断,将FAT、引导区、CMOS信息、中断向量表等信息都保存到卡内的临时储存单元中或是在硬盘的隐藏扇区中,用自带的中断向量表来替换原始的中断向量表;再另外将FAT信息保存到临时储存单元中,用来应付我们对硬盘内数据的修改;最后是在硬盘中找到一部分连续的空磁盘空间,然后将我们修改的数据保存到其中。 每当我们向硬盘写入数据时,其实还是写入到硬盘中,可是没有真正修改硬盘中的FAT。由于保护卡接管INT13,当发现写操作时,便将原先数据目的地址重新指向先前的连续空磁盘空间,并将先前备份的第二份FAT中的被修改的相关数据指向这片空间。当我们读取数据时,和写操作相反,当某程序访问某文件时,保护卡先在第二份备份的FAT中查找相关文件,如果是启动后修改过的,便在重新定向的空间中读取,否则在第一份的FAT中查找并读取相关文件。删除和写入数据相同,就是将文件的FAT记录从第二份备份的FAT中删除掉。 二、安装篇 现在市面上硬盘还原卡种类很多,大多是PCI总线,采用了即插即用技术,不必重新进行硬盘分区,而且免装驱动程序。安装时把卡插入计算机中任一个空闲的PCI 扩展槽中,开机后检查BIOS以确保硬盘参数正确 同时将BIOS中的病毒警告设置为Disable。在进入操作系统前,硬盘还原卡会自动跳出安装画面,先放弃安装而进入Windows,确保计算机当前硬件和软件已经处于最佳工作状态,建议检查一下计算机病毒,确保安装还原卡前系统无病毒。最好先在Windows里对硬盘数据作一下碎片整理。杀毒软件的实时防毒功能、各种基于Windows的系统防护/恢复软件的功能已经完全或者部分地被还原卡包含,建议关闭或不安装或卸载。 重启后安装还原卡,并设置还原卡的保护选项(具体设置因还原卡不同而异)。但大多都应有以下几项:硬盘保护区域设定、还原方式设定(包括开机自动恢复、选择恢复和定时恢复等)、密码设定等。设置完毕,保护数据后,整个硬盘就在还原卡的保护之下了。 三、使用篇 1.使用GHOST进行磁盘对拷 很多的还原卡在说明书中写着并不支持GHOST的使用,因为还原卡在硬盘的隐藏扇区中写有数据,直接对拷后很可能会蓝屏进不了系统。然而很多情况下(如网吧、学校等单位大批机器软件安装),我们还是要使用GHOST做磁盘对拷。必须将源盘和目标盘的还原卡彻底移除(大部分还原卡的设置选项均中有移除选项,有的厂商提

STM32内部结构

1 STM32系统结构 要想深刻理解STM32的存储器,需要首先知道STM32的系统结构。如Figure 1,是STM32系统结构框图。 根据STM32 Reference manual (RM0008)中的描述,如图:

可以得知STM32系统结构的组成,每一个模块更为详细的内容,请参考相关文档。RM0008文档中可以看出,STM32采用的是Cortex-M3内核,因此,有必要了解Cortex-M3的存储器结构。 图中还可以看出,Cortex-M3是通过各个总线和Flash、SROM相连接的。 2 STM32内核(Cortex-M3)的结构 以下是Cortex-M3模块框图:

该Cortex-M3内核通过I-Code、D-Code、System总线与STM32内部的Flash、SROM相连接的,该种连接情况直接关系到STM32存储器的结构组织;也就是说,Cortex-M3的存储器结构决定了STM32的存储器结构。 这里可能说的比较笼统,可以这样理解:Cortex-M3是一个内核,自身定义了一个存储器结构,ST公司按照Cortex-M3的这个存储器定义,设计出了自己的存储器结构;但是ST公司的STM32的存储器结构必须按照Cortex-M3这个定义的存储器结构来进行设计。 举个例子: 我买了一个做饭的调料盒子,有三块区域(假设存储器分为3块),上面分别标有盐(Flash)、糖(SROM)、味精(Peripheral);此时,该调料盒子并没有任何意义(对应Cortex-M3内核);我按照标签放入特定品牌、特定分量的盐

(Flash)、糖(SROM)、味精(Peripheral),产生一个有实际意义的调料盒(各类Cortex-M3内核的芯片,如STM32)。 期间,调料位置不能放错,但可以不放。由上面的例子可以看出,空的调料盒子决定了有意义的调料盒子存放调料的结构。因此,只要了解空盒子的存储结构,就可以很清楚的明白当有调料时的用法了。 3 STM32内核(Cortex-M3)的存储器映射 存储器映射是指把芯片中或芯片外的FLASH,RAM,外设,BOOTBLOCK等进行统一编址。即用地址来表示对象。这个地址绝大多数是由厂家规定好的,用户只能用而不能改。用户只能在挂外部RAM或FLASH的情况下可进行自定义。 如图,是Cortex-M3存储器映射结构图。

如何破解还原卡

还原卡和还原软件被广泛运用于各种公共场合的电脑上,比如学校机房和网吧。这些还原卡和还原软件(以下我简称为虚拟还原技术)能够记录下一切对硬盘的写操作,不论您对硬盘进行拷贝还是移动删除甚至是格式化分区等操作,只要一重新启动,一切都会恢复到这个操作之前的情况,因此有些虚拟还原厂商还会在广告词中加上一句“可以防范一切电脑病毒”。这种虚拟还原的方法在大部分时候的确可以对公共机房的电脑起到很好的保护作用,难道真的没有一种方法能够穿透这种保护机制么?答案是否定的,下面请听我一一道来。 一、虚拟还原技术的原理 本文所说的是一种普遍运用于还原卡或还原软件上的技术,当然,不同品牌不同厂商生产的可能不尽相同,但原理却是相通的。 首先,还原卡和还原软件会抢先夺取引导权,将原来的0头0道1扇保存在一个其他的扇区,(具体备份到那个扇区是不一定的),将自己的代码写入0头0道1扇,从而能在操作系统之前得到执行权,这一点类似于一个引导型病毒;然后,我们来看看虚拟还原技术在操作系统之前都做了些什么: 1.将中断向量表中的INT13H的入口地址保存; 2.把自己用于代替INT13H的代码写入内存,并记住入口地址,当然这种“写入内存”并不是普通的“写”,而是一种我们称为“常驻”的方法,有关“常驻程序”的实现方法我们不另外花篇幅来描述了,如果你还不了解的话请自己找有关资料,也可以到https://www.doczj.com/doc/cf2411909.html,或https://www.doczj.com/doc/cf2411909.html,找风般的男人交流; 3.将中断向量表中INT13H的入口地址改为这段常驻程序的入口地址。补充一点,虚拟还原程序在修改INT13H 的入口后往往都会修改一些其他中断入口,当然也是通过常驻程序来实现的,这些中断用来实现对中断向量表中INT13H入口地址监控,一旦发现被修改,就马上把它改回,这样做同样是用来防止被有心人破解。 好了,你已经看出来了,这段用来替代BIOS提供的INT13H的代码才是虚拟还原技术的关键,那么这段代码到底实现了些什么了,以下是本人对此拙浅的理解: 1.拦截所有INT13H中对硬盘0头0道1扇的操作 这些包括读写操作,把所有的对0头0道1扇的操作改为对虚拟还原程序备份的那个扇区的操作,这样做的目的是保护虚拟还原代码不被破坏,并且不能被有心人读出进行破解,即使你用扇区编辑工具查看主引导区,实际上你看到的是这个备份的主引导区。 2.拦截所有INT13H中的写硬盘操作 这里包括对8G以下的硬盘的普通通过磁头、磁道、扇区定位的INT13H中的写操作,和扩展INT13H中基于扇区地址方式的对大硬盘的写操作,甚至包括扩展INT13H中对一些非IDE接口的硬盘的写操作。 至于拦截后做什么是虚拟还原技术实现的关键,在早期的DOS系统当中完全可以“什么都不做”,也就是说当用户写硬盘时实际上是什么都没做,但现在的操作系统都要对硬盘进行一些必要的写操作,比如对虚拟内存的写操作。众所周知,虚拟内存实际上就是硬盘,而如果禁止操作系统写硬盘的话显然后果是不堪设想的。所以,大多数虚拟还原厂商用的方法是占用一些硬盘空间,把硬盘所进行的写操作做一个记录,等系统重新启动后还原这一记录,但是怎样科学记录硬盘的写操作,是我一直没想通的问题,这种“科学”应该体现在时间上和硬盘空间的占用量上的,也就是说怎么样用最少的时间和最少的硬盘空间来记录硬盘的写操作是实现关键,如果有这方面想法的朋友欢迎和我交流; 3.备份端口70H,71H中的内容,并把最后一次执行时端口70H,71H的内容和备份的内容做比较,不一样就提示BIOS被修改,是否还原,并通过密码验证修改BIOS是否合法。 二、PC机的中断机制 中断提供了最基本的硬件和软件的接口,它使得程序员不必了解硬件系统的细节,只要直接调用系统提供的中断服务子程序,就可以完成相应功能,这样能使得程序设计更为方便。其实现机制如下:当某一中断源发出中断请求时,CPU能够决定是否响应这一中断请求(当CPU在执行更为重要的工作时,可以暂不响应),如果允许响应该中断,CPU会在现行的指令执行完后,把断点处的下一条指令地址和各寄存器的内容和标志位的状态,推入堆栈进行保护,然后转到中断源服务程序的入口,进行中断处理,当中断处理完成后,再恢复被保留的各寄存器、标志位状态和指令指针,使CPU返回断点,继续执行下一条指令。 为了区别各个中断,CPC系统给每个中断都分配了一个中断号N,比如INT 3H是断点中断,INT 10H是显示中断,我们今天要讨论的主要是INT 13H磁盘读写中断。 要说清楚PC机上的中断机制,用这一点篇幅是完全不够的,这里我所说的只是一个大概,如果你不清楚的话,请查阅一些资料或和我交流,我们今天重要要说的就是以INT13H为例看看BIOS提供给我们的中断到底都是在做什么?所谓BIOS中断简单说就是你机器上的BIOS提供的中断,那么在BIOS中断的后面,到底是些什么呢?实际上是一些对端口的输入输出操作,PC的每个端口都实现特定的功能,我们完全可以不调用BIOS提供的中断而直接用输入输出指令对这些端口进行操作,从而可以实现象调用BIOS中断一样的功能,但是一个前提是你必须对这些端口有详细的了解。反过来说,PC的中断系统的一大好处就是能够让程序员无须了解系统底层的硬件知识的而能够编程,从这点看,中断有点象我们平时所说的“封装”,我不知道这样说对不对,但的确中断为我们“封装”了许多系统底层的细节。

相关主题
文本预览
相关文档 最新文档