文档库 最新最全的文档下载
当前位置:文档库 › SD MMC SDIO 驱动分析

SD MMC SDIO 驱动分析

SD MMC SDIO 驱动分析
SD MMC SDIO 驱动分析

SD/MMC/SDIO 驱动分析

[来源]:https://www.wendangku.net/doc/9514283661.html,/space.php?uid=25678596&do=blog&id=2102933

参考资料:

1.SD Memory Card Specifications / Part 1. Physical Layer Specification; Version 1.0

2.LDD3 CHAPTER-16 BLOCK DEVICE

3. https://www.wendangku.net/doc/9514283661.html,

引言:前几天把mini2440 的sd 卡驱动程序移植到了Android 平台,当时对SD 卡以及内核的MMC 子系统不是很了解,浏览了四天的代码,终于理清了一些头绪,尽管很多细节的实现还不是很清楚,不过先把知道的记录下来,细节部分由时间在慢慢挖掘。本文先介绍了一下MMC 的基本框架结构,然后采用自底向上的方法来分析整个MMC 层是如何共同作用的。阅读时请结合参考资料1 和2.

1.硬件基础:

https://www.wendangku.net/doc/9514283661.html,/yelov/198217/message.aspx

SD/MMC/SDIO 概念区分概要

SD(Secure Digital )与 MMC (Multimedia Card )

SD 是一种flash memory card 的标准,也就是一般常见的SD 记忆卡,而MMC 则是较早的一种记忆卡标准,目前已经被SD 标准所取代。在维基百科上有相当详细的SD/MMC 规格说明:[https://www.wendangku.net/doc/9514283661.html,/wiki/Secure_Digital]。

SDIO 是目前我们比较关心的技术,SDIO 故名思义,就是 SD 的 I/O 接口(interface )的意思,不过这样解释可能还有点抽像。更具体的说明,SD 本来是记忆卡的标准,但是现在也可以把 SD 拿来插上一些外围接口使用,这样的技术便是 SDIO 。

所以 SDIO 本身是一种相当单纯的技术,透过 SD 的 I/O 接脚来连接外部外围,并且透过 SD 上的 I/O 数据接位与这些外围传输数据,而且 SD 协会会员也推出很完整的 SDIO stack 驱动程序,使得 SDIO 外围(我们称为 SDIO 卡)的开发与应用变得相当热门。

现在已经有非常多的手机或是手持装置都支持 SDIO 的功能(SD 标准原本就是针对 mobile device 而制定),而且许多 SDIO 外围也都被开发出来,让手机外接外围更加容易,并且开发上更有弹性(不需要内建外围)。目前常见的 SDIO 外围(SDIO 卡)有:

?Wi-Fi card(无线网络卡)

?CMOS sensor card(照相模块)

?GPS card

?GSM/GPRS modem card

?Bluetooth card

?Radio/TV card(很好玩)

SDIO 的应用将是未来嵌入式系统最重要的接口技术之一,并且也会取代目前 GPIO 式的 SPI 接口。

SD/SDIO 的传输模式

SD 传输模式有以下 3 种:

?SPI mode(required )

?1-bit mode

?4-bit mode

SDIO 同样也支持以上 3 种传输模式。依据 SD 标准,所有的 SD (记忆卡)与 SDIO (外围)都必须支持 SPI mode ,因此 SPI mode 是「required 」。此外,早期的 MMC 卡(使用 SPI 传输)也能接到 SD 插糟(SD slot ),并且使用 SPI mode 或 1-bit mode 来读取。

SD 的 MMC Mode

SD 也能读取 MMC 内存,虽然 MMC 标准上提到,MMC 内存不见得要支持 SPI mode (但是一定要支持 1-bit mode ),但是市面上能看到的 MMC 卡其实都有支持 SPI mode 。因此,我们可以把 SD 设定成 SPI mode 的传输方式来读取 MMC 记忆卡。

SD 的 MMC Mode 就是用来读取 MMC 卡的一种传输模式。不过,SD 的 MMC Mode 虽然也是使用 SPI mode ,但其物理特性仍是有差异的:

?MMC 的 SPI mode 最大传输速率为 20 Mbit/s ;

?SD 的 SPI mode 最大传输速率为 25 Mbit/s 。

为避免混淆,有时也用SPI/MMC mode 与SPI/SD mode 的写法来做清楚区别。

2.MMC子系统的基本框架结构:

很遗憾,内核没有为我们提供关于MMC 子系统的文档,在谷歌上搜索了很多,也没有找到相关文章。只能自己看代码分析了,可能有很多理解不对的地方,希望研究过这方面的朋友多邮件交流一下。

MMC子系统的代码在kernel/driver/MMC 下,目前的MMC 子系统支持一些形式的记忆卡:SD,SDIO,MMC. 由于笔者对SDIO 的规范不是很清楚,后面的分析中不会涉及。MMC 子系统范围三个部分:

HOST部分是针对不同主机的驱动程序,这一部是驱动程序工程师需要根据自己的特点平台来完成的。

CORE部分: 这是整个MMC 的核心存,这部分完成了不同协议和规范的实现,并为HOST 层的驱动提供了接口函数。

CARD部分:因为这些记忆卡都是块设备,当然需要提供块设备的驱动程序,这部分就是实现了将你的SD 卡如何实现为块设备的。

3.HOST层分析:

HOST层实现的就是我们针对特定主机的驱动程序,这里以mini2440 的s3cmci.c 为例子进行分析,我们先采用platform_driver_register(&s3cmci_2440_driver) 注册了一个平台设备,接下来重点关注probe 函数。在这个函数总,我们与CORE 的联系是通过下面三句实现的。首先分配一个mmc_host 结构体,注意sizeof(struct s3cmci_host) ,这样就能在mmc_host 中找到了s3cmci_host ,嵌入结构和被嵌入的结构体能够找到对方在Linux 内核代码中的常用技术了。接下来为mmc->pos 赋值, s3cmci_ops 结构实现了几个很重要的函数,待会我一一介绍。中间还对mmc 结构的很多成员进行了赋值,最后将mmc 结构加入到MMC 子系统,mmc_alloc_host ,以及mmc_add_host 的具体做了什么事情,我们在下节再分析,这三句是些MMC 层驱动必须包含的。

mmc = mmc_alloc_host(sizeof(struct s3cmci_host), &pdev->dev);

mmc->ops = &s3cmci_ops;

……………

s3cmci_ops中包含了四个函数:

static struct mmc_host_ops s3cmci_ops = {

.request = s3cmci_request,

.set_ios = s3cmci_set_ios,

.get_ro = s3cmci_get_ro,

.get_cd = s3cmci_card_present,

};

我们从简单的开始分析,这些函数都会在core部分被调用:

s3cmci_get_ro:这个函数通过从GPIO读取,来判断我们的卡是否是写保护的

s3cmci_card_present:这个函数通过从GPIO读取来判断卡是否存在

s3cmci_set_ios:s3cmci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)

依据核心层传递过来的ios,来设置硬件IO,包括引脚配置,使能时钟,和配置总线带宽。s3cmci_request:这个函数是最主要,也最复杂的函数,实现了命令和数据的发送和接收,当CORE部分需要发送命令或者传输数据时,都会调用这个函数,并传递mrq请求。static void s3cmci_request(struct mmc_host *mmc, struct mmc_request *mrq)

{

struct s3cmci_host *host = mmc_priv(mmc);

host->status = "mmc request";

host->cmd_is_stop = 0;

host->mrq = mrq;

if (s3cmci_card_present(mmc) == 0) {

dbg(host, dbg_err, "%s: no medium present/n", __func__);

host->mrq->cmd->error = -ENOMEDIUM;

mmc_request_done(mmc, mrq);//如果卡不存在,就终止请求

} else

s3cmci_send_request(mmc);

}

接下来看s3cmci_send_request(mmc):

这个函数先判断一下请求时传输数据还是命令,如果是数据的话:

先调用s3cmci_setup_data来对S3C2410_SDIDCON寄存器进行设置,然后设置

SDITIMER寄存器这就设置好了总线宽度,是否使用DMA,,并启动了数据传输模式,并且使能了下面这些中断:

imsk = S3C2410_SDIIMSK_FIFOFAIL | S3C2410_SDIIMSK_DATACRC |

S3C2410_SDIIMSK_DATATIMEOUT | S3C2410_SDIIMSK_DATAFINISH;

解析来判断是否是采用DMA进行数据传输还是采用FIFO进行数据传输

if (host->dodma)

/ because host->dodma = 0,so we don't use it

res = s3cmci_prepare_dma(host, cmd->data);//准备DMA传输,

else

res = s3cmci_prepare_pio(host, cmd->data);.//准备FIFO传输

如果是命令的话:则调用s3cmci_send_command()这个函数是命令发送的函数,和datesheet上描述的过程差不多,关于SD规范中命令的格式,请参考参考资料1.

writel(cmd->arg, host->base + S3C2410_SDICMDARG);/*先写参数寄存器

ccon = cmd->opcode & S3C2410_SDICMDCON_INDEX;//确定命令种类

ccon |= S3C2410_SDICMDCON_SENDERHOST | S3C2410_SDICMDCON_CMDSTART;

/*with start 2bits*/

if (cmd->flags & MMC_RSP_PRESENT)

ccon |= S3C2410_SDICMDCON_WAITRSP;

/*wait rsp*/

if (cmd->flags & MMC_RSP_136)

ccon |= S3C2410_SDICMDCON_LONGRSP;

//确定respose的种类

writel(ccon, host->base + S3C2410_SDICMDCON);

命令通道分析完了,我们分析数据通道,先分析采用FIFO方式传输是怎么样实现的。

先分析s3cmci_prepare_pio(host, cmd->data)

根据rw来判断是读还是写

if (rw) {

do_pio_write(host);

/* Determines SDI generate an interrupt if Tx FIFO fills half*/

enable_imask(host, S3C2410_SDIIMSK_TXFIFOHALF);

} else {

enable_imask(host, S3C2410_SDIIMSK_RXFIFOHALF

| S3C2410_SDIIMSK_RXFIFOLAST);

}

如果是写数据到SD的话,会调用do_pio_write,往FIFO中填充数据。当64字节的FIFO 少于33字节时就会产生中断。如果是从SD读数据,则先使能中断,当FIFO多于31字节时时,则会调用中断服务程序,中断服务程序中将会调用do_pio_read FIFO的数据读出。接下来分析do_pio_write:

to_ptr = host->base + host->sdidata;

fifo_free(host)用来检测fifo剩余空间

while ((fifo = fifo_free(host)) > 3) {

if (!host->pio_bytes) {

res = get_data_buffer(host, &host->pio_bytes,

/* If we have reached the end of the block, we have to

* write exactly the remaining number of bytes. If we

* in the middle of the block, we have to write full

* words, so round down to an even multiple of 4. */

if (fifo >= host->pio_bytes)//fifo的空间比pio_bytes大,表明这是读这个块的最后一次

fifo = host->pio_bytes;

/* because the volume of FIFO can contain the remaning block*/

else

fifo -= fifo & 3;/*round down to an even multiple of 4*/

host->pio_bytes -= fifo;//更新还剩余的没有写完的字

host->pio_count += fifo;/*chang the value of pio_bytes*/

fifo = (fifo + 3) >> 2;//将字节数转化为字数

/*how many words fifo contain,every time we just writ one word*/

ptr = host->pio_ptr;

while (fifo--)

writel(*ptr++, to_ptr);//写往FIFO.

host->pio_ptr = ptr;

}

注释一:注意,MMC核心为mrq->data成员分配了一个struct scatterlist的表,用来支持分散聚集,使用这种方法,这样使物理上不一致的内存页,被组装成一个连续的数组,避免了分配大的缓冲区的问题

我们看代码

if (host->pio_sgptr >= host->mrq->data->sg_len) {

dbg(host, dbg_debug, "no more buffers (%i/%i)/n",

host->pio_sgptr, host->mrq->data->sg_len);

return -EBUSY;

}

sg = &host->mrq->data->sg[host->pio_sgptr];

*bytes = sg->length;//页缓冲区中的长度

*pointer = sg_virt(sg);将页地址映射为虚拟地址

host->pio_sgptr++;这里表明我们的程序又完成了一次映射

这样,每一个mmc请求,我们只能处理scatterlist表中的一个页(块)。因此,完成一次完整的请求需要映射sg_len次再来总结一下一个mmc写设备请求的过程:

在s3cmci_prepare_pio中我们第一次先调用do_pio_write,如果FIFO空间大于3,且能够获取到scatterlist,则我们就开始往FIFO写数据,当FIFO空间小于3,则使能TXFIFOHALF中断,在中断服务程序中,如果检测到TFDET表明又有FIFO空间了,则关闭TXFIFOHALF 中断,并调用do_pio_write进行写。

数据流向如下:scatterlist-------->fifo---------->sdcard

一个mmc读设备请求的过程数据流向如下:sdcard --------> fifo ---------->scatterlist,

????关于读数据的过程,中断的触发不是很清楚,s3cmci_prepare_pio中enable_imask(host, S3C2410_SDIIMSK_RXFIFOHALF,S3C2410_SDIIMSK_RXFIFOLAST);但如果没从SD卡中读数据,怎么会引发这个中断呢?是由S3C2410_SDIIMSK_RXFIFOLAST引起的吗

接下来我们分析一下中断服务程序:

static irqreturn_t s3cmci_irq(int irq, void *dev_id)

该程序先获取所有的状态寄存器:

mci_csta = readl(host->base + S3C2410_SDICMDSTAT);

mci_dsta = readl(host->base + S3C2410_SDIDSTA);

mci_dcnt = readl(host->base + S3C2410_SDIDCNT);

mci_fsta = readl(host->base + S3C2410_SDIFSTA);

mci_imsk = readl(host->base + host->sdiimsk);

这些将作为中断处理的依据。

如果不是DMA模式,则处理数据的收发

if (!host->dodma) {

if ((host->pio_active == XFER_WRITE) &&

(mci_fsta & S3C2410_SDIFSTA_TFDET)) {

/*This bit indicates that FIFO data is available for transmit when

DatMode is data transmit mode. If DMA mode is enable, sd

host requests DMA operation.*/

disable_imask(host, S3C2410_SDIIMSK_TXFIFOHALF);

tasklet_schedule(&host->pio_tasklet);

注意我们采用tasklet这种延时机制来减少中断服务的时间,延时函数pio_tasklet中调用了do_pio_write和了do_pio_read

host->status = "pio tx";

}

if ((host->pio_active == XFER_READ) &&

(mci_fsta & S3C2410_SDIFSTA_RFDET)) {

disable_imask(host,

S3C2410_SDIIMSK_RXFIFOHALF |

S3C2410_SDIIMSK_RXFIFOLAST);

tasklet_schedule(&host->pio_tasklet);

host->status = "pio rx";

}

接下来的很多代码是对其他的一些类型中断的处理。

最后来分析DMA模式:这种模式下不需要CPU的干预。S3C2440的DMA有4个通道,我们选择了通道0 static int s3cmci_prepare_dma(struct s3cmci_host *host, struct mmc_data *data)

{

int dma_len, i;

int rw = (data->flags & MMC_DATA_WRITE) ? 1 : 0;

BUG_ON((data->flags & BOTH_DIR) == BOTH_DIR);

s3cmci_dma_setup(host, rw ? S3C2410_DMASRC_MEM : S3C2410_DMASRC_HW);//注一

s3c2410_dma_ctrl(host->dma, S3C2410_DMAOP_FLUSH);

dma_len = dma_map_sg(mmc_dev(host->mmc), data->sg, data->sg_len,

(rw) ? DMA_TO_DEVICE : DMA_FROM_DEVICE);//注二

if (dma_len == 0)

return -ENOMEM;

host->dma_complete = 0;

host->dmatogo = dma_len;

for (i = 0; i < dma_len; i++) {

int res;

dbg(host, dbg_dma, "enqueue %i:%u@%u/n", i,

sg_dma_address(&data->sg[i]),

sg_dma_len(&data->sg[i]));

res = s3c2410_dma_enqueue(host->dma, (void *) host,

sg_dma_address(&data->sg[i]),

sg_dma_len(&data->sg[i]));

if (res) {

s3c2410_dma_ctrl(host->dma, S3C2410_DMAOP_FLUSH);

return -EBUSY;

}

}

s3c2410_dma_ctrl(host->dma, S3C2410_DMAOP_START);

return 0;

}

注一:这个函数先调用s3c2410_dma_devconfig来配置DMA 源/目的的意见类型和地址,注意我们这里的设备地址host->mem->start + host->sdidata实际上就是SDIDATA寄存器的地址值,如果是写SD卡,则为目的地址,否则为源地址。然后调用s3c2410_dma_set_buffdone_fn(host->dma, s3cmci_dma_done_callback);

设置dma通道0的回调函数。

注二:

dma_len = dma_map_sg(mmc_dev(host->mmc), data->sg, data->sg_len,

(rw) ? DMA_TO_DEVICE : DMA_FROM_DEVICE);

这里进行分散/聚集映射(P444,LDD3),返回值是传送的DMA缓冲区数,可能会小于sg_len,也就是说sg_len与dma_len可能是不同的。

sg_dma_address(&data->sg[i]),返回的是总线(DMA)地址

sg_dma_len(&data->sg[i])); 返回的是缓冲区的长度。

最后调用s3c2410_dma_enqueue(host->dma, (void *) host,

sg_dma_address(&data->sg[i]),

sg_dma_len(&data->sg[i]));

对每个DMA缓冲区进行排队,等待处理。

s3c2410_dma_ctrl(host->dma, S3C2410_DMAOP_START);启动DMA

这样DMA缓冲区就和scatterlist联系起来,当写数据时,scatterlist中的数据由于上面的映射关系会直接“拷贝”到DMA缓冲区,当读数据时则反之。整个过程不需要CPU干预,自动完成。

以上就是针对mini2440 HOST部分的内容。

4、CORE层分析:

CORE层完成了不同协议和规范的实现,并为HOST层的驱动提供了接口函数,在HOST 层我们曾经调用的两个函数:

mmc_alloc_host(sizeof(struct s3cmci_host), &pdev->dev);

mmc_add_host(mmc);

我们就从这两个函数入手,来分析CORE层与HOST层是如何交互的。

先看mmc_alloc_host函数:

dev_set_name(&host->class_dev, "mmc%d", host->index);

host->parent = dev;

host->class_dev.parent = dev;

host->class_dev.class = &mmc_host_class;

device_initialize(&host->class_dev);

这几句是将导致在/SYS/CLASS/mmc_host下出现mmc0目录,添加类设备,在 2.6.21后的版本中,类设备的

class_device已近被device所取代,LDD3P387的内容有点OUT了

INIT_DELAYED_WORK(&host->detect, mmc_rescan);

初始化了一个工作队列,延时函数为mmc_rescan,这个延时函数很重要,下午要详细分析最后对host做一些默认配置,不过这些配置在probe函数的后面都被重置了。

分析mmc_add_host(mmc);

device_add(&host->class_dev);这里才真正的添加了类设备。

其中调用了mmc_start_host

void mmc_start_host(struct mmc_host *host)

{

mmc_power_off(host);

mmc_detect_change(host, 0);

}

mmc_power_off中对ios进行了设置,然后调用mmc_set_ios(host);

host->ios.power_mode = MMC_POWER_OFF;

host->ios.bus_width = MMC_BUS_WIDTH_1;

host->ios.timing = MMC_TIMING_LEGACY;

mmc_set_ios(host);

mmc_set_ios(host)中的关键语句host->ops->set_ios(host, ios);这里的set_ios实际上就是我们前面所提到的.set_ios = s3cmci_set_ios,

再看mmc_detect_change(host, 0);最后一句是

mmc_schedule_delayed_work(&host->detect, delay);

实际上就是调用我们前面说的延时函数mmc_rescan

mmc_power_up(host);//这个函数实际上与前面的mmc_power_off类似,不过设置了启动时需要的ios mmc_go_idle(host);

//CMD0 ,from inactive to idle

mmc_send_if_cond(host, host->ocr_avail);//发送SD_SEND_IF_COND,是使用SD2.0卡才需要设置的命令/*suppot for 2.0 card*/

* ...then normal SD...

*/

err = mmc_send_app_op_cond(host, 0, &ocr);

if (!err) {

if (mmc_attach_sd(host, ocr))

mmc_power_off(host);

goto out;

}

蓝色部分是遵照SD卡协议的SD卡启动过程,包括了非激活模式、卡识别模式和数据传输模式三种模式共九种状态的转换,你需要参照相关规范来理解。可以先参考下面三章图对模式和状态,以及状态转换有个初步了解。

我们最初的SD卡的状态时inactive状态调用mmc_go_idle(host)后,发送命令CMD0是其处于IDLE状态。

我们详细分析一下mmc_go_idle

memset(&cmd, 0, sizeof(struct mmc_command));

cmd.opcode = MMC_GO_IDLE_STATE; MMC_GO_IDLE_STATE就是命令CMD0

cmd.arg = 0;此命令无参数

cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_NONE | MMC_CMD_BC;

err = mmc_wait_for_cmd(host, &cmd, 0);//见注1

mmc_delay(1);

注1:mmc_wait_for_cmd(host, &cmd, 0)是用来发送命令的,我们揭开它的神秘面纱吧。

memset(&mrq, 0, sizeof(struct mmc_request));

memset(cmd->resp, 0, sizeof(cmd->resp));

cmd->retries = retries;

mrq.cmd = cmd;将命令嵌入到一个mmc请求中

cmd->data = NULL;mmc命令的data部分设置为NULL,这样表示我们要传输的是命令而不是数据

mmc_wait_for_req(host, &mrq);//关键部分

在该函数中调用了mmc_start_request ,而这个函数调用了host->ops->request(host, mrq) ,这个request 函数就是我们在前面分析的s3cmci_request ,这样MMC 核心第二次核HOST 层握手了

我们再看看:err = mmc_send_app_op_cond(host, 0, &ocr);//注一

if (!err) {

if (mmc_attach_sd(host, ocr))//注二

mmc_power_off(host);

goto out;

注一:实际上是要发送ACMD41命令,这条命令可以用来获取SDcard的允许电压范围值,由于这是一条应用命令,所有发送它之前需要发送CMD_55命令。执行完后card状态变为READY获取的电压范围保存在ocr中,再调用

mmc_attach_sd(host, ocr)看这个电压范围是否满足主机的要求,不满足,则power_off主机。

注二:mmc_attach_sd完成匹配,和初始化卡的功能

host->ocr = mmc_select_voltage(host, ocr);看是否匹配,如果匹配则做下面初始化工作

mmc_sd_init_card(host, host->ocr, NULL);我们分析该函数

(1)mmc_all_send_cid()这个函数发生CMD2,获取卡的身份信息,进入到身份状态

(2)card = mmc_alloc_card(host, &sd_type);分配一张SD类型的card结构

(3)接着调用mmc_send_relative_add,获取卡的相对地址,注意一前卡和主机通信都采用默认地址,现在有了自己的地址了,进入到stand_by状态

(4)通过发送SEND_CSD (CMD9) 获取CSD 寄存器的信息,包括block长度,卡容量等信息

(5)mmc_select_card(card)发送CMD7,选中目前RADD地址上的卡,任何时候总线上只有一张卡被选中,进入了传输状态,

(6)调用mmc_app_send_scr发送命令ACMD51获取SRC寄存器的内容,进入到SENDING-DATA状态

在函数中还将获得的各个卡寄存器的内容解码,并保存到cmd结构的相应成员中。

(7)if (host->ops->get_ro(host) > 0 )

mmc_card_set_readonly(card);

通过调用get_ro(host)函数,实际上就是s3cmci_get_ro函数了。我们判断是否写保护,如果是的,将card状态设置为只读状态

最后再mmc_attach_sd里,我们将card结构添加进去

mmc_add_card(host->card);

dev_set_name(&card->dev, "%s:%04x", mmc_hostname(card->host), card->rca);这里我们以host名+rca地址来命名卡我们可以看到在

/sys/devices/platform/s3c2440-sdi/mmc_host:mmc0/下出现mmc0:0002的目录,这个0002就是rca地址

到这里我们分析完了MMC的核心层。

价值驱动因素

基于估价模型的驱动因子及其重要性分析 价值的驱动因素,是理解价值投资最重要的环节,从企业层面看,它也是企业赖以生存和发展的基础。我们小组根据以往的研究实践,对企业价值驱动因素总结了六项:商业模式、品牌和营销、经营团队和管理水平、市场(规模)扩张和技术创新、产业政策、企业税率。 第一个因素是商业模式。许多人都把它简单地理解为商品生产和销售的组织模式,这种理解未免狭窄和片面,这仅仅是制造业商业模式的一个方面。商业模式的内容很多,既包括业务组织模式,也包括公司根据自己的行业地位实施的竞争策略,甚至还包括一些财务和资本上的操作,总之企业为了获得现金流所做的一切都可以概括为商业模式。以农产品(SZ.000061)这个上市公司为例,自从我们研究所推荐之后,股价表现很好,获得了市场的广泛认同。之所以会有这种结果,最重要的就是由于农产品的商业模式发生了巨大变化:过去它是农批市场,仅仅通过出租物业和收租金的方式来盈利,而现在租金照收,又开始从租户的交易中收取一定比例的佣金,租金的增长是有限的,但佣金会随着交易量的扩大而成指数规律增加,这是需要具有垄断地位的企业才能做到的,类似于证券交易所的模式。因此农产品这个公司商业模式的变化,带来的商业利益和企业价值的提升是非常巨大的。 第二个是产业政策的变化。现在资源和能源紧张,环保状况十分严峻,国家不断出台了很多的政策,这些政策的变化涉及到非常多的环节。例如宝能源(SZ.000690),因为用煤矸石发电、发电机组内部脱硫及废渣循环利用,既环保又节约资源,所以国家政策给予公司非常大的支持,它一度电的价格竟然达到0.58元,较同行高出20%以上,同时国家对于公司上网电量还有保底的承诺:不论国家电力过剩还是不足,都要保证它至少85%的发电量上网。再加上煤矸石本来的成本又非常的低,企业盈利潜力远高于其他火电公司,其股价翻番也就不奇怪了。 第三个是市场扩张和技术创新。典型的例子是生益科技(SH.600183),这个企业的主要业务是印刷线路板,目前他的市场已由国内扩展到全球,产品也由最早的单层线路板创新发展到多层,到现在最高可达十二层,技术创新能力非常强,2006年中期的净利润成倍增长,而且这种增长还将持续。 第四个是经营团队与管理水平的变化。2006年上半年深天健(SZ.000090)得到了市场的追捧,改变天健价值的一个核心的因素就是它的经营团队发生了变化,管理水平迅速上升。过去深天健的团队做房地产,在深圳市中心区莲花山脚下开发了一片很大的住宅区,地价便宜、地段好、销售价格不菲,但是毛利率只有百分之十几。而现在的团队能在地段一般,房屋售价相对较低的情况下把毛利率提升到百分之三十以上,这是一个管理改善提升公司价值的典型案例。 第五个是品牌和营销。以山西汾酒(SH.600809)为例,在前几年因为假酒事件,企业几乎无生存之力。但“牧童遥指杏花村”的佳句大部分中国人耳熟能详,汾酒的历史和品牌仍然深入人心。经过几年的休养生息,公司重塑品牌,重建营销网络,从山西到陕西,河南,逐步向全国扩张,效果显著,业绩也持续高速增长,股票表现非常抢眼。 第六个是税率。这一点很容易理解,企业税负下降,相应地企业的利润就会增加,企业的价值自然就得到提升。 企业层面价值驱动因素的变化是把握企业价值乃至价值投资理念的一个核心问题,我们不能被外在的指标体系或是其他的东西所迷惑,而是必须要把握内在的核心的东西是否发生了变化,因为她们才是影响各种财务指标的关键因素。 评估价值与市值差异分析 综合上述分析来看,青岛海尔的公司价值与市场价值不完全相符,并且被高估,其原因可能主要有以下几个方面。 ①股票的价格受供求关系的影响,而供求关系取决于投资者的需求与偏好,因而股票

价值驱动的公司才聪明

受访者:菲利普·科特勒(Philip Kotler) 西北大学凯洛格管理学院终身教授,美国管理科学联合市场营销学会主席,近作《营销革命3.0》由机械工业出版社(华章经管)出版。 《中欧商业评论》(CBR):长久以来,人们多以微观的视角解析市场营销的概念,视之为一种中短期的商业策略和行为。你最近提出营销革命3.0的概念,是觉得营销应承担更多其他责任吗? 菲利普·科特勒(以下简称科特勒):营销自诞生以来,经历了很多发展变化。在第一阶段即1.0,营销只是有关销售产品和服务,无关重复购买、客户忠诚等含义;到了2.0阶段,卖方希望有回头客,甚至进一步赢得顾客的心和头脑,这样就不光局限于改进产品;更高的阶段即3.0,营销不光要影响市场,还要通过识别人们关心的问题—从自己的债务到地球的福利—而对整个世界有所影响,所以营销3.0时期要求企业承担更多的责任,包括保护环境、消除贫困等。每家企业都应认真界定自己处在营销的哪个阶段,当然从1.0飞跃到3.0是不可能的,可以逐步赢得顾客的心和头脑,这本身也是完整的战略。 CBR:有一个比喻说,等待营销3.0时代的到来就像在等待戈多,特别是对于发展中的新兴市场而言约束条件会更多。对此你怎么看? 科特勒:是的,在每个国家,都有商业的机会和约束条件,这影响你可以从事哪种营销。价值驱动的公司是聪明的,能有一套透明的价值观,比如讲诚信、不贿赂、保护环境、调整产品让低收入群体也能负担,等等。为什么这么做呢?因为这样能使自己与其他只想着大量生产和销售的公司不同—当然它们也想有好销量,不过它们有人格,是充满关怀的公司,消费者可能觉得,在一个产品差不多的细分市场上,宁可挑选一家用更好的方式帮助世界的公司的产品。长此以往,一家公司就会采取超越理想主义的姿态,关注利益相关者,关注顾客、雇员、经销商、供应商以及所处的社区,这样在长期可以得到偏爱,这是理论。 CBR:迈克尔·桑德尔(Michael Sandel)教授也提到过,商业的根本意义在于促进公共之善,我想这和你的观点都有联系。这是未来的方向,问题是会要多长的时期?你有大致的判断和预测吗? 科特勒:在过去,多数商业思想者认为商业的目标在于最大化利润和股东价值,当然顾客也是想要最大化自己的利益,“最大化利润”的表达缺乏指导方针,因为没有区分短期利润和长期利润。据我观察,一家只想使得今天利润最大化的企业,明天就会消失。我们研究过生存很久的公司,有的甚至活过了500年,这些企业能够历经战争、经济衰退、各种灾祸而屹立不倒,内在力量究竟是什么?第一,它们善于学习,终身都在学习,也从失败中学习而不断进步;其次虽然它们资本雄厚,但在财务方面还是相对保守,不会把未来全押在某一注上;还有,它们会立足实践,看重并奖励为其工作也受其影响的人,并把这种影响扩大到更广的领域。 理想营销公式:高科技+高感触 CBR:这些年有些时髦的理念,如长尾理论和蓝海战略等,你觉得它们会在多大程度上冲击传统营销?长尾,意味着市场份额不那么重要了;蓝海,意味着暂时没有强大竞争对手了。这一点上想听听你的意见。 科特勒:这两条都是近来很受欢迎的商业思想。我觉得长尾理论并不适用于大多数企业—对亚马逊来说是适用的,它可以出售所有出版过的书籍,哪怕一年只有几本的销售规模,但亚马逊并不拥有这些书,这样就得有谁把它们存在书架上,亚马逊取得订单,然后找到货源,再销售给顾客,这就形成了长尾,但多数企业并不是按照这一方式来组织的。长尾是个很好的概念,显示出即便销售规模不大,也还是可行的。蓝海战略是个更大的概念,企业规避血腥的红海搏杀,找到属于自己的和平蓝海,苹果公司就是个很好的例子,它代表创新型的公司,不断给人们带来惊喜,新品问世时,它们会拥有一片蓝海,但这种状况保持的时间越来越短了,今天至少有十多家厂商在推出类似产品,三星、戴尔,都在仿制,蓝海存在得越来越短。不过我仍觉得每家公司都应该尽量寻求自己的蓝海,可以获取超额回报。 这取决于公司的思维方式,不光有创新的文化,还有营销的文化,仅仅创新是不够的,正如菲利浦公司,总会产生新产品,但往往太贵或太难理解;另一方面,倘若一家公司只是有营

价值创造驱动要素分析

价值创造驱动要素分析 公司开展内部价值创造的第一步就是战略规划,然后在制定的战略指导下进 行经营行为、财务行为、组织管理行为和营销行为等,同时与公司外部进行沟通。 公司要想实现最大限度地创造价值,必须关注利益相关者的要求,即公司价值最 大化可实现价值之和最大。为了实现这个目标,上市公司必须牢牢盯住价值创造 驱动要素,在制定公司战略时考虑它们,即应从价值创造的角度来评估并制定公 司战略,然后实际并组织公司管理的方法和程序,最优化关键价值创造驱动要素。 如何进行价值创造驱动要素的分析呢?可利用平衡计分卡分析,关键价值创 造驱动要素可分为财务管理、公司治理、客户关系管理、投资者关系管理四个方 面。 1。财务性价值创造驱动要素 该要素是战略管理的核心。上市公司需有效地整合其战略与融资管理、投资 管理、资本运营等财务管理活动的联系,重视该要素

方面的工作。 2.公司治理价值创造驱动要素 公司治理为战略管理的成功提供了基础和至关重要的制度保障,将公司治理 与公司组织架构、业务流程、绩效评估和薪酬规划等结合,提高公司价值。故, 公司战略少不了公司治理。 3.客户关系管理价值创造驱动要素 满足相关者的需求是公司使命和价值的体现,对公司至关重要的相关者是客 户。现代市场是买方市场,公司应十分重视影响其生存和发展壮大的客户资源。 任何忽视客户的公司都难以长久地立足。故,客户关系管理对战略管理至关重要。 4.投资者关系管理价值创造驱动要素 投资者给上市公司提供资金,上市公司想要实现价值最大化就必须做好投资 者关系管理。上市公司须重点关注并保护投资者的切身利益,在做重大战略决策 时与投资者沟通,考虑投资者的利益,若能够获得投资者的理解与支持,不仅有 利于公司战略的实施,也有利于资本市场对公司的认

公司价值驱动分析

二、公司价值驱动 1.公司简介 广东奥飞动漫文化股份有限公司创立于1993 年,其前身为广东奥迪玩具实业有限公司。经过十余年的发展,奥迪玩具成长为中国玩具行业的领导品牌。公司于2007 年进行股份制改造,正式成立奥飞动漫公司,从最初的玩具生产扩张为从动漫内容制作、图书发行、玩具衍生、形象授权等一系列的动漫产业制造者。目前公司已是国内最大的动漫及娱乐文化产业集团之一。截至14 年中,公司共有涵括动漫制作、媒体运营、玩具及其他衍生品运营三大领域的控股子公司18 家,主要有奥迪动漫、汕头奥飞玩具公司、中奥影迪、奥飞文化、嘉佳卡通等。目前公司的实际控制人为蔡东青,持股比例50.23%。 图公司股权结构示意图 2.公司价值驱动分析 (1)商业模式分析 公司结合企业自身特色,建立清晰的产业发展战略,先以原创动画片推广玩具销售,再到以动漫内容精品品牌形象带动全产业链发展,整合动漫上下游资源,实现全产业链运营,创造从产业文化化到文化产业化的动漫产业成长路径。目前,公司以玩具为基础,以动漫影视为核心,构建起一条从内容创作、品牌授权、媒体传播到产品设计、市场营销的完整动漫产业链。公司是国内第一家上市动漫企业也是中国目前最具实力的动漫文化产业集团公司之一。

图公司商业模式 奥飞有最初的玩具制造商,到2006 年的“玩具+动漫”,再到如今的动漫全产业链龙头,共经历了三个阶段的战略转型: (1)1993-2006 年:玩具制造商。公司起源于奥迪玩具,最开始从事玩具制造和销售,逐步形成以四驱车、皮卡丘、GAMEBOY 游戏机、宠物小精灵、悠悠球等为核心的智能玩具系列。 (2)2006-2013 年:动画片+玩具。公司2007 年成立迪文文化和中奥影迪公司,开展动画片内容制作业务。期间,公司陆续推出《铠甲勇士》、《巴拉拉小魔仙》等一系列市场知名产品,并极大地促进相关动画片衍生玩具的销售规模。 (3)2013 年后:收购广东原创动力(喜羊羊团队)和手游团队,表明奥飞在夯实动画制作领域的能力后,正式布局动漫全产业链,加大优质动漫IP资源的变现能力。 图公司IP变现途径

基于EVA驱动因素的企业价值管理体系分析

基于EVA驱动因素的企业价值管理体系分析 作者:陈纪南陈璐茜 来源:《财会通讯》2013年第20期 一、EVA指标体系概述 EVA指标的核心理念是资本成本,从投资者角度,资本成本就是机会成本;从企业角度,资本成本就是使用资金的机会成本,是投资项目要求的最低收益率。所以,EVA指标可以作为资本市场评价企业是否为股东创造价值、资本是否增值保值的指标。彼得·德鲁克认为,EVA反映了管理价值的所有方面,是一种度量全要素生产率的关键指标。 EVA是指公司的税后净经营利润与该公司加权平均资本成本与资本占用乘积的差额,用公式表示为: EVA=税后经营净利润-资本占用×加权平均资本成本 从公式可以很明显的看出EVA的表层动因包括税后经营净利润、资本占用以及加权资本成本,其中加权资本成本可以通过资本资产定价模型计算得出。关于计算EVA时所需进行的会计调整不是本文的重点,不再详细阐述。 假设在资本占用一定的条件下,公式可以变形为: EVA =(投入资本回报率-加权资本成本)×投入资本 上述公式变形可以看出,EVA的主要影响因素是资本回报率、加权平均资本成本及投入资本。EVA可以运用杜邦财务分析体系,通过对资本回报率和资本成本层层分解,全面、系统、直观地揭示主要财务业绩评价指标之间的关系,并结合相关非财务因素,寻找影响企业价值最敏感的财务驱动因素,并在此基础上提出一系列的管理策略,形成比较详尽的企业价值管理体系(见图1)。 纵观上述框架体系,销售利润率、资本周转率是企业第二层价值动因,而营业收入、成本费用、所得税则为第三层动因。然而,企业管理人员并不能直接影响这些财务比率,对 EVA 的价值驱动要素的分析必须投入到企业的日常经营决策管理中去,可以说,企业的投资、筹资决策、生命周期及内部创新学习分析最终都是服务于企业的经营战略,目标实现企业价值的最大化。 二、价值驱动因素分析

经济增加值视角下企业价值驱动因素分析.

经济增加值视角下企业价值驱动因素分析

摘要 经济增加值(以下简称 EVA)在我国中央企业的绩效考核试点已开展了几年,试用结果显示 EVA 考核在引导中央企业提高价值创造能力、控制风险等方面确实发挥了积极作用。EVA实质是企业一个最高的、综合性的财务指标,如何在EVA的结果驱动下令企业从战略——投资——产品研发——生产——销售,财务活动、人力资源及企业文化等环节创造企业价值,实现企业价值最大化便成了管理者关注的问题。本文就是在 EVA视角下,借鉴 EVA 与平衡积分卡融合的 EVA综合积分卡从财务、客户、内部流程及学习成长四方面逐层分解判断出企业价值的财务性驱动因素和非财务性驱动因素。 文章共分为五个章节。第一章主要介绍了论文的选题背景、意义和本文的结构;第二章阐述论文基于的一些理论基础;第三章首先经过对比分析将EVA与 BSC 融合设计,成为一个新的绩效评价工具——EVA 综合积分卡,并借助其详细对企业价值驱动因素进行解,最终找出财务性及非财务性因素;第四章选择制造业行业上市公司财务披露的数据样本,应用因子分析法对其进行分析检验,最终得出财务因素的影响程度次序,对于非财务驱动因素通过调查问卷打分制得出分数,借助因子回归分析得出因素权重。三、四章是本文的核心。第五章是研究启示及相关建议,全面阐述了本文的观点并提出存在的不足,为后来学者的研究提供建议。 关键词:经济增加值价值驱动因素因子分析法 EVA综合计分卡

To Analyse the Factors of Enterprise Value Driving based on EVA ABSTRACT Economic value added (hereinafter referred to as EVA) pilot the central enterprise performance evaluation in our country has carried out a few years, the trial results showed that EVA appraisal in guiding the enterprise value creation ability, risk control, etc do play a positive role. EVA material is one of the highest, enterprise comprehensive financial indicators, the result of how the EVA driver ordered enterprises from a strategic, investment, product research and development, production, sales, financial activities, human resources and enterprise culture to create enterprise value, enterprise value maximization become managers concern. This article is under the perspective of EVA, EVA and the balanced score card for reference fusion of EVA comprehensive score card from finance, customer, internal processes, and learning to grow four aspects can decompose step by step driving factors determine the enterprise value of the financial and non-financial drivers. The article is divided into five chapters. The first chapter mainly introduced the paper selected topic background and significance , the structure arrangement and innovation point; The second chapter of this thesis is based on some theoretical basis; The third chapter, first of all, through comparison and analysis to EVA and BSC integration design, a new performance evaluation tools, EVA comprehensive score card, and, through its detailed solution to the enterprise value drivers, finally find out the financial and non-financial factors; The fourth chapter choose manufacturing industry listed company financial disclosure of data sample, using factor analysis method to analyze its inspection, finally it is concluded that financial factors the influence degree of the order, for non-financial drivers through questionnaire paper work scores, with the help of a weighting factor regression analysis. Chapter three, four is the core of this article. The fifth chapter is the study of revelation and related Suggestions, comprehensively expounds the point of view and puts forward the deficiencies, this paper provides advice to the research of later scholars. Key Words:EVA ,Value drivers ,Factor analysis ,EVA Balanced Scorecard

基于价值的公司管理——企业价值的驱动因素

龙源期刊网 https://www.wendangku.net/doc/9514283661.html, 基于价值的公司管理——企业价值的驱动因素 作者:石晶等 来源:《价值工程》2013年第13期 摘要:基于价值的公司管理作为一种新兴的管理理念和管理模式,称为学术界研究的一个新焦点。而价值驱动因素的确定是关系到价值管理模式成功的关键因素。所以,本文在现有的研究基础上,对企业价值驱动因素的确定因素和主要驱动因素做了系统的概述和总结。 Abstract: As a new management concept and management pattern, Value-based management is known as a new focus in academia. And the determination of value drive-factors is the key factors to the success of the value management mode. This paper, based on the existing research, offers a brief overview of the main driving factors of enterprise. 关键词:基于价值的公司管理;驱动因素 Key words: Value-based management;drive-factors 中图分类号:F275 文献标识码:A 文章编号:1006-4311(2013)13-0012-02 ———————————— 作者简介:石晶(1988-),女,山东济南人,山东财经大学会计专业研究生,研究方向为财务管理;卢绪昌(1976-),男,山东济南人,积成电子股份有限公司,会计师,研究方向为财务管理;许丽君(1988-),女,山东济南人,济南市第五人民医院,助理会计师,研究方向为财务管理。 0 引言 价值管理是指以价值评估为基础、以价值增长为目的的一种综合管理模式。它虽然自20 世纪90年代中期以来,基于价值的企业管理模式逐渐受到西方企业界的认可和推崇,但是,价值管理模式在实务应用中存在缺乏理论指导的局限性。特别是从上世纪年代末开始,中国的很多企业开始注意到基于价值的管理理念,也开始意识到公司价值创造的重要性,但是却不知道应该如何发掘自身的价值创造潜力。而企业价值的产生主要来自于驱动因素的刺激,所以,本文在现有基于价值的公司管理的研究基础上,对企业价值的驱动因素进行了系统的概述和总结。 1 企业价值的驱动因素的确定

知识经济时代企业价值驱动因素分析

文章编号:1001-148X (2005)21-0017-02 知识经济时代企业价值驱动因素分析 郭存杰,朱邦毅 (华东理工大学工商经济学院,上海 200237) 摘要:当知识成为企业经营的关键资源时,人力资本的概念也就应运而生。经济的增长不再过度依赖 于传统的实物资产和金融资产,而是更加依赖于知识资源。从人力资本的概念出发,知识经济时代企业价值的驱动因素应归纳为:战略规划、绩效管理、创新管理、企业文化等几个方面。关键词:知识经济;企业价值;驱动因素;管理建议中图分类号:F270 文献标识码:B 收稿日期:2004-07-15 企业价值是20世纪60年代随着产权交易市场的发展,由美国管理学者首先提出的。企业产权市场的迅速发展,使人们日益清楚地认识到,在市场经济条件下,作为商品生产者的企业本身也可以是一种商品,其交易价格由市场决定。遵循经济学家的观点,笔者认为价值是商品、服务或活动能满足需要并为个人、组织带来收益的能力。 一、知识经济与传统工业经济的特征分析 “知识经济”这一概念率先由经济合作与发展组织于1996年所作的《以知识为基础的经济》的报告中提出。报告认为,知识经济是建立在知识和经验的生产、分配、使用和消费基础上的经济形态。知识经济的本质是以智力资源的占有、配置,以科学技术为主的知识的生产、分配和消费为主要因素的经济,是与农业经济和工业经济相对应的一种富于生命的经济形态①。 由于知识的全球性、共享性和传播性,从企业生产经营的角度来看,知识经济在主要生产要素和企业发展动力等许多方面都和传统工业经济有着极大的差异,详见表1。 表1 知识经济与传统工业经济特征比较 知识经济 传统工业经济主要生产要素以知识为基础的智力资源资本,土地,劳动等稀缺自然资源发展动力知识创新资本投资组织构成知识驾驭资本资本雇佣劳动管理重心人力资本管理物质资源的管理企业文化开放,学习型组织封闭,教育培训生产类型 灵捷、定制、效益 规模、差别、效率 从表1可以看出,传统工业经济条件下,资本、土地、劳动等自然稀缺资源成为企业生产的首要生产要素,企业对于机械动力和自然资源的依赖性比以往任何时代都强。追求规模经济和效率,企业不断扩大生产规模,将累积资本不断投入到新厂房、机械设备和土地等固定资产上。这些固定资产和金融资产的价值及其未来收益能力是决定企业价值的主要因素。在 管理上,企业以“管物”为主,经营目标也服从物质资本所有者即股东的价值最大化。 知识经济下,企业生产固然离不开资本、土地和劳动等基本要素的投入,但是知识作为一种基础性的资源,其重要性已得到管理界一致认同。知识蕴藏在人的头脑中,通过特殊的形式参与企业的运作。为此企业不断重视人力资源的投入,加强知识的管理,企业的生产方式也从规模、效率向灵敏和效益改造,建立学习型组织,鼓励知识创新,在此基础上培养企业新的竞争力和发展的源动力。 二、知识经济时代企业管理环境的变化(一)资源环境的变化 经济的增长不再过度依赖于传统的实物资产和金融资产,而是更加依赖于知识资源。知识本身所具有的复制性、重复消费性和非边际报酬递减三个特征,对企业管理实践提出新的挑战。 (二)市场环境的变化 市场竞争在经济一体化的环境下变得更为激烈。顾客需求趋向多样化和个性化,企业必须在为顾客提供一体化的产品、服务和信息上占据优势,才能赢得顾客。企业必须拓展自身价值链,扩大与供应商和顾客的沟通与合作,走合作竞争之路。 (三)技术环境的变化 高新技术的发展,一方面使得产品和服务的知识含量增加,这必将导致企业生产经营和管理上的难度和复杂性;同时高新技术的发展也为企业相应的管理变革提供了技术上的支持。 三、知识经济时代企业价值驱动因素分析 在足够长的时间保持足够大的净现金流,是企业价值的外在表现。当企业生产经营和管理的环境发生重大转变之后,制约企业价值的关键因素也在发生着变化。 当知识成为企业经营的关键资源时,人力资本的概念也就应运而生。1961年诺贝尔经济学奖获得者,人力资本理论的提出者舒尔茨指出:人力资本是“体 2005/21 总第329期 商业研究  COMMERCIAL RE S E ARCH

从价值乘数的驱动因素谈可比公司的选择_许贸荃

28从价值乘数的驱动因素谈可比公司的选择 ■许贸荃 市场法评估企业价值时最基础也是最重要的一个步骤就是可比公司的选择,如果可比公司选择不当,就难以得出可信的评估结论。《资产评估准则——企业价值》(中评协〔2011〕227号)第三十七条要求:注册资产评估师应当恰当选择与目标公司进行比较分析的可比公司;确信所选择的可比公司与目标公司具有可比性;可比公司应当与目标公司属于同一行业,或者受相同经济因素的影响;在选择可比公司时,关注业务结构、经营模式、企业规模、资产配置和使用情况、企业所处经营阶段、成长性、经营风险、财务风险等因素。 市盈率、市净率和市销率这三种价值乘数在企业价值市场法评估中被广泛使用。但在评估实务中,由于不清楚这三种价值乘数的驱动因素,常常被评估师误用,导致选择的可比公司与目标公司实质上并不可比,从而出现估值偏差。基于合理选择可比上市公司、防止价值乘数被误用之目的,本文从财务指标、增长率和风险等驱动因素方面来分析评估师在采用市盈率、市净率和市销率这三种价值乘数时应当如何选择可比公司。 一、市盈率的驱动因素 市盈率P/E(或称:价格/收益乘数)是股票市价与每股净利润的比率,市盈率估价模型是基于股票市价是每股净利润的一定倍数之假设。基本公式: 目标公司股权价值=目标公司净利润×市盈率 根据Gordon增长模型,处于稳定增长状态公司的股权资本价值为: 式中: :股权资本价值; :当期股利; :下一年度预期股利; :当期每股收益; :股息支付率; :预期增长率,; :风险,即股权资本成本; :股权资本报酬率。 将公式两边同时除以,得到当期市盈率P/E: 如果基于下一年度预期股利,则可得到预期市盈率P/E1: 上述公式表明,对于稳定增长公司,ROE、K e和g 是P/E的驱动因素。对于任何既定的增长率g,P/E将随ROE的增加而升高,随着K e的增加而降低。 而对于高增长公司(如高新技术创业公司),可以从两阶段(前n年的高增长阶段和n年后的稳定增长阶段,下同)股利折现模型得到同样的上述结论。 二、市净率的驱动因素 市净率P/B(或称:价格/账面价值乘数)是股票市价与每股净资产的比率,市净率估价模型是基于股权价值是净资产的一定倍数之假设。基本公式: 与P/E一样,市净率P/B的理论基础与现金流折现评估模型的理论基础是一致的。首先引入以下定义: ,转换后: 式中,B为每股股东权益账面价值(每股净资产)。 则根据Gordon增长模型,处于稳定增长状态公司的股权资本价值可以写成: 公式两边同时除以,得到本期市净率P/B: 企业价值评估Business Valuation

相关文档
相关文档 最新文档