본문 바로가기

Atmega8

(10)
[Mega88-SS EVM] 초소형 Arduio 테스트 보드 제작 [Mega88-SS EVM] 초소형 Arduio 테스트 보드 제작 ATmgea8 QFN타입을 이용하여 초소형의 보드를 제작 했다. 기존에 제작했던 보드와 호환성을 유지하면서 소형으로 만들어 여러 용도로 사용하고 있다. Atmega88의 UART, SPI, I2C, ADC등 가장 필수 적인 기능만 두어 초소형으로 만들었다. 2.54 피치로 브레드보드에 연결하여 테스트 가능하다. 기존의 MSP430등의 [SS-Type EVM EVMM] 보드와 핀 호환 되도록 제작 하였다. [Atmege8-SS EVM] ISP 및 확장 테스트 보드 모든 포트는 빠져 있고 ISP 및 USB2UART를 이용하여 디버깅 가능하다.
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) 옵티마이즈 옵션 컴파일러의 어샘블 결과..
[Mega8-SM EVM] 소형 AVR보드 제작 [Mega8-SM EVM] 소형 AVR보드 제작 기존 [Mega8-s EVM]에 확장해서 [SM-Type EVM] 로 제작 했다. SM-Type은 USB2Seral 모듈이나 Bluetooth 모듈 등을 연결할수 있고 SPI, I2C, UART등의 자주사용하는 기능을 표준화된 핀맵으로 정의해서 제작하고 있다. 또한 소프트웨어 USB스택을 테스트 할 수 있도록 USB커넥터를 연결 하능하다. (참고 USB 관련 테스트 예제, USB 호스트 예제) USB커넥터를 두어 SW USB Stack을 테스트 할 수 있을 뿐아니라 USB2UART가 있어 디버깅 및 Arduino 를 쉽게 포팅할 수 있도록 제작했다. 회로도 확장 커넥터 on board LED USB Connector
MSP430 I2C 전송 속도 테스트 MSP430 I2C 전송 속도 테스트 MSP430F2013 보드는 UART가 없어 I2C로 데이터를 수집테스트 정리 구성도 MSP430F2013 (I2C Slave) ->AVR (I2C Master) -> USB2Serial -> PC Host AVR - > 8Mhz 구동 MSP430F2013 -> 16Mhz구동 2Byte 데이터 수집 속도 측정 H/W 구동시 100Khz 구동시 450us 소요된다. 150Khz 까지 구동 가능하고 이때는 300us 소요된다. (200Khz 이상부터 깨지기 시작한다.) ->메인클럭을 16Mhz까지 올리니 400khz도 문제 없이 잘 동작한다. S/W I2C 구현시 AVR 8Mhz클럭에서 600us 소요된다. H/W I2C 구현 예제 unsigned char ReadByt..
[Mega8-s EVM] USB를 이용한 LED제어 - 호스트프로그램 작성 [Mega8-s EVM] USB를 이용한 LED제어 - 호스트프로그램 작성 VB 소스코드 VB를 이용하여 Mega8 USB보드의 LED를 제어하는 소프트웨어를 작성해 보았다. 예전 USB2Serial 예제를 그대로 사용하기 위해 최대한 간단하게 작성했다 예전 프로그램을 약간 수정하여 보레이트는 9600으로 설정하고 PORT는 콤보박스의 설정에 따라 초기화 할 수 있도록 하였다. 'com포트 열기 MSComm1.Settings = "9600,n,8,1" MSComm1.CommPort = m_ComPort MSComm1.PortOpen = True 프로그램 실행 USB를 이용한 atMega8 보드의 LED제어를 위한 호스트 프로그램 실행 테스트 동영상
[Mega8-s EVM] USB를 이용한 LED제어 - 펌웨어 작성 [Mega8-s EVM] USB를 이용한 LED제어 - 펌웨어 작성 AVR-USB CDC I/O 의 참고 예제 소스를 이용해 AVR을 이용한 USB를 테스트 했다. atMega8만을 이용하여 소프트웨어로 USB스텍을 처리 하기 때문에 속도 자체는 빠르지 않지만 저렴하고 간단하게 USB구현 하기에 상당히 좋은것 같다. 소스코드 테스트 예제는 이해를 위해 상당히 간단하게 작성했고 PC시리얼 포트로 전동되는 문자 "1", "2", "3", "4"에 따라 보드에 있는 LED를 제어할 수 있도록 구성하였다. USB Serial포트로 데이터가 전송되면 usb_cdc_rcv()함수가 수행되며, data를 받아서 처리하면 된다. usb_cdc_rcv //------------------------------------..
[Mega8-s EVM] USB CDC를 이용한 보드 제어 - 드라이버 인식 [Mega8-s EVM] USB CDC를 이용한 보드 제어 [Mega8-s EVM]을 이용하여 CDC(USB2Serial) 테스트 프로그램을 작성해 보았다. 에서 참고한 소스를 수정 하였는데... 처음에는 정상 동작하지 않았다. USB D+, D- 포트 핀 설정을 내 보드에 맞도록 수정 해 주었고 디스크립트 몇가지 수정 하였으며 실제 동작 부분도 보드 상태에 맞도록 수정 하였다. 정말 값싸게 AVR atMega8을 이용하여 USB를 이용할 수 있어 간단한 어플리케이션에 딱 좋겠다. USB인식 플래시 라이트 후에 USB케이블을 다시 연결 해 주어야 정상 반영이 되는데... 그것때문에 시간이 좀 걸린것 같다. 드라이버 설치 드라이버는 MS에서 제공하는 CDC드라이버를 이용하고 INF파일만 좀 수정하여 설치 ..
[Mega8-s EVM] 관련자료 [Mega8-s EVM] 관련자료 AVR Atmega8용 소형 모듈 보드를 제작 했다. AVR-USB 사이트에 있는 여러가지 USB관련 예제들을 테스트 해 볼수 있도록 제작해 간단한 USB응용 테스트에 쉽게 적용 가능하도록 했다. 핀맵은 표준화를 위해 s-Type 형태로 제작 하였다. USB 관련 테스트 예제, USB 호스트 예제 기본 테스트 예제소스 및 프로젝트 파일 [Mega8-s EVM] 회로도 Atmega8 MCU On Board LED USB Device, Host 커넥터를 두어 전원을 공급할 수 있으며 Atmega8 USB 소프트위에 스택을 사용할 할 경우 USB테스트도 가능하도록 했다. 테스트 동영상 ATmega8 USB 테스트 동영상 [Mega8-s EVM] USB를 이용한 LED제어 - ..