개념


Big은 사람, Little은 컴퓨터로 생각. 이유는 당연히 컴퓨터는 사람이 만들었으니깐.


Big -> 사람

Little -> 컴퓨터


데이터를 읽어 올 때, Big endian 방식으로 저장된 data는 사람이 읽는 방식과 동일하게 읽혀지고 Little endian 방식은 사람이 읽는 것과 반대로 읽혀진다.



데이터를 저장할 때, Big endian 방식은 높은 주소에서부터 8bit 씩 입력이 된다. 반대로 Little endian 방식은 낮은 주소에서부터 8bit 씩 입력이 된다.




Example


987654321이라는 데이터를 register에 저장할 때. 


- Big endian 방식

ㄱ. 9 87 65 43 21 : 8bit 씩 데이터를 자르고


ㄴ. 4  3  2  1  0 : 높은 주소 (4)부터 데이터가 입력된다. 


ㄷ. 결과

address = data

4          = 21

3         = 43

2          = 65

1          = 87

0          = 9


-> 데이터를 0번지 주소에서 부터 불러오면 '9 87 65 43 21'이 된다. 이는 사람이 읽는 것과 동일.



- Little endian 방식

ㄱ. 9 87 65 43 21 : 8bit 씩 데이터를 자르고


ㄴ. 0  1  2  3   4 : 낮은 주소 (0)부터 데이터가 입력된다. 


ㄷ. 결과

address = data

0          = 21

1          = 43

2          = 65

3          = 87

4          = 9


-> 데이터를 0번지 주소에서 부터 불러오면 '21 43 65 87 9'이 된다. 이는 사람이 읽는 것과 반대.

'Language > verilog HDL' 카테고리의 다른 글

blocking과 nonblocking 연산자 의미  (0) 2016.11.27
Assignment  (0) 2016.11.23
Gate delay, net delay  (0) 2016.11.23
Gate-level, Dataflow, Behavoral modeling  (0) 2016.11.22
Behavioral, RTL, Gate level  (0) 2016.11.22
Posted by 나무길 :

PSD sensor noise



PSD sensor를 한 개만 사용하면 noise 없이 잘 사용된다(150cm 까지 측정 가능한 PSD sensor는 한 개만 사용해도 noise가 심하다). 하지만 여러 개를 사용하게 되면 noise가 심하기 때문에 Bypass filter와 전원분리를 해야 한다.



바이패스 캐패시터(Bypass Capacitor)란?



파란 화살표 부분에서 교류(ac)성분은 GND를 통해 빠져 나가고(bypass) 직류(dc) 성분만 남는다. BYPASS는 어떤 신호를 지나가게 한다는 의미, 주로 전원 line과 GND 사이에 붙여 전원에 실린 고주파 노이즈를 제거하여 직류 안정을 위해 사용.


 logic IC의 신호가 H -> L, L -> H로 천이 될 때 발생하는 스파크성 noise를 제거한다. 또한 RS232, 프린터 포트 등의 출력 단에도 적은 용량의 콘덴서를 붙여 필요 없는 고파 성분을 제거한다.


* 보통 104는 바이패스용으로 사용, 100uF/25V 전해 콘덴서는 필터용으로 사용.

1. 바이패스용은 IC마다 전원단자에 사용(반드시 세라믹 사용, 되도록 smd type 권장)

2. 필터용은 전원 초입(정류 회로 혹은 DC 공급단자)에 붙이는 것이 바람직하다.


* 커플링 캐패시터

 바이패스나 커플링은 동일한 커패시터라고 할 수 있고, 다만 용도가 다르게 사용하는 것이라고 할 수 있다.

- 바이패스 : 특정 주파수에 공진, 그 주파수의 노이즈 성분을 GND로 흘리거나 특정 주파수 성분만 다음 블록으로 흘려주는 역할

- 커플링 : 주로 한단과 다른 단을 결합시켜주는 역할. 각 단에는 보통 dc bias가 걸려 있어서 다른단의 dc 특성에 영향을 주지 않고 결합시켜 주기 위하여 dc는 차단하고 신호 성분만 다음단으로 연결시켜주는 역할.



출처 : http://ysdragon.tistory.com/23

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

motor 와 battery 선정  (0) 2016.08.24
STM32F103CB 외장 ADC 사용하기 (MCP3204, SPI 통신) (1)  (0) 2016.08.11
Posted by 나무길 :

battery 선정



 모터의 노이즈와 PSD sensor 노이즈 때문에 전원을 분리 시켜서 두 개 battery가 필요하다. 대회에서 경기 시간은 최대 2분이다. 최소 2분 동안 씨름 로봇을 돌릴 수 있는 배터리 선정, 하지만 배터리는 충전량이 낮아지면 전압이 떨어지기 때문에 10분 정도 씨름 로봇을 돌릴 수 있는 battery 선정.



 전원부에는 들어가는 전류


- IR sensor datasheet


 Foward Voltage 가 100mA 일때 일반적으로 .1.35v, 최대 1.7v 사용된다. MAXIMUM RATINGS를 보면 100mA(DC 일때)는 최고 전류이다. 나는 최대 전류를 사용하지 않고 아래와 같은 회로 구성으로 적당한 전류를 사용.

 

 전류는 아래와 같은 회로에서 저항에 걸리는 전압을 측정하고 저항으로 나누어주면 구할 수 있다.

 Vcc : 5.2v, R1 : 100옴


저항에 걸리는 전압 : (발광 led 1.35v로 생각) 5.2v - 1.35 = 3.85v.


흐르는 전류 : 3.85/100 = 0.0385A.


발광 led 8개 사용하므로 0.0385 * 8 = 308mA

 

- 발광 LED 이외에는 그다지 많이 사용하는 것이 없으므로 MCU와 고휘도 LED를 생각해서 최대로 사용한다고 해도 500mA를 넘지 않는다.


스카이 홀릭 7.4v, 620mAh 사용


MCU 상태 최대 가정. 지속적으로 500mA를 사용. 위 배터리 사용시 얼마나 사용 가능한지 계산. 620/500 = 1.24


시간을 분단위로 바꿔서 계산하면 60 * 1.24 = 74.4분




motor와 PSD sensor battery


- motor datasheet


 정격 전류는 530mA 이고 최대 2.2A가 흐른다. 평균적으로 1A 흐른다고 가정. motor 두 개 사용하므로 2A흐름.



- PSD sensor datasheet



평균적 33mA 사용. PSD sensor 6개 사용하므로 33 * 6 = 198mA


스카이 홀릭 11.1v 620mAh 사용.


motor x2 + PSD x6 = 2198mA.


620 / 2198 = 0.282


시간을 분단위로 바꿔서 계산하면 60 * 0.282 = 17분



결론적으로 둘 다 2분은 충분히 사용하고도 남는다.

Posted by 나무길 :