[AVR]/ATXmega2010. 8. 21. 18:15

[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 보드 제작 동기는 8채널 Serial to Ethernet모듈 제작 테스트를 위해서 이다. XMega64의 경우 UART 8채널에 3$대로 구매 할수 있기 때문에 저렴하게 8채널 Serial to Ethernet모듈 제작이 가능하다. 특히나 Wizet의 W5300은 8개의 포트를 지원하는 하드웨어 TCP/IP이므로 쉽고간단히 그리고 저렴한 Seral To Ethernet 모듈을 제작 할 수 있다.



ATXmega128A1 테스트 동영상


XMega128a1 TFT LCD테스트 동영상



Posted by nexp

댓글을 달아 주세요

[AVR]/Mega82009. 5. 8. 22:40

[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



Posted by nexp

댓글을 달아 주세요

[MSP430]/MSP430F20132009. 3. 18. 21:34

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 ReadByte8( unsigned char add)

{

           unsigned char data_in = 0;

          

           i2c_start_wait(add);

           data_in = i2c_readAck(); 

           i2c_stop();

 

           return (data_in);

}

 

S/W I2C 구현 예제

unsigned char ReadByte8( unsigned char add)

{

           unsigned char data_in = 0;

          

           I2C_Start();

           #if _USE_I2C_DELAY

           Delay_us(I2C_DELAY);

           #endif

 

           I2C_PutByte(add);

           #if _USE_I2C_DELAY

           Delay_us(I2C_DELAY+10);

           #endif  

           I2C_Nack();

 

           #if _USE_I2C_DELAY       

           Delay_us(I2C_DELAY);

           #endif

 

           data_in = I2C_GetByte();

           #if _USE_I2C_DELAY

           Delay_us(I2C_DELAY);

           #endif

           I2C_Nack();

 

           //Delay_us(100);

           I2C_Stop();

 

           return (data_in);

}

Posted by nexp

댓글을 달아 주세요

[INTERFACE]/WIZNET_EVM2008. 10. 31. 15:45

[W5100 EVB] Simple UDP Test - 4 channel loop back source code

[W5100 EVB] Simple UDP Test - 4 channel loop back source code

간단한 UDP 루프백 테스트 프로그램 작성. 4개의 소켓을 생성해 UDP로 받은 데이터를 다시 송신하는 예제이다.




4개의 클라이언트 프로그램으로 UDP로 접속해 loopback 테스트를 할 수 있다.




//-----------------------------------------------------------------------------

/**

 * UDP loopback program.

 */

void     loopback_udp(SOCKET s, uint16 port)

{

             unsigned int len;

             unsigned char buf[MAX_BUF_SIZE];

             unsigned char destip[4];

             unsigned int destport;

 

             switch(getSn_SR(s))

             {

                                                                                                                                                                                           // -------------------------------

               case SOCK_UDP:                                     //

                            if((len=getSn_RX_RSR(s)) > 0)                   // check the size of received data

                            {

                                        len = recvfrom(s,buf,len,destip,&destport);  // receive data from a destination

                                       

                                        if(len !=sendto(s,buf,len,destip,destport))  // send the data to the destination

                                        {

                                           printf("%d : Sendto Fail.len=%ld,",s,len);

                                           printf("%d.%d.%d.%d(%d)\r\n",destip[0],destip[1],destip[2],destip[3],destport);

                                        }

                            }

                            break;

                                                                                                                                                                                           // -----------------

               case SOCK_CLOSED:                                  // CLOSED

                            close(s);                                       // close the SOCKET

                            socket(s,Sn_MR_UDP,port,0);                  // open the SOCKET with UDP mode

                            break;

               default:

                            break;

             }

}

 

 

//-----------------------------------------------------------------------------

// Main function

//-----------------------------------------------------------------------------

void main(void)

{

             InitMCU();

             initUART();

             InitNET();

 

             printf("W5100 Simple UDP Loopback Test Program.\r\n");

             DisplayConfig();

            

             while(1)

             {

                           loopback_udp(0, 5000);

                           loopback_udp(1, 5001);                    

                           loopback_udp(2, 5002);

                           loopback_udp(3, 5003);                    

             }

}

//-----------------------------------------------------------------------------

Posted by nexp

댓글을 달아 주세요

[AVR]/Mega1282008. 10. 28. 22:35

[myAVR] M-Type AVR보드 제작

[myAVR] M-Type AVR보드 제작


Atmega128 보드를 새로운 형태로 제작했다. [M-Type EVM] 형태로 제작 했고, 50 I/O이상은 앞으로 이 표준으로 제작 할 예정이다. UART, SPI, PWM, I2C, Data8, Ctrl8, GPIO, CAN등의 표준을 지킬 생각이다.

LED, Switch, Buzzer, VR, SD Card, Data Flash 기본 테스트 페리가를 가지고 있다.



자이로, 가속도 등의 센서를 연결할 수 있도록 하고 USB, Ethernet(Enc28J60), Bluetooth등의 인터페이스도 표준으로 연결 가능하도록 했다.





Posted by nexp

댓글을 달아 주세요