본문 바로가기

[MSP430]/MSP430_EVM

(32)
[MSP430] Falsh Write - EEPOM 처럼 사용하기 [MSP430] Falsh Write - EEPOM 처럼 사용하기 MSP430은 EEPROM이 없고 대신 Flash 영역에 데이터를 저장할 수 있다. 실행 중에 Flash 영역에 저장할 수 있기 때문에 변경 될수 있는 설정 파라미터를 저장하기에 좋을것 같다. #define _SEG_C_ADDR 0x1040 void falsh_wrte(unsigned char *pBuf, int Size) { char *Flash_ptr; // Flash pointer unsigned int i; Flash_ptr = (char *)_SEG_C_ADDR; // Initialize Flash pointer FCTL2 = FWKEY + FSSEL0 + FN1; // MCLK/3 for Flash Timing Generator..
MSP430™ MCU를 위한 새로운 μC/OS-II RTOS MSP430™ MCU를 위한 새로운 μC/OS-II RTOS TI MSP430용 uCOS RTOS를 공개 하고 있다. [TI 무료 MSP430 RTOS SYS BIOS 사용하기] 의 TI RTOS도 나쁘지 않았는데... uCOS를 밀고 있네... MSP430에 사용하기는 좀금은 무거운 감이 있긴 했는데 안정성을 강조하고 있다. "의료용 및 기타 안전 중심 애플리케이션 설계 시, 마이크리움의 µC/OS-II™ 및 µC/OS-III™ 실시간 운영 체제 코드 예제 모두를 MSP430 마이크로컨트롤러에 사용할 수 있습니다. 이는 안전 중심 애플리케이션용으로 특별히 설계된, 업계 유일의 실시간 운영 체제입니다. µC/OS-II 및 µC/OS-III를 업계 최저전력 마이크로컨트롤러인 MSP430 MCU와 결합하면 ..
초저전력 MSP430™ MCU 오토모티브 애플리케이션 용으로 승인 초저전력 MSP430™ MCU 오토모티브 애플리케이션 용으로 승인 요즘 MCU들이 많이 나와서 MSP430은 잘 들여다 보지 않았는데... 차량용 지원 가능하다면 사용해 볼곳이 많을것 같다. TI의 초저전력 MSP430G2xx 및 MSP430F2xx 시리즈는 내부 캐빈 모터, 커패시티브 터치, 인포테인먼트 시스템 및 원격 키리스 엔트리(remote keyless entry)를 포함하여 오토모티브 애플리케이션 용으로 AEC-Q100 승인을 받았습니다. 오토모티브 용으로 승인을 받은MSP430 MCU는 개발자가 차량 연료 효율과 배터리 수명을 개선함과 동시에 시스템 비용과 출시 시간을 단축할 수 있도록 도와 줍니다. 개발자들은 포함된 LIN 소프트웨어 드라이버를 이용하여 LIN 기반 애플리케이션과 제품도 편..
[MSP430] WATCHDOG 사용하기 [MSP430] WATCHDOG 사용하기 MSP430에서 Watchdog 사용하기위해 WDTCTL레지스터를 설정하면된다. 디폴트로 와치독은 동작하도록 되어 있고 내 코드에서는 SystemInit() 함수에서 와치독 사용하지 않도록 설정하고 있다. void SystemInit(void) { int result,i; WDTCTL = WDTPW +WDTHOLD; // Stop Watchdog Timer WDTCTL레지스터를 제어하기 위해서는 Passwoard를 상위 레지스터가 기입해야 하는데 0x69를 입력하면 된다. 아래는 WDTCTL레지스터 이다. 와치독 사용하기 위해서는 WDTHOLD, WDTTMSEL 비트를 0으로 설정하면된다. 와치독 타이머 초기화는 WDTCNTL비트를 셋하면 초기화되어 와치독 리셋을..
[MSP430] 외부 인터럽트 [MSP430] 외부 인터럽트 외부 인터럽트 초기화 //외부 인터럽트 설정 Sbi(P1IE, SCLK_BIT); //interrupt enabled Cbi(P1IES, SCLK_BIT); //edge 선택 0:라이징, 1:폴링 Cbi(P1IFG, SCLK_BIT); //IFG cleare 인터럽트 처리 핸들러 #pragma vector=PORT1_VECTOR __interrupt void Port_1(void) { if(P1IFG&SCLK_BIT) { Led1Toggle(); Cbi(P1IFG, SCLK_BIT); } }
[MSP430F2x EVM] 보드 제작 [MSP430F2x EVM] 보드 제작 [MSP430F2x EVM] 보드를 추가 제작할 일이 있어 약간 수정하여 제작 하였다. 기존보드(MSP430 EVM ] rev4 보드)에서 추가 사항은 USB2UART모듈을 연결하여 USB전원 공급 및 UART연결이 가능하도록 수정 하였다. 그리고 MSP430 64핀 TQFP, QFN패키지 모두 사용 가능하고 F2X의 기본으로 사용할 수 있도록 했다. MSP430F2X EVM 회로도 확장 테스트 보드
[MSP430] 풀업저항 설정 - 스위치 입력처리 [MSP430] 풀업저항 설정 - 스위치 입력처리 MSP430의 내부 풀업 저항 설정은 REN레지스터를 셋팅해 주면 된다. 내부 풀업을 사용할경우 저항이 고정되어 있어서 1.6uA정도가 소모된다.(MSP430자체는 nA단위로 소모한다.) 만약 저전류로 동작하기를 원한다면 외부에 더 큰저항으로 풀업 하는것이 좋다. #define SW_BIT (BIT0|BIT1|BIT2|BIT3) #define SW_PORT P1IN #define SwInit() Sbi(P1REN, SW_BIT);Cbi(P1DIR, SW_BIT); #define GetSw() ((~SW_PORT)&SW_BIT) main() { SwInit(); while(1) { sw_new = GetSw(); if(sw_new != sw_old) { }..
MSP430 소비전류 측정 실험 MSP430 소비전류 측정 실험 MSP430F2013 기준으로 소비전류를 측정해 보았다. 우선 MSP430 데이터시트를 보면 아래와 같이 나타나 있다. Low Supply Voltage Range 1.8 V to 3.6 V Ultra-Low Power Consumption Programming Voltage Needed, Programmable - Active Mode: 220uA at 1 MHz, 2.2V - Standby Mode: 0.5uA - Off Mode (RAM Retention): 0.1uA 우선 가장 기본 코드로 루프를 돌면서 3초에 한번씩 LED를 순간적으로 On/Off하는 코드를 돌려보았다. 기본코드는 1Mhz에서 동작한다. 측정 결과 340uA정도로 측정된다. 3.3V이므로 데이터시..