본문 바로가기
임베디드.일렉트로닉스/STM32

STM32L4x6. SPI

by i.got.it 2016. 7. 15.
 

개요. STM32L4x6 SPI

 


3개의 SPI : SPI1, SPI2, SPI3.

SPI 최대 클럭 : fpclk / 2. 80MHz 시스템 클럭인경우 최대 40MHz.가능.

4bit~16bit data size

NSS pulse mode 가능.

Rx FIFO : 32bit. DMA 가능.

Tx FIFO : 32bit. DMA 가능.

Master or Slave / Multi master mode 가능.


Function Block

MOSI : Master out slave in.

MISO : Master in slave out

SCK : SPI clock out.

NSS : Slave selection pin.설정에 따라 아래와 같은 3개중의 하나로 동작.

1. slave select.

2. synchronize the data frame.

3. detect conflict between multiple masters.


SPI통신 기본 결선방법.



from :  RM0351 STM32L4x6 Reference Manual page 1290~

 



 

 

상세. SPI NSS Pin.

 

핀의 입력/ 출력 설정 가능.
slave mode 인 경우 : NSS 핀을 입력으로 설정하여 상적인 chip select기능으로 사용. master 측에서 CS 출력 신호로 제어.
master mode 인 경우 : NSS 핀을 출력 혹은 입력으로 설정가능.
입력으로 사용하는 경우 : multimaster bus collisiion 방지 용도로 사용하기 위하여.
출력으로 사용하는 경우 : 통상적인 SPI Master 의 chip select 기능임. 
- 단 SPI slave 가 1개일때만 사용가능한것.
- 복수개의 slave를 제어해야하는 경우엔 GPIO 핀 복수개를 chip select 용도로 사용해야함.

Software NSS management
- 레지스터 SPIx_CR1의 SSM bit 값을 1로 한 경우.
- MCU의 SPI가 slave mode 일때만 유의하며, 레지스터 SPIx_CR1의 SSI bit 에 설정된 값으로 slave select 정보핸들링됨.
즉, 외부 SPI Master 의 SPI CS 출력핀을 STM32의 NSS에 연결하지 않고 사용하게 되므로 NSS핀은 다른 용도로 사용가능.

Hardware NSS management
- 레지스터 SPIx_CR1의 SSM bit 값을 0으로 한 경우.
- 세부적으로 레지스터 SPIx_CR1의 SSOE bit 값에 따라 아래와 같이 2가지 다른 작동을 한다.
(1) SSOE = 1 : NSS output enable. 
MCU SPI 가 master 일때만 사용되는 것이며, NSS 핀의 출력이 하드웨어적으로 1/0 제어된다.
레지스터 SPIx_CR2의 NSSP bit = 0인 경우, 레지스터 SPIx_CR1의 SPE bit = 1 이 되면 NSS 출력값이 0으로 되고, SPE bit  값이 0이되면 NSS pin 에 1출력한다. 즉, SPI enable 되어 있는 중에는 NSS pin 에 0 이출력되고, SPI eidable 되면 NSS pin 에 1 출력된다.
레지스터 SPIx_CR2의 NSSP bit = 1인 경우, NSS출력에는 매번의 통신마다 펄스타입으로 출력하게된다.
(2) SSOE = 0 : NSS outpu disable.
bus 상에 master가 여러개 있는  bus(즉, multimaster 환경) 에 stm32 spi가 연결되는 경우에 사용한다.



 
 


 




 본 글 포함된 상위 정리장소

 http://igotit.tistory.com/244 


 

///814.

'임베디드.일렉트로닉스 > STM32' 카테고리의 다른 글

WiFi module. SN820X, BCM43362+STM32F2xx  (0) 2017.01.11
STM32. ST-LINK Utility.  (0) 2016.08.19
STM32. SPI 인터럽트 방식.  (0) 2016.07.15
STM32. GPIO 속도 향상.  (0) 2016.07.15
STM32. UART 특성 시험.  (0) 2016.06.28

댓글



 

비트코인




암호화폐       외환/나스닥/골드       암호화폐/외환/나스닥/골드 암호화폐/외환/나스닥/골드   암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)     롤오버 이자 없는 스왑프리계좌
( 스왑프리 암호화폐도 거래 가능 )    
MT4, MT5 , cTrader 모두 지원     FTMO 계좌 매매운용. MT4,MT5