|
调幅方式
串行数据在传输时通常采用调幅(AM)和调频(FM)两种方式传送数字信息。远程通信时,发送的数字信息,如 二进制数据,首先要调制成模拟信息。 幅度调制是用某种电平或电流来表示逻辑“1”,称为传号(mark);而用另一种电平或电流来表示逻辑“0”,称为空号(space)。出现在传输线上的mark/space的串行数据形式。
使用mark/space形式通常有四种标准,TTL标准、RS-232标准、20mA电流环标准和60mA电流环标准。
① TTL标准:用+5V电平表示逻辑“1”;用0V电平表示逻辑“0”,这里采用的是正逻辑。
② RS-232标准:用-3V— -15V之间的任意电平表示逻辑“1” ;用+3V — +15V电平表示逻辑“0”,这里采用的是负逻辑。
③ 20mA电流环标准。线路中存在20mA电流表示逻辑1,不存在20mA电流表示逻辑0。
④ 60mA电流环标准。线路中存在60mA电流表示逻辑1,不存在60mA电流表示逻辑0。
串行通信调频方式
频率调制方式是用两种不同的频率分别表示二进制中的逻辑1和逻辑0,通常使用曼彻斯特编码标准和堪萨斯城标准。
①曼彻斯特编码标准:这种标准兼有电平变化和频率变化来表示二进制数的0和1。每当出现一个新的二进制位时,就有一个电平跳变。如果该位是逻辑1,则在中间还有一个电平跳变;而逻辑0仅有位边沿跳变。所以逻辑1的频率比逻辑0的频率大一倍。曼彻斯特编码标准通常用在两台计算机之间的同步通信。
② 堪萨斯城标准:它用频率为1200Hz中的4个周期表示逻辑0,而用频率为2400Hz中的8个周期表示逻辑1。
串行通信数字编码方式
⑴ NRZ编码
NRZ编码又称为不归零编码,常用正电压表示“1”,负电压表示“0”,而且在一个码元时间内,电压均不需要回到零。其特点是全宽码,即一个码元占一个单元脉冲的宽度。
⑵曼彻斯特(Manchester)编码
在曼彻斯特编码中,每个二进制位(码元)的中间都有电压跳变。用电压的正跳变表示“0”,电压的负跳变表示“1”。由于跳变都发生在每一个码元的中间位置(半个周期),接收端就可以方便地利用它作为同步时钟,因此这种曼彻斯特编码又称为自同步曼彻斯特编码。目前最广泛应用的局域网—以太网,在数据传输时就采用这种数字编码。
⑶ 微分曼彻斯特编码
微分曼彻斯特编码是曼彻斯特编码的一种修改形式,其不同之处时:用每一位的起始处有无跳变来表示“0”和“1”,若有跳变则为“0”,无跳变则为“1”;而每一位中间的跳变只用来作为同步的时钟信号,所以它也是一中自同步编码,同步曼彻斯特编码和微分曼彻斯特编码的每一位都是用不同电平的两个半位来表示的,因此始终保持直流的平衡。不会造成直流的累积。
串行通信数据传输率
数据传输率是指单位时间内传输的信息量,可用比特率和波特率来表示。
⑴比特率:比特率是指每秒传输的二进制位数,用bps(bit/s)表示。
⑵波特率:波特率是指数据信号对载波的调制速率,表现了信号的调制能力。若每个符号所含的信息量为1位二进制数,则波特率等于比特率。在计算机中,一个符号的含义为高低电平,它们分别代表逻辑“1”和逻辑“0”,所以每个符号所含的信息量刚好为1比特,因此在计算机通信中,常将比特率称为波特率,即:
1波特(B)= 1比特(bit)= 1位/秒(1bps) 例如:电传打字机最快传输率为每秒10个字符,每个字符包含11个二进制位,则数据传输率为:11个二进制位×10个字符/秒=110位/秒=110bps。计算机中常用的波特率是:110、300、600、1200、2400、4800、9600、19200、28800、33600,目前最高可达56Kbps.
⑶位时间Td
位时间是指传送一个二进制位所需时间,用Td 表示。Td = 1/波特率 = 1/B
例如:B=110波特/秒 , 则Td = 1/110 ≈ 0.0091s
串行通信发送时钟和接收时钟
在串行通信中,二进制数据以数字信号的信号形式出现,不论是发送还是接收,都必须有时钟信号对传送的数据进行定位。在TTL标准表示的二进制数中,传输线上高电平表示二进制1,低电平表示二进制0,且每一位持续时间是固定的,由发送时钟和接收时钟的频率决定。
⑴ 发送时钟
发送数据时,先将要发送的数据送入移位寄存器,然后在发送时钟的控制下,将该并行数据逐位移位输出。通常是在发送时钟的下降沿将移位寄存器中的数据串行输出,每个数据位的时间间隔由发送时钟的周期来划分。
⑵ 接收时钟
在接收串行数据时,接收时钟的上升沿对接收数据采样,进行数据位检测,并将其移入接收器的移位寄存器中,最后组成并行数据输出。
⑶ 波特率因子
接收时钟和发送时钟与波特率有如下关系:F = n × B 这里F 是发送时钟或接收时钟的频率; B 是数据传输的波特率; n 称为波特率因子。设发送或接收时钟的周期为Tc,频率为F的位传输时间为Td,则: Tc = 1/F , Td = 1/B 得到: Tc = Td /n 在实际串行通信中,波特率因子可以设定。在异步传送时,n = 1,16,64,实际常采用n = 16,即发送或接收时钟的频率要比数据传送的波特率高n倍。在同步通信时,波特率因子n必须等于1。
|
|