USB Tester 


USB Tester를 만들면서 글을 작성하려고 했는데 그게 잘 안되었네요.

현재 USB Tester를 완성하였습니다. 하지만 글은 제가 진행했던 순서대로 작성하도록 하겠습니다.


5) PADS Logic 설계


 3주라는 짧은 시간 동안 USB Tester를 제작하기 위하여 1주일 동안 부품들을 선택하고 ATmega328과 그 주변 회로를 설계하였습니다.

소자들을 선택함에 있어서 최대한 크기를 작게 하기 위해 SMD 타입의 소자들을 선택하였습니다.


  • MCU


[그림 1] ATmega328과 주변회로


 위의 그림은 ATmega328과 주변 회로도입니다. 위에 보시면 커패시터 4개와 인덕터 1개가 보입니다. 커패시터 4개는 모두 Decoupling Cap입니다. 그러면 인덕터 L1은 무엇일까요? 바로 아날로그 노이즈 제거를 위하여 사용되었습니다. ATmega328 데이터 시트의 아날로그 노이즈 제거 기술 편을 참고하면 아날로그 신호는 가능한 짧게 연결하도록 되어있습니다. 그리고 디바이스의 AVCC 핀이 LC를 통해 디지털 VCC 공급 전압에 연결되어야 하도록 되어있습니다.


[그림 2] AVCC 회로


 저는 데이터시트에서 제공한 대로 회로를 작성하였습니다.

다음은 리셋입니다. 리셋을 보면 풀업저항이 달려있고 그 옆에 다이오드가 있습니다. 풀업저항은 왜 달아야 하는지 아실 것입니다. 그렇다면 다이오드는 왜 있을까요? 다이오드는 스위치가 눌리고 떨어질 때 생기는 노이즈를 제거하기 위하여 달았습니다. 다이오드의 문턱전압은 0.7V인데 스위치가 눌리고 떨어질 때 5V 이상의 전압이 발생할수 있습니다. 이때의 전압이 그대로 MCU에 들어간다면 MCU가 오작동 할 수 있기 때문에 5V를 기준으로 0.7V 이상 되는 전압은 다이오드를 통하여 5V로 흘러가도록 해 준 것입니다.

 그리고 MCU의 동작 주파수는 16MHz로 설정하였고 크리스탈(Crystal) SX-8을 선택하였습니다. 또한 박스 헤더 6핀을 놓아 SPI 통신으로 ATmega328에 펌웨어를 올리도록 하였습니다.

 마지막으로 PORT C와 D를 보면 Text LCD가 8비트 제어로 동작할 것임을 알 수 있고 제가 선택한 전류센서 ACS712가 ADC0으로 연결 되었다는 것을 볼 수 있습니다.


  • Text LCD

[그림 3] Text LCD 회로


 위의 회로는 Text LCD 회로입니다. 여기도 MCU와 똑같이 0.1uF의 Decoupling Cap을 사용하였습니다. 백라이트를 위해 15번 핀에 10Ω의 저항을 달았고  3번 핀은 명암 조절을 위한 핀인데 주로 가변저항을 달아 명암을 조절합니다. 하지만 저는 가변저항을 사용하지 않았습니다. 대신 10:1의 저항비를 사용하여 명암을 나타내었습니다.


  • 전류센서

[그림 4] 전류센서 회로


 다음은 전류센서 회로입니다. 이전에 전류센서 파트에서 설명하였다시피 데이터시트에서 제공하는 대로 회로를 구성하였습니다. 마찬가지로 전원에는  Decoupling Cap를 달았습니다. IP+ 와 IP-는 USB의 전원 라인입니다. IP+는 USB MALE의 전원이고 IP-는 USB FEMALE의 전원입니다.


  • 전원 회로와 USB 커넥터


[그림 5] 전원 회로와 USB 커넥터


 마지막으로 전원과 USB 커넥터입니다. 저는 USB Tester를 제작하면서 USB 통신도 할 수 있도록 모든 데이터 선을 연결하였습니다. 또한 USB 3.0까지 동작하기 위하여 USB 3.0 커넥터를 선택하였습니다. USB 3.0은 USB 2.0보다 5개가 핀이 더 많습니다. 그리고 전원을 끊어 전류센서와 연결하여 전원에 들어오는 전류를 측정하도록 하였습니다.

 그리고 전원단에는 스위치를 달았습니다. 제가 짧은 시간 내로 USB Tester를 제작하고 블랙프라이데이가 겹치다 보니 부품 수급에 어려움이 있었습니다. 그래서 국내에서 구하기 쉬운 LM2596을 선택하였습니다. 하지만 LM2596은 Buck Converter이기 때문에 1.5~2V의 전압강하가 일어납니다. 그 말은 5V의 전원을 인가했을 때 5V의 전압이 출력이 될 수 없다는 것입니다. 그래서 5V 전원을 사용하는 USB일 경우에는 USB 전원으로 동작을 수행하도록 하기 위해 스위치를 달았습니다.


'Project > USB Tester' 카테고리의 다른 글

[USB Tester] 6. PADS Layout 설계  (0) 2018.01.06
[USB Tester] 4. Text Lcd  (0) 2018.01.06
[USB Tester] 3. 레귤레이터(Buck Converter)  (0) 2017.12.12
[USB Tester] 2. ATmega328과 전류 센서 ACS712  (0) 2017.12.12
[USB Tester] 1. 개요  (0) 2017.12.06