Uploaded by ‍권용환[학생](전자정보대학 전자공학과)

qtappp

advertisement
QT Application 동작
본 장에서는 PC 에서 사용되는 QT application 에 대해서 다룬다. QT application 은 FGPA 와 PC 사이에
통신 및 데이터 처리를 위해 개발되었으며 COM port 를 통해 UART 로 FPGA 와 통신하게 된다. 또한
QT application 은 FPGA 로부터 FFT 결과를 받아 spectrogram 으로 표현한다.
-
통신 개시
QT application 의 중요 역할로 FPGA 와 통신을 개시하는 역할이 있다. 이것은 QT 에서 UART 를 통해
“DataTx” 신호를 보내면서 이루어진다. FPGA 는 이 신호를 받아 FFT 결과를 PC 로 전송하게 된다. 이
data stream 은 32bit X 512 으로 이루어지면 이에 따라 UART 에서는 8bit 씩 2048 번 전송하게 된다.
-
데이터 디코딩 및 처리
QT application 은 FPGA 에서 data 를 받아 decoding 과정을 거친다. 각 32bit 의 word 는 real part 와
imaginary part 로 나누어져 FFT 결과 나오는 complex number 를 나타내게 된다. 이렇게 계산된 각
complex number, 즉 imaginary number 와 real number 는 spectrogram 에 사용된다.
-
Spectrogram 시각화
QT application 은 상술한대로 계산한 각 complex number 에 대한 amplitude 를 계산하여 각
FFT 결과에 대한 Spectrogram 을 그리게 된다. 이때 plot 의 x 축은 time index 로 각 instant 가 하나의
FFT 결과를 나타낸다. Y 축은 주파수를 의미하며 최대 20kHz 까지 표현한다. Complex number 의
amplitude 는 색으로 표현되게 된다.
-
Loopback() 매커니즘과 데이터 완결성
QT 동작에 가장 깊이 관여하는 부분은 “loopback()”함수이다. 이 함수는 UART module 에서
보내오는 “reqdyRead()”시그널에 따라 invoke 되어 동작하게 된다. Invoke 된 loopback()은 UART 를
통해 전송되는 data 의 의미와 완결성을 판단하게 된다. 판단기준은 크게 세 가지로 첫번째로는
FPGA 에서 data 가 준비되지 않았다는 신호인 “not_ready”신호, 두번째는 정상적으로 전송되는
FFT 결과, 세 번째는 잘못된 형식에서 오는 오류이다. UART 가 burst 모드로 동작하며 buad rate 에서
오류가 조금씩 쌓이게 된다. 이것에서 비롯되는 오류를 방지하기 위해 QT 에서는 잘못된 형식이
도착하였을 때 수 밀리 초 쉰 후 통신을 재개하게 된다.
Download