2014/11/18

STM32에 MCX314AL을 붙여보자 -- 1. FSMC로 연결하자

NOVA electronics의 모션 컨트롤러인 MCX314AL을 사용해보자.

Ali에서 검색해보니까 겁나 비싼 IC네...123달러다.

내가 이걸 왜... 걍 FPGA에 로직 올려서 팔아도 이거보다 싸겠는데...




어쨋건간에 ADDR[3:0], DATA[15:0], CSN, WRN, RDN 핀을 STM32의 FSMC에 연결했다.

H16L8 핀은 High로 연결하면 16비트, Low로 연결하면 8비트란 뜻이다. 난 16비트로 간다.

그 외 INTN, EXPLSN, RESETN은 적당히 연결해뒀다.



STM32CubeMX에서 설정한건데 STM32에서 FSMC를 써보는건 처음이라 이게 맞는지 모르겠네...


셋업/홀드 타임 설정하는 부분같은데 일단 기본값으로 가보자. 나중에 오실로 보면서 수정하든가 하고...

STM32CubeMX에서 Generate Code 하면 프로젝트를 생성해준다.

편하고 조으네..



생성된 프로젝트의 main 함수 내부에 FSMC 초기화 함수가 포함되어 있다.



아랫부분의 타이밍 설정 부분만 요리조리 손보면 금방 돌려볼 수 있을거 같은데...


이게 FSMC에 연결되는 외부 디바이스의 메모리 맵이다. MCX314AL은 NOR/PSRAM/SRAM 타입으로 연결되니까 Bank1 부분이지.


BANK1은 또 4개의 부분으로 나뉜다. STM32CubeMX의 FSMC설정 부분의 Chip Select 항목을 보면 NE1~NE4까지 설정할 수 있게 되어있다.

NE1 : 0x6000 0000 ~ 0x63ff ffff
NE2 : 0x6400 0000 ~ 0x67ff ffff
NE3 : 0x6800 0000 ~ 0x6bff ffff
NE4 : 0x6c00 0000 ~ 0x6fff fffff

이렇게 메모리 맵이 구성된다 이거지.

난 MCX314AL의 CE를 NE1에 연결했으니까 0x6000 0000를 베이스 어드레스로 사용하면 된다.

물론 첨 해보는거니까 내 생각일 뿐이다.

프로젝트도 생성했고 메모리 구조도 확인했으니 프로그램 짜서 함 돌리보자.

댓글 없음:

댓글 쓰기