반응형 전체 글340 [생산] PCB란 PCB,Printed Curcuit Board 전자공학에서, 인쇄 회로 기판(印刷回路基板) 혹은, PCB(피시비)는, 기계적 지원에 사용되고 동기판에서 비전도 "기판"으로 습식 식각한 전도선이나, 신호 선을 사용하여 전기적으로 전자 부품을 연결한다. 대체 명칭으로 인쇄 와이어 본딩(PWB)와, 식각 와이어 본딩라고 불린다. 전자 부품이 "부착된" 보드는 인쇄 회로 조립(PCA)이라고도 불리며, 인쇄 회로 기판 조립(PCBA)이라고도 알려져 있다.출처 : 위키 백과 Printed Curcuit Board의 이니셜로서 직역하면 인쇄된 회로판을 뜻한다.쉽게 말해 우리가 주변에서 흔히 볼수 있는 기판들이 PCB이다.전기나 전자회로가 구성될 때 예를 들면 진공관을 사용할 때는 주로 진공관을 소켓에 꼽고 소켓의 다.. 2017. 4. 18. [생산] SMT란 Surface Mount Technology, 표면 실장 기술 아트웍에 이어 샘플 PCB를 제작 후 테스트하여 제품의 프로토타입을 만든다. 이후 오류를 잡아내고 안정화를 거쳐 대량생산을 하게 된다. 이 때 작은 SMD 타입의 반도체 소자를 SMT 기기를 이용하여 대량 제작하는것이 SMT 기술이다. SMT의 가장 큰 특징은 기존의 IMT방식(수삽)이 가지고 있던 단점을 극복하여 양면 실장이 가능하다는 것이다. SMT의 등장 배경은 전자 제품의 Needs에 따라 경쟁력을 갖추기 위하여 1. 소형화 2. 고집적화, 고기능화 3. 고밀도 실장화 3가지 이점을 가진 제품을 추구하는데서 비롯되었다. 표면 실장 공정의 흐름도 SMT 공정의 흐름도는 다음과 같다. 실제로 SMT 발주를 위해 필요한것은 크게 두가지이다... 2017. 4. 18. [Spark] Start 소스 분석 Start 소스 분석 저번에 받은 Spark용 개발환경을 바탕으로 소스분석을 해보겠습니다. 아무래도 같은 STM32 코어를 사용하더라도 모듈마다 주변장치나 구성이 다르기 때문에 동작하는데 조금씩 차이가 있을것입니다. 하지만 같은 코어 기반이므로 동작원리는 거의 비슷하다고 보시면 될것 같습니다. Spark -> Sprak:C -> core-firmware -> src -> startup -> startup_stm32f10x_md.S 로 들어갑니다. .S확장자는 어셈블리어로 작성된 코드입니다.어셈블리어는 컴퓨터 구조시간에 약간 본것 외에는 경험이 없어서 이곳저곳 찾아보면서 분석을 해야했습니다. Reset_Handler: /* Copy the data segment initializers from flash .. 2017. 4. 18. [Spark] 스파크 모듈 소개 STM32를 공부한지는 얼마 안되었지만 이거저거 사고 굽고 태워먹고 하면서 접해본 모듈이 몇가지 되네요 그중에서도 지금 사용하는 모듈은 Paticle의 Spark Photon이라는 모듈인데요사실 이것도 정식명칭인지는 모르겠습니다 맞겠죠. 홈페이지에서 판매중인 모듈들입니다.Core에 SOLD OUT 딱지가 붙어있습니다. 이유는 잘모르겠지만 품절이네요. 사실 저도 이걸 쓰면서 왜 사용하라고 했는지 잘 몰랐으나 오늘 그 기능을 써보니 참 신기했습니다.단순히 와이파이가 내장된 모듈로만 알고 있었으나, 원격으로 High, Low가 조정이 되더라고요. 그럼 긴말 말고 바로 기능에 대해서 설명 드리겠습니다. 앱 설명도 공돌이가 썼나봅니다 먼저, 앞에서 포스팅 했던것과 같이 개발환경을 구축하여 application.c.. 2017. 4. 18. [Spark] 스파크 모듈 개발환경 구축 스파크 모듈 개발 환경 구축 M3가 코어로 사용된 STM32를 기반으로하는 Spark 모듈의 Windows 개발환경 구축에 대해서 알아보도록 하겠습니다.자료는 하단 유튜브의 강의 자료를 기반으로 작성되었습니다.https://www.youtube.com/watch?v=xBCxYbtDbVA 1)폴더 생성 C드라이브에 'SparkCorePrograms'와 'Spark'폴더를 생성합니다.앞으로 다운 받는 Spark 관련 자료들은 해당 폴더들로 이동 할 것입니다.폴더 생성 후 자료를 다운 받기 위하여 Spark 자료들이 있는 github로 이동합니다.https://github.com/spark/firmware#1-download-and-install-dependencies 2)GCC 다운로드 접속한 페이지에서 하.. 2017. 4. 18. [Smartrobot] 아두이노 포팅 오늘은 오로카 강좌용 보드인 STM32- Smartrobot 보드를 이용하여 아두이노 포팅을 해 보았습니다.해당 보드에 대한 핀맵 및 회로도는 아래 링크에 있습니다. http://cafe.naver.com/openrt/1812 - 포팅 - 포팅이란?:이식(移植) 또는 포팅(porting)은 컴퓨터 과학에서 실행 가능한 프로그램이 원래 설계된 바와 다른 컴퓨팅 환경(이를테면 CPU, 운영 체제, 서드 파티 라이브러리 등)에서 동작할 수 있도록 하는 과정을 가리킨다. 이 용어는 소프트웨어나 하드웨어가 다른 환경에서 사용할 수 있게 변경되는 것에도 해당한다. 소스 하나로 여러 플랫폼에서 사용할 수 있는 것을 크로스 플랫폼으로 부른다. 사실 저도 공부한지 얼마 안되어서 포팅이 뭔지 명확하게 개념이 잡혀있지 않습.. 2017. 4. 18. [STM32] 소스에서 메모리 주소 찾기 이번에는 Spark 모듈의 소스를 바탕으로 메모리 주소를 찾는 법을 알아 봅시다.아시다시피 STM32의 외부 장치를 사용하기 위해서는 메모리에 직접 접근하여 레지스터를 세팅하여야 합니다. 그렇다면 메모리에는 어떤식으로 접근해야하고 메모리 주소는 어떻게 찾는지 알아봅시다 일단 stm32f10x.h의 RCC_TypeDef 구조체를 살펴봅시다 위에 나타난 화면이 헤더파일 중 RCC_TypeDef의 구조체 입니다.CR, CFGR등 코어의 레지스터 이름이 많이 보이네요프로젝트에서 Find를 선택한 후 RCC_TypeDef를 키워드로 찾기를 진행합니다. RCC에 대한 define을 찾습니다. RCC_TypeDef 다음 RCC_BASE가 있네요. 이걸 키워드로 Find 하여 다시 거슬러 올라갑시다. RCC_BASE에.. 2017. 4. 18. [STM32] STM32 세미나 STM32 세미나 강좌의 순서 Core 레벨(Cortex)-> CPU 레벨(STM32)-주변장치가 어떻게 연결되어있는가 -> 개발보드-사용법 fetch -> Decode -> excution fetch - 명령을 가지고 오는 행위① PC가 가리키는 주소의 명령어를 가지고 온다② PC의 값이 4증가(명령어 하나가 32비트-4바이트이기 때문에)-> 다음 명령을 가리킨다 Decode - 가져온 명령어를 해석하여 세팅함① 명령어 해석② ARM은 R0에서부터 R15까지 내부 범용 레지스터(레지스터 뱅크)가 존재한다.-> 레지스터끼리 역할을 분담함 excution - 명령어 수행(Data 처리)① Berrel Shift 연산을 진행한다.② ALU 연산을 진행한다. CPU 구조의 변화stored program -> .. 2017. 4. 18. [STM32] GPIO 사용방법 (1) GPIO▶ GPIO는 'General Purpose Input/output'의 약자로써 말그대로 기본적인 입출력을 담당한다.STM32에서는 프로그래밍을 바탕으로 하드웨어적인 입출력을 설정 할 수 있다. 먼저, 미리 작성된 소스를 보도록하자. 소스는 다음과 같다. 상단에서부터 설명하자면 시스템 아키텍쳐를 참고하여 GPIO의 동작원리를 이해 하여야한다. (2) 동작원리▶ 시스템 아키텍쳐를 보면 GPIO를 사용하기 위해서는 클럭을 인가해야한다.클럭은 RCC와 GPIO가 속해있는 APB2를 이용하여 설정하는데 따라서 상단 소스에 다음과 같은 프로그래밍이 가능하다. RCC -> APB2ENR |= (0x3 2017. 4. 18. 이전 1 ··· 27 28 29 30 31 32 33 ··· 38 다음 반응형