에 대한 NCO VHDL>의

G

Guest

Guest
안녕 온몸,

osc 수있는 사람을 제어 수치 제공하는 나를 함께 VHDL 코드를 구현.NCO "DDS".올린날짜 분 후에 2 :당신은 어쩌면 FPGA 인에 대한 구현을 제공 날 수있는 리소스를 설명하는 수 NCO을 다른 전형 방법을 일부 또는 LUT를 사용하여 예제.

 
안녕하세요,
여기에 FPGA를 발진기 제가 예를 들어 하나의 Qadrature 구축에 testted하고.
의 사인파 발진기.
내가 Verilog 있었어요에 게시이 코드를 여기에 약간의 시간이 그것도 뒤로.

코드 :

도서관의 IEEE;

사용 ieee.std_logic_1164.all;

사용 ieee.std_logic_unsigned.all;

엔티티 sine_cos입니다포트 (

CLK : std_logic에;

리셋 : std_logic에;

ko 페이지 : std_logic에;

사인 : 버퍼 std_logic_vector (7 downto 0);

뼈가 : 버퍼 std_logic_vector (7 downto 0));최종 sine_cos;

sine_cos의 아키텍처 behave_sine_cos입니다

신호 sine_r, cos_r : std_logic_vector (7 downto 0);

시작 - behave_sine_cos을

사인 <이 = sine_r (cos_r (7) & cos_r (7) & cos_r (7) & cos_r (7 downto 3));

뼈가 <= cos_r - (사인 (7) 및 사인 (7) 및 사인 (7) 및 사인 (7 downto 3));레지스터 : 프로세스 (CLK, 재설정)

시작 - 프로세스 레지스터

면 리셋 = '0 '다음 - 비동기 리셋 (낮은 활성)

sine_r의 <= "00000000";

cos_r의 <= "01111000";

elsif의 clk'event과 CLK = '1 '다음 - 시계 가장자리를 상승

(ko를 = '1 ') 후면

sine_r <= 사인;

cos_r <= 왜냐하면;

종료면;

종료면;

엔드 프로세스 레지스터;

최종 behave_sine_cos;-------------------------------------------------- -----------------------------

- Testbench

-------------------------------------------------- -----------------------------도서관의 IEEE;

사용 ieee.std_logic_1164.all;엔티티 sine_cos_tb입니다끝 sine_cos_tb;

아키텍처 sine_cos_tb의 행동입니다

구성 요소 sine_cos

포트 (

CLK : std_logic에;

리셋 : std_logic에;

ko 페이지 : std_logic에;

사인 : 버퍼 std_logic_vector (7 downto 0);

뼈가 : 버퍼 std_logic_vector (7 downto 0));

엔드 구성 요소;

신호 CLK : std_logic : = '0 ';

신호를 재설정 : std_logic : = '0 ';

신호 ko 페이지 : std_logic : = '1 ';

신호 사인 : std_logic_vector (7 downto 0);

신호 뼈가 : std_logic_vector (7 downto 0);시작 - 굴다

5 NS 후 CLK의 <이 전송되지 = CLK;U1 : sine_cos

포트지도 (

CLK,

재설정

, ko를

사인,

상추의 일종);

프로세스

시작 - 프로세스

50 NS 기다;

리셋 <= '1 ';

10000 NS 기다;

잠깐;

최종 처리;끝 굴다;

 
안녕 보안관,
NCO 설계 블록을 가지고있어 주요 단지 2.
위상 어큐뮤레이터를는 롬 LUT () 뼈가의 사인과 각도를 저장할 위상합니다.
제가 문서를 디자인했습니다 첨부된 NCO의이 블록 위에 제가 언급한 제공하는 상세한에 대해 설명합니다.
희망이 도움이
미안하지만, 당신은 첨부 파일이 필요합니다 보려면 로그인을에

 
예를 들어 주셔서 감사합니다.
하지만 내가 얻을 수 있으니까요와`t 이해가 얼마나 죄악.
CORDIC 또는 기타 방법?
당신은 어쩌면이 정보를 공유합니다 (app. 노트, 데이터 시트, 책)

최고, 감사합니다
승자

 
안녕하세요,

사인과 뼈가의 파도가 발진기 구적법 사용하는 생성되었습니다.
코사인을 경우이 당신이 통합이 파도를 얻을 코사인 통합이 사인 파도
파도가 파도 사인을 생성 입력 ...
이것은 코드를 VHDL의 techniqe 여기에 필터를 사용하여 디지털 다 ...
다음 그림은 .... 잘 설명할 것입니다코드 :

---- ----

사인 | / | - 뼈가 | / |

--->| | |----->| | |---

| | / | | / | |

| ---- ---- |

| |

-------------------------
 
제발 동료, 난) NCO (직접 디지털 합성기 싶어 수집 매일 세부 사항에 대해서.제발이 정보를 보내는마다.

고마워요 inadvance, 내가 남아있다.

 
보안관 Welsen 작성 :

제발 동료는, 제가 직접 디지털 합성기 (NCO)에 대한 매일 세부 사항을 수집 싶어요.
제발 당신이 가진 모든 정보를 보낼 수 있습니다.고마워요 inadvance, 내가 남아있다.
 
블랙 잭 작성 :

나는이 책을 "직접 디지털 주파수 합성기"이

Venceslav F. Kroupa 및 조언을 그것 당신이 이것을 읽을 수 있습니다.
 
보안관 Welsen 작성 :블랙 잭 작성 :

나는이 책을 "직접 디지털 주파수 합성기"이

Venceslav F. Kroupa 및 조언을 그것 당신이 이것을 읽을 수 있습니다.
 
나는 모든 처음의 코드를 정말로 좋아하는 당신
하지만 난 아무것도 몇 가지 않았어
1.how가 시작했던 위상 diffrance을에서 당신이 couculate?
2.how는 벡터 한 spacific이 subscart에 당신이 알고 싶으십니까?

 
내가 아키텍처 다이어그램의 NCO 세부 사항이 필요.누구나 알겠어요?내 경우에 대한 예, 공유가 될까요?감사합니다.

 
NCO 테이블은 사실 어큐뮤레이터를 및 조회

이런 어큐뮤레이터를을 실현할 수

프로세스 (CLK) 시작
그때면 rising_edge은 (CLK)
입력 ACC (23 downto 0) <= ACC (23 downto 0) ;
끝날 경우, 최종 처리;

그럼, 이렇게 조회 테이블을 해결할 수 있습니다

프로세스 (CLK) 시작
그때면 rising_edge은 (CLK)
nco_out (7 downto 0) <= rom은 (conv_integer (ACC (23 downto 14));
끝날 경우, 최종 처리;

신호 "ROM이"파형은 조회 테이블, 사인 또는 코사인의 그것이다.당신은 MATLAB을 사용하여 사인파 파형을 생성할 수 있습니다 :

단계 = 1 / 1024;
t = 0 : 단계 : 1 단계;
* 파이도 * t 사인 = 죄 (2);

 
코드 가서 검색 codesearch.google.com 및.난 OptIn 검색 고급 가지고있어 코드를에서 NCO의 fot 언어 코드를 선택 할 수 there.You 축압기, LUT으로부터

 
난 날 수있는 도움을 누가 사용 CORDIC 이론이 필요 방법? 감사합니다 ...등록일 분 후에 11 :도와주세요 ....

 
nardo520, 여기 CORDIC 정보에 대한 몇 가지 있습니다 :
http://www.andraka.com/cordic.htm

 
Renjith 작성 :

안녕 보안관,

NCO 디자인은 단지 2 주요 블록을 가지고있어.

위상 어큐뮤레이터를는 롬 LUT () 사인과 뼈가의 위상 각도를 저장할 수 있습니다.

난 NCO 설계 문서를 첨부했습니다, 이것은 블록 제가 위에서 언급한에 대한 자세한 설명을 제공합니다.

희망이 도움이
 
Cordic는 LUT가 없습니다.가치는 교대로 계산되며 추가합니다.

당신의 예제를 볼 수있는 몇 가지 cordic

http://www.dossmatik.de/vhdl.html

 

Welcome to EDABoard.com

Sponsor

Back
Top