페이지

글목록

레이블이 059kit인 게시물을 표시합니다. 모든 게시물 표시
레이블이 059kit인 게시물을 표시합니다. 모든 게시물 표시

2016년 6월 28일 화요일

[PSOC] PSOC5 'DAC+내부 OPAMP' 로 25mA POWER 만들기

안녕하세요,

이번에는 PSOC5 로 POWER 출력을 만드는 방법을 소개 합니다.
최근에는 BLE 나 센서들이 저전력 구조로 설계되어 있으니 수십 mA 또는 10mA 이내의 전류면 충분히 동작 가능합니다.

PSOC5 키트인 CY8CKIT-059 에서 이 테스트를 진행했습니다.
059 키트는 5V 전원을 사용하고 , 여기에 I2C 방식인 조도 센서 ISL29023 을 3.3V 전원으로 DAC+OPAMP 출력을 연결했습니다.

따라서, 전원은 5V 하나만 있고 센서용 전원으로 따로 3.3V 레귤레이터를 필요로 하지 않습니다.

메뉴얼을 보니, PSOC5 의 OPAMP의 Fllower 모드의 High Power 옵션에서 전류는 최대 25mA 까지 출력 될 수 있다고 나와 있습니다.


DAC+AMP POWER 회로 연결은 다음과 같습니다.



테스트용 PSOC 059 KIT의 전체 회로도는 다음과 같습니다.

PSOC Creator의 Resource Meter를 통해 확인해 보니 PSOC5의 DAC 출력은 4개, OPAMP 출력도 4개가 있네요.

예전에 조도센서를 I2C로 테스트한 내용은 동일하고, 여기에 DAC+AMP 로 파워를 만들어 넣었습니다.
DAC 만으로 가능하지 않을까 해서 먼저 테스트 해 보니, 전류가 모자라서 안돼서
AMP를 연결하니 제대로 동작하는 것을 확인해 봤습니다.

다음에 시간이 나면 BLE도 이런 방식으로 전원을 연결해 보겠습니다.

자세한 내용은 소스를 첨부하니 참고해 주시기 바랍니다. (링크)

2016년 5월 2일 월요일

[PSOC] PSOC5 1분만에 USB 부트로더블 APP 만들기.

이번에는 1분만에 만드는 부트로더블 APP 입니다.

이전에 USB 브트로더를 만들었는데, 이번에 만들 APP 에서 부트로더 HEX 파일을 이용할 것입니다.
간략하게 말하면 기존 APP 의 TopDesign.cysch 탭에 부트로더블을 추가하고,
기존에 만든 부트로더의 HEX 파일을 연결해 주고 컴파일하여 Bootloader Host 라는 툴로 다운로드해 주면 됩니다.

이정도로 이해가 되면 좋겠지만, 조금 더 설명을 드리겠습니다.

앱을 그냥 예제를 이용해서 만듭시다.


2. 아무 예제나 1개 불러 오겠습니다.

3. 그냥 만만한 systick 예제를 선택했습니다.


4. 자자.. 다음,finish 눌러 주면 다음과 같은 topdesign.cysch 가 보입니다. 아직 브트로더블 상태가 아닙니다.

5. system 의 부트로더블 콤포넌트를 끌어다 아무 자리에나 놓습니다.

6. 여기서 1가지만 더 추가하면 됩니다.
부트로더블 콤포넌트를 더블큭릭하고, Denpendencies 탭을 선택한 다음, 이전에 만들어 놓았던 부트로더의 결과물인 HEX 파일과 ELF 파일을 찾아서 연결해 줘야 합니다.


7. 잘 찾아서 연결합시다. 다음 위치에 기존의 bootloader를 컴파일하면 자동으로 만들어 집니다.
...\USBFS_Bootloader\USBFS_Bootloader\USBFS_Bootloader.cydsn\ARM_GCC_493\Debug


8. HEX 파일만 찾아서 연결하면 ELF는 자동으로 연결되니, ELF까지 찾아서 연결하진 마시고요.
이렇게 한 후, 컴파일만 해 줍니다. 디버거 연결한 체로 프로그램 버튼 누르시면 기존에 넣어 두신 부트로더 지워지니 조심하십시요.


9. 툴 메뉴의 bootloader Host 를 선택합니다.


10. 부트로더 호스트 프로그램이 새 창으로 실행됩니다. 아 .. 그전에 PSOC 059 키트의 USB 포트에 PC와 연결합니다.
저도 가끔 실수하는데, 이 059 KIT는 디버거와 타겥보드가 한몸이라 USB 포트에 타겥보드를 연결한 걸로 실수를 하는 경우가 많네요.




11. 이렇게 연결해 놓고 Bootloader Host를 실행하면, USB Human Interface Device (04B4_B71D) - USB 라는 장치가 보일 것입니다. 선택하세요.


12. 좀 전에 부트로더블 콤포넌트를 추가해서 만든 APP 를 컴파일해서 나온 cyacd 확장자로 된 파일을 다운로드할 파일로 선택합니다.
참고로 부트로더블로 설정된 APP는 디버깅이 안됩니다. 디버깅하려면, 부트로더블 콤포넌트를 제거해야 합니다.
또, 부트로더블 APP 은 디버거로 프로그램할 수도 있습니다. 하지만 부트로더가 내부에 들어 있으면 지워지고, 일만적인 APP 프로그램 다운로드한 것과 같은 상태가 됩니다.

13. 이제 프로그램 버튼을 누르면 부트로더에 의해 Bootloaderble APP 프로그램이 다운로드 됩니다.
다운로드가 다 되면, 자동으로 리셋되어 실행이 되고요.


14. 부트로더가 다운로드 되면 HID 가 없어집니다. 부트로더가 동작해야 HID가 나타나는데, 현재 APP이 동작하니까 없어지는 것이 당연하겠죠.



15. 프로그램 동작을 확인해 보니 잘 동작 합니다. 혹시 059 kit 로 설정했는데, 저처럼 device 가 cy8c5868 로 되고, 포트도 엉뚱한 핀으로 설정된 분은 cydwr 탭에서 핀설정 다시 하시면 됩니다. 프로그램은 LED 출력이 2개인데, 실제 보드에는 LED가 1개뿐이라서, 1초마다 토글하는 출력에 LED를 연결했습니다.

16 끝으로, 다시 다른 APP 프로그램을 다운로드 하려면 이전에 부트로더 동작 방법인 스위치를 누른 상태에서 리셋을 하면 Bootloader Host 툴에 HID가 보일 것이고 파일을 선택해서 다시 다운로드 하면 됩니다.,
이것으로 원격 다운로드도 가능합니다. 찾아보시면 부트로더 윈도우 소스코드도 있으니, 비주얼 스튜디오 하실 줄 아는 분은 적당한 프로그램을 만들어서 쓰셔도 됩니다.

이상 ... 끝. 1분만에 부트로더블 프로그램을 만들 수 있지만, 이렇게 글을 쓰는 것은 1시간이 넘게 걸리네요. ^^