充分利用你的56K Modem


返回首页


  如果你生活在一个既没有DSL也没有接入专线的地方,那么只能依靠56K modem上网了。尽管56Kmodem比先前的33.6Kmodem要快许多,可实际上离56K传输速率还是有一定差距的。这是因为FCC规范限制56K modem的最大连接速率只能达到53 Kbps。如果在连接链路中有一次以上的模拟交换(这是经常发生的),那么56K modem只能达到大约45 Kbps 到 50 Kbps的连接速率。不过,在modem和ISP之间的连接速率只代表了事情的一半。另一半就是modem和计算机的连接速率。本文将讲述如何配置一些可以优化连接的环境。与此同时,还会列举一些实用技巧,它们可以帮助你充分利用modem来连接网络。理解COM端口也许你已经知道,Windows实现在计算机和modem之间传递数据用的是COM端口。这意味着不论你的modem连接外面的广域网有多快,它必须通过COM端口才能把信息传递给你的计算机。如果你的modem是内置的,那么主板拥有它自己的COM端口,modem通过它可以连到计算机中的。这样做的好处是内置modem的COM端口已经设置成最优值。如果modem是外置的,那么它必须通过线缆和计算机的COM端口相连,这个端口也就是我们常说的串口。你会发现这些串口的Windows默认值并不是最优的。备注:现在市面上有两种类型的56K modem—WinModem和传统的Modem。WinModem没有控制器,因此只具有和电话线的连接和数模转换功能(计算机中的CPU提供控制服务)。省去控制器最大的好处是使WinModem的价格变得非常低廉(只要50美元甚至更少就可以买到)。这种方式最大的问题是当CPU处理大作业时modem的性能会受到影响。使用常规的modem当然会得到更好的性能,因为它本身有专门为处理通讯服务而设计的内置的控制器。当然,你将为此多花一些钱,不过今后的网上冲浪时你将不会受到更多的干扰。
  设置COM端口使用设备管理器可以设置COM端口的环境。右键点击“我的电脑”,选择“设备管理器”选项卡。然后,滚动列表框并双击“端口(COM&LPT)”分支。现在,双击你的外置modem所连接的通讯端口。弹出“通讯端口属性”页后,选择“端口设置”属性页,如图A所示。
  图A:在“端口设置”属性页上,你会发现一些可以调整的COM端口环境。正如你所看到的,波特率的默认值是9600,也就是说每秒钟通过串口的数据量最多为9600比特。你可能觉得9600的波特率太慢了,极有可能发生网络阻塞。可以将波特率提高,选择115200。记住,尽管你可以选择比115200还要高的波特率,不过这样做一点意义也没有,因为COM端口里的芯片处理信息的速度最大只能达到115K比特/秒。对于其他的属性,如数据位、奇偶校验、停止位等最好不要改变。所设置的值都是标准配置,将会满足所有的通讯需求。

  研究流量控制在“端口设置”属性页中最下面的一个选项是流量控制。这个选项有三个可选值,使用它可以决定数据从modem传送到COM端口的方式。在通讯过程中,modem将不断地给COM端口发送数据直到COM端口缓冲区已满告诉modem不要发送为止。COM端口然后处理缓冲区中的数据并把数据传送给CPU。此时,COM端口通知modem已经准备好接收数据,处理过程又一次重新开始。流量控制系统是为防止发生数据溢出问题而设计的(如果接收设备处理数据的速度赶不上接收数据的速度将会发生数据溢出)。默认的Xon/Xoff选项是一种软件进行流量控制的方法。这种方法使用两个特殊的字符(Xon和Xoff)来控制modem和COM端口中的数据传输。Xoff表示传输结束,用来通知modem停止传输。当COM端口准备再一次接收数据时,它将会发送Xon字符给modem,表示可以传输。下一个选项是硬件控制,当需要发送数据或者停止发送数据时,将使用电缆中导线给modem发送信号。可以想象,使用硬件进行流量控制将会比使用Xon/Xoff方式快得多,因为它不需要用来管理软件命令的那部分开销。记住,不是所有的modem都支持硬件流量控制。看一下你的modem用户手册,确认支持哪种类型的流量控制。如果你真的使用硬件流量控制,一定要保证使用高质量的线缆。备注:如果想加快整个通讯连接过程,你可以配置modem使其快速拨号。这样做需要在modem的初始化字符串中增加一条特殊的命令。这个命令是ATS11=50,用来设置每一个按键式脉冲的时间为50毫秒(这是电话系统中所能处理最快的速度)。为了配置这个选项,需要打开控制面板,双击modem图标,选择你的modem,点击“属性”按钮。然后,选择“连接” 属性页,点击“高级”按钮,在“附加设置”文本框中输入S11=50。必须记住两件事情:首先,你不必输入命令行中“AT”字符串,因为它已经在modem中的初始化字符串中存在了。其次,如果在“附加设置”文本框中已经有了一些命令,只要在已有的命令行中增加一个空格,然后添加这条新命令就可以了。
  检查FIFO缓冲区在COM端口系统中下一个需要研究的便是FIFO缓冲区环境,你可以使用它来设置内置于COM端口中UART芯片的FIFO缓冲区。UART芯片是COM端口的主要部件。FIFO缓冲系统是和流量控制系统协同工作的,同时它也可以提高流量控制系统的性能。基本上,FIFO系统允许UART芯片在CPU繁忙的情况下也能继续接收数据并将数据存储在缓冲区里。由于数据是双向通过UART的,因此FIFO系统实际上有两个缓冲区。接收缓冲区用来存储来自于COM端口的数据,发送缓冲区用来存储发送给COM端口的数据。想要研究FIFO环境,可以点击“端口设置”属性页下部的“高级”按钮。之后,你将会看到“高级端口设置”对话框,如图B所示。
  图B:高级端口设置通常默认值是经过优化的。不过,如果你认为系统有时发生了数据溢出错误,那么可以试着调整这里的设置。出现数据溢出错误有可能是在文件传输时发生意外,系统性能过低,还有可能是在文件传输时多任务之间的干扰所致。备注:你是否觉得从网络中下载文件有时很慢?在下载过程中是否发生连接失败的错误?如果其中任何一个答案为真,那么你最好看一下称为下载加速器(Download Accelerator Plus)的共享版软件。这个软件使用多线程算法,允许你更有效地下载大文件。它还支持断点续传。

  调整接收和发送缓冲区的大小当你调整接收和发送缓冲区大小时,应该遵循下面的一些原则:
  接收缓冲区的游标允许你设置缓冲区的大小为1, 4, 8和14个字节。默认值是8字节,对于大多数情况这个值是足够了。当你增加到14字节时,当然缓冲区会容纳更多的数据。不过,这将会引起数据溢出导致数据丢失。当你减少缓冲区大小时,接收缓冲区所容纳的数据减少,将会很快地被充满。这将引起UART和CPU更频繁地通讯,反过来,将会减慢UART接收数据的能力。发送缓冲区的游标允许你设置缓冲区的大小为1, 6, 11和16个字节。默认值是16个字节,对于大多数系统这个值是最优的。不过,如果在你上载文件时总是出现问题,那么可以减少这个缓冲区的大小。如果这样做,UART将会和CPU更频繁地通讯,这将会减慢数据发送到发送缓冲区的速度。反过来,当缓冲区增加成默认值后,UART和CPU的通讯将会减少,系统在上载时性能将会有所提高。


关闭本窗口