Search

'Mac Address IC'에 해당되는 글 2건

  1. 2015.04.09 IoT Project 3. 회로설계 - B (1)
  2. 2015.02.20 IoT Project 2. 소자 선정.

IoT Project 3. 회로 설계 - B


이번 시간은 간단하게나마 회로도를 뜯어 보겠습니다.


음 거의 레퍼런스 회로도를 참고한 것이니 레퍼런스와 다른 음... 일반적인 내용이 되겠네요.


그럼 시작합니다.



자 첫번째 장은 MCU 파트 입니다. MCU의 최소 구동? 이랄까? ㅎㅎ


보통 MCU를 돌리기 위해서는 당연하지만 MCU가 필요하구요. 중앙에 있죠? 그리고 클럭(clock)이 필요하겠죠?


거의 모든 MCU는 클럭이 필요합니다. 왜냐면 MCU를 구성하는 게이트들은 상태 변화에 따라서만 작동하니까요.


<Crystal Circuit>


즉, low->high 나 high->low로 변하는 순간에 작동합니다. 혹시나 모르시는 분들이 계실까봐 말씀드립니다.


그래서 MCU 옆에 크리스탈 이라는 것이 붙어있죠. 클럭을 발생시키는 아이는 아니고 기계식 필터라고 보시면 됩니다.


일반적으로 크리스탈이 사용되고 용도에 따라 레조네이터나 OSC라고 부르는 능동 발진기를 사용할 때도 있습니다.


<stm32f103vc datasheet 16 page>


위의 Data sheet를 보시면 STM32F103 시리즈의 경우 4~16MHz 의 크리스탈을 붙일 수 있도록 되어 있습니다.


그리고 PLL을 통해 크리스탈 주파수를 뻥튀기 해서 사용합니다. 너무 깊게는 들어가지 마시고 ㅎㅎ


이런게 있다 정도로만 여기시면 됩니다.


저는 8MHz짜리 크리스탈을 붙였습니다. 그리고 PLL설정을 6배로 하면 72MHz를 사용할 수 있겠죠? 


그리고 Pull up된 리셋 버튼이 있고 Boot0 버튼도 있습니다.


BOOT0 핀은 STM MCU에서는 USART등을 이용해 프로그래밍 하기 위한 용도의 핀입니다.


하지만 제가 설계한 보드에서 Boot0 버튼은 옵션일 뿐입니다. USB로 프로그래밍 할 거니까요.


혹시 몰라서 넣어놨을 뿐입니다.


그리고 맨 위의 회로도에서 우측 상단을 보시면 DECOUPLING CAP 이라고 씌여진 부분이 있습니다.


<Decoupling capacitor>


이건 버릇처럼 달아주는 노이즈 제거용 Capacitor입니다.


MCU의 VCC 핀에 최대한 가깝게 달아줍니다.


하지만 표현이 위와 같은 것은 귀찮기 때문이죠 하하하하.


그런데 저렇게 그려 놓으면 가끔씩 정말 가끔씩


초보 아트웍 디자이너님들은 정말 일렬 쪼로록 배치하는 경우도 있습니다. -_-;;;; 조심조심;;;


<MCU VDD Circuit>


그리고 꼭 알아두셔야 할 것이 있습니다. 전원인데요. VDD 혹은 VCC라고들 부릅니다.


뭐 평소에 문제는 없습니다. 하지만 ADC같은 아날로그 기능을 사용할 때 AVDD를 VDD와 그냥 묶어 쓰시면


노이즈가 굉장히 많이 발생합니다. 그러니 전압이 같더라도 AVDD는 비드를 통해 VDD와 연결하시는 것이 좋습니다.



그 왜 나머지 부분은 옵션이라고 생각하셔도 될 정도입니다. 설명드리자면...


1. SD CARD

2. EEPROM With Mac address

3. Status LED


위 중 알아두시면 좋은 것은 Mac address가 담긴 EEPROM(IC)를 판매한다라는 점과

(Mac address는 일반인이 못산다고 생각하시면 마음이 편합니다.)


SD CARD Interface로 SPI(가장 대중적임)를 사용하지 않고 SDIO(MCU 지원 기능)를 사용한다는 점 정도입니다.


음 최대한 쉽게 작성하려고 했는데 이해하셨을 지 모르겠네요. ㅎㅎ


하지만 이해 못하셔도 상관없습니다. 아 그냥 이런게 있구나~ 이런 정도면 충분합니다.



한달 반 만 정도에 완료한다고 했는데 ㅠㅠ 죄송스럽네요. 좀 더 열심히 글을 쓰도록 하겠습니다.


하지만 저번 시간에 말씀드렸다시피 실제로는 샘플 PCB도 왔고 납땜까지 일부 완료했습니다.


현재는 일부 IC들의 배송을 기다리는 중입니다.


저는 제가 예상한 것보다 훨씬 게으르네요. ㅠㅠ;; 죄송합니다.


다음 시간으로 회로 설계는 마무리 짓도록 하겠습니다.


그럼 다음 시간에 뵈요~


-Dwarp-

저작자 표시
신고

'IoT - Internet Of Things' 카테고리의 다른 글

IoT Project 3. 회로설계 - D  (0) 2015.08.04
IoT Project 3. 회로설계 - C  (0) 2015.07.13
IoT Project 3. 회로설계 - B  (1) 2015.04.09
IoT Project 3. 회로설계 - A  (0) 2015.04.02
IoT Project 2. 소자 선정.  (0) 2015.02.20
IoT Project 1. 컨셉 작업.  (0) 2015.02.20

IoT Project 2. 소자 선정.

IoT - Internet Of Things 2015.02.20 22:41 Posted by Dwarp


IoT Project 2. 소자 선정



주요 소자를 선정하는 시간입니다. 보통은 컨셉 작업 단계에서 거의 선정되는데요.


왜 그런 소자를 선택했는지? 정도가 될 것 같습니다.


그럼 바로 시작하죠.


저번 컨셉 작업 단계에서 몇 가지 기준을 정했습니다.



우선 필수 요소인 Main MCU는 우리 경준씨가 바라던데로 Cortex M3로 결정했습니다.

(요세 Cortex M4도 꽤 많이 나오는데 마우져나 디지키에서 구매가 불가능하더라구요. 국가 정책이라나 뭐라나.)


Cortex M3는 단지 ARM에서 설계한 코어로 해당 설계를 사서 여러 제조사가 주변기기(Peripheral)를 붙여 IC로 만들죠.


제조사는 굉장히 많이 있습니다. 또 Ethernet Interface에 따라 다르게 적용될 수도 있으니 일단 넘어가죠.



그러면 Ethernet Interface용도의 소자를 선택해 볼까요? 어쩌면 이게 핵심입니다. ㅎ


MCU에 MAC+PHY가 포함된 방식도 있었고, MCU에 MAC만 포함되어 PHY IC를 외부에 붙이는 방법도 있었습니다.


또 MAC+PHY+TCP/IP IC를 사용하는 방법도 말씀드렸었죠?


전 MAC+PHY+TCP/IP 칩인 W5500을 선택했습니다. 왜 그랬을까요?


<W5500 Hardwired TCP/IP Ethernet IC>



Ethernet Interface 소자 선정에 우선적으로 고려했던 사항은 성과 획득 시간이었습니다.


평소 시간이 부족한 경준씨를 위해 저는 성과 획득 시간이 30분을 초과하면 안된다는 규칙을 세웠습니다.


하지만 저는 소프트웨어 스택을 경준씨 수준에 맞추어 설명하는 과정을 절대 30분 안에 마무리할 자신이 없습니다.


LwIP나 uIP 다운받고 압축 풀고 프로젝트에 포함시키고 library path 추가하고 MCU에 맞추어 포팅하고 Ping이라도 받을 수 있는


Sample Code를 프로그램하는데 직접해도 30분은 커녕 2-3시간은 족히 걸립니다.


하물며 경준씨는 해당 경험이 전무한데 이런 것을 요구한다는 것 자체가 말이 안된다고 봅니다.


처음부터 지루하고 뭐하는 건지도 모르는 것을 하게 되는 거죠. 분명 흥미는 반감하게 될겁니다.


하지만 W5500을 사용하면 Main MCU와는 SPI로 통신하도록 되어 있으니 어려운 설명은 필요없습니다.


Main MCU의 SPI를 초기화 시키고 Wiznet에서 제공하는 라이브러리를 사용하면 금세 샘플 코드가 완성됩니다.


이런 과정이라면 충분히 30분 내외로 읽고 실습 할 수 있는 문서를 제공할 수 있으며


이 프로젝트의 목적인 "IoT의 기술적 접근성이 좋아졌다는 증명"에도 다가갈 수 있습니다.


가격적인 측면을 살펴본다 해도 3500원으로 비싸지 않다고 판단했습니다. 보통 PHY IC들이 1~2,000원 정도 하니까요.


<Microchip 사의 RMII Ethernet Interface IC>


PIC18F97J60 같은 Ethernet이 포함된 MCU도 있긴 하지만 글쎄요...


프로젝트의 목적으로도 이 글의 목적으로도 부합되지 않는다 판단됩니다.



- 삼천포 -


사실 제 이야기를 해보자면 첫 시간에 말씀드렸다시피 LM8962나 PIC18F97J60 같은 MCU+MAC+PHY IC를 사용해 보았습니다.


제 입장에서는 MCU에 MAC만 붙어 있어도 감지덕진데... MAC + PHY라니요. 믿을 만한 회사에 예제는 당연하구요.


그래서 LM8962로 처음 프로젝트를 할 때는 신기했습니다. 아무것도 없이 MCU에 RJ-45만 있으며 Ethernet이 되었으니까요.


하지만 MCU가 개판이라 고생을 엄청했습니다. 근데 조금 있다가 단종까지 해버리더군요. ㅠㅠ


그 고생을 해가며 양산까지 했건만...... 정말 회사 목 내놓고 다녔습니다.


그 이후로 TI의 Stellaris는 쳐다보지도 않습니다. 신상이 무조건 좋은게 아니라는 교훈을... 훌쩍.. ㅠㅠ


또 PIC18F97J60의 경우도 Microchip에서 제공하는 TCP/IP Stack을 사용해 공유기에 붙이고 IP도 할당받고 해보았습니다.


하지만 TCP/IP가 Microchip의 제공이고 10Mbps만 지원했으며 MCU가 종속된다는 점에서 찜찜했습니다.


또 그에 따라 뒤쳐질것이라는 느낌도 강하게 들었기 때문에 더 이상 진행하지 않았습니다.

(그리고 Microchip의 MPLAB은 개인적으로 최악의 IDE 툴이라고 생각합니다.)


- 끝 -



따라서 결론은 주요 소자는 Cortex M3 + W5500으로 진행하고자 합니다.


추가 비용은 없다고 했으니 지켜야겠죠? 따라서 전원도 Micro USB Connector로만 공급합니다.


설마 집에 Micro USB 충전기 없는 집 없겠죠? -_- 아이폰을 제외한 모든 스마트폰 충전기 말하는 겁니다.


혹시 모르니 아래쪽에 사진을....



  

<Micro USB Connector Female / Male>


그리고 추가 비용도 없다고 했으니 별도의 JTAG을 구매할 필요가 없도록 JTAG을 내장하도록 합니다.


ISP도 생각해 보았으나 저의 경우 디버그가 안되면 상당히 괴롭습니다.


암튼 이런 용도의 IC가 FTDI 사의 FT2232입니다. USB로 JTAG 프로그램 및 디버깅을 할 수 있습니다.


개당 가격이 8000원 정도로 꽤 비싸긴 하지만 간편하게 프로그램과 디버깅을 할 수 있으니 교육용으로는 딱! 이라고 생각합니다.


FT2232D 에는 JTAG과 더불어 한 채널의 UART를 제공하므로 우리 경준씨에게 친숙하리라 판단이 됩니다.


환경은 교육용 보드 하나 USB 케이블 하나 끝입니다. 아 IoT니까 LAN선이 더 있어야 겠네요.



마지막으로 추가하려고 생각하는 것은 Mac address IC입니다. 원래 Ethernet 장비 모두는 고유의 Mac 주소를 가지고 하죠.


Mac 주소는 IEEE에서 판매합니다. 4096개에 550불이고 1670만개에 1600불에 판매합니다. ㅎ 못사겠죠?


이런 경우에 사용하라고 Microchip사에서 Mac 주소가 담긴 eeprom을 판매합니다. 아래는 해당 제품 링크입니다.


LINK -> http://www.microchip.com/pagehandler/en-us/products/memory/serialEEPROM/mac/MAC.html


<Microchip사의 MAC Address EEPROMs page>


가격도 몇 백원 수준으로 부담되지 않으니 혹시나 MAC 주소 때문에 고민하시는 분들은 참고하시기 바랍니다.



휴.. 그럼 주요 IC들은 다 된 것 같습니다. 아 아직 MCU를 정하지 않았군요!! 네! 알고 있습니다.


사실 아직 진짜 못 정했거든요. STM F1 스트림 중 메모리나 페키지 사이즈로 고민 중입니다.



이 밖에 전원쪽 파트나 Reset 버튼, Status LED는 따로 언급하지 않겠습니다.


머리만 아프니까요. ㅎㅎ 자세한 건 회로 작성을 하며 언급하도록 하겠습니다.


그리고 한가지 더~ IDE를 이야기 하지 않았는데 IDE는 CoIDE라는 Eclipse 기반의 IDE를 사용하도록 하겠습니다.


하지만 CoIDE를 여기서 소개하면 글이 너무 길어지므로 OpenSource 카테고리에 포스팅하고 링크 올리겠습니다.

(CoIDE가 Free 거든요.)


CoIDE 소개 Link -> http://engschool.tistory.com/entry/CoIDE


남은 명절 알차게 보내세요~. 다음 시간에 뵈여~


-Dwarp-



저작자 표시
신고