본문 바로가기
PLC 자동제어 학습/아두이노 보드 수업

디지털 회로 구성-3X8 디코더와 BCD-7세크먼트 디코더의 구현

by 인터넷떠돌이 2017. 10. 26.
반응형

안녕하세요?


이번에 포스팅할 내용은 수업시간에 했던 내용의 뭐랄까 2/3이라고 해야 할까요? 워낙에 내용이 많아서 포스팅 1개에 다 담지도 못하고, 어떻게 둘로 잘라야만 했습니다. 아무튼 먼저 Active Low와 Active High라는 것에 대해서 설명을 하고자 합니다.



위 그림은 예전 포스팅에서 소개를 하였는 Active High와 Active low입니다. 그때는 왜 이렇게 불리는지 100% 이해를 못 하였습니다만, 좀 더 자세한 설명을 들어가면 아래의 그림과 같이 됩니다.



우선 Active High일때는 Y부분의 값이 High라고 해서, 전압이 걸려 있다고 해야 할까요? 5V가 걸려서 높은 상태에 있어야만 전류가 흐르고, LED에 불이 들어오게 됩니다. 그런데 반대로 Active Low일때는 Y부분에 5V의 전압이 걸려서 High인 상태면, LED의 +극도 High인 상태이고, -극도 High인 상태라서, 전혀 전류가 흐르지 않게 됩니다.




그래서 Active Low에서는 Y부분이 Low라고해서, OV인 상태가 되어야만 전류가 흐르고 LED에 불이 들어오게 됩니다. 그래서 Low상태일 때 LED에 불이 들어오게 되어라 라는 의미가 됩니다. 그래서 Low상태일때 전류가 흐른다고 해서 Active Low라고 합니다.



본격적으로 수업의 내용에 들어갔습니다. 우선 지난번에 딱 한번 실행을 했는 적이 있었는 proteus를 실행시키도록 합니다. 그리고 여기서 ISIS라는 파란색 아이콘을 상단에 찾은 다음, 클릭해서 창을 열도록 합니다.



드디어 회로를 만들 수 있는 화면이 열렸습니다.



왼쪽 줄에서 위에서 2번째 아이콘인 Component Mode를 클릭하도록 합니다.



그리고 여기서 P라고 적혀있는 커다란 버튼을 눌러서 회로를 구성하는 component라고 해야 할까요? 이걸 불러 옵니다.



위 스크린샷에서는 74LS139라는 번호로 불리는 2X4 decoder라는 것을 불러왔습니다. 그런데 이렇게 직접회로를 불러와서 이전처럼 복잡한 배선을 안 해도 되는 것은 좋은데, 어떻게 읽어야 하는지 헷갈리기 시작합니다.



위 스크린샷에 적혀있는 그림처럼 E라는 항목은 접지를 하라는 곳인데, 단! 보라색 동그라미로 표시된 부분에 있는 아이콘이 되어 있어야만 이 부분을 접지(0V)를 하는 것입니다. 그리고 파란색의 동그라미로 그려진 부분은 이전처럼 Active High가 아니라 이제는 Active Low라는 것으로 합니다.




이제 예전 포스팅에서 엄청나게 복잡한 회로를 만들어서겨우 만들었던 2X4 decoder를 전용칩을 이용해서 프로테우스 상에서 만들어 보는 단계입니다.



어떻게 해서 전선과 각종 요소들을 다 연결하는 데 성공하였습니다. 그런데 아무리 버튼을 눌러도 전혀 LED에 불이 들어오지 않는 현상이 벌어졌습니다.



이래저래 다양한 시도를 해 보았지만 효과는 그다지 없었습니다.



알고보니 위 스크린샷에 표시된 플레이 버튼을 누르지 않아서 발생한 에러였습니다. 이래저래 너무 오랫만에 하니 가지가지로 시행착오가 발생하고 있는 중이였습니다. 일단 이렇게 2X4 decoder는 그런데로 시뮬레이션 상에서 구현하는 데 성공하였습니다.




그리고 이제는 74LS138이라는 3X8 decoder를 프로테우스 상에서 구현한 스크린샷입니다. 아무런 버튼도 누르지 않았으면, LED에 불이 하나 들어오는 것까지 제대로 구현이 되었습니다.



일단 아두이도 우노와 브레드 보드를 이용해서 구현을 하는 데는 성공을 했습니다. 비록 전용칩을 사용하기는 했지만, 3X8 decoder를 만들면서 연결된 선은 상당히 거미줄마냥 복잡하다는 생각이 들었습니다. 그래도 이게 다 전용칩을 사용해서 그나마 간단하게 되었다는 것을 생각하면.......



다음으로는 BCD-7 세크먼트 decoder를 구현하기 위해서 FND라는 것에 대해서 알아보도록 합니다. 먼저 위 그림을 보시면 숫자 8을 디지털 표기를 하기위해서 만드는 선 한개한개,10개의 칩의 다리마다 알파벳이 적혀있는 것을 볼 수 있으실 것입니다. 바로 이 칩의 다리에 신호가 들어오면 해당하는 막대에 불이 들어오게 된다는 것입니다.


그런데 이 FND에는 5611BH와 5611AH라는 두 종류가 있습니다. 특이하게도 가운데에 있는 다리는 Com이라고 해서 둘다 VCC 혹은 GDN에 연결이 되어야만 작동을 한다는 것입니다. 다만, 실제로 회로상에서는 둘다 연결하면 작동을 안하고, 그냥 한쪽만 VCC나 GDN에 연결되어야만 합니다. 그리고 위 그림의 오른쪽을 보시면 이게 5611BH의 확인법이라고 합니다.


즉, 저항을 통해서 VCC로 부터 전원이 들어오고, 오직 C와 B에 해당하는 FND의 다리를 GND로 연결해서 1이라는 숫자가 나오면 5611BH인것이 맞습니다. 안 나와서 반대로 VCC와 GDN을 바꾸어서 1이 나온다면 5611AH라는 것입니다.



그리고 실제로 1이라는 글자가 나오는 것을 확인한 것입니다.



그리고 나서 한번 실습으로 0이라는 숫자가 나올 수 있도록 회로를 연결한 그림입니다. 




그리고 이번에는 5611BH와 5611AH라는 것을 나란히 연결해 보아서 FND를 한번 0이라는 숫자가 나올 수 있도록 만들어 본 것입니다.



일련의 작업을 통해서 간신히 BCD-7 세그먼트 decoder를 브래드 보드 상에서 연결을 하였습니다. 아무런 버튼도 누르지 않아서 0이라는 숫자가 나왔는 것을 볼 수 있는데, 이게 제대로 작동되는지 여부를 살펴볼 시간이 되었습니다.



Gif파일로 일련의 조작 사진을 올려 보았습니다. 이렇게 해서 수요일날 했는 수업의 2/3를 포스팅 하는데 성공하였습니다. 가까운 시간 안에 주파수라고 해야 할까요? 주파수와 회로에 관한 수업이 있었는데 그 내용에 대해서 추가로 포스팅을 하도록 하겠습니다.


반응형