1 / 37

7-Segment FND Controller 구현

7-Segment FND Controller 구현. Lecture #10. 학습목표. 다양한 실습을 통해 VHDL 의 응용능력을 기른다 기본적인 타이밍도의 이해 및 응용능력을 배양한다 주로 사용되는 출력 장치인 FND(7 Segment) 의 특성을 이해한다. 강의순서. 7-Segment LED(FND) 장치 PXA255-FPGA – FND 회로도 구성 7-Segment LED Controller 설계 7-Segment LED Controller 테스트. 발광다이오드 (LED).

kaden-gomez
Download Presentation

7-Segment FND Controller 구현

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 7-Segment FND Controller 구현 Lecture #10

  2. 학습목표 • 다양한 실습을 통해 VHDL의 응용능력을 기른다 • 기본적인 타이밍도의 이해 및 응용능력을 배양한다 • 주로 사용되는 출력 장치인 FND(7 Segment)의 특성을 이해한다

  3. 강의순서 • 7-Segment LED(FND) 장치 • PXA255-FPGA – FND 회로도 구성 • 7-Segment LED Controller 설계 • 7-Segment LED Controller 테스트

  4. 발광다이오드(LED) • LED(Light Emitting Diode) • 화합물 반도체의 PN접합 다이오드로 양단에 전압의 차를 가하면 빛을 방출하는 발광소자 • 그림 (A)와 같이 2개의 다리가 나와있는데 긴 쪽이 애노드(+)이며 짧은 쪽이 캐소드(-)이다 • 약 2.5V정도의 전압차가 2개의 다리 양단에 걸리면 빛을 방출하는데, 보통 디지털소자의 출력이 5V이므로 그림 (B)와 같이 저항을 직렬로 연결하여 다이오드를 보호한다 그림 (B) 그림 (A)

  5. 7-Segment FND (1) • 7-Segment FND • 숫자나 문자를 표시하는데 사용되는 7개의 발광다이오드(LED)의 모임 • 공통 애노드(Common Anode) 형 : • 다이오드의 애노드를 공통 단자로 사용한다 • 애노드 단자에 5V를 주고 캐소드의 각 단자 a~g 까지 0V를 주면 다이오드에 전류가 흐르게 되어 발광한다 • 다이오드의 파손 방지를 위해 저항을 연결 한다 Common Anode 형

  6. 7-Segment FND (2) • 7-Segment FND • 공통 캐소드(Common Cathode) 형 : • 다이오드의 캐소드를 공통 단자로 사용한다 • 캐소드를 접지 시키고, 다이오드의 애노드 단자에 5V를 주면 전류가 흐른다 • 다이오드의 파손 방지를 위해 저항을 연결 한다 Common Cathode형

  7. 7-Segment FND Array (1) • Common Cathode 형 7-Segment FND 4 ARRAY • 7-Segment FND 가 4개 병렬로 있는 것 • 공통단자가 캐소드형으로 com0, com1, com2, com3로 4개 있으며, 애노드 단자 a,b,c,d,e,f,g,dp는 공통으로 사용한다 • LED를 제어하기 위한 전체 핀의 개수를 줄일 수 있는 장점이 있으나 컨트롤은 조금 복잡해진다

  8. 7-Segment FND Array (2) • Common Cathode 형 7-Segment FND 4 ARRAY • Com0=0, Com1=Com2=Com3=1인 경우, 입력 a,b,c,d,e,f,g중의 어느 하나가 1이면 가장 왼쪽에 해당되는 Segment LED가 발광한다

  9. 7-Segment FND Array (3) • Common Cathode형 7-Segment FND 4개의 제어(Dynamic Display) 고정된 방식이 아닌 순차적으로 번갈아 가면서 LED를 켜는 방식으로 제어 : 통상 1초당 60번 이상 켜지면 항상 켜지는 것으로 보이는 잔상효과이용. 1 2 3 4 1 2 3 4 Com0=0인 경우 첫 번째의 7-segment LED가 켜짐 Com1=0인 경우 두 번째의 7-segment LED가 켜짐 Com2=0인 경우 세 번째의 7-segment LED가 켜짐 Com3=0인 경우 네 번째의 7-segment LED가 켜짐 Seg_out=0110000  a=0,b=1,c=1,d=e=f=g=0을 의미함.

  10. 7-Segment LED Array (4) • PXA255-FPGA Board – 7-Segment FND 6 Array

  11. Common Cathod 단자 Anode 단자 7-Segment LED Array (5) • FND를 이용한 데이터 표현 예:

  12. PXA255-FPGA – FND 회로 구성 (1)

  13. PXA255-FPGA – FND 회로 구성 (2)

  14. PXA255-FPGA – FND 회로 구성 (3)

  15. PXA255-FPGA – FND 회로 구성 (4)

  16. 7-Segment FND Controller 설계 (1) • 7-Segment FND Controller 동작 모드 • 단독 모드 (FPGA Dip S/W – on, on) • 6 자리 십진 카운터 동작을 수행 • Main clock을 분주하여 1초 단위로 계수하고, 계수된 값을 십진 6자리 수로 FND array를 통해 출력 • 연동 모드 (FPGA Dip S/W – off, on) • PXA255-Pro3 main board에서 전송된 I/O 신호를 받아 FND array에 출력 • FPGA Dip S/W 설정에 따라 동작 모드를 결정

  17. 7-Segment FND Controller 설계 (2) • 7-Segment FND Controller 구성요소 설계 • fnd_6digit.vhd –단독 동작 모드를 설계한 VHDL 파일 • iom_mode.vhd –연동 동작 모드를 설계한 VHDL 파일 • mux_iom.vhd – FPGA Dip S/W 설정에 따라 I/O을 선택하는 multiplexing 기능을 설계한 VHDL 파일 • 상기의 VHDL 파일 소스는 별도의 유인물 참조

  18. 7-Segment FND Controller 설계 (3) • 7-Segment FND Controller 구성 • io_top.bdf - top-level block diagram file

  19. Quartus II Project 파일 생성 (1) • New Project Wizard를 통한 Quartus II Project 생성하기 • File 메뉴에서 New Project Wizard를 실행하여 새로운 프로젝트를 생성

  20. Quartus II Project 파일 생성 (2) • New Project Wizard ① • Project를 설치할 경로 와 프로젝트의 이름과 top-level entity 이름을 지정

  21. Quartus II Project 파일 생성 (3) • New Project Wizard ② • 오른쪽의 그림은 다음 단계인 설계된 파일이 있으면 추가 하는 단계 • 추가할 파일이 프로젝트 디렉토리에 있다면 [ADD ALL] 버튼을 클릭하면 모두 추가 • [...] 버튼을 클릭하여 그림과 같이 4개의 파일을 추가 • [Next]버튼을 눌러 다음 설정으로 이동

  22. Quartus II Project 파일 생성 (4) • New Project Wizard ③ • EDA Tool 에 대한 설정을 하는 부분 • Thirth party EDA tool을 사용한다면 설정하고, 사용하지 않는다면 [Next]버튼을 눌러 다음 설정으로 이동

  23. Quartus II Project 파일 생성 (5) • New Project Wizard ④ • Device Family를 설정하는 부분 • PXA255-FPGA보드는 Cyclone을 사용

  24. Quartus II Project 파일 생성 (6) • New Project Wizard ⑤ • PXA255-FPGA에는 EP1C12Q240C8을 사용하고 있으므로 해당 Device를 선택 • 오른쪽 메뉴의 Filter사용 하면 쉽게 선택할 수 있다

  25. Quartus II Project 파일 생성 (7) • New Project Wizard ⑥ • 지금까지 설정을 확인하는 단계 • 프로젝트경로와 프로젝트 이름, top-level design entity 이름, 추가한 파일의 개수를 확인

  26. Quartus II Project 파일 생성 (8) • Project 생성

  27. VHDL Compilation (1) • Pin Assignment • Pin assignment 메뉴를 이용하여 pin 정보 입력 • Pin Assign File 수정 - io_top.qps 파일을 열어서 옆 그림에 제시된 정보를 고려하여 핀 매핑에 대한 정보를 수정

  28. VHDL Compilation (2)

  29. VHDL Compilation (3) • 사용하지 않는 핀들에 대한 설정 • Device 설정 창에서 Device & Pin Options을 선택

  30. VHDL Compilation (4) • Unused Pin에 대한 설정 • Reserve all unused pins에서 As Input, tri stated를 선택 • 외부에 아무런 영향을 주지 않기 위함

  31. VHDL Compilation (5) • Configuration에 대한 설정 • 그림과 같이 Configuration scheme와 device를 설정

  32. VHDL Compilation (6) • 기타 설정 • General 탭에서Auto-restart configuration after error을 선택 • FPGA에서 에러가 발생하면 자동으로 다시 Configuration하게 설정

  33. VHDL Compilation (7) • Compilation • 지금까지의 설정이 정상적으로 이루어졌다면 Processing 메뉴에서 Start Compilation을 실행 • 컴파일이 완료되면 ‘Full compilation was successful‘이라는 메시지를 보여주며 컴파일이 끝나게 된다

  34. FPGA Configuration (1) • Configuration • 지금까지의 과정이 모두 끝났다면 FPGA로 Configuration을 하여야 한다 • Programmer 실행 - EPC2에 다운로드 하거나 FPGA에 Configuration 하기 위해서 Programmer를 실행

  35. FPGA Configuration (2) • Configuration 파일 불러오기 • Byteblaster 케이블이 JTAG 포트에 연결된 상태에서 [Auto Detect] 를 하면 EPC2와 EP1C6 두 개의 장치를 검출 • <none>를 더블 클릭하여 EPC2에는 io_top.pof 파일을, EP1C6에는 io_top.sof파일을 설정한다

  36. FPGA Configuration (3) • Configuration • Program/Configure에 체크 옵션에 체크를 한다 • [Start]버튼을 클릭하면 체크한 항목에 대해서만 Download 및 Configuration을 수행한다 • [Start]버튼을 클릭하여 실행한다

  37. 7-Segment FND Controller 테스트 • 디바이스 드라이버 설치 및 테스트 프로그램 실행 • FPGA Dip S/W를 (on, on)으로 설정하여 연동 모드 선택 • 디바이스 드라이버와 테스트 프로그램을 타겟 보드에 다운로드하고 실행시킨다 # mknod /dev/FNDS c 241 0 # insmod fnd_driver.o # chmod 777 test_fnd # ./test_fnd <input data>

More Related