본문 바로가기

[AVR]

(84)
[AT90USB162 EVM] 부트로더 - USB다운로더 [AT90USB162 EVM] 부트로더 - USB다운로더 AT90USB162는 기본적으로 USB를 이용하여 펌웨어를 다운로드 할 수 있는 부트로더가 있기 때문에 USB를 이용하여 간단하게 펌웨어를 다운로드 할 수 있다. Flip프로그램을 이용하면 간단히 USB로 펌웨어를 다운로드 할 수 있다. USB 부트를 사용하기위해 PD7를 Low로 하면 된다. USB Boot Mode Enable -> PD7 Low 부트 매모리 맵 부트 영역도 Write가능하므로 독자적으로 부트로더를 수정 가능하다. ISP를 이용하여 부트영역을 지우거나 만약 실행코드가 부트영역을 넘어가는 경우 새롭게 부트로더를 다운로드 해야 한다. (Atmel 홈페이지에서 다운로드 가능하지만 소스는 제공하지 않고 있다.) 물론 부트영역을 보호하는..
[AT90USB162 EVM] USB 를 이용한 펌웨어 다운로드 - Flip 사용법 정리 AT90USB162 테스트 예제 소스코드 AT90USB162는 기본적으로 USB를 이용하여 펌웨어를 다운로드 할 수 있는 부트로더가 있기 때문에 USB를 이용하여 간단하게 펌웨어를 다운로드 할 수 있다. USB 부트를 사용하기위해 PD7를 Low로 하면 된다. USB Boot Mode Enable -> PD7 Low PD7은 디폴트 Low이므로 USB커넥터를 연결하면 USB인식을 한다. USB인식하면서 설치 드라이버를 찾는데 드라이버는 Atmel사의 Flip을 설치하면 그 설치된 곳에서 찾을 수 있다. [Flip 다운로드 링크] 기본적으로 /Flip/usb 폴더에 있다. AT90USB 드라이버 설치 후 장치관리자를 보면 설치 여부를 확인 할 수 있다. Flip 을 이용한 At90USB 펌웨어 다운로드 프..
[AT90USB162 EVM] 보드 제작 [AT90USB162 EVM] 보드 제작 AVR 코어에 USB Full Speed USB 디바이스를 포함하고 있는 AT90USB162 EVM 보드를 제작 했다. USB기능이 필요한 간단한 어플리 케이션에 적용하기 좋은 모듈이 되지 않을까... 물론 ADC가 없어 아쉬운 점이 있긴 하다. 간단히 특징을 살펴 보면 AVR USB MCU, 16K FLASH, SMD, TQFP32 Series:AT90 Flash Memory Size:16KB EEPROM Memory Size:512Byte RAM Memory Size:512Byte No. of I/O Lines:22 Clock Frequency:16MHz Interface Type:SPI, USART Min Supply Voltage:2.7V Max Suppl..
[ATtiny13] Power Control Module 테스트 [ATtiny13] Power Control Module 테스트 Power Module 테스트 동영상
ATtiny13 Timer 제어 - 1초 만들기 ATtiny13 Timer 제어 - 1초 만들기 AVR ATtiny13은 내부에 9.6Mhz(또는 4.8Mhz)의 RC오실레이터가 있고 퓨즈비트에서 설정 가능하다. CKSEL 10 9.6 MHz 01 4.8 MHz 퓨즈 비트를 읽어 보면 디폴트로 9.6Mhz/8DIV로 설정되어 있다. CKDIV8 체크를 지우면 9.6Mhz로 동작한다. MCU Timer 계산기로 1ms를 위해 필요한 값을 구할수 있다. 9.6Mhz에서 64분주 하여 Timer0에 0x69를 리로드 하면 1ms주기로 인터럽트 생성 가능하다. 소스코드 void InitTimer0(void) { TIMSK0 |= (1
ATMega128 TFT LCD(COM26T2844) 테스트 ATMega128 TFT LCD(COM26T2844) 테스트 ATMega128을 이용하여 [LCD_EXP EVM] 보드를 테스트 했다. 자료 정리 차원에서 정리해 본다. ATMega128 TFT LCD(COM26T2844) Pinmap ATMega128 TFT LCD(COM26T2844) Driver Code //----------------------------------------------------------------------------- // TFT LCD(COM26T2844) Driver #define TFT_DRV_COM44 1 #define LCD_EN_BIT BIT5 #define LCD_EN_PORT PORTB #define LCD_ENABLE() Cbi(LCD_EN_PORT, LC..
[AtMega16-SM EVM] Atmega32 보드 관련 자료 [AtMega16-SM EVM] Atmega32 보드 관련 자료 자주 사용하는 특수 기능핀들을 표준화해서 보드를 제작해 두면 여러모로 사용할 곳이 많다. 이번에 TQFP44핀의 Atmega16 시리즈를 몇가지 기능을 업데이트 하여 [SM-Type EVM] 으로 제작해 보았다. MPU는 TQFP 44핀의 Atmega16, Atmega163, At9085335등이 가능하지만 ATmega32를 이용하여 조립했다. 옵션으로 [AVR-USB 소프트웨어 스택] 을 이용하면 USB기능을 사용할 수 있도록 했다. 평소에 USB전원으로 사용하다 필요할때 저항 3개만 연결하면 된다. 회로도 [SM-Type EVM]이라 USB2UART, Bluetooth, Zigbee와 같은 통신 모듈을 연결 가능하다. AVR Mega16..
ATMega168 을 이용한 오버클럭 속도 측정 ATMega168 을 이용한 오버클럭 속도 측정 ATMega168 을 이용해서 GPIO 토글속도를 측정 했다. Mega168는 20Mhz까지 구동 가능하므로 24Mhz에서 측정해 보았다. 24Mhz -> 209ns/2.4Mhz [다른 MCU속도 측정 결과]와 비교 하면 저렴한 Mega168에서 상당히 빠른것 같다. ATMega168 GPIO속도 측정 소스코드 #define Led1Toggle() Tbi(LED1_PORT, LED1_BIT) //PORTB ^= BIT1 int main(void) { SystemInit(); Led1Init(); Led1On(); while (1) { Led1Toggle(); //Delay(100); } } WinAVR(AVR Gcc) 옵티마이즈 옵션 컴파일러의 어샘블 결과..