当前位置:文档之家› VxWorks Device Driver 机制分析

VxWorks Device Driver 机制分析

VxWorks Device Driver 机制分析
VxWorks Device Driver 机制分析

VxWorks Device Driver 机制分析

一.概述:

我们不可避免地经常要和device driver打交道,而device driver本身跟操作系统的相关性特别密切,而了解如何能做到屏蔽底层硬件提供标准且通用的接口给上层是我们研究device driver标准的基本目的,由于时间和篇幅的限制,而且我们的工作主要在VxWorks上进行device driver的开发,所以这里只对VxWorks下的标准device driver 开发进行分析。

二.详细分析:

1.VxWorks Device Driver的在系统中的层次概述:

VxWorks Device Driver Block Diagram

VxWorks 标准device driver基本都是通过I/O系统来存取的,这样做的好处是可以屏蔽底层硬件,对上层应用程序提供统一的接口。VxWorks的I/O系统由基本I/O及含buffer的I/O组成,它提供标准的C库函数,基本I/O库与Unix兼容,而含buffer的I/O 则与ANSI C兼容。我们将在后面介绍基本I/O与含buffer的I/O。VxWorks的I/O系统有其独特的特性,使得它比其它I/O系统更快速、灵活,这在实时系统中非常重要。还有一些特殊的device driver 如End driver, Serial device driver由于其自身的特性,虽然不是通过标准I/O来进行存取的,但是也都有它们各自相关的规范.在这里我们只介绍通过I/O系统存取的标准的device driver.

VxWorks的I/O设备和Unix的I/O设备很相似,它们都分为:字符设备和块设备。

字符设备是指在I/O传输的过程中以字符为单位进行传输的设备,如:键盘,鼠标,打印机等。

块设备是指以“块”为单位对数据进行存取的设备,如:硬盘,光驱,软驱,磁带等。但是VxWorks下的I/O设备driver与Unix下的I/O设备driver也有区别,区别主要是:

●VxWorks的device driver可以动态安装和删除。

●VxWorks的文件描述符是全局的,可以被任何一个任务存取,除了标准的输入,

输出,错误输出外。

●VxWorks的ioctl控制命令与Unix的不同。

●Unix下的device driver执行在系统模式,没有优先级之分,而VxWorks的device

driver有优先级之分,这取决于调用它的任务的优先级。

2.系统中标准C的I/O函数:

Call Description

creat()Create a file.

remove()R emove a file.

open()Open a file. (Optionally, create a file.)

close()Close a file.

read()Read a previously created or opened file.

write()Write a previously created or opened file.

ioctl()Perform special control functions on files or devices

一般来说在使用基本I/O函数时,经常使用文件描述符来对文件进行操作。有三个基本的系统保留的描述符:

0 = standard input

1 = standard output

2 = standard error output

这三个描述符的值是你在用open()和create()函数创建描述符时永远得不到的描述符,这就是我们分配的描述符永远都大于2的原因。注意VxWorks支持I/O重定向的功能,我们可以使用函数:ioGlobalStdSet(stdFd, newFd )来将系统保留的描述符stdFd(0,1,2)重定向到newFd上,这样做的好处是可以将标准输入/输出/错误输出重新定向到任何一个你喜欢的I/O设备上,如:串口,socket,文件等等,便于你跟踪调试。自然也可以使用ioGlobalStdGet (stdFd)读出现在系统的标准输入/输出/错误输出定向在哪个描述符上。更灵活的是我们可以使用ioT askStdSet(tasked,stdFd,newFd)重定向某个指定任务的标准I/O.

在对任何一个设备操作前我们必须使用open()或create()取得文件描述符fd, 使用的方法是:fd = open ("name", flags, mode);

File Access Flags

Flag Hex Value Description

O_RDONLY0 Open for reading only.

O_WRONLY1Open for writing only.

O_RDWR 2 Open for reading and writing.

O_CREAT200 Create a new file.

O_TRUNC400 Truncate the file.

在操作完该设备后记得使用close函数来释放此文件描述符。面向文件的设备必须使用create()来创建文件,使用remove()来释放一个文件设备上的文件,记住在文件被cloes()之

前不可以使用remove(),对于非文件系统,create()函数相当于open()而remove()则没有任何作用。

在使用open()或create()函数来取得文件描述符之后,我们可以通过该文件描述符用read(),write(),ioctl()函数来对设备进行操作。

3.含有buffer的I/O: stdio

VxWorks的含buffer的I/O库与Unix和Windows下的stdio库兼容。支持全部的ANSI

C. Stdio库实现了读写大块数据的buffer机制,这对上层应用来说是透明的。通常使用

fopen()来替换open()打开一个文件设备,它返回一个文件指针FILE*,也可以使用fp= fdopen (fd, "r");来打开一个已经打开了文件描述符的设备,在取得了FILE*后,可以使用fread, fwrite, putc, getc,来对设备进行操作。

4.字符设备driver分析:

如何在vxWorks上做标准的字符设备driver?这需要我们分析一下VxWorks字符设备driver的机制,通过分析我们发现。

1)首先,VxWorks调用iosDrvInstall()函数将自己的device driver注册到系统的

driver table, iosDrvInstall的原型是:

int iosDrvInstall (FUNCPTR pCreate, FUNCPTR pDelete, FUNCPTR pOpen,

FUNCPTR pClose, FUNCPTR pRead, FUNCPTR pWrite,

FUNCPTR pIoctl);

由此我们可以看到,我们必须首先实现自己的设备的7个标准I/O函数,然后通过调用iosDrvInstall函数,将自己设备的标准I/O函数的指针作为参数,传递给

系统,这时系统会在将这些函数的指针加入到Driver table中,并返回一个driver

number给device driver, 以后则可以通过此driver number使用标准的ioLib对该设

备进行操作。

2)当调用iosDrvInstall()注册IO函数成功后,必须使用iosDevAdd()函数将此设

备加入到I/O系统的device list中,iosDevAdd的原型:

STA TUS iosDevAdd (DEV_HDR *pDevHdr, char *name, int drvnum);

其中DEV_HDR是一个指向DEV_HDR的指针,DEV_HDR结构中的第一项是指向下一个device的DEV_HDR的指针。

这时device driver已经安装到VxWorks中了,我们可以使用open, close, create, remove, read , write等通用系统IO函数对该device进行存取。

在设备的命名上通常将NFS网络设备命名为以斜线”/”开头的名字,如:/usr.将非NFS网络设备命名为”远程机器名字:”的形式,如:”host:”。其他的名字命名为远程主机的远程目录内的文件名字。文件系统使用dosFs经常用大写字母与数字加上“:”形成,如:”DEV1:”。记住“/“不能单独作为设备的名字。

Cache的一致性问题:

很多时候在我们开发板卡驱动程序的时候我们对分配的内存带的cache会产生迷惑,我们什么时候应该分配带cache的内存,有cache有什么好处,应该要注意哪些问题,有可能会出现哪些问题等等太多的问题不明确,所以我们在这里就简单介绍一下有关的cache问题。首先cache的最大的好处是,解决CPU与内存之间的瓶颈,我们现在使用的SDRAM的速度一般都在3ns~10ns左右,而CPU的速度已经到了1G,甚至十几G或几十G的速度,很明显这样的速度差异会导致CPU在存取内存时经常要等待数据在内存上的操作,这将致命地影响系统的性能。所以人们引进了cache机制,因为造价及物理上的限制cache通常都不大只有256K或512K,但是速度很快,它的位置一般在CPU与内存之间,它有一些列的快速算法来保证下次CPU存取内存的数据在cache内的高机率。这样CPU在存取数据如果数据在cache内则直接对cache进行存取而无须与缓慢的内存打交道。

为板卡开发的driver必须保证cache的一致性,即cache中的数据必须与内存中的数据保持同步,因为在使用异步方式读取内存时有可能产生内存与cache失步。数据cache是为了减少存取内存的次数,而加快系统的性能,数据cache通常有两种放式:writethrough和copyback。Writethrough是指在写内存时同时也往cache中写。保证cache的在输出上一致,但不保证在输入时一致。Copyback仅将数据写到cache中,它保证数据在输入和输出时都一致。

当CPU写一个DMA设备上的内存时,数据首先被写到cache中,当DMA设备从RAM 中传输数据时,不保证内存中的数据与cache中的数据一致。这样输出到设备的数据也许不是最新的,最新的数据应该在cache内。可以在数据传输到DMA设备之前将cache数据刷

新到内存中。

当CPU读一个DMA设备上的内存时,数据读可以来自cache的buffer而不是从设备传输到内存的数据,可以确保cache buffer已经被标记(屏蔽)来解决读出的数据来自内存而非cache.

Driver可以通过分配无cache buffers(使用cacheDmaMalloc())或刷新和使cache无效来解决CPU与设备之间数据传输的cache一致性问题。分配无cache buffers常用于分配静态buffers,它需要MMU的支持。无cache buffers频繁地被动态分配和释放将导致大量的内存被标记为无cache.一个择中的方法来使用动态无cache buffer是人为地刷新(使用cacheFlush()函数)和屏蔽cache (使用cacheInvalidate()).注意在设备读数据之前用cacheFlush()保证数据一致,而在设备写内存后用cacheInvalidate()保证将cache和内存数据的一致。

5.块设备:

VxWorks的块设备与字符设备有微小的差别,它们的唯一区别是块设备不能与I/O系统直接打交道而是在其与I/O系统之间必须有文件系统,如dosFs, rt11Fs, rawFs或tapeFs等。这种层次关系允许同一个块设备上存在不同的文件系统,减少driver中必须支持的I/O函数的数量。

作为一个块设备必须提供一个设备结构BLK_DEV来存取该设备。在该结构中应该定义一些与该设备相关的变量,如块大小,块数目。还应该定义一个函数列表,里面包括实现本设备read, write, ioctl, reset, check state of device的函数。通常还会定义一些成员来表示设备在文件系统上的特定条件,如磁盘改变等。当driver创建块设备时,设备没有名字或文件系统与其相联。在设备初始化函数中选择文件系统后才会使设备与文件系统相联。块设备的底层driver与字符设备driver不同,它并没有被安装到I/O driver table中,而是由每个文件系统作为一个driver安装到I/O driver table上。应用程序与设备的所有通讯都是先通过I/O系统<-->文件系统<-->设备driver<-->设备。所以driver必须提供设备与VxWorks之间的接口。基本上这些接口都是与硬件相关的,每个设备都有其独特的处理过程,但是提供给VxWorks 的接口应该是统一的。

Driver通常需要一个初始化函数,它所执行的操作应该只执行一次。它有一个原则就是初始化函数操作影响整个设备控制器,而其它后继的操作只影响特殊的设备。块设备的通用初始化函数包括:

●初始化硬件。

●分配和初始化设备数据结构。

●创建互斥量。(用于多个任务存取)

●初始化中断向量表。

●开设备中断。

块设备driver必须创建一个逻辑盘或连续的设备,所谓的逻辑盘设备可以仅仅是一个大的物理设备的一部分,设备driver必须可以跟踪任何一个块偏移值或其他可以将逻辑设备与物理设备的实际位置对上的方法。VxWorks文件系统的块序号通常以零开始,一个可以连续存取的设备的块大小通常是可变或多样的。大多数应用程序使用的都是可变的块大小。设备的create函数一般来说都会分配一个设备描述符结构,用于driver对设备的控制,这个结构的第一个成员必须是VxWorks定义的块设备结构(BLK_DEV or SEQ_DEV),因为文件系统在调用设备driver时需要使用这个块设备结构,下面定义的是BLK_DEV 和SEQ_DEV的成员:

Table 3-14: Fields in the BLK_DEV Structure

Field Value

bd_blkRd Address of the driver routine that reads blocks from the device.

bd_blkWrt Address of the driver routine that writes blocks to the device.

bd_ioctl Address of the driver routine that performs device I/O control.

bd_reset Address of the driver routine that resets the device (NULL if none).

bd_statusChk Address of the driver routine that checks disk status (NULL if none).

bd_removable TRUE if the device is removable (for example, a floppy disk);

FALSE otherwise.

bd_nBlocks Total number of blocks on the device.

bd_bytesPerBlk Number of bytes per block on the device.

bd_blksPerT rack Number of blocks per track on the device.

bd_nHeads Number of heads (surfaces).

bd_retry Number of times to retry failed reads or writes.

bd_mode Device mode (write-protect status); generally set to O_RDWR. bd_readyChanged T RUE if the device ready status has changed; initialize to TRUE to cause the disk to be mounted.

Table 3-15: Fields in the SEQ_DEV Structure

Field Value

sd_seqRd Address of the driver routine that reads blocks from the

device.

sd_seqWrt Address of the driver routine that writes blocks to the device. sd_ioctl Address of the driver routine that performs device I/O

control.

sd_seqWrtFileMarks Address of the driver routine that writes file marks to the

device.

sd_rewind Address of the driver routine that rewinds the sequential

device.

sd_reserve Address of the driver routine that reserves a sequential

device.

sd_release Address of the driver routine that releases a sequential device. sd_readBlkLim Address of the driver routine that reads the data block limits

from the sequential device.

sd_load Address of the driver routine that either loads or unloads a

sequential device.

sd_space Address of the driver routine that moves (spaces) the medium

forward or backward to end-of-file or end-of-record markers.

sd_erase Address of the driver routine that erases a sequential device.

sd_reset Address of the driver routine that resets the device (NULL if

none).

sd_statusChk Address of the driver routine that checks sequential device

status (NULL if none).

sd_blkSize Block size of sequential blocks for the device. A block size of

0 means that variable block sizes are used.

sd_mode Device mode (write protect status).

sd_readyChanged TRUE if the device ready status has changed; initialize to

TRUE to cause the sequential device to be mounted.

sd_maxVarBlockLimit M aximum block size for a variable block.

sd_density Density of sequential access media.

●对于直接存取的块设备的读函数原型是:

STA TUS xxBlkRd

(

DEVICE * pDev, /* pointer to device descriptor */

int startBlk, /* starting block to read */

int numBlks, /* number of blocks to read */

char * pBuf /* pointer to buffer to receive data */

)

pDev是指向块设备描述符的指针。

startBlk是开始读的块的起始位置。

numBlks指需要读的块的数目。

PBuf是存储接收的数据的buffer的指针。

●对于连续块设备的读原型是:

STA TUS xxSeqRd

(

DEVICE * pDev, /* pointer to device descriptor */

int numBytes, /* number of bytes to read */

char * buffer, /* pointer to buffer to receive data */

BOOL fixed /* TRUE => fixed block size */

)

pDev是指向块设备描述符的指针。

numBytes指需要读的字节的数目。

buffer是存储接收的数据的buffer的指针。

Fixed是指是读函数是从连续设备的可变大小的块读还是从有多种大小的块读。

●一般来说块设备driver有单独的函数对设备进行复位。它应该只复位指定的块设备

而非所有的块设备。

一般来说块设备driver还应该有取设备状态的函数,它可以检测出当前设备的状态,这对可热插拔的设备来说很重要,当设备出错或被拔出时,这个函数返回Error,

这时文件系统就不会继续往下操作,而当一个新的设备插上时,它设置BLK_DEV

中的bd_readyChanged项,然后返回OK,这时open及create函数可以继续操作。

新的设备可以自动地加入到系统中。

三.VxWorks中的常见设备的driver分析:

VxWorks的最大好处就是提供对很多设备的driver的支持,这也是为什么至今Windows比Linux更受欢迎的一个原因,下面我们对VxWorks提供的常用的设备driver进行分析,以利于大家更清楚地了解VxWorks的工作原理。

Table 3-6: Drivers Provided with VxWorks

Module Driver De scription

TtyDrv Terminal driver

PtyDrv Pseudo-terminal driver

pipeDrv Pipe driver

memDrv Pseudo memory device driver

NfsDrv NFS client driver

NetDrv Network driver for remote file access

ramDrv RAM driver for creating a RAM disk

ScsiLib SCSI interface library

- Other hardware-specific drivers

1. Serial I/O Devices (Terminal and Pseudo-Terminal Devices)

VxWorks提供终端(tty)和伪终端(pty)设备driver, 所谓伪终端也就是终端仿真。伪终端对于应用程序很有用,最常见的如Remote login facilities.

VxWorks的Serial I/O Devices属于含buffer的连续字节流设备,每一个设备有一个输入和输出环形buffer,从一个tty设备读/写数据实际上是从输入/输出环形buffer中读/写数据,每个环行buffer的大小在系统初始化时创建设备确定。

我们可以通过标准的ioctl来对tty设备控制,并可带一些可选项:

Table 3-7: Tty Options

Library Description

OPT_LINE Select line mode. (See Raw Mode and Line Mode.)

OPT_ECHO Echo input characters to the output of the same channel.

OPT_CRMOD

Translate input RETURN characters into NEWLINE(\n); translate

output NEWLINE into RETURN-LINEFEED.

OPT_TANDEM

Respond to X-on/X-off protocol (CTRL+Q and CTRL+S).

OPT_7_BIT Strip the most significant bit from all input bytes.

OPT_MON_TRAP

Enable the special ROM monitor trap character, CTRL+X by

default.

OPT_ABORT

Enable the special target shell abort character, CTRL+C by default.

(Only useful if the target shell is configured into the system; see

9. Target Shell in this manual for details.)

OPT_TERMINAL Set all of the above option bits.

OPT_RAW Set none of the above option bits.

Ioctl的常用的命令有:

Table 3-9: I/O Control Functions Supported by tyLib

Function Description

FIOBAUDRATE Set the baud rate to the specified argument.

FIOCANCEL Cancel a read or write.

FIOFLUSH Discard all bytes in the input and output buffers.

FIOGETNAME Get the file name of the fd.

FIOGETOPTIONS R eturn the current device option word.

FIONREAD Get the number of unread bytes in the input buffer.

FIONWRITE Get the number of bytes in the output buffer.

FIOSETOPTIONS Set the device option word.

tty设备通常工作在两种模式:raw mode(无缓冲区)或line mode. Raw mode是缺省的模式,Line mode可由上面的OPT_LINE来选择。在raw mode每个输入的字符可以在用户输入时立即生效,一个工作在raw mode的tty设备,除非控制可选项,否则我们无法对正在进行的输入做修改。而对于line mode,所有的输入字符都被保存在缓冲区中直到一个NEWLINE 字符被输入,通常我们在输入的过程中可以使用特殊字符(CTRL+字符)来修改输入。在Tornado的shell下的输入就是一个很好的line mode例子。

2. Pipe Devices

管道是利用VxWorks的I/O系统进行任务间通讯的虚拟设备。任务写消息到管道上,这些消息可以由其它任务读出。

我们可以使用pipeDevCreate()函数来创建管道,并给定最大消息数,及每个消息的最大长度。VxWorks的管道被设计成与任务级代码一样的方式允许ISRs写管道,许多

VxWorks的代码,包括除了管道外的其他I/O设备都不允许ISRs写。ISRs通过调用write()函数来写管道,但是一旦管道满了,由于ISRs无法阻塞,消息将被丢弃。管道的ioctl的控制命令有:

Table 3-10: I/O Control Functions Supported by pipeDrv

Function Description

FIOFLUSH Discard all messages in the pipe.

FIOGETNAME G et the pipe name of the fd.

FIONMSGS Get the number of messages remaining in the pipe.

FIONREAD Get the size in bytes of the first message in the pipe.

3. Pseudo Memory Devices

我们说的内存设备其实并不是一个真正的设备,所以我们通常称其为伪内存设备。在VxWorks中通常写为memDev,它允许I/O系统把内存当作一个伪I/O来存取。在设备被创建时内存的位置和大小将被确定,这使VxWorks可以在启动时或CPU之间共享数据时保护数据。MemDrv使用高层的方法通过I/O调用在绝对位置读写数据。

首先使用memDrv()初始化mem设备,再用memDevCreate()创建mem设备。MemDrv 的控制命令为:

Table 3-11: I/O Control Functions Supported by memDrv

Function Description

FIOSEEK Set the current byte offset in the file.

FIOWHERE R eturn the current byte position in the file.

4. Network File System (NFS) Devices

网络文件系统设备允许使用NFS协议来存取远程网络文件。NFS协议指明了客户端读远程机器,服务器端输出文件的方法。VxWorks下的NFS driver称为nfsDrv,它作为一个NFS 客户端来存取网络上的NFS服务器上的文件。VxWorks也允许你运行一个NFS服务器来输出文件到其他远程机器上。使用NFS设备,你可以创建、打开和存取远程的文件就象你存取本地硬盘上的文件系统一样。它屏蔽了底层的网络系统。存取远程文件系统的方法是使用nfsMount()函数来安装那个文件系统,并为其创建一个I/O设备。NfsMount带三个参数,分别为:NFS server的名字,host file system的名字,file system 的local name.

在远程文件系统安装之后,我们可以象存取本地文件一样存取远程文件。要使用NFS文件系统必须要在BSP内INCLUDE_NFS。NFS client的ioctl的控制命令有:

Table 3-12: I/O Control Functions Supported by nfsDrv

Function Description

FIOFST ATGET G et file status information (directory entry data).

FIOGETNAME G et the file name of the fd.

FIONREAD Get the number of unread bytes in the file.

FIOREADDIR Read the next directory entry.

FIOSEEK Set the current byte offset in the file.

FIOSYNC Flush data to a remote NFS file.

FIOWHERE Return the current byte position in the file.

5。on-NFS Network Devices

VxWorks对于无NFS的网络设备提供RSH(Remote Shell Protocol)和FTP(File Transfer Protocol)。它们都使用nfsDrv来实现,当一个远程文件通过RSH或FTP被打开时,整个文件会被拷贝到内存中,所以在使用RSH和FTP打开一个远程文件时要注意文件是否超大而无法被拷贝到本地内存内。一旦文件被拷贝到内存,则read和write 只是对本地内存内的文件进行操作。当关闭文件的时候,如果它被改变的话,它会被拷贝回远程机器。

要使用RSH和FTP存取远程主机,必须先使用netDevCreate()函数创建一个网络设备,并选择是RSH还是FTP。网络设备上的文件可以被创建,打开,处理,就像本地的主机文件一样,但是在该主机内要有足够的存取权限。

由于RSH和FTP的出现使得我们存取网络文件是如此的方便,我们的iPAS等多项目里都使用了FTP的方式来存取远程主机的文件,这再一次证明了屏蔽底层细节在开发较大系统中的优越性。

6.RAM Disk Driver

VxWorks的RAM disk是将内存模拟为磁盘,将所有的数据保存在内存中,内存的位置和“磁盘”的大小依赖于用ramDevCreate()函数所得到的结果,我们可以通过多次运行这个函数来创建多个RAM disk.

RAM disk的内存可以预分配并将地址作为参数传给ramDevCreate()函数,也可由该函数自动分配,该设备被创建后必须使用文件系统初始化或make函数将文件系统和一个名字与该设备相联。例如如果我们要创建一个自动分配200KB内存的RAM disk,512字节的扇区大小,一条磁道,没有扇区偏移。设备的名字命名为”DEV1:”,使用的文件系统是dosFs.则要做的方法是:

BLK_DEV *pBlkDev;

DOS_VOL_DESC *pVolDesc;

pBlkDev = ramDevCreate (0, 512, 400, 400, 0);

pVolDesc = dosFsMkfs ("DEV1:", pBlkDev);

如果要使用预分配的内存,则需要:

pBlkDev = ramDevCreate (0xc0000, 512, 400, 400, 0);

pVolDesc = dosFsDevInit ("DEV1:", pBlkDev, NULL);

7.SCSI Drivers

SCSI是一个标准外设接口,它一般被应用在硬盘、光驱、软驱、磁带设备上,SCSI块设备driver与dosFs, rt11Fs库兼容,提供很多target 配置。由于SCSI技术本身比其他设备要复杂,而且在我们的项目中基本上应用不到它,所以我们在这里对它不做详细的分析。

嵌入式系统原理及接口技术复习题

一、简答题 1.什么是嵌入式系统?嵌入式系统的特点是什么? 答:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能, 可靠性,成本,体积,功耗严格要求的专用计算机系统 特点:与应用密切相关,实时性,复杂的算法,制造成本,功耗,开发和调试,可 靠性,体积 2.简要说明嵌入式系统的硬件组成和软件组成。 答:硬件组成:微处理器,存储器,输入设备和输出设备。 软件组成:操作系统,文件系统,图形用户接口,网络系统,通用组建模块。 3.S3C2410A的AHB总线上连接了那些控制器?APB总线上连接了那些部件? AHB:LCD控制器,LCD DMA,总线控制器,USB主控制器,中断控制器,ExtMaster,电源管理,Nandflash控制器,储存器控制器。 APB:通用异步收发器,内部集成电路总线(IIC),USB设备控制器,集成电路内部 声音总线(IIS),MMC/SD/SDIO主控制器,通用I/O端口(GPIO),看门狗定时器(WDT),定时时钟(RTC),总线控制器,A/D转换器,串行外设接口,定时器/脉宽调制。 4.ARM体系结构支持几种类型的异常,并说明其异常处理模式和优先级状态? 答,支持7种类型的异常 异常处理过程:(进入异常)PC→LR,CPRS→SPSR,设置CPSR的运行模式位,跳转 到相应的异常处理程序,(异常返回)LR→PC,SPSR→CPSR,若在进入异常处理时 设置中断禁止位,要在此清楚,复位异常处理程序不需要返回。 Reset>数据中指>快速中断请求(FIQ)>中断请求(IRQ)>指令预取中止> 未定义指令和软件中止。 5.存储器生长堆栈可分为哪几种?各有什么特点? 4种,满递增堆栈,满递减堆栈,空递增堆栈,空递减堆栈。 6.简述存储器系统层次结构及特点。 答:层次结构:包括Cache,主存储器和辅助存储器 特点: 7.简述I2S总线接口的启动与停止过程。 通过I2S控制寄存器IISCON控制,当控制寄存器IISCON的地址为0=I2S禁止(停止); 当控制寄存器IISCON的地址为1=I2S允许(开始)。 8.简述ARM系统中的中断处理过程。 中断处理过程包括:中断请求、中断排队或中断判优、中断响应、中断处理和中断返回 9.ARM微处理器支持哪几种运行模式?各运行模式有什么特点? User:用户模式。绝大部分的任务执行都在这种操作模式下,此为正常的程序执行 模式。 FIQ:快速中断模式。支持数据传送或通道处理。 IRQ:普通中断模式。用于一半中断处理。 Supervisor:管理模式。一种操作系统受保护的方式。 Abort:中止模式。在访问数据中止后或指令预取中止后进入中止方式。 System:系统模式。是操作系统一种特权级的用户方式。 Undef:未定义模式。当执行未定义指令时会进入这种操作模式。

城市扩展多尺度驱动机制分析—以北京为例

文章编号:1000-8462(2009)05-0714-08 城市扩展多尺度驱动机制分析 ———以北京为例 黄庆旭1,3,何春阳1,2,史培军1,3,赵媛媛1,2,杨洋1,2,刘洪友4 (1.北京师范大学地表过程与资源生态国家重点实验室,中国北京 100875; 2.北京师范大学资源学院,中国北京 100875;3.北京师范大学减灾与应急管理研究院,中国北京 100875; 4.北京国泰智业土地规划设计有限公司,中国北京100035) 摘要:厘清土地利用变化与其驱动力之间的关系,是土地利用变化研究的核心,也是建立变化模型和定量预 测的基础。以北京为研究案例,基于遥感影像和GIS 技术,获取了1991—2004年北京城市扩展信息,定量分析比较了1991—2004年北京地区面状、线状和点状三种城市扩展空间过程。并从宏观、中观和微观三个尺度上,分析了北京城市扩展过程的驱动机制。结果表明:①城镇用地扩展过程显著,城镇用地在区域总面积中所占比例从1991年的9.80%增长到2004年的17.93%;②城市化过程,主要表现为点状、线状和面状城市化三种基本模式;③宏观、中观和微观三层次的驱动因子影响城市扩展过程。宏观尺度上,城市规划,土地利用政策等政府行为和过去三千年城市发展形成的旧有城市格局从根本上决定了现代北京城市发展的基本风貌和格局;在中观尺度上社会和经济因素为城市扩展提供了驱动力,最明显的是人口增长和人民生活水平的提高;微观尺 度的地形、 区位和交通限制决定了城市扩展的可能性,最利于城市扩展的因子是距高速公路的距离。三者综合作用的结果是1991—2004年北京城市化强度出现一个先增长后减小的发展趋势。关键词:土地利用/覆盖;城市扩展;驱动力;GIS ;北京中图分类号: F293.2文献标识码:A 伴随人口增长的强烈土地利用变化,以及这种变化对环境的影响,是研究土地利用变化的热点。在近20多年中,一些国际交叉学科项目,如土地利用/覆盖变化计划(Land Use and Cover Change Program )、全球土地计划(Global Land Project )都致力于回答这个问题。这些项目均提出理解和认识土地利用变化的驱动因子是研究的核心问题[1-3],也是建立动态变化模型和定量预测的基础[4]。当前,全世界特别是发展中国家正在经历快速的城市化过程,城市化已成为人类活动改造自然环境的主要方式之一[4]。原因在于这种变化在为人类提供更多就业机会和制造更多福利的同时,也改变了自然过程,如径流过程、蒸散发过程和生态过程等,并且产生了如环境污染、交通拥挤、犯罪、居住环境恶化等一系列城市问题,影响区域和全球的可持续发展[5-6]。因此,研究城市化下的城市扩展过程的驱动机制是土地利用/覆盖变化的驱动机制具有一定的典型性。 目前,许多研究者就城市化背景下的土地利用 /覆盖变化机理开展研究[7-17],研究者明确指出区域 土地利用驱动力研究的重要命题在于其尺度的依赖[15],综观已有研究,大致可将驱动机制分为宏观、中观和微观三个尺度,其结果是多尺度多层次综合作用效果[16]。①宏观区域尺度的体制政策的转变是城市化地区土地利用/覆盖变化的根本原因,如顾朝林分析发现从高度集中的计划经济向社会主义市场经济的转变,企业和个人成为相对独立的利益主体,成为影响城市集聚和扩散的重要力量[7];史培军等认为政策体制转变下的经济高速增长和快速的城市化过程是北京城乡过渡区土地利用/覆盖变化的主因[8],Ding 认为北京土地利用变化与土地利用政策改革关系密切[9]。②中观尺度的社会经济发展,特别是人口和经济的快速增长,对物质产品、文化生活和环境质量提出了更高的需求,从而影响城市的土地利用/覆盖变化。如谈明洪等对我国城市用地扩张机制的分析,认为经济增长、人口增长等是城市扩展的根本驱动因素[10];何春阳等发现耕地的损失与居民消费水平密切相关[11];张有全等通过 收稿时间:2008-11-18;修回时间:2009-04-20 基金项目:北京市自然科学基金项目(编号:9092007)、北京市委组织部2008年北京市优秀人才培养D 类项目及教育部留学回国人员科研启动基金项目联合资助。 第29卷第5期经济地理Vol.29,No.52009年5月ECONOM IC GEOGRAPHY M ay ,2009

嵌入式系统与接口技术-复习资料.docx

单项选择题 下面哪个系统属于嵌入式系统() A、“天河一号”计算机系统 B、联想T400笔记本计算机 C、联想S10±网本 D、苹果IPhone手机 下面关于哈佛结构描述正确的是() A、程序存储空间与数据存储空间分离 B、存储空间与IO空间分离 C、程序存储空间与数据存储空间合并 D、存储空间与IO空间合并 下面哪一种工作模式不属于ARM特殊模式的是() A、用户模式 B、管理模式 C、软中断模式 D、FIQ模式 下面哪个系统不属于嵌入式系统() A、MP3播放器 B、GPS接收机 C、“银河玉衡”核心路由器 D、“天河一号”计算机系统 ARM (Advanced RISC Machines)既可以认为是一个公司的名字,也可以认为是对一种微处理器体系结构的通称。1990年11月ARM公司成立于英国剑桥,设计了大量高性能、廉价、耗能低的()处理器。 A.RISC B. CISC C. MISC D. SISC 在计算机体系结构中,()表示每条计算机指令执行所需的时钟周期。 A.时钟周期(节拍) B.机器周期 C. CPI D.总线周期 下面异常中,优先级最高的是()。 A.数据中止 B.复位 C.未定义指令 D.预取中止 ()指令集支持ARM核所有的特性,具有高效、快速的特点。 A. ARM B. Thumb C. Mies D. AAC ()带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节,可以像其他SRAM存储器那样与微处理器连接。 A.NAND Flash B. NOR Flash C. EPROM D.EEPROM ()使得几个指令可以并行执行。 A.超标量(Superscalar)技术 B.流水线(Pipeline)技术 C.高速缓存(Cache)技术 D.软内核技术 Cache结构中,数据和指令都放在同一个Cache中,称为()。 A.普林斯顿结构 B.梅普结构 C.哈佛结构 D.哈林结构 关于ARM处理器的异常描述不正确的是() A.复位属于异常 B.除数为0会引起异常 C.所有异常都要返回 D.外部中断会引起异常 下面哪个信号低电平时请求存储器访问信号() A. nWAIT B. nRESET C. nOPC D. nMREQ ()是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。在数字滤波、FFT、谱分析等各种仪器上DSP获得了大规模的应用。 A.微处理器(Microprocessor Unit, MPU) B.微控制器(Microcontroller Unit, MCU)

基于TRICK理论的银行表外业务创新发展驱动机制研究

基于TRICK理论的银行表外业务创新发展驱动机制研究 摘要:对国内外商业银行表外业务发展与创新驱动因素进行了分析比较,结合我国国情和商业银行表外业务发展的特点,在TRICK模型的基础上,提出了影响我国商业银行表外业务创新发展的“6+1+1”驱动机制模型。 关键词:银行,表外业务,驱动机制 一、西方“5+1”模式下的TRICK理论 关于商业银行表外业务创新与发展的驱动机制,西方国家比较权威性的一项研究成果是1987年2月在美国召开的关于“存款机构资产证券化和表外业务的发展与风险”研讨会上形成的所谓TRICK理论。 该理论将表外业务产生和发展的动因归结为一个模型: TRICK+理性的自我利益=表外业务发展+证券化 上式中,“TRICK"中的T代表技术(Technology),R代表管制(Regulation),I代表利率风险(Interest Risk),C代表为争取顾客所进行的竞争(Competition for Customers),K代表资本充足率(Capital Adequacy,德语中Capital的首写字母为K)。 可以这样来简单地理解TRICK模型,该模型将影响表外业务创新与发展的驱动因素归结为一个“5+1”模式。其意义是,表外业务的发展和证券化,从外部驱动因素看,是由TRICK 的诸因素驱动的,而商业银行为寻求新的盈利机会和更广阔的发展空间所进行的自我约束和激励则可成为表外业务发展的内在动力。模型表明,银行表外业务发展来自外部的压力有:受到金融管制、面临利率等方面的风险、受到同业竞争的逼迫、还有金融监管当局对最低资本金的要求等,或者甚至同时面临上述多种压力。 必须指出,这个模型是基于西方国家比较成熟的市场环境和商业银行表外业务运作方式下对表外业务创新与发展的驱动机制进行的描述,而且这个模型也并非完美无缺。将这个模型或理论应用于我国商业银行表外业务,应当经受我国金融市场的检验,同时有必要进一步加以完善。 二、影响表外业务创新发展的外部驱动因素中外比较 下面就TRICK模型中影响表外业务创新发展的5个外部驱动因素进行中外情况比较。 (一)技术进步 技术进步对表外业务创新与发展的拉动作用是显著的。 在我国,现代高新科技在金融业的应用应该说已经很普遍。银行业已是电子化、数字化程度最高的行业之一。虽然我国各家商业银行都已建立了自己的数据库,并且各商业银行之间,以及商业银行与其它行业,与政府部门之间的信息能够实现共享,这为商业银行表外业

博斯腾湖湿地景观格局动态变化及其驱动机制分析

第26卷第12期干旱区资源与环境Vol.26No.12 2012年12月Journal of Arid Land Resources and Environment Dec.2012 文章编号:1003-7578(2012)12-161-06 博斯腾湖湿地景观格局动态变化及其驱动机制分析*艾克拜尔·买提尼牙孜1,2,阿里木江·卡斯木1,3 (1.新疆师范大学地理科学与旅游学院,乌鲁木齐830054;2.日本千叶大学环境遥感中心(CEReS),千叶263-8522日本) 提要:在RS和GIS技术,FRAGSTATS软件的支持下,应用1990年Landsat TM、2000年Landsat ETM+和2010年的ALOS/AVNIR-2遥感影像,结合博斯腾湖湿地的区域特点,提取博斯腾湖湿地生态景观格局信息, 并选取12种具有典型生态意义的景观指数,对博斯腾湖湿地20年的景观空间格局变化和演变特征进行分析, 探索其演变机制。结果表明:湿地面积在研究时段内呈现先增加后减少的趋势。1990-2000年间湿地总面积 增加351.8km2,其中人工湿地面积增加34.93km2,自然湿地增加316.87km2;2000-2010年间湿地总面积减少 277.34km2,其中人工湿地面积减少28.36km2,自然湿地面积减少248.98km2。从景观整体来看,均匀度指数较 低,景观破碎化程度不断增加,景观被湖泊,潮间沼泽和光滩沼泽这三个占优势的景观类型所控制。 关键词:博斯腾湖;湿地;景观格局;驱动机制 中图分类号:P901文献标识码:A 湿地是具有独特生态结构和功能的生态系统,提供人类必需的动植物资源,在维持生态平衡和水平衡,调节气候,降解污染,提供珍稀动植物栖息地和保护生物多样性等方面起着不可替代的作用,由于其在自然水循环中的独特作用,而被称为"自然之肾"[1,2]。在干旱地区,社会经济发展对水的依赖程度较高,人们为满足农业生产需水要求,改变了水资源的时空分布规律,使得众多河流末段的下游湖泊受到人类活动的强烈影响,且已引起了一系列生态和环境问题,对区域经济可持续发展和人类生存环境造成了严重影响[3]。湿地景观格局取决于湿地资源的地理分布和组分,与湿地生态系统抗干扰能力,恢复能力,稳定性和生物多样性有着密切的联系[4]。关于湿地景观格局变化,国内外学者已经进行了大量研究[5-13],但这些研究多集中在自然沼泽地区、河流三角洲地区,面积较大的湖泊地区和河流源区,对干旱区湿地,特别是像博斯腾湖一样典型的干旱区湖泊湿地研究的还比较少,对其变化的原因分析尚不够详细。文中在前人研究的基础上,利用RS和GIS技术,借助景观生态学的理论和方法,分析了该区1990-2010年期间湿地景观格局的动态变化规律,探索研究区湿地目前面临的问题,并分析导致其变化的原因,从而为博斯腾湖湖区湿地的恢复及现有湿地生态系统保护提供理论依据,同时为其它地区的湿地信息提取及景观变化研究提供一种技术模式。 1研究区概况 博斯腾湖位于天山东段南坡焉耆盆地南侧最低洼处,东经86?40' 87?56',北纬41?56' 42?14',它既是开都河的尾闾,又是孔雀河的发源地。博斯腾湖湿地由大湖(即博斯腾湖),小湖群,湖滨湿地三部分组成,在最高水位为1048.75m时,水面积为1002.4km2,容积为88?108m3[14]。补给博斯腾湖水量最大的河流开都河是天山南坡水量丰富的河流之一。1991-2010年期间年平均径流量为39.11?108m3,河流补给来源主要是 *收稿日期:2012-3-7;修回日期:2012-3-29。 基金项目:日本宇宙航空研究开发机构(JAXA)的第三届ALOS研究项目(PI-556);自治区重点实验室开放基金项目(XJDX0909-2010-01);教育部人文社会科学研究一般项目(11YJCZH001);教育部回国人员科研启动基金项目;新疆师范大学研究 生创新基金项目(20111209);国家自然科学基金(NSFC-新疆联合基金重点)项目和国家自然科学基金面上项目 (41171036)资助。 作者简介:艾克拜尔·买提尼牙孜(1988-),男,新疆人,硕士研究生,研究方向为资源环境遥感研究,E-mail:akbar120311@gmail.com。 通讯作者:阿里木江·卡斯木,男,副教授,博士,研究方向环境遥感,E-mail:alimkasim@gmail.com。

嵌入式系统原理及接口技术考试题库

1.什么是操作系统?它应具备什么功能? 管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石. 1.)操作系统是计算机硬件的封装和扩充2).操作系统是计算机资源的管理者,包括处理器管理、存储器 存储空间管理、外部输入输出(I/O)设备管理、文件管理、网络和通信管理、提供用户接口。 2嵌入式操作系统与普通操作系统区别 嵌入式操作系统具有通用操作系统的基本特点,但嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点 3什么是实时系统?对实时系统有什么要求? 如果一个系统能及时响应外部事件的请求,并能在规定的时间内完成对事件的处理,这种系统称为实时系统. 1.实时系统的计算必须产生正确的结果,称为逻辑或功能正确. 2.实时系统的计算必须在预定的时间 内完成.称为时间正确. 4可剥夺内核:当一个进程正在被处理器所运行时,其他就绪进程可以按照事先规定的规定的规则,强行剥夺正在运行进程的处理器使用权,而使自己获得处理器使用权并得以运行 6一个应用程序为什么一定要使用空闲任务 在多任务系统运行时,系统经常会在某个时间内无用户任务运行而处于空闲状态,为了使CPU在此时有事可作,提供空闲任务。空闲任务是不能被软件删除的 7统计任务是必须使用的吗?简述它的功能 用户应用程序可根据实际需要来选择是否使用统计任务。每秒计算一次CPU在单位时间内被使用的时间,并把计算结果以百分比的形式存放在变量OSCPUsage中,以便应用程序通过访问它来了解CPU的利用率. 8什么是任务的优先权?UC/OS-II是用什么来描述任务的优先权的。 处于就绪态的任务优先获取其他任务cpu使用权的能力。 uC/OS-II是按可剥夺型内核来设计的,为此,每一个任务都必须具有唯一的优先级别,用来表示该任务在抢夺处理器时所具有的优先权力,共有64个优先级别,用数字“0”-“63”表示,数字“0”所表示的优先级最高 9在UC/OS-II中任务有哪5种状态?分别简述 5个状态的特征:睡眠状态:任务只是以代码的形式驻留在内存,还没有交给操作系统管理.就绪状态:任务配备了任务控制块且在任务就绪表中登记,具备了任务运行的充分条件.运行状态:处于就绪状态的任务获得了CPU的使用权,任何时候只有一个任务处于运行.等待状态:正在运行的任务,把CPU的使用权让给其他任务.中断服务状态:正在运行的任务一旦响应中断申请,就会中止运行而去执行中断服务程序. 10任务控制块记录了任务的那些信息 包括任务堆栈的各种指针及数目,任务优先级,任务的状态标志参数等。 11什么是空任务控制块链表?什么是任务控制块链表? 空任务块链表,其中所有任务控制块还没有分配给任务;任务控制块链表,其中所有任务块已经分配给任务16UC/OS-II的中断响应过程: 系统接收到中断请求后,如果这是CPU处于中断允许状态,系统会中止正在运行的当前任务,而按照中断向量的指向转而去运行中断服务子程序;当中断服务子程序的运行结束后,系统会根据情况返回到被中止的任务,或转向更高优先级的任 17全局变量OSIntNesting的作用: 记录中断嵌套的层数。 18操作系统的时钟:操作系统中特定的周期性中断为系统提供时间依据。 19在UC/OS-II中,时钟节拍服务做了什么工作?时钟节拍服务做了:可以使人物延时若干个整数的时钟节拍以及当任务等待事件发生时提供等待超时依据。 20说明延时函数OSTimeDly()与OSTimeDlyHMSM()的区别: OSTimeDly():时钟节拍数;OSTimeDlyHMSM():按照时分秒的设置延时 21使用信号量可在应用程序中完成哪些工作?任务间通信完成共享资源的访问任务的同步执行 22什么叫优先级反转?这种现象什么情况下发生?有什么危害?在可剥夺型内核中,当任务以独占方式使用共享资源时,会出现低优先级任务先于高优先级任务而被运行的情况。称优先级反转。 一个低优先级任务在获得信号量使用共享资源期间,被高优先级任务所打断而不能释放信号量,从而使正在等待该信号量的高优先级任务因得不到信号量而被迫处于等待状态。在等待期间,就让占据该信号量的低优先级任务先运行 如果这种情况发生较多,则会极大地恶化优先级任务地运行环境。 23互斥型信号量是如何防止优先级反转的?在低优先级的任务要使用共享资源前将其优先级提升到高于可能使用该共享资源的任务优先级,使用完共享资源后在讲其优先级恢复到原值。 25 1.UC/OS-II为什么要定义信号量集? 在实际运用中,任务常常需要与多个事件同步,即要根据多个信号量组合作用得结果来决定任务得运行方式。信号量集就是实现这种功能的数据结构。

(整理)973计划:中国陆地生态系统碳循环及其驱动机制研究.

项目编号:2002CB412500 项目名称:中国陆地生态系统碳循环及其驱动机制研究起止年月:2002年12月-2007年8月 项目首席科学家: 刘纪远中国科学院地理科学与资源研究所 项目依托部门:中国科学院 经费预算:2000万元

一、主要研究内容 项目以中国科学院重大项目为基础,以国家科学创新为主导,以环境外交谈判战略需求为总目标,瞄准陆地生态系统碳汇/源的时空格局、碳循环的调控和驱动机制及未来情景3大前沿性科学问题,采用陆地生态系统碳通量/储量与碳循环过程的综合观测、生物过程适应性实验研究以及典型河流碳通量及碳输运过程研究为支撑系统的自下而上途径,与以土地利用/土地覆被变化和遥感数据库为基础的自上而下研究途径的有机结合的研究思路。综合研究中国陆地生态系统碳循环的自然调控机理、人为因素驱动机制、生物过程对环境变化的适应机制以及碳汇/源时空格局形成的生物地理学机制;综合评价中国陆地碳汇/源的时空格局及其历史演变过程和未来情景;分析评估中国陆地生态系统的增汇潜力、碳库间循环周期、生态系统管理的增汇效果和成本效益、重大林业工程的固碳效应以及河流碳输运在陆地碳循环中的作用;跟踪国际谈判焦点问题,探讨碳汇项目的计量方法学、中国农林业活动碳吸收汇的潜力及其增汇技术的可行性。建成初具规模的中国陆地生态系统碳循环综合研究的科学平台,发展基于地学空间信息的现代地球系统科学方法论,为中国社会经济的可持续发展和生态系统管理以及参与环境外交活动和履约提供科学依据和技术支撑。 二、预期目标 1.建立一个初具规模的中国陆地生态系统碳通量/储量和循环过程的综合观 测网络(ChinaFlux),揭示中国陆地生态系统碳通量和储量的生物地理规律, 构建中国陆地生态系统碳循环研究的数据信息系统。 2.初步阐明中国主要类型陆地生态系统(森林、农田、草地和湿地)碳循环过 程的生物物理机理,确定驱动碳循环的关键控制因子,揭示全球气候变化 对陆地生态系统碳循环的影响及生态适应机制;构建我国陆地生态系统碳 循环动力学模型和遥感反演模型,实现两种模型的综合集成。 3.阐述中国陆地生态系统碳循环的历史演变规律,评价土地利用/土地覆被变 化对碳循环过程的驱动作用,重建过去50年中国陆地生态系统碳汇和碳源 的时空格局,预测未来50年的变化趋势,辨析自然扰动和人为活动的贡献 及调控机理。 4.阐述典型河口向近海碳输运的生物地球化学过程,评价人为活动对河流碳 输运的影响;阐明以多沙和物理输运为主的碳输运规律,揭示河口重点沉 积区的碳的早期沉积作用;定量认识河口碳输运过程在陆地生态系统碳循 环中的作用。 5.评估中国陆地生态系统固碳潜力及其成本效益、重大生态环境建设工程对

电机驱动及控制模块

电机驱动及控制模块

3.3电机驱动及控制模块 331 电机特性 —小车前进的动力是通过直流电机来驱动的,直流电机是最早出现的电动机, 也是最早能实现调速的电动机。长期以来,直流电动机一直占据着调速控制的 统治地位。它具有良 图7主、从单片机小系统应用电路 好的线性调速特性,简单的控制性能, 较高的效率,优异的动态特性。系统 选用的大谷基础车的260马达作为驱动电机。其额定电压为 3-12V ,额定功率 0.02KW 额定转速 3000r/min 。 近年来,直流电动机的结构和控制方式都发生了很大变化, 随着计算机进入 控制领域,以及新型的电力电子功率元件的不断出现,使采用全控制型的开关 功率元件进行脉冲调制(Pulse Width Modulation 简称PWM 控制方式已经成 为主流,这种控制方式容易在单片机控制中实现。 BE yr CAPCAP 2+ CAP + CiP I * EP Z CAP b HT-OVTl rr-xrr: T-m TDU rae.-[tfi E-C'UTL 化UT2 H 山习4 F21TF 匸曲 ~IF P22 vcc P22 m 酯T KX1WXI Pi - ? TTCZ'JPJL Pl? YT 11 T m 電 XTALi P14 nffo/pss F13 D1TLJP3J P12 JP34 P1J PLD PA 回■! P 討TCAO PM 时 ow P 禹 PIO Vcc P]1 FOCUADQ P32 POL/ADL E>JJ ! Plfl Pt3(AD3 P]5 P 】6 f :^AD5 P17 P0*'AD6 PB7/AD7 RST Tmjpsi EX LVD^ fiZRST2 AL&FI 5 曲朗 卜⑷PJ 4 wwu TflrP34 ri 郴 PIT PM 廻p 北 F35 FiZiiP]! F24 F33 xrAi.3 P]3 j^TALL P.3L Pin tr 空【 时 LED T 级, 厂:1巧处4打"卜单怜机 VCC 鱼T Z? 1. P ■ ■ ?一 ■■ ■ ■ b w 1 ? 3 *?!>rr ? .1 L I I I I r —PF p p Lp

新能源汽车驱动电机发展趋势干货

新能源汽车驱动电机发展趋势 容来源网络,由“机械展(11万㎡,1100多家展商,超10万观众)”收集整理! 更多cnc加工中心、车铣磨钻床、线切割、数控刀具工具、工业机器人、非标自动化、数字化无人工厂、精密测量、3D打印、激光切割、钣金冲压折弯、精密零件加工等展示,就在机械展. 随着全球汽车电动化渗透率的不断提高,驱动电机行业将会迎来整体规模的迅速扩。在这一过程当中,具备规模效应和技术优势的第三方电机制造商将有机会迅速扩大市场份额,收获业绩的大幅增长。 全球驱动电机市场趋势 根据估测,随着全球汽车电动化快速推进,新能源汽车电机系统市场将随之快速扩,市场规模有望从2015年的$23亿增长到2030年的$318亿。 新能源汽车电机系统主要包括电动机和逆变器两部分,虽然同其他大部分汽车零部件一样,这两部分部件长期都面临降价压力,但是由于新能源汽车总量的上升,行业总体还是具备较大上升空间。我们预期到2030年市场规模年均增速将在18%-20%左右。 系统单价方面,电机系统整体往高功率方向发展的同时也带来了装配价格的提升。

根据估测,在中性假设条件下,2030年电动车销量将达到2000万台,约占当年乘用车总销量的16%-18%。然而,如果放到乐观情景下,即电池价格大幅下滑,且环保政策更加严厉的条件下,电动车销量增长的速度有可能大幅上升,我们预期在乐观情况下新能源汽车年销总量有可能达到3000万台的水平,约占当年汽车销量的25%-27%。 预计单电机混动车的功率需求大约在30kw左右(平均价格约$200-$300),双电机插电混功率约为50-100kw(平均价格$800-$1000),纯电动车的电机功率约为200kw(平均价格$1000-$1500)。 电动机市场情况 我们预计到2030年电动机(不包括逆变器)的销量年均增速将达到18%,到2030年行业整体销量达到$195亿,相较2015年$12亿的水平扩展近17倍。

习题5答案单片机系统扩展与接口技术

习题5答案单片机系统扩展与接口技术 一、选择题 1、地址空间3000H~37FFH共有 B 存储单元。 A.1K B.2K C.4K D.8K 2、在生产过程中完成程序写入的只读存储器称为 A 。 A.掩膜ROM B.PROM C.EPROM D.E2PROM 3、805l单片机系统扩展时使用的锁存器用于锁存B 。 A.高8位地址 B.低8位地址 C.8位数据. D.ALE信号 4、使用线选法扩展3片2732作外部程序存储器,需要使用 C 位地址线。 A.13 B.14 C.15 D.16 5、8155中的定时器/计数器是 D 。 A.16位加法计数器 B.16位减法计数器 C.14位加法计数器

D.14位减法计数器 6、定时器/计时器0的初始化程序如下: MOV TMOD,#06H MOV TH0,#0FFH MOV TL0,#0FFH SETB EA SETB ET0 执行该程序段后,把定时器/计时器0的工作状态设置成为 D A.工作方式0,定时应用,定时时间2u s,中断禁止 B.工作方式1,计数应用,计数值255,中断允许 C.工作方式2,定时应用,定时时间510 u s,中断禁止 D.工作方式2,计数应用,计数值1,中断允许 7、MCS-5 l单片机I/O编址采用的是统一编址的方法,因此 B 。 A.有专门的I/O操作指令 B.I/O寄存器与存储单元同等对待 C.地址空间与存储器空间是相互分开的 D.使用MOVX指令访问存储器,而使用MOVC指令进行I/O数据传送8、8155是一个可编程的I/O接口芯片,“可编程”是指 D 。 A.有14位可控定时器/计数器 B.芯片内包含有256字节的RAM C.只能使用中断编程的方法进行I/O数据传送 D.使用命令字以程序方法设置I/O数据传送的方式 9、访问接口,应在程序中使用 B 。 A.MOV指令 B.MOVX指令 C.MOVC指令 D.SWAP指令

品牌信任的前因后果驱动机制研究

品牌信任的前因后果驱动机制研究 Ξ 袁登华ΞΞ1、2  罗嗣明1 唐春燕1 江丽英1 (1江西师范大学心理学院,南昌,330027)(2华东师范大学心理与认知科学学院,上海,200062) 摘 要 本研究通过大样本问卷调查,采用结构方程建模的方法探讨品牌信任的前因后果驱动机制。结果表明:品牌的直接经验和间接经验通过品牌态度和品牌信任的中介作用对品牌绩效发生影响,其中品牌直接经验比品牌间接经验对品牌态度的影响更大。这说明只有消费者对品牌产生了亲身体验以后,才会实质性地改变对品牌的态度和信任。品牌信任是导致品牌绩效的直接因素。 关键词:品牌信任 品牌态度 品牌经验 品牌绩效 1 假设提出 品牌信任是指在风险情境下,消费者基于对品 牌品质、行为意向及其履行承诺的能力的正面预期而产生的认可该品牌的意愿。袁登华和罗嗣明等人(2007)研究表明,品牌信任由消费者对品牌的品质信任、善意信任和能力信任等三个维度构成。其中,品牌品质信任是指消费者对品牌现有质量的信任,品牌善意信任是指消费者对品牌将维护消费者利益的行为意向的信任,品牌能力信任是指消费者对品牌履行承诺的能力的信任[1]。关于品牌信任的驱动因素是什么?在以往文献中主要有两条线路,一条是以判断选择风险和感知质量为焦点的认知线路;另一条是以品牌与顾客关系为核心的情感线路。但是,不管是认知线路还是情感关系线路都不能全面地解释品牌信任的驱动基础。从心理学的角度来分析,只有“态度”才能融合认知线路和情感线路,它是知、情、意的综合体。卡根(Kagan ,1980)综合各方面的定义,提出态度的本质是一种有组织的、持久的信念和情感,并使个体以某种特定的方式发生行为的倾向。每一个态度不仅反映一定的情感、情绪、认识、理解,而且还隐含有行动的意义。所以,大多数社会心理学家都同意态度由认知、情感和行为倾向三种成分组成[2]。Ajzen 和Fishbein (1980)把品牌态度定义为消费者对某一特定品牌持续作出积极或消极反应的一种倾向[3]。它同样是品牌认知、品牌情感和品牌选择意向相结合的一种心理倾向。它能很好地融合以往品牌信任研究的两条线路,从整合的高度反映品牌信任的内部驱动因素。因此,我们可以假设认为品牌态度是品牌信任的直接驱动要素。 Howard 和Sheth (1969)首次提出品牌信任是消费者购买意向的决定因素之一[4]。同样,Bennett 和 Harrell (1975)也提出品牌信任在预测购买意向时起着主要的作用[5]。后来,Laroche 和Sadokierski (1994)正式检验了品牌信任与购买意向之间的关系,以及竞争品牌对购买意向的影响作用[6]。随着研究的深入,越来越多的研究都证明,品牌信任会影响消费者的购买意向和购买选择行为。例如,Chaudhuri 和Holbrook (2001)已经发现在品牌信任 与消费者品牌承诺之间存在着积极的关系。品牌信任是消费者品牌承诺的核心先导,品牌承诺被定义为与品牌保持长久关系的内隐或者外显意向[7]。这些都说明品牌信任是能够带来品牌绩效的关键因素。 消费者的品牌态度形成总是基于一定的品牌经验。这些经验一方面可以是间接经验,它是消费者通过品牌传播渠道获悉的品牌信息。消费者对这些信息的认知在一定程度上会影响他们对品牌的态度。另一方面,这些经验也可以是消费者在使用某品牌后所获得的直接经验。行为论观点认为,消费者可能从广告或其他消费者那里获得品牌的好印象,但是他们对品牌的实际态度只有当他们使用了该品牌以后才得到形成和强化。评价性态度更是取决于消费者对品牌的使用经验。行为论观点认为,个体的购买行为是来自于习惯和过去的消费经验[8-9]。Ehrenberg 及其同事认为,消费者对品牌属性的态度与品牌的使用经验之间存在一种显著的积极关系[10-12]。事实上,研究发现,在增加销量方面,强化现有的对品牌的积极态度比试图改变非使用者的品牌态度更为有效,积极的品牌态度与高频率的品牌使用经验有关。这些研究结果表明,仅仅靠提高品牌知名度是不足以提升品牌购买率,市场营销的重要方面是要引导消费者进行尝试购买,通过消费者的使用经验来强化其品牌态度,从而增进消费 ΞΞΞ通讯作者:袁登华。E 2mail :ydenghua @https://www.doczj.com/doc/528405701.html, 本文得到国家自然科学基金(70571031)和中国博士后科学基金(2005038432)的资助。1334 心理科学 Psychological Science 2008,31(6):1334-1338

电动汽车用驱动电机系统的现状及发展趋势

电动汽车用驱动电机系统的现状及发展趋势 中国汽车技术研究中心窦汝振李磊宋建锋 摘要:介绍了我国电动汽车用驱动电机系统的研发现状,以及车用系统与普通工业用系统间的差异,指出了发展趋势。 1 引言 我国汽车工业的发展面临着来自能源安全、环境保护和气候变化等可持续发展要求的多重挑战。随着近几年汽车保有量的快速增加,汽车能源消耗增长呈现加速趋势,进一步加剧了我国石油供需矛盾。在当前石油资源日益紧张,价格不断攀升的国际形势下,发展电动汽车特别是混合动力汽车是缓解我国石油资源短缺现状的有效途径,也是增强我国汽车工业核心竞争力的重大战略举措。 经过“八五”、“九五”规划的实施,特别是“十五”国家863电动汽车重大专项,我国已实现了官、产、学、研的资源整合,具有了电动汽车用驱动电机系统自主研发能力。在国家“三纵三横”总体布局中(如附图所示),驱动电机及其控制系统被列为“三横”中的共性技术之一。 附图国家“十五”电动汽车重大专项布局示意 2 电动汽车用驱动电机系统的特点及分类 电动汽车对驱动电机系统的要求至少包括: (1)基速以下输出大转矩,以适应车辆的启动、加速、负荷爬坡、频繁起停等复杂工况; (2)基速以上为恒功率运行,以适应最高车速、超车等要求; (3)全转速运行范围内的效率最优化,以提高车辆的续驶里程; (4)结构坚固、体积小、重量轻、良好的环境适应性和高可靠性; (5)低成本及大批量生产能力。 电动汽车最早采用了直流电机系统,特点是成本低、控制简单,但重量大,需要定期维护。随电力电子技术、自动控制技术、计算机控制技术的发展,包括异步电机及永磁电机在内的交流电机系统体现出比直流电机系统更加优越的性能,目前已逐步取代了直流电机控制系统。特别是借助于设计方法、开发工具及永磁材料的不断进步,用于驱动的永磁同步电动机得到了飞速发展。 电动汽车中常用的交流电机主要有异步、永磁、开关磁阻三大类型,其特点如表1所示。

《嵌入式系统原理与接口技术》第2版复习资料整理

第一章 1.1什么是嵌入式系统(P1) IEEE (国际电气和电子工程师协会)关于嵌入式系统的定义:嵌入式系统是“用于控 制、监视或者辅助操作机器和设备的装置” 。 1.2与通用计算机系统比较,嵌入式系统有何特点? ( P4) 1) 嵌入式系统通常是面向特定应用的; 2) 嵌入式系统功耗低、体积小、集成度高、成本低; 3) 嵌入式系统具有较长的生命周期; 4) 嵌入式系统具有固化的代码; 5) 嵌入式系统开发需要专用开发工具和环境; 6) 嵌入式系统软件需要 RTOS (实时操作系统)开发平台; 7) 嵌入式系统开发人员以应用专家为主; 8) 嵌入式系统是知识集成系统。 1.3根据嵌入式系统的复杂程度,嵌入式系统可分为哪 4类? ( P6) 1) 单个微处理器; 2) 嵌入式处理器可扩展的系统; 3) 复杂的嵌入式系统; 4) 在制造或过程控制中使用的计算机系统。 1.4嵌入式处理器有哪几类?试举例说明。 (P7) 1) 嵌入式微处理器(EMPU ); 2) 嵌入式微控制器(EMCU ); 3) 嵌入式DSP 处理器(EDSP ); 4) 嵌入式片上系统(ESoC )。 1.6从硬件系统来看,嵌入式系统由哪几部分组成?画出见图。 (P11) 外设 USB LCD 键盘 其他 第二章 2.1 ARM7和ARM9基于什么体系结构,采用何种指令集? ARM7基于冯?诺依曼体系结构,采用 RISC 精简指令,兼容16位Thumb 指令集; ARM9基于哈佛体系结构,同样采用RISC 精简指令,支持32位ARM 指令集和16位Thumb 指令集。 外围电路 微处理器

22 ARM7 TDMI 中的"TDMI" 分别代表什么? T:支持16位压缩指令集Thumb。 D :支持片上Debug。 M :内嵌硬件乘法器(Multiplier )。 I:嵌入式ICE,支持片上断点和调试点。 T变种处理器有两种工作状态:Thumb和ARM 只要支持同版本的ARM体系版本,基于ARM处理器的应用软件将是兼容的。 2.3 ARM处理器有几种工作模式?各种工作模式分别有什么特点?(P25) ARM状态和Thumb状态。当ARM微处理器执行32位的指令集功能时,工作在ARM 状态;当ARM 微处理器工作在16位的Thumb指令集时,工作在Thumb状态。 2.5如何转换ARM 的两种工作状态?(P25) 进入Thumb状态:当操作数寄存器的状态位(位[0])为1时,可以执行BX指令的方法,使微 处理器从ARM状态切换到Thumb状态。 进入ARM状态:当操作数寄存器的状态位(位[1])为0时,可以执行BX指令的方法,使微处理器从Thumb状态切换到ARM状态。 2.6 ARM7采用几级流水线?(P27) ARM7架构采用了3级流水线。 1)取指:将指令从内存中取出来。 2)译码:操作码和操作数被译码以决定执行什么功能。 3)执行:执行已译码的指令。 ARM9采用五级流水线技术 2.7 ARM采用怎样的数据存储格式?(P40) ARM处理器的数据存储格式有两种:大端模式和小端模式。

国内城市旅游驱动机制研究综述_龚伟

第17卷第3期2006年6月 桂林旅游高等专科学校学报 Jour na l o f Guilin Institute o f To urism V o l.17N o.3 Jun.,2006 [研究综述] 国内城市旅游驱动机制研究综述 龚伟 (华东师范大学中国现代城市研究中心,上海 200062) [摘 要]国内城市旅游驱动机制的研究存在如下几种观点:吸引物驱动论、需求驱动论、城市发展驱动论、系统驱动论、驱动阶段论。以上5种观点从不同层面研究城市旅游驱动机制,其在研究重点、研究文献数量、研究分析框架等方面存在差异。在城市旅游驱动机制的研究中存在系统性研究不足、研究深度不够、研究范围过窄、研究方法单一等问题。城市旅游驱动机制的进一步研究应该:加强系统性研究、拓宽研究视野、注重案例研究并应用多种研究方法。 [关键词]城市旅游;驱动机制;综述 [中图分类号]F592 [文献标识码]A [文章编号]1008-6080(2006)03-0375-05 近年来,随着城市旅游的快速发展,城市旅游研究引起越来越多学者的关注。研究领域主要集中于城市旅游有关理论探讨、城市旅游形象和定位研究、城市旅游发展模式探讨、城市旅游结构与系统分析、城市旅游开发规划与建设研究等方面,其中以城市旅游开发规划与建设方面的研究居多。一定意义上讲,城市旅游驱动机制的研究是城市旅游开发规划与建设研究的基础。因此,这方面的问题理应引起研究者广泛而深入地探讨。但事实上,一方面对这一问题进行系统研究的学者很少;另一方面,却有大量研究者在城市旅游研究中不断提到某一因素推动了城市旅游的发展。笔者在对城市旅游文献进行学习和梳理的时候,隐隐发现,众研究者对城市旅游驱动机制或系统或零碎的思考已经初步形成了几种较明晰、较完整的观点。因此,为了今后对城市旅游驱动机制这一重要问题的研究有一个更好的平台,也为了更系统地把握城市旅游驱动机制研究的脉络,有必要对这些观点进行总结和梳理。 一、已有研究的回顾 (一)吸引物驱动论 吸引物驱动论认为,城市旅游的发展由一切能对旅游者产生吸引力并具有旅游开发价值的城市旅游吸引物所拉动。吸引物驱动论涵盖范围非常广泛,近年来,国内学者的研究主要集中于以下几方面:①资源驱动。马雪萍(1999)提出都市旅游资源应包括现实的人文、自然资源,也包括经济因素和区位因素等所有能提高人类当前和未来福利的自然环境和条件,正是这些因素推动城市旅游的发展。李海瑞(1996)认为,城市各种诱人“之最”促使旅游者选择城市作为其主要目的地。②文化驱动。李立勋(1997)指出,商业文化与现代开放气息是广州的特色吸引。陶伟等(2002)认为,文化因素对城市旅游发展有重要作用,城市文化旅游将成为21世纪城市旅游的主旋律。阚延磊等(2003)认为多元文化对上海都市旅游产生了巨大的影响。③节庆活动驱动。朱佩军(1999)指出,旅游节庆活动是现代都市旅游的生力军。李力等(1999)认为,旅游节庆的目的不仅在于吸引旅游者,而且在于由于成功地策划所能带来多种牵动效应。肖峰等(2004)认为,大型体育赛事能够全面提升城市旅游业的综合竞争力。④形象驱动。刘住等(1999)、李娟文等(1999)指出,良好的旅游形象是城市旅游业能否得到迅速发展的至关重要问题。刘昌雪等(2003)认为,城市旅游发展取决于城市整体的形象、特色、文化及其由此而形成的综合引力。 (二)需求驱动论 需求驱动论认为,旅游需求是城市旅游发展的主导因素,其推动着城市旅游的发展。需要说明的是,到目前为止,需求驱动论的研究仍然十分零散,几乎没有学者对其进行过系统的研究,绝大部分研究者仅仅提出,旅游需求对城市旅游发展具有重要的作用,缺 375 [收稿日期]2006-01-13 [作者简介]龚伟(1980- ),男,湖北十堰人,华东师范大学中国行政区划研究中心2004级硕士研究生,研究方向为旅游发展与管理。

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