장치 선택


STM32 내장 ADC 속도와 외장 ADC(MCP3204/3208) 속도를 비교하여 더 빠른 장치를 선택한다.



* ADC conversion time 계산 방법 : sample clock 과 conversion clock이 먼저 정해지고 ADC clock 에 의해서 총 conversion time이 정해진다. 아래 STM32에서 Time conversion 구하는 과정을 보여주고 있다.


ADC samples the input voltage for a number of ADC_CLK cycles which can be modified using the SMP[2:0] bits in the ADC_SMPR1 and ADC_SMPR2 registers. Each channel can be sampled with a different sample time. The total conversion time is calculated as follows: Tconv = Sampling time + 12.5 cycles


Example:

With an ADCCLK = 14 MHz and a sampling time of 1.5 cycles:

Tconv = 1.5 + 12.5 = 14 cycles = 1 μs


1. STM32F103CB ADC conversion time



- conversion time : 1 us

- stm32f10x의 ADCCLK : 최대 14MHz

- 총 conversion clock : 14 cycles (sampling clock + conversion clock)

sampling clock은 1.5cycles,  conversion clock은 12.5 cycles. (conversion clock은 ADC_SMPR register를 통해서 바꿀수 있다.)


* systemclock이 56 MHz 에서 72 MHz로 늘었을 때 ADC conversion time이 증가하는 이유는 72 MHz로는 MAX ADCCLK을 만들 수 없기 때문이다. 그나마 prescaler로 제일 가깝게 접근할 수 있는 것은 72/6 MHz = 12 MHz 이다. Tconv = 1.5 + 12.5 = 14 cycles, 14 cycle / 12MHz = 1.66666 us. 따라서 systemclock이 늘어났지만 ADC conversion time은 증가하게 된다.




2. MCP3204/3208 ADC conversion time



- SPS(sampling per second = sampling rate)는 sampling 비율을 말하는 것으로 conversion timing의 척도가 된다.




- conversion time : 6.75 us

- MCP 3204/3208 clock : 2MHz (Vdd = 5V)

- 총 conversion clock : 13.5 clock (sample clock + conversion clock)

Analog input sample time : typically 1.5 cycles, conversion time : 12 cycles





3. 사용할 analog device

(1) PSD sensor

 - 적외선 거리측정 센서 프로 (20~150cm) [LK-DMS-PRO]



거리 측정 시간이 최소 28.7ms, 최대 47.9ms. 위 두 device 중 아무거나 선택해도 오버스팩.


굳이 오버스팩을 사용할 필요없으므로 STM32를 사용하고 ADCCLK을 매우 낮게 하여 적당한 스팩으로 값 받기


(2) IR sensor

IR sensor는 거의 analog 처럼 값이 나오는 것 같다. 즉 ADC conversion이 빠르면 빠를 수록 좋을 듯.


빠를 수록 좋기 때문에 STM32를 사용하고 ADCCLK은 최대로 놓고 DMA를 통해서 값 받기

'project > 씨름로봇v2' 카테고리의 다른 글

PSD sensor 6개 사용시 노이즈 문제  (0) 2016.08.24
motor 와 battery 선정  (0) 2016.08.24
Posted by 나무길 :