참고

pwm to analog   또는  pwm to voltage 로 검색

http://www.mcublog.co.kr/1201

http://ww1.microchip.com/downloads/en/AppNotes/00538c.pdf

http://www.instructables.com/id/Analog-Output-Convert-PWM-to-Voltage/

http://provideyourown.com/2011/analogwrite-convert-pwm-to-voltage/

http://www.allegromicro.com/en/Design-Center/Technical-Documents/Hall-Effect-Sensor-IC-Publications/Method-for-Converting-a-PWM-Output-to-an-Analog-Output-When-Using-Hall-Effect-Sensor-ICs.aspx

http://www.ontrak.net/pwm.htm

http://blog.naver.com/todudk/220242598560

 

http://www.electimes.com/home/news/main/viewmain.jsp?news_uid=115810

 

첨부파일:

 

TTL&CMOS[1].pdf

+3.3V DSP 레벨의 신호를 +5V TTL에 접속하는 방법

[출처] +3.3V DSP 레벨의 신호를 +5V TTL에 접속하는 방법|작성자 어리버리

 

이번에는 반대로 DSP의 3.3V 출력신호를 5V 논리소자에 입력으로 접속하는 방법을 요약하여 설명하고자 한다.

(1) 3.3V CMOS형의 DSP 출력을 5V TTL 입력에 접속하는 경우 - <그림 1>
이 경우는 CMOS의 출력이 TTL과 원천적으로 잘 매치되므로 별다른 방법을 사용하지 않고 그대로 접속하면 된다. 이것은 TTL의 입력에서 최대 L상태 전압 Vil=0.8V이고 최소 H상태 전압 Vih=2.4V인데 비하여 3.3V CMOS의 출력에서 최대 L상태 전압 Vol=0.4V이고 최소 H상태 전압 Voh=2.8V로서 TTL의 입력조건을 만족하기 때문이다.

(2) 3.3V CMOS형의 DSP 출력을 5V CMOS 입력에 접속하는 경우 - <그림 2>
이 경우는 3.3V CMOS의 출력을 5V CMOS의 입력 레벨에 맞도록 시프트시켜 주어야 한다. 5V CMOS의 입력은 최대 L상태 전압 Vil=1.0V이고 최소 H상태 전압 Vih=3.5V일 것을 필요로 한다. 그러나, 3.3V CMOS의 출력단에 R1=10kΩ를 접속한 상태에서는 최대 L상태 전압 Vol=0.2V이고 최소 H상태 전압 Voh=3.3V로서 5V CMOS의 입력레벨을 만족시키지 못한다.
따라서, 이를 위의 <그림 2>처럼 다이오드 D1으로 레벨 시프트시키면 출력전압이 약 0.6V 정도 상승되어 0.8V 및 3.9V의 범위에서 스윙(swing)하게 되고, 이것은 5V CMOS의 입력조건을 만족하게 된다. 그러나, 당연히 이는 신호의 상승시간 지연을 야기한다.

(3) 3.3V CMOS형의 DSP 출력을 바이폴라 트랜지스터나 MOSFET 입력에 접속하는 경우 - <그림 3, 4>
바이폴라 트랜지스터를 구동하는 것은 앞단의 출력이 3.3V 로직이든지 5V 로직이든지 동일하다. 즉, 구동하려는 트래지스터의 전류증폭률을 고려하여 적절한 베이스 전류를 흘려주면 되므로 <그림 3>에서와 같이 베이스 저항값을 적절히 선정하여 사용하면 된다.
그러나, MOSFET를 구동하는 경우에는 대부분의 MOSFET가 필요로 하는 게이트 전압이 3.3V를 넘으므로 특별한 방법이 필요하다. 가장 간편하게 이 문제를 해결하는 것은 <그림 4>에서와 같이 74HCT04나 74HCT240과 같은 5V CMOS 버퍼를 사용하여 3.3V 레벨의 출력을 5V 레벨의 출력으로 변환하는 것이다.

<참고자료> TI사의 Application Report : 3.3V DSP for Digital Motor Control

< 결론 정리 >

5V 출력 신호가 DSP의 3.3V IO port 에 입력되는 경우는 아래와 같이 크게 4가지 경우로 나눌 수 있다.

 

DSP의 3.3V IO port 에 입력되는

5V 출력 신호의 종류

 solution

 ① 5V TTL 출력

 

 단점: 저항이 커지면 RC 회로에 의한 시간지연이 커짐

 ② 5V CMOS 출력  

 분압회로를 이용하여  입력신호를 약 2.9V 이하로 drop

 ③ open-collector  

풀업 저항 사용

 ④ open-drain  

풀업 저항 사용

 

 

< 첨부파일 >

TEXAS INSTRUMENTS - Application Reports (SPRA550)

3.3V DSP for Digital Motor Control

======================================================================

+5V TTL 레벨의 신호를 +3.3V형의 DSP에 접속하는 방법

[출처] +5V TTL 레벨의 신호를 +3.3V형의 DSP에 접속하는 방법|작성자 어리버리

 

 

마이크로프로세서가 처음 등장하였을 때부터 최근까지는 마이크로프로세서 및 그 주변회로에 모두 +5V 전압을 기본으로 하는 로직회로가 사용되었다. 그러나, 최근에 이르러 일반 마이크로프로세서에서는 물론 DSP 분야까지도 3.3V의 저전압에서 동작하는 방식이 점차 많아지고 있으며, 심지어는 1.8V형 소자까지 개발되고 있다. 물론 이렇게 저전압 논리소자를 사용하는 것은 소비전력을 감소시킬 수 있는 장점 때문이다. 물론 이러한 저전압형 마이크로프로세서를 전력제어나 서보제어에 응용하는 경우에는 잡음 여유(noise margin)이 작아지므로 불리할 수도 있으나 이는 여러가지 방법으로 극복될 수 있다.
이에 따라 마이크로프로세서의 주변회로를 구성하는 소자들도 이러한 소자에 문제없이 접속될 수 있도록 3.3V형이 개발되고 있으나, 아직은 그 종류가 많지 않으므로 때로는 5V로 동작하는 논리소자(TTL 또는 CMOS)와 3.3V로 동작하는 논리소자(DSP)를 직접 인터페이스하게 되는 경우가 있다. 이러한 경우에는 양측의 전압차에 의하여 회로적으로 문제가 되지 않도록 세심하게 설계하여 접속하지 않으면 시스템의 동작이나 수명에 큰 영향을 미칠 수 있다.
여기서는 이렇게 5V 논리소자와 3.3V 논리소자를 접속하는 경우에 여러가지의 상황에 따라서 올바르게 처리해 주는 방법을 요약하여 설명하고자 한다.

(1) 5V TTL 출력을 3.3V CMOS형의 DSP 입력에 접속하는 경우 - <그림 1>
TTL이 허용가능한 최대 전원전압 5.25V에서 동작할 때 무부하에서 약 4.05V의 H상태 출력전압을 나타내며, 정격부하에서는 약 3.4V가 된다. 한편, 3.3V형의 DSP에는 최대로 허용되는 H상태의 입력신호가 Vcc + 0.3V이며, 따라서 Vcc가 가장 낮은 3.0V일 경우에 TTL 출력과 DSP 입력에서의 H상태 전압차는 최대 0.75V에 이른다.
이로부터 만약 입력신호의 전류를 75uA 이하로 억제하려면 TTL 출력과 DSP의 입력단 사이에는 10kΩ의 저항을 직렬로 삽입해야 한다. 그러나, 이것은 신호의 RC 지연을 야기하며, 이 값은 DSP의 입력단 정전용량이 5pF라면 10K×5pF = 50nS에 이른다. 이와 같이 저항이 커지면 전류값은 억제되나 신호의 시간지연이 커지고 내잡음성이 나빠진다.

(2) 5V CMOS 출력을 3.3V CMOS형의 DSP 입력에 접속하는 경우 - <그림 2>
CMOS가 허용가능한 최대 전원전압 5.25V에서 동작할 때 무부하에서 약 5.25V의 H상태 출력전압을 나타내며, 따라서 Vcc가 가장 낮은 3.0V일 경우에 TTL 출력과 DSP 입력에서의 H상태 전압차는 최대 1.95V에 이른다.
이로부터 입력신호를 3.3V 이하로 억제하려면 저항에 의한 분압회로를 사용하는 것이 바람직하다. 이것을 그림 2에서와 같이 R1=18K, R2=22K로 구성하면 입력신호는 약 2.9V 이하로 억제된다.

(3) 개방 콜렉터 또는 개방 드레인 출력을 3.3V CMOS형의 DSP 입력에 접속하는 경우 - <그림 3, 4>
개방 콜렉터(open-collector)형의 TTL이나 개방 드레인(open-drain)형의 CMOS 출력을 3.3VDSP에 접속하는 경우는 풀업저항을 3.3V의 전원에 접속하면 간단히 해결된다. 이 경우에도 풀업저항을 크게하면 입력신호의 상승시간(rising time)이 느려진다.

<참고자료> TI사의 Application Report : 3.3V DSP for Digital Motor Control

+ Recent posts