2013년 1월 30일 수요일

10Gb/s SuperSpeed USB(USB3.0) 발표


HP, Intel, Microsoft, Renesas, ST와 Texas Instruments로 구성된 USB 3.0 Promoter Group이 지난 1월 6일 SuperSpeed USB (USB 3.0)표준이 기존에 지원하던 5Gb/s의 전송속도를 2배 향상시킨 10Gb/s까지 지원하는 표준작업을 시작하기로 발표했다. 올해 중반까지 10Gb/s표준을 완료하고 내년 2014년에는 제품이 나올 수 있을 것으로 기대하고 있는데 당연히 새 표준은 5Gb/s에서 사용하던 커넥터와 케이블을 역호환할 수 있음은 물론 USB2.0 제품과도 호환이 될 수 있도록 할 예정이다.

USB-IF는 이미 10Gb/s SuperSpeed USB spec 0.7을 만들어 놓은 상태이고 2월 7일 미국 Oregon의 Hillsboro에서 이 spec 0.7을 가지고 컨퍼런스를 가질 계획이다.

하지만 위에서 언급했듯이 5Gb/s의 데이타 전송속도를 가지는 링크에서 10Gb/s를 구현한다는 것은 그리 만만한 일이 아니다. 특히 10Gb/s신호를 위한 데이타 이퀄라이져(equalizer)와 에러정정(error correction)이 크게 향상된 PHY개발이 선행되야 한다.

여러가지 난관이 있겠으나 기존의 거대한 USB시장을 토대로 10Gb/s USB가 과연 Apple의 Thunderbolt를 누르고 Firewire와 같은 신세로 전락시킬지 지켜볼일이다.

USB-IF Press Release


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.

2013년 1월 6일 일요일

상승시간(Rise Time)과 주파수대역(Bandwidth) (2)


이번에는 지난 시간에 이어 rise time을 가지고 어떻게 f-3dB를 알아내는지 살펴보기로 하겠다.

[그림 1]은 간단한 RC회로와 그 회로에서 얻을 수 있는 step response(계단응답)이다. 회로이론 교과서에 나와 있듯이 step function(계단함수)을 입력에 인가하면 케패시터 C에 걸리는 전압은 exponential함수에 따라서 나타나게 된다. 정확히 말하면 다음과 같다.




R*C는 time constant(시상수)라고 하는데 RC회로에서-3dB bandwidth는 angular frequency(각주파수)로 time constant의 역수로  표현한다. 다시말하면, ω-3dB = 1/(RC) radian/sec이며 ω-3dB= 2πf-3dB이므로 f-3dB는 다음과 같다.





상승시간(Rise time)은 signal level이 전환되는 edge의 10%시점에서 90%시점까지 걸리는 시간으로 정의되므로 Rise time(Tr) = t90  - t10이다. [그림 1]의 응답곡선을 보면 t90은 2.3RC이고 t10은 0.1RC 이므로 Tr = 2.3RC – 0.1RC = 2.2RC가 되며 이 결과를 위의 식에 대입하면 다음과 같다.





이것이 바로 rise time과 bandwidth의 관계가 된다. 그러나 f-3dB = 0.35/Tr는 정확한 값은 아니며 실제값과 가장 근사한 값이라고 할 수 있다.

[그림 1]에서 만약에 R이 50ohm이고 C가 2pF라면 Tr은 2.2*(50*2*10^-12) = 220psec이고 그에 대한 f-3dB는 0.35/220psec = 1.6GHz가 된다.



그림 1] RC회로와 Step response(계단응답)

밑의 코드는 [그림 1]의 계단응답을 구현한 파이선(Python)소스이다.


## RC 회로응답 by Python 2.7
## Written by SimpliPHY

from numpy import *
from pylab import *

R = 2000
C = 47e-6

tau = R*C

m = 500

t = []
v = []

for i in range(m):
    t.append(i/1000.0)
    v.append(1*(1-exp(-t[i]/tau)))

plot(t,v)
hold(True)
plot(t,sign(t), linestyle='--', color='red', linewidth='3')

xlim(-.1, .6)
ylim(-.1, 1.1)
xticks([0, 0.1, 0.2, 0.3, 0.4, 0.5],['0', 'RC', '2RC', '3RC', '4RC', '5RC'])
grid(True)
hold(False)

show()



Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.