초보의 아웅다웅 설계하기/Cypress_PSOC 12

PSOC4 - 블루투스모듈 오동작

PY8C4247 IC를 가지고 Observer 모드로 하여 들어오는 블루투스 신호를 분석하고 있는데 2 ~ 3주간 사용하면 블루투스가 정상적으로 동작하지 않습니다. (블루투스 모듈 버젼은 3.40을 사용) 리셋을 하거나 프로그램을 다시 다운로드하여도 동일한 증상이 발생한 것을 보면 레지스터나 이런 부분의 문제가 아닌 듯 싶습니다. 처음 1개가 비정상 동작 했을때 IC가 실장이 잘못 되었을 거라 생각했는데 3개째 같은 증상을 겪으니 그게 아닌 것 같다는 생각이 듭니다.(기간도 약 3주정도 사용하다보면 나오는게 동일하네요.) 원인을 찾아서 해결해야하는데 조금 막막하네요.

PSOC - Timer 생성

CPLD나 FPGA를 하시는 분들에게는 익숙하신 TopDesign에 들어가서 Timer를 찾아 생성하여 줍니다.(물론 CPLD나 FPGA에서는 이러한 라이브러리들이 지원되지 않아 만들어 쓰거나 구매하여 쓸 수 있습니다...) 생성한 후에는 빌드를 한번하여 주어야만 프로그램 라이브러리들이 생겨서 프로그램에서 사용할 수 있습니다. /* Timer Interrupt */ CY_ISR(Timer_Int_Handler) { DEBUGPRINT("Timer \r\n"); Timer_ClearInterrupt(Timer_INTR_MASK_TC); } int main() { /* Start communication component */ UART_Start(); /* Enable global interrupts */ ..

PSOC - 디바이스 변경

PSOC의 단점이자 장점 PLD 기반이기에 CPLD나 FPGA 제품처럼 디바이스를 변경하여 사용할 수 있는 부분입니다. 초기에 판매했던 개발보드와 나중에 판매하는 개발보드가 이름은 동일한데 칩이 변경되거나 기제품을 단종시켜버려서 넘어가야 하는 경우가 있어 난처할 때가 있습니다. 그럴때 디바이스를 아래와 같이 변경하여 사용하면 됩니다. 변경되는 화면이 일반 펌웨어 엔지니어들에게는 조금 생소합니다. Keil이나 IAR 등에서도 IC를 변경하여 설정하고 사용하는 것이 있지만 그 선택하는 부분이 알테라의 디바이스 변경과 더 비슷한 느낌입니다. 사용하시는 분들은 당연히 아시겠지만 PLD와 MCU의 조합이기 때문입니다. 요즘 나오는 징크같은 칩을 보면 PSOC과 비슷하다는(사용법이 아닌 방식이) 느낌을 느낄 수 있..

Cypress-PSoc Creator - PSoC5 - emWin 올리기

제 하드웨어에 맞게 핀 설정을 하였습니다. OS를 사용하지 않고 Touch를 사용하기 위하여 GUI_X.c와 GUI_X_Touch.c를 선택하였씁니다. .lib 파일과 GUIConf.h파일은 os를 사용하느냐, 터치를 사용하느냐에 따라 4가지로 분류되었습니다. ※ 조금 황당하기도 하고 어이없기도 했지만 PSoC Creator내의 자체 컴파일러인 GCC 4.4.1은 경로내의 .a파일을 지원하지 않았습니다. 그 때문에 Keil 컴파일러를 선택하여 컴파일 하였습니다.(.lib 파일을 선택) 터치 초기값을 넣어주기 위하여 위의 부분을 변경하였습니다. 초기처럼 뒤쪽이 ,0,0)으로 되어있다면 터치값을 가져오는 함수를 사용하더라도 터치를 제대로 읽어오지 못합니다. 가로화면을 사용하기 위하여 LCD_SWAP를 1로 ..

Cypress-PSoc Creator - PSoC5 - Bootloadable - 기존 프로그램 변경하기

1. 기존에 만들어 놓은 PROJECT에서 BUILD SETTING로 들어갑니다. 2. APPLICATION TYPE를 기존 NOMAL에서 BOOTLOADABLE로 변경합니다. 3. DEPENDENCIES를 선택해 줍니다. 4. BOOTLOADER을 선택해줍니다.(프로젝트 생성시 이름을 잘못 기입해서 BOADLOADER로 되어있습니다.....) 5. 만들어 놓은 BOOTLOADER의 HEX 파일을 불러옵니다. 6. BUILD를 해주면 완료됩니다. BOOTLOADER 예제 프로그램

Cypress-PSoc Creator - PSoC5 - Bootloader

1. PSoC Creator를 실행합니다. 2. Application Type에서 Bootloader를 선택합니다. 3. USBFS를 Sheet로 끌어옵니다. 4. USBFS설정에 들어갑니다. 5. 화살표를 클릭해서 Import Descriptor Root를 선택합니다. 6. 아래 \psoc\content\ cycomponentlibrary\CyComponentLibrary.cylib \USBFS_v1_50\Custom\template\ 경로에서 xml 파일을 끌어옵니다. 7. 끌어오면 아래와 같은 설정이 적용되어있습니다. Product ID로 PC Boot 프로그램에서 읽어오므로 설정을 잘 해주어야합니다. 8. USB 포트 핀을 설정해 줍니다. 9. 클럭을 설정해 줍니다. 10. 외부에 달려있는 크리스..

Cypress-PSoc Designer - 모듈 설정하고 간단 프로그램 짜기 2

/* Code begins here */ #include // part specific constants and macros #include "PSoCAPI.h" // PSoC API definitions for all User Modules void TransmitStatus (void); void TX8_Wait(void); void TX8_MultiChart(void); void TX8_Init_Display(void); void SetBaudRate (void); int abs(int a); WORD Detect_Count; /******************************************************************************* * Name : Delay *..