2014/02/17

Nios II 시작해보자-4(SPI-Hardware)

기존 NIOS 코어에는 onchip_memory와 uart만 붙어있다.

여기에 SPI를 추가해서 써먹어 보자.

SPI 마스터는 NIOS, SPI 슬레이브는 ADS7961S ADC.

16채널, 8비트, 1MSPS ADC이고 당연히도 SPI 인터페이스다.


흠... 일단 qsys로 기존 시스템을 열어보자.

쪼기 SPI 보이네. 떠블 클릭


다음 메뉴들을 선택해서 SPI를 설정해야된다.

Type : Master/Slave
Num of select(SS_n) : [32:1]
SPI clock : 128000Hz
Width : [32:8]bits
Shift direction : MSB/LSB first
Clock polarity : 0/1
Clock phase : 0/1


난 이렇게 설정했다.

Type : Master                    <-- p="">Num of select(SS_n) : 1     <-- p="">
SPI clock : 128000Hz          <-- p="">
Width : 16bits                     <-- 16bit="" adc="" p="" spi="">
Shift direction : MSB first    <-- adc="" first="" msb="" p="" spi="">
Clock polarity : 0                <-- p="">
Clock phase : 0                  <-- p="">

클락 설정 설명 그림
이 중 맞는걸 쓰면 된다.

그리고 finish 눌러서 추가해주자.



System Contents 화면 상에서 clk, reset, spi_control_port 연결하고 Export 클릭해주고 IRQ도 연결해준다.
그다음 System 메뉴의 Assign Base Addresses와 Assign Interrupt Numbers를 클릭해주면 SPI 관련 설정은 끝난다.

그리고 Save As에서 nios_v003으로 저장한다. 기존 시스템은 건들지 말고 새로 저장해서 하자. 나중에 눈물 흘리지 말고

그다음 할 일은 Generation이지.

좀 시간이 걸린다만 에러없이 생성되면 아주 땡큐...난 에러 없이 생성되었다.


자...그럼 쿼터스에서 새로운 프로젝트를 만들어서 bdf 파일을 생성하고 방금 만든 nios_v003 블럭을 꽂아보자.

필요한거 다 연결하면 아마도 이런 모양이것지.

다음은 nios_v003의 qip 파일을 추가할 차례.
Assignments 탭의 Settings를 클릭해서 Files 카테고리로 가면 된다.
File name 항목의 ...을 클릭해서 nios_v003 폴더 내의 synthesis 폴더로 들어가면 nios_v003.qip 파일이 있다. 이거 선택하고 Add.

핀할당만 해주면 되것군.
Save 해주고 Synthesis 한 다음에 핀 할당 해줍시다.
저장한 다음 Start Compilation.

오케. 하드웨어는 만들었다. 다음은 프로그램 함 짜보자.

댓글 없음:

댓글 쓰기