본문 바로가기

[AVR]

(84)
AVR 파워다운 모드 전류측정 실험 AVR 파워다운 모드 전류측정 실험 AVR은 저전류 전용 칩이 아니기 때문에 고려 해본적이 없었는데 전류소모를 적게 해야 할 일이 있어 AVR소비 전류를 줄이는 방법에 대해 검토 해 보았다. MSP430에 비하면 비할 바가 못되지만 아무튼 5단계의 슬립모드 설정이 가능하고 실험 결과 나쁘지 않게 사용가능할것 같다. AVR전류 측정 전원 공급후 while루프 돌때 - 12mA USB기능 동작시 - 25mA 아무런 동작을 하지 않아도 12mA가 흐러고 타이머나 기타 페리를 사용하는 순간 25mA까지 소비 한다. 이 상태로는 좀 문제가 있는것 같고 슬립모드 관련 데이터 시트를 보니 몇가지 방법이 있는것 같다. 테스트에 사용한 칩은 ATmega88V이다. 예전 버전 ATmega8을 가지고 테스트 하다 고생 했는..
[Atmega8 EVM] USB HID 테스트 [Atmega8 EVM] USB HID 테스트 USB HID을 이용하면 윈도 표준 입력 인터페이스로 드라이버 필요 없이(정확히는 Windows 내부 표준 드라이버) USB연결 할 수 있다. USB Mouse, Keyboard, Joystick 등이 이 표준을 따르는데 USB를 연결하면 바로 동작하기 때문에 사용자 입장에서 상당히 편리한 인터페이스 이다. 이번에는 AVR AtMega8 (ATMega8-EVM) 의 USB 소프트웨어 스텍을 이용하여 HID Data 테스트를 해 보았다. 스프트웨어 스텍이라 약간 불안하거나 속도에 문제가 있지 않을까 했는데.. 테스트 결과 속도도 나쁘지 않고 저렴고 간단하게 사용할 수 있어서 좋은것 같다. Atmeg8 EVM을 USB에 연결하면 HID장치로 인식되고 휴먼인터페이..
AVR 와치독(Watchdog) 타이머 사용하기 AVR 와치독(Watchdog) 타이머 사용하기 MCU가 예외 상황으로 멈춰 있을때 리셋을 걸어 주어야 하는데.. 이때 Watchdog를 사용할 수 있다. 초기화는 WDTCR레지스터의 비트3을 설정해주면 와치독 타이머가 동작한다. 이때 주의 사항은 MCUSR레지스터의 WDRF비트를 0으로 설정해 주어야 한다. 와치독 타이머가 동작하면 설정한 주기 이내로 레지스터 값을 클리어 해 주어야 하는데 #asm("WDR") 로 가능하다. WIN AVR을 이용하면 wdt.h에 기본 함수가 정의 되어 있어 간단히 사용할 수 있다. AVR Watchdoc 타이머 사용 예제 소스코드 #include #define WDTO_15MS 0 #define WDTO_30MS 1 #define WDTO_60MS 2 #define W..
ATMega162V 구매처 http://www.devicemart.co.kr/mart7/mall.php?cat=001001001&query=view&no=3760 High-performance, Low-power AVR 8-bit Microcontroller Advanced RISC Architecture – 131 Powerful Instructions – Most Single-clock Cycle Execution – 32 x 8 General Purpose Working Registers – Fully Static Operation – Up to 16 MIPS Throughput at 16 MHz – On-chip 2-cycle Multiplier Non-volatile Program and Data Memories – 16..
[AT90USB162 EVM] HID Mouse 만들기 [AT90USB162 EVM] HID Mouse 만들기 AT90USB162는 AVR코어에 USB기능이 있는 칩이다. 저렴하게 그리고 기존 AVR코드를 활용해서 USB기능을 추가하여 제작할 경우 유용하게 사용될수 있다. Atmel사에서 제공하는 예제를 이용하여 HID Mouse를 간단히 만들어 보았다. 우선 마우스의 구동을 위해 스위치가 있는 확장보드를 이용해 하드웨어를 구성한다. 각 키에 따라 UP(PB0), Down(PB1), Left(PC5), Right(PB6)를 점퍼 이용하여 설정. 그리고 보드 자체의 LED와 스위치를 이용해 마우스 클릭 버턴 Click(PD1) 을 구현한다. AT90USB162 HID Mouse 소스코드 (소스코드) gcc를 이용한 AVRStudio를 이용하여 컴파일 가능하다...
[ATXmega128a1 EVM] TFT LCD EXP 보드 테스트 [ATXmega128a1 EVM] TFT LCD EXP 보드 테스트 ATXmega128a1 보드를 이용하여 LCD_EXP_EVM 보드 를 테스트 했다. 회로도 LCD_EXP_EVM보드 회로도 ATXmega128 EVM 보드 회로도 ATXmega128a1 TFT LCD(COM26T2844) 테스트 예제 코드 //----------------------------------------------------------------------------- // TFT LCD(COM26T2844) Driver #define LCD_LAT_BIT BIT8 #define LCD_LAT_PORT PORTA #define LCD_LAT_ON() Sbi(LCD_LAT_PORT, LCD_LAT_BIT) #define LCD_..
[ATXmega128A1 EVM] 보드 제작 [ATXmega128A1 EVM] 보드 제작 Atmel의 ATXmega128A1 EVM 보드를 제작 했다. 예전에 만들어 두었던 보드 인데 정리하면서 조립 했다. (XMega128A1 을 지인으로 부터 받아서..) 1.6~3.3V 에서32Mhz, 8개의 16bit timer, SPI 4채널, TWI 채널, USART 8채널, DMA 지원하고, SDRAM도 연결가능하니 나쁘지 않다. 기존 제작된 보드와 핀맵을 호환 되도록 했고 USB2UART나 Bluetooth모듈을 연결할 수 있다. IR센서를 연결 할 수 있어 리모콘 수신 테스트를 해 볼수 있다. 포트가 풍부하다 보니(SPI 4채널) 뒷면에 T-Flash 연결 가능하도록 했다. 확장 테스트 보드 TFT-LCD테스트 확장 모듈 이더넷 테스트 확장모듈 사실..
[XMega128] 회로 제작 고려 사항 [XMega128] 회로 제작 고려 사항 프로그래밍 XMega128의 프로그래밍은 JTAG, PDI를 지원한다. JTAG은 PORTB의 4핀을 사용한다. 기존 AVR JTAG에서는 PORTA를 사용했는데 조금은 변견되었다. PDI는 PDI, Reset을 사용한다. PIN89 : PDI PDI_DATA PIN90: RESET PDI_CLOCK BOR 지원이 되기 때문에 Reset은 따로 필요 없다. 특히 리셋 지연 콘덴서를 연결하면 PDI를 통한 다운롣드가 되지 않기 때문에 연결하지 않도록 한다.