Don't think! Just do it!

종합 IT 기술 정체성 카오스 블로그! 이... 이곳은 어디지?

임베디드 소프트웨어/Protocol 7

USB.04

USB를 해 봅시다. 벌써 USB 네번째 입니다. 저번 시간까지는 Device의 프로토콜 중 초기화 부분을 봤었고 이번 시간에는 실제로 이런 통신이 이루어 지는지 확인해 본다고 했습니다. 제가 사용할 MCU도 언급을 했었죠~ CC2540입니다. 블루투스 로우 에너지 용으로 출시된 SOC인데 USB가 내장되어 있습니다. 그럼 시작해 볼까여? 초기화 과정의 시작은 USB 버스를 Reset시킨다고 했습니다. Reset은 10ms 정도 Low로 만들어 주면 디바이스가 알아먹어야 하는데 CC2540은 USB 리셋이 걸리면 인터럽트가 걸리게 되어 있네요. (CC2540의 USB 기능은 따로 언급하지 않겠습니다. USB만 신경써도 산더미같은데 MCU까지 하려면 늙고 병듭니다.) 그래서 실제로 USB를 꽂았을 때 버스..

USB.03

USB를 해 봅시다. USB 세번째 입니다. 저번 시간까지는 기본적인 USB의 통신 프로토콜에 대해 공부했습니다. 오늘 원래 기본적인 소프트웨어 구조체나 함수를 정의해보려고 했으나 집에서 조금 더 문서를 보니깐 산넘어 산입니다. ㅋㅋ 그래서 이번 시간에는 천천히 어떤 플로우로 통신이 되는지 살펴보고 Device 측면에서의 초기화가 되는 과정을 공부하려고 합니다. 자 스타스~ 자 USB Device가 있습니다. 컴퓨터에 연결하면 컴퓨터는 바로 인식하죠? 이 때 어떤 과정을 거치는지 살펴봅시다. USB는 초기화의 과정을 몇개의 State를 사용해 표시합니다. 아래 도표를 보시면 그 상태와 순서가 나열되어 있습니다. 각 State는 위 도표에 있는 것처럼 Attached , Powered , Default ,..

USB.02

USB를 해 봅시다. 다들 즐거운 명절 보내셨으리라 생각됩니다. 엔지니어 분들은 당분 섭취를 송편으로 많이 하셨을테고 ㅋㅋㅋ 대다수의 엔지니어 분들이 머리회전을 위해 단 음식을 많이 먹어서 비만과 싸움중인 것으로 알고 있습니다. 당분이 없으면 흡사 좀비와 같은 모양새를 면치 못하죠. ㅋㅋ 전 단 것을 별로 좋아하지 않아서 과자같은 건 거의 먹지 않습니다. 그래서 하루에 다방커피를 12잔씩...... 스트레스로 인한 담배를 두갑씩...... 일주일에 3일 정도 폭음을...... 으...... 하지만 저세상가기 전에 조금이나마 우리나라 엔지니어들을 위한 글을 조금 더 쓰고 가도록 하겠습니다. ㅋㅋ 주절거리다 보니 쓸데없는 내용이 한문단이네요;;; 자 USB 두 번째입니다. 첫 번째는 USB 프로토콜에 대해 ..

USB.01

USB를 해 봅시다. DMX에서 갑자기 USB로 점프하려니 ㅋ 뭔가 언벨런스한 면이 있지만... 그래도 제가 실제로 진행하는 것을 올리는 것이 저에게도 여러 엔지니어 분들에게도 도움이 되지 않을까 싶어서 글을 작성합니다. 목표는 USB MSD를 표준 문서에만 의존해 구현하는 것입니다. 성공과 실패는 의미가 없으니 마음에 두지 않겠습니다. USB 참 많이 쓰이죠. 하지만 임베디드에서 접근하기가 상당히 까다로웠습니다. USB 전용 IC가 많이 나와 있기도 했지만 이미 윈도우 드라이버가 있거나 아니면 USB to RS232 아니면 MSD(Mass storage device)처럼 표준을 사용하는 IC정도였죠. 관련 서적도 국내에서는 턱없이 부족합니다. 물론 표준 문서는 사이트에서 얼마든지 구할 수 있습니다. 다..

DMX-3

드디어 DMX512 세번째입니다. 저번 시간까지는 대략적인 특징과 하드웨어 구성(회로도)에 대해서 보았는데요 -> 2012/08/31 - [Protocol] - DMX512-2 이번 시간에는 DMX 프로토콜에 대해서 더 상세히 살펴본 후 소프트웨어 뼈대까지 나아가 봅시다 위 그림이 DMX512의 타이밍 차트입니다. 1990 이라고 씌여 있는 것을 보니 씁쓸하군요. 암튼 DMX512는 크게 보자면 3 파트로 이루어져 있습니다. Break, Start Code, 512 Frame입니다. 그 외 기타 MAB나 MTBP와 같은 것은 다음 싸이트를 참고하시면 될 것 같습니다. 1. 먼저 Break는 Frame과 Frame을 구분하기 위한 것이고 우리는 이 Break를 이용해서 Data가 시작한다는 것을 알 수 있..

DMX512-2

DMX512 두 번째 입니다. 직장일을 병행하다 보니 생각보다 글 쓰기가 쉽지가 않네요. 일단 아닥하고 시작! 하려니 생각 정리도 잘 안되네요. ^^;; 아무튼 시작! DMX512에 관해 대략적인 면을 살펴보았는데요. -> 2012/08/29 - [Protocol] - DMX512 오늘은 회로도를 완성해볼까 합니다. 일단 준비물이 필요한데 사용하려는 MCU와 75176의 데이터시트입니다. MCU는 8051, AVR, PIC, Cortex M0, Cortex M3 등등 종류야 다양하죠? 요세는 M4도 나오고 있습니다. 개인적으로는 8비트 8051, AVR과 PIC을 사용하는 것을 전혀 권장하지 않습니다. 가성비가 너무 좋지 않습니다. (MCU 고르는 방법은 따로 포스팅하겠습니다.) 제가 선택한 MCU는 S..

DMX512

첫 번째 시작은 DMX512로 할까 합니다. 생소하신 분들도 있겠지만 내용이 간단하고 구현이 매우 쉽습니다. 그럼 시작~ 여러분들이 많이 가시는 클럽 천장에 붙어 있는 수많은 싸이키(?)가 바로 DMX512 프로토콜을 사용합니다. 무대 조명에 많이 사용하는데요. 간단하게 특징을 보면 1. RS-485 인터페이스를 사용한다. 2. 512개의 주소를 가진다. 즉, 512개 주소의 장비들을 컨트롤할 수 있다. 또한 장비의 주소는 겹쳐도 상관없다. 3. 연결이 매우 간단하고 단방향이다. 이 정도 입니다. 표준은 "E1.11 - 2008, USITT DMX512-A" 이지만 40$... ㅠㅠ 뭐 싸다면 싸지만... 어쨌든! 일단 RS-485 인터페이스를 사용하기 때문에 하드웨어는 간단하겠죠? DMX 표준에도 친절..

반응형