전자 디자인 랩 Lab5 (ADC) 소스코드 리포트
- 최초 등록일
- 2010.06.03
- 최종 저작일
- 2010.05
- 13페이지/ 압축파일
- 가격 8,500원
소개글
C언어 기반 코드로 결과물은 오실로스코프입니다.
DSO (Digital Storage Oscilloscope) 제작과정 중 다섯번째 단계인
ADC(Analog to Digital Converter) 설계 및 구현입니다.
DSO는 Embedded board와 PC와의 server / clinet 방식으로 이루어졌습니다.
Embedded board는 EZ-X5로 작업했으며, Server측에서는 하드웨어와 연동하여 명령어를 수행하는
Module program도 함께 들어있습니다.
Server/Client, PWM(Pulse Width Modulation), PGA(Programmable Gain Amplifier), ADC(Analog to Digital Converter), Trigger 가 모두 통합된 것입니다.
ADC는 interfaceboard나 빵판에 꽂고, output pin들을 embedded board와 연결하면 됩니다.
입력신호가 amplifier를 거쳐 ADC로 들어오고,
이 analog신호를 digital신호로 convert합니다.
Board로 들어온 digital 값들을 gnuplot을 이용해서 plot하고 file로 저장합니다.
(Gnuplot은 linux에서 작동하는 그래프 그리는 툴입니다.)
이에 관한 실험 결과 report가 포함되어 있습니다.
모두가 통합되어 있지만, 가장 중점으로 다룬 것은 ADC 부분입니다.
최종적으로 A+ 받았습니다.
(한국어로 작성했으며, 기술적으로 바꾸기 힘든 단어들은 그냥 영어단어 그대로 사용했습니다.)
목차
1. Purpose
2. Experiment result
3. Discussion
3. Demonstration
4. Code Explanation
본문내용
1. Purpose
본 실험은 DSO(digital storage oscilloscope)의 subsystem인 A/D(analog-to-digital) conversion을 software와 hardware를 이용하여 구현하는 것이다. Specification을 만족시키는 ADC를 선택하고, ADC에 맞는 input을 만들기 위한 추가적인 circuit들을 interface board에 soldering한다. ADC를 동작시킬 software(module, application program)을 coding한 후, hardware와 software를 혼합하여 ADC의 동작을 확인한다.
2. Experiment result
첫 주의 실험은 단순히 ADC가 제대로 작동하는지 테스트하기 위한 것이었다. Constant값을 입력해주었을 때 noise의 영향 때문에 sampling된 값이 조금씩 본래 값에서 이탈하는 현상은 있었지만 대체로 무난하게 결과가 나왔다. 둘째 주 실험은 첫째 주 실험이 성공하였을 때만 가능한 것이기 때문에 두 번째 주 실험결과를 보여주는 것으로 첫 번째 주 실험결과도 함께 대체하였다.
이번 실험에서는 PGA를 통과시키지 않고, ADC에 직접적으로 input을 주었다. (마지막 Lab에서는 합쳐야 한다.) Trigger pulse는 Lab2에서 제작한 trigger circuit을 그대로 사용하였다. Channel 1에는 50kHz의 2V peak-to-peak 신호를(그래프상 빨간색), channel 2에는 100kHz의 1.4V peak-to-peak 신호를(그래프상 초록색)을 인가하였다.
h 50 명령으로 PWM신호를 만든 후 sampling하였을 때 결과는 위와 같다. 너무 세세하게 sampling하였기 때문에 신호들이 overlapping된 것처럼 보이지만, 오른쪽과 같이 확대를 해보면 각각 sine파의 모양을 찾을 수 있다. 빨간색 신호는 -1~1V를 인가했기 때문에 0부터 255까지 min to max값을 모두 갖는다. 초록색 신호는 -0.7~0.7V를 인가했기 때문에 약 70~180정도의 값을 나타내고 있다.
참고 자료
없음
압축파일 내 파일목록
CmdClient1.c
CmdServer3.c
DSOmod3.c
dso3.h
PlotClient.c
Lab5.hwp