[TI]/LM3S5xxx2011. 9. 15. 23:00

[LM3S5732 EVM] W5200 테스트

[LM3S5732 EVM] W5200 테스트










type.h의 bool 타입이 기존 프로젝트와 겹쳐서 컴파일 에러가 발생한다.
이런 부분은 컴파일마다 차이가 발생할 수 있으므로 unsigned char로 대체 했다.
//typedef enum { false, true } bool;


socket.c, socket.h 파일에서 bool 사용하는것을 수정 했다.
extern uint16 send(SOCKET s, const uint8 * buf, uint16 len, bool retry); // Send data (TCP)


다른 MCU와 다르게 INT/RST 를 묶어 두었을때 포트가 정상 동작하지 않는다.(다른 MCU에서는 INT/RST핀을 동시에 사용하도록 했었다.)
아무래도 GPIO특성상 4mA밖에 흘리지 못해서 그런것 같다.
INT/RST 핀을 따로 분리 하니 잘 동작한다.




또 한가지 문제가 발생 했다.

SPI클럭 설정 부분에서 12Mhz이상 되면 정상 동작하지 않는다.
스펙상으로 25Mhz까지 동작한다고 하는데...
12Mhz이상 설정하면 무조건 25Mhz클럭이 출력되도 정상 동작하지는 않는다.

 SSIConfigSetExpClk(SSI0_BASE, SysCtlClockGet(),
        SSI_FRF_MOTO_MODE_0, //SPI MODE 설정
        SSI_MODE_MASTER,  //Maser/Slave
        12000000,    //SPI 클럭 주파수
        gSpIDataWidth);     //데이터크기


SSIClk = FSysClk / (CPSDVSR * (1 + SCR))

레지스터를 직접 설정해 보았지만 아무리 조합 해 봐도 12Mhz이상 나오지 않는다. 계산상으로도 그렇고..(CPSR 은 2의 배수이기 때문이다.)
HWREG(SSI0_BASE + SSI_O_CPSR) = 3;
HWREG(SSI0_BASE + SSI_O_CR0) &= ~(0xFF00);

결론은 Luminary의 최대 클럭은 12Mhz이다.


12Mhz일 때 TCP 전송 속도는 1.79Mbps정도 된다. 
[1] iInChip Send: 1.7998 Mbps(3966014 bytes, 16.8116 sec)
iInChip Recv: 1.7996 Mbps(3966014 bytes, 16.8136 sec)
------------------------------------------------------------
Posted by nexp

댓글을 달아 주세요

[TI]/LM3S5xxx2009. 12. 5. 16:43

[LM3S5732-SM] USB2CAN 테스트

[LM3S5732-SM] USB2CAN 테스트


USB 및 CAN통신 기능이 있는 LM3S5732를 이용하여 CAN2USB 테스트를 진행 했다.
모터 제어용으로 만들었던 확장 보드를 이용 하였는데 CAN드라이버가 있고 LM3S2965보드와 호환 쉽게 된다.



USB2CAN 테스트 프로그램
LM3S5732는 USB기능이 있기 때문에 PC와 고속 인터페이스가 쉽다. USB Bulk모드로 통신하도록 프로그램을 작성하였다.



LM3S5732 USB2CAN테스트 동영상
CAN2USB 테스트를 위해 CAN디바이스(LM3S2265)에서 스위치를 누를때 마다 전송되는 CAN 데이터를 LM3S5732 USB인터페이를 이용하여 데이터를 PC로 출력하는 예제를 작성해 보았다.



수정사항
모터 제어 확장보드는 여러가지 테스트에 활용할 수 있도록 제작하였지만 주로 LM3S2965를 타겟으로 제작되었기 때문에 LM3S5732를 사용할때는 약간의 수정 사항이 필요하다. -> 다음 추가 제작시에는  이부분을 반영해야 겠다.
1) SM-Type보드(LM3S5732)를 이용할때 CAN인터페이스를 위해서는 점퍼가 있어야 한다.



2)모터제어 확장보드의 스위치도 연결이 안되어 있으므로 점퍼가 필요하다.
 - 확장보드의 위쪽 스위치(SW7) 을 LM3S5732의 CN11_14P(PC6)으로 연결 하였다.

Posted by nexp

댓글을 달아 주세요

  1. 비밀댓글입니다

    2011.09.21 15:09 [ ADDR : EDIT/ DEL : REPLY ]

[MyProject]/20082009. 11. 6. 04:13

[SensorMat] Wifi로 로드셀 메트릭스 센서 데이터 전송 시스템

[SensorMat] Wifi로 로드셀 메트릭스 센서 데이터 전송 시스템




다수의 12x12의 멤브레인 스위치와 로드셀이 장착된 센서 매트의 데이터를 Wifi로 전송해 주는 DAQ 보드를 제작 제작 했다.


Sensor Board는 센서 수량이 많기 때문에 CAN통신을 이용하여 각 셀의 데이터를 전송하도록 했다. Master 보드는 CAN으로 받은 데이터를 Wifi 또는 USB로 전송한다. 이를 위해 CAN2USB 를 구현 했다.





Master Board

CAN 데이터를 수신하고 수신된 데이터를 WIFI 또는 USB로 전송 해야 한다.

MCU는 USB, CAN을 지원하는 칩으로 선정해야 하는데 처음에 STM32를 사용하려고 했지만 STM32는 CAN과 USB를 동시에 사용 할수 없어 LuminaryMicro사의 LM3S5732 로 선정했다. [LM3S5732-SM] USB2CAN 테스트 참고.




Wifi 모듈은 Wiznet사의 Wifi210을 선정했고 교체를 위해 WiFi 모듈로 제작 했다.




Sensor Board

센서보드는 12x12 의 멤브레인 스위치로 구성되고 무게 측정을 위해 로드셀을 사용 하였다.



무게를 측정하는 로드셀 센서는 24bit ADC중 저렴하고 성능도 좋은 ADS1216 을 이용하여 ADC변환하고 있다.  







Posted by nexp

댓글을 달아 주세요