成为订阅者(免费)

加入29,000名其他订阅者以获得用户销售折扣和 其他免费资源。
:
:
大学教师'担心 - 您的邮件地址完全是 安全的。我保证使用它 只要 to send you MicroZine.

MCP4725

MCP4725是模拟DAC - 它会在其nba竞猜处产生电压 就像一个电位计。不同之处在于该芯片设置了 通过数字控制nba竞猜,通过控制电压缓冲器 一个I2C串行接口。

它nba竞猜一定比例的 输入电压。自呢's a 12bit device its 分辨率是VREF / 4096。所以你可以选择分割的非常好的步骤 from the reference.


它还包含EEPROM存储器,因此设备可以立即启动到nba竞猜电压 每次都需要编程。你显然有 首次编程它,但之后它记得电压 setting.

此页面还将MCP4726与MCP4725进行比较,因为它们非常 类似的设备。主要区别在于4726具有参考 电压输入 - 有 其他差异 as well.

MCP4725突破板

MCP4725突破板

在突破板中,标有三个焊料Blobs标有Addr,让您控制变更的A0的值 I2C地址 芯片。芯片上倒在左下方的A0倒立 连接到中间'ADDR'焊料Blob。 A0用于从一个选择一个 两个I2C地址。

焊料Blob右侧的电阻应该是1k下拉,但它被放入 从GND到中间焊点的系列,所以它没有 - 1K 没用 - 这意味着您必须焊接某些东西,否则地址输入留下浮动,您可能会随机操作!

您必须焊接前2个BLOB(A0 = 0),或底部两个 Blobs(A0 = 1)形成焊接桥,否则A0左侧浮动。大学教师'将它们全部焊接在一起 - 它将缩短 supply!

两个顶部电阻为4K7和SDA和SCL的上拉。在这一点 back there are "cut-tracks"可以切割以隔离这些电阻器。 Cut these "cut tracks"如果已经有其他附加的拉起 I2C devices.

MCP4725引脚声

该芯片采用微小的SOT-23六针封装。


MCP4725引脚声
                    [Source: Datasheet]

MCP4725框图

MCP4725框图
                            [Source: Datasheet]

MCP4725数据表

下载MCP4725数据表 这里.

MCP4725规范

  Parameter
MCP4725
  Voltage Supply (Vs)
2v7〜5v5
  Abs. Max VDD.
-0v3〜6v5
  Interface
I2C
  I2C rate
100khz,400khz,3.4mhz
  Resolution
12 bit
  Power Down I (VDD.= 5v5 - 典型,最大值)
0.06ua,2ua
  没有负载电流(典型,最大) 210ua,400ua.
  短路(VOUT = GND)(min,典型,最大)
7mA,15mA,24米
  偏移错误(典型,最大)
±0.02,0.75%FSR
  偏移误差漂移(-45〜25,25〜85ºC,典型值) ±1ppm,±2ppm
  INL (typ,max) LSB
±2,±14.5 [3]
  DNL(MIN,TYP,MAX)LSB
-0.75,±0.2,±0.75 [2,3]
  增益错误(min,典型,最大)%fsr -2,-0.1,2
  Gain error drift
-3 ppm /ºC
  Phase margin
66º
  电容式负载稳定性(5K负载)
1000pF
  Slew rate
0.55V /美国
  nba竞猜电压稳定时间
6us
  I2C地址(H / W被选中= 8off)
0x60,0x61 [1]
  工作温度
-40°C〜125°C
    [1]对于单个I2C总线顺序的更多设备预编程设备。
    [2]低于1 LSB的数字意味着没有错过代码。
    [3]代码范围100到4000(参见 准确性)

I2C地址

解决方案

MCP4725有一个单一的 A0地址输入引脚,这意味着只有两个 设备可以放置在单个I2C总线上。然而,有一个解决方法 这允许您在单个总线上放置8个设备。

警告: 您只能在单个I2C总线上使用两个设备,除非......

周围的工作是您必须订购不同的版本 MCP4725具有硬编码的A1和A2地址位编程 time of manufacture.

MCP4725地址映射

地址的较低三位由三个数字组成 输入A2,A1,A0,同时上位固定在1100xxx。 A1 A2在制造时分配,通常为零。

最后一个 bit( LSB ' 'l)以后发送的地址位,忽略它是读写位(R / WN)。所以 只有A0作为地址控件的地址是:

        0x60, 0x61

对于每个设备,您可以将A0设置为1或零。 REST(A1和A2)在购买时指定。

I2C命令

那里有两个 写命令和一个read命令(数据表表6-2):

  1. 快速模式DAC寄存器写入。
  2. 写入DAC控制寄存器(可选EEPROM写)。

写作

第一个命令"Fst Mode"(数据表图6-1)是一个快速更新命令 只写入DAC寄存器,不会更新EEPROM。它也是 使用不同的数据格式到第二个。它允许数据适合 分为两个字节,而第二种格式使用三个。

  • 1st命令使用2个数据字节制作3个I2C数据包(包括地址)。
  • 2ND命令使用3个数据字节制作4个I2C数据包(包括地址)。

当您使用第二个命令时令人困惑地(数据表图6-2) 并设置C2,C1,C0至010与第一命令具有相同的效果 只需设置DAC寄存器,但不编程EEPROM。

第二个命令的实际使用是更新EEPROM 当C2,C1,C0 = 011时。在这种情况下,无法使用新命令 EEPROM已经写完了。

警告: EEPROM更新需要50ms并块操作。

EEPROM写入最多可能需要50ms(通常为20ms),也没有其他 允许在更新完成之前允许操作(阅读RDY / BSYN标志 to check).

更快更新

为了避免真正缓慢的操作,使用 第一个命令 这不写信给EEPROM - 这是"Fast Update" command.

为了提高操作速度,您可以重复数据 packet so you don't必须停止并启动I2C。所以而不是停止 I2C末尾的位 事务您只需重复更新DAC的两个数据字节 nba竞猜。然后nba竞猜在每个结束时连续更新 第二I2C ACK信号。

这意味着您可以以由所确定的速率更新nba竞猜 2 I2C数据包的传输速度(I2C数据包保存8位和您 需要12位,需要2个数据包)。

笔记: I2C操作并不快。速度测试结果是 这里.

阅读

要读取数据,请在第一个I2C数据包高(数据表图6-3)中设置R / WN位。 然后您从MCP4725读回5个字节。第一个字节包含 RDY / BSYN位用于检查EEPROM WRITE是否已完成。

准确性

有几个因素有助于MCP4725的准确性:

  • 使用代码范围
  • INL - 积分非线性。
  • DNL - 差分非线性。
  • 增益误差 - 传递函数的斜率。
  • 偏移 - 零nba竞猜处的偏移电压。
  • 噪声源。
  • 电压输入的质量(电源输入)。

警告: 使用的代码范围是影响精度的最大因素。

数据表表明,在Opamp饱和度由于Opamp饱和度而获得1%的准确性仅使用100和4900之间的代码。

代码范围

在MCP4725 DAC代码的顶端和底端,线性 nba竞猜变得更糟。推荐的使用区域是用于代码nba竞猜 100至4000的范围,是用于测量INL的范围 and DNL.

这是显示传输功能的数据表图 整个代码。你可以看到更高的代码 转移功能从直线出发。对于以下代码 100nba竞猜也是非线性(未示出)。这就是为什么Inl和 DNL测量仅为代码100〜4000定义。

MCP4725获得Erro传输功能
             [Source: Datasheet]

MCP4725用途

一旦设置所需的电压,芯片的美丽就是这样 您可以编程内部EEPROM以nba竞猜相同的电压 上电.i.e。您校准了该单元,它是遗忘的。

芯片有几种用途:

  • 校准。
  • 重复nba竞猜(关闭电源后的nba竞猜)。
  • 波形生成(使用Arduino非常慢 - 使用DSP.ESP32)。

校准

本芯片的理想用途是设置固定nba竞猜电压 单位的校准。一旦您校准了系统,芯片将会 记住nba竞猜设置并在上电时nba竞猜相同的电压。

数字电源

另一种用途可以在您想要的数字电源中 nba竞猜以保持上次设置的相同值I.E可编程电源 supply.

波形生成

您可以使用它来生成波形(相当慢),但它可以使用它来加速它 快速模式DAC. 写命令。

使用I2C 3.4MHz 模式将使nba竞猜仅取决于芯片规格 压摆率和稳定时间,并使用命令(加上串行接口的比特 update). Don't忘记更新的处理器速度i.e.如何 快速绕主循环(或使用和中断生成的更新)。

缺点

  • 没有单独的参考电压输入。
  • 有限的解决。
  • 没有同步更新。

电源是电源

一个问题是芯片使用电源电压作为参考 电压源。电源电压芯片通常具有公差,由之间的制造商指定 2%和10%,因此您最终可以在nba竞猜时获得这种公差。 (看 这一页 对于5V电源变化的一些测量)

您可以通过MCP4725通过精确的电压来解决这个问题 reference at the VDD. PIN,但随后,您需要确保参考是 能够提供具有足够电流的所有连接芯片。

或者使用 MCP4726 在参考输入引脚上还具有可选的缓冲放大器。

解决

讨论了寻址方案 这里 (这有点限制)。

同步更新

这是一个微妙的缺点。您无法更新nba竞猜 多个MCP4725同时。这并不是一个真正的缺点 芯片 - 除非你可能不会想到的东西 真的需要这个功能。

您只能使用和单独的I2C序列更新每个MCP4725, 因此,如果您有8个芯片,则需要8个I2C数据包 需要时间。如果您真的需要同步更新使用 MCP4728 或者 MCP4922. 具有硬件更新控制信号。

arduino.示例与MCP4725

软件

arduino. IDE:1.8.9+版

arduino.图书馆

  • 图书馆:adafruit_mcp4725

goto arduino菜单:素描 - >Include Library-->Library Manager.

然后在搜索框中输入MCP4725,该搜索框将显示结果:

adafruit_mcp4725 by adafruit版本1.0.0 - 单击“安装”。

您可以看到图库是通过进入菜单安装的: Sketch-->包含库,滚动在出现的下拉框中 您将看到标有一个条目:Adafruit MCP4725库。

图书馆笔记

此库中的代码始终使用400khz i2c模式。它 通过存储当前的TWBR值并在最后还原它来实现这一点 函数setvoltage()。所以无论你做什么,你都可以't change the 除非您编辑库代码(adafruit_mcp4725.cpp),否则速度。这可能随着Uno可以去的那么快。

    #ifdef TWBR
      uint8_t twbrack = twbr;
      twbr =((f_cpu / 400000l) - 16)/ 2; //将I2C频率设置为400kHz
    #endif

定义TWBR设置为其他位置,以指示处理器具有TWBR寄存器。

警告: 大学教师't持续写入EEPROM,因为它有一生。

在setVoltage()函数中,第二个参数如果设置为true,则写入EEPROM。

硬件

成分

  • arduino. Uno R3 / Arduino Nano。
  • MCP4725突破板(使用A0焊接桥到GND)。
  • 连接线。

连接

用于测试使用Arduino Uno并将其连接如下:


arduino. MCP4725
  5V
VDD.
  GND
GND.
  A5
SCL.
  A4
SDA.
  GND
A0

示例素描

此示例使用存储的值生成SINEWAVEnba竞猜 编程到闪存中。请注意,这不使用快速 method mentioned 这里。 Arduinonba竞猜正在使用400kHz的I2C。

#include <Adafruit_MCP4725.h>

Adafruit_MCP4725 dac;

#define DAC_RESOLUTION    5
#define DAC_ARRAY_INDICES (pow(2,DAC_RESOLUTION))

const PROGMEM uint16_t SineLookup_5bits[32]
{
2048, 2447, 2831, 3185, 3495, 3750, 3939, 4056,
4095, 4056, 3939, 3750, 3495, 3185, 2831, 2447,
2048, 1648, 1264,  910,  600,  345,  156,   39,
   0,   39,  156,  345,  600,  910, 1264, 1648
};

void setup(void) {
   dac.begin(0x60);
}
void loop(void) {
   for (在t i = 0; i < DAC_ARRAY_INDICES; i++) {
      dac.setVoltage(pgm_read_word(&(SineLookup_5bits[i])), false);
   }
}

注意:正弦表来自 //github.com/adafruit/Adafruit_MCP4725/blob/master/examples/sinewave/sinewave.ino 您可以在哪里找到更多表(最多9位)。

MCP4725正弦波形速度

在完整的正弦波中使用32间隔设置此草图(从上到下16步)。所以 that 正在经历360/32度,并为每个人获得DAC结果 角度。它是每分师1V的设置,并且有一个 频率为218Hz.。如果 you used 快速更新 你会比频率稍微好。


MCP4725 DAC 32位正弦波nba竞猜

时基:500us / div,黄色1v / div。

对于此间隔,每个步骤表示5/16 = 312mV。该芯片能够分辨率为4096,步骤为5/4096 = 1.2mV。

第二波形显示I2C时钟。你可以看到有 每个更新四个9位I2C数据包。时钟周期为2.5us,1 / t = 400kHz.

MCP4725 I2C时钟4个数据包

还注意到nba竞猜上的噪音(下图) - 这可能是 通过电源滤波,nba竞猜滤波和板减少 布局(可能)。下面的屏幕截图有50mV的黄色通道 每分裂。它显示了对nba竞猜上强加的I2C数据包的噪声 (~30mVpp noise).

时基:10US / div,蓝色10V / div,黄色50mV / div。

MCP4725使用I2C命令nba竞猜噪声

含义是,为了精确率,I2C接口应该是 进行测量时关闭(使用MCP4725作为A. calibration output).

使用10k和100nf过滤nba竞猜到GN​​D(FC = 159Hz)给出以下波形:

MCP4725过滤nba竞猜

400kHz信号衰减,但仍然存在系统噪声。
时基:10US / div,黄色10V / div,蓝色50mV / div。

完整波形在这里(10k,100nf):

MCP4725过滤nba竞猜10K 100N

您可以看到上述nba竞猜(蓝色)是相移和 减毒。如果要生成波形,这是一个问题。如果你 只需要直流nba竞猜,然后噪音将被10k更好地滤除 和100nf过滤器。效果将是更长的稳定时间 更改DACnba竞猜。

如果您将过滤器放宽至10k和100n fc = 1.59khz。然后你得到一个 nba竞猜更靠近原始I.E.它不会衰减而不是 相位转移尽管过滤器(FC)的角频率是 从218Hz中长途跋涉。但是,系统噪声将增加。

MCP4725在nba竞猜上过滤10K 100N

时基:500US / div,黄色1V / div,蓝色1V / div。
注意电压稳压器的nba竞猜为4.76V。

理论最大速度

这芯片大约有多快地生成32位的SineWave?

SineWave通过Max到Min的32位周期,然后再次到最大值,因此从上到下有16个步骤。

忽略转换速率,和稳定时间,以及处理器时间。来自 您可以看到必须nba竞猜4 * 9 = 36位的波形。如果时钟为3.4MHz(最大I2C速度) 那么这将需要39 *(1 / 3.4e6)= 11.47us。

生成32个段将需要32 * 11.47e-6 = 367us。

产生1/367E-6 = 2.724kHz的频率。

这是最大理论正弦波(使用正常停止/启动I2C传输) - 记住 这是一个低点 resolution sine wave 如果需要更多的细分,则会减速。

警告: 这是一个低分辨率的正弦波。更多步骤=较慢。

您可以使用快速模式提高25%(仅发送3个数据包)〜3.4kHz。

如果您使用持续更新方法,您可以在哪里't release the I2C 总线,然后您可以将nba竞猜速率加倍至5.9khz。这个nba竞猜 生成器应由优先级中断例程控制。

警告: 计算假设处理器专用于此任务!

MCP4726

本节允许您将MCP4726与MPC4725进行比较。

MCP4726与MCP4725几乎相同,但有两个新功能:

  • 具有可选输入缓冲区的外部参考输入。
  • 增益选择opamp。

通过添加外部参考输入,地址引脚A0丢失,因此 该设备具有更具限制的地址功能(您必须 如果您想要多个设备,请订购预编程设备 single I2C bus).

MCP4726引脚向导

该芯片采用微小的SOT-23六针封装。

MCP4726引脚向导
                            [Source: Datasheet]

MCP4726数据表

下载MCP4726数据表 这里.

MCP4726框图

MCP4726框图
MCP4726框图
        [Source: Datasheet]

电压参考

根据上图,您可以看到参考部分和opamp已得到增强。

对于引用,您可以选择:

  • 电源作为参考。
  • 无缓冲输入引脚作为参考。
  • 缓冲输入引脚作为参考。

第一个是显而易见的!

使用第二个选项(无缓冲输入)电压源 必须能够驱动足够的电流〜210kohm(±20%)电阻器 ladder.

当您可以使用第三种选项'T负载电压参考 源(您应该尝试使用可以驱动足够电流的源)。 使用缓冲放大器确实导致输入略微减少 range (10mV ~ VDD.-40mv)。缓冲放大器具有低噪声和低偏移电压,但它们不是零

opamp.

opamp具有1或2的可选增益所以如果你有低 电压参考e.g. 1.25V您可以将其加倍,只要电压就可以加倍 参考电压引脚的输入保持在VDD / 2以下。

MCP4726与MCP4725相比

MCP4726几乎与MCP4725相同,但有两个新功能:

  • 外部参考输入。
  • 增益选择opamp(x1或x2增益)。

MPC4726解决了MCP4725的主要问题 - 电源 用作参考。如果你愿意,这不是最好使用的东西 创建一个高精度的系统。

你真正想要的是一个单独的输入引脚,以提供自己的输入 定义和准确的引用,这正是发生的事情 MCP4726。然而,制造了牺牲,这是改变的 引脚的功能。

可以更换的唯一引脚(在相同的包装大小中)是A0(地址输入引脚)。

该引脚已在MCP4726中转入参考输入引脚。

MCP4726规范VS MCP4725

  Parameter
MCP4725
MCP4726
  Voltage Supply (Vs)
2v7〜5v5 相同的
  Abs. Max VDD.
-0v3〜6v5
相同的
  Interface
I2C
相同的
  I2C rate
100khz,400khz,3.4mhz相同的
  Resolution
12 bit相同的
  Power Down I (VDD.= 5v5 - 典型,最大值)
0.06ua,2ua
0.09ua,2ua
  没有负载电流(典型,最大) 210ua,400ua.
相同的
  短路(VOUT = GND)(min,典型,最大)
7mA,15mA,24mA
相同的
  偏移错误(典型,最大)
±0.02,0.75%FSR 相同的
  偏移误差漂移(-45〜25,25〜85ºC,典型值) ±1ppm,±2ppm相同的
  INL (typ,max) LSB
±2,±14.5 [3]
相同的
  DNL(MIN,TYP,MAX)LSB
-0.75,±0.2,±0.75 [2,3]
相同的
  增益错误(min,典型,最大)%fsr -2,-0.1,2
相同的
  Gain error drift
-3 ppm /ºC
相同的
  Phase margin
66º 相同的
  电容式负载稳定性(5K负载)
1000pF100pF
  Slew rate
0.55V /美国
相同的
  nba竞猜电压稳定时间
6us
相同的
  I2C地址(H / W被选中= 8off)
0x60,0x61 [1]0x60 [1]
  工作温度
-40°C〜125°C
相同的
    [1]对于单个I2C总线顺序的更多设备预编程设备。
    [2]低于1 LSB的数字意味着没有错过代码。
    [3]代码范围100到4000(参见 准确性)

    注意:此处未列出特定于MCP4726的其他参数。
    注意:由于越来越开启,所以消耗的电流超过MCP4725。

MCP4726优点

  • MCP4726接受外部参考电压MCP4725没有。
  • 它们都使用相同的包装:SOT-23-6。
  • 可选增益opamp(g = 1或2)。
  • 非常低的典型电源下电流(仅比MCP4725更糟糕)。

MCP4726缺点

它的地址能力比 MCP4725并没有地址输入。在这种情况下获得更多 单个地址总线上的一芯片要求您购买不同 内置预编程地址的设备。

您在同一I2C总线上使用最多8个设备,但必须在订购时指定A0,A1和A2地址位。

结论

一般用法

这些芯片(MCP4725和MCP4726)非常有用,可以像它们一样洒在电路板上 占用非常小的板区,可以与单个I2C总线相关联。你 可以使用它们来轻松地设置模拟电路的校准。

笔记: 这些芯片的(典型的)电源下电流非常低。

唯一的飞行软膏是超过2(MCP4725),而且 超过1(MCP4726)您必须订购不同的编程 来自制造的设备以利用完整的地址 每个芯片的范围(在单个I2C总线上的任一类型的最大值8)。

对于一个大公司来说,这只是一个采购练习,然后喂养 芯片进入拾取机上的正确插槽。如果你是 要调试这个系统,它是另一件事。你'll be sitting on 替补座讨论了哪个SMD设备是哪个,并试图保持它 all under control.

这就是我认为的原因 MCP4728 was created.

您可以了解有关MCP4728的更多信息 这里,你在哪里'请参阅它如何从MCP4726和MCP4725中包含思想。

波形生成

MCP4725并没有真正用作波形发生器和用于的波形发生器 Arduino UNO最大nba竞猜频率为218Hz,可为16步 waveform!

如果你增加了数量 步骤到4096将花费很长时间才能nba竞猜波形 所以它甚至会有更低的频率。测试显示了9位波形 512个元素(256上至下半部分)给出:13.66Hz。

你可以从中看到"理论最大速度" 即使使用DSP处理器也只会导致最大nba竞猜速率 2.7khz(这再次产生32位的SineWave,具有16个步骤 从上到下)。您可以使用连续nba竞猜模式将其推至5.9kHz 但是处理器专用于此任务。

或者使用DAC的SPI版本: MCP4922.. 但是,即使使用该设备理论最大nba竞猜频率 是39khz i.e 10次更好 - 这仍然只有16步 波形如此不如听起来那么好!

如果您真的想要高速nba竞猜,您需要专用DD,如诸如 AD9833 (但这不是一个DAC并生成单个正弦波)。

另一种替代方案是使用并行DAC,例如8bit DAC 从模拟设备DAC08。使用那个,您可以在并行编写8位 公共汽车如此快(在85ns内更新)。速度= 1.0 /(512 * 85E-9)= 22.9kHz(如果您可以快速驱动它!)。


×

MCP4725
   MCP4725突破板
   MCP4725引脚声
   MCP4725框图
   MCP4725数据表
   MCP4725规范
   I2C地址
      解决方案
      MCP4725地址映射
   I2C命令
      写作
      更快更新
      阅读
   准确性
      代码范围
   MCP4725用途
   缺点

arduino.示例与MCP4725
   软件
         arduino.图书馆
            图书馆笔记
   硬件
      成分
      连接
   示例素描

MCP4725正弦波形速度

理论最大速度

MCP4726
   MCP4726引脚向导
   MCP4726数据表
   MCP4726框图
   电压参考
   opamp.
   MCP4726与MCP4725相比
      MCP4726规范VS MCP4725
      MCP4726优点
      MCP4726缺点

结论
   一般用法
   波形生成

新的! Comments

让你说到你刚刚阅读的东西!留下下面的框中的评论。




隐私政策 | 接触 | 关于我

网站地图 | 使用条款


ezoic.报告此广告

访问我们的Facebook页面:

   点击这里



最近的文章

  1. 如何使用ADS1115

    使用ADS1115精度16位ADC进行教程进行低功耗。

    阅读更多

  2. arduino.模拟nba竞猜...易模拟nba竞猜生成

    arduino.模拟nba竞猜:如何创建最精确的PWM模拟nba竞猜以及如何创建模拟PWM正弦波。

    阅读更多

  3. 数号和等效的快速宏。加快代码!

    了解DigitalWrite()的工作原理......现在使用17倍宏宏!

    阅读更多

  4. TCS230颜色传感芯片:如何运作以及如何使用它。

    如何使用TCS230(/ TCS3200)彩色检测器芯片并轻松将其添加到您的任何项目中。

    阅读更多

  5. 如何使用ADXL345进行运动感测等。

    使用ADXL345 Acellerometer,您可以检测到16G!您还可以了解如何使用它来点击检测等。

    阅读更多

  6. HMC5883L 3轴数字MAGENTOMTER如何运作

    HMC5883L - 如何制作数字罗盘,了解HMC5883L和QMC5883L之间的差异以及它们是否兼容。

    阅读更多



读者 Comments

"I wanted to thank
你这么好
对于所有信息
你已经提供了
你的网站's

高超极好的."

- 逃亡Potthath.

"This site really is
最好的和我最喜欢的。
我发现这里有很多很有用
项目和提示。"

- 米兰

Bursach.<at>gmail.com<

"Awesome site,
非常,非常容易和好
导航!"


-
镭_tr.<at>
wolf359.cjb.net.


学习微控制器

"Interested in
微控制器?"

注册
免费7天指南:

自由 GUIDE : CLICK HERE


"I am a newbie to PIC
我想说
 how great your
网站一直在为我。"


- 戴夫

de_scott.<at>bellsouth.net

"Your site is a great
和完美的工作。
恭喜。"


- SURESH.

IntegratedInfosys.<at>
Yahoo.com.

"I couldn't find the correct
要定义的词语
你的网页。

非常有用,揭开,
诚实明确。

非常感谢
你的时间和作品。
问候。"


- Anon.

回到顶部