본문 바로가기

[MCU]/CANTUS

(23)
[CANTUS] DAC 테스트 [CANTUS] DAC 테스트 CANTUS에는 14-bit Sigma-Delta Voice Codec 이 내장 되어 있다. 간단한 WAV파일 출력이나 DAC로 사용하면 유용하게 쓰일곳이 많을것 같다. CODEC 특징을 살펴 보면 - 14-bit Sigma-Delta A/D with 75dB SNR - 14-bit Sigma-Delta D/A with 80dB SNR - Digital Input/Output 2‟s Complement Format - Sampling Frequency Max. 11.025KHz - Record Gain supported using Pre-Amplifier with External Resisters - A/D, D/A Converter Individual Power On/Of..
[CANTUS EVM] USB HID테스트 - USB로 센서 데이터 그래프에 표시 [CANTUS EVM] USB HID테스트 - USB로 센서 데이터 그래프에 표시 CANTUS는 저렴한 MCU임에 불구하고 USB기능이 있어 여러모로 사용할곳이 많은것 같다. USB를 이용하여 3축 가속도 센서 데이터를 그래프로 표시하는 테스를 해 보았다. 기존 STM32를 이용하여 센서데이터를 USB로 전송하는 예제가 있어 쉽게 포팅할 수 있었다. HID를 이용하면 드라이버필요 없이 USB에 연결할 수 있어 간단히 USB전송하기 좋다. ADChip사에서 제공하는 USB API를 이용하면 아주 간단히 USB를 제어 할 수 있다. 깔끔하게 잘 동작한다. 하지만 라이브러이 형태이기 때문에 수정이나 다른 프로젝트에 계속 추가 하기가 쉽지 않아 사용자 처리 부분은 빼내서 처리했다. 그리고 한가지더.. 엔드포인트..
[CANTUS EVM] 이더넷을 이용한 전자액자 테스트 [CANTUS EVM] 이더넷을 이용한 전자액자 테스트 CANTUS와 W5100을 이용하여 이더넷 전자 액자를 만들어 보았다. 이더넷을 이용하면 속도도 빠르고 네트웍으로 제어 할 수 있기 때문에 여러가지 이점이 많다. 일단 네트웍으로 기본 이미지 전송하고 LCD에 표시하는 간단한 예제를 작성해 보았다. LCD_EXP_EVM 보드 를 이용하면 TFT-LCD및 W5100연결이 가능하다. W5100모듈을 뒷면에 연결할 수있다. CANTUS, W5100을이용한 이더넷 전자액자 테스트 동영상 UDP로 접속하여 이미지 데이터를 고속으로 전송하고 TFT LCD에 출력하도록 했다. USB 전송과비교해 보면 두배 정도의 차이가 나는것을 확인할 수 있다. W5100을 SPI방식이 아닌 인다이렉트모드로 바꾸면 속도는 훨씬더..
[CANTUS EVM] W5100 TCP Server 이더넷 전송속도 테스트 [CANTUS EVM] W5100 TCP Server 이더넷 전송속도 테스트 이더넷 테스에는 램이 많이 필요한데 저렴한 가격에 넉넉한 80Kbyte램을 가진 CANTUS가 적격이다. 그래서 Hardware TCP/IP W5100을 테스트 해 보았다. 일단 간단히 SPI방식으로 연결하여 TCP서버의 전송 속도를 테스트 해보았다. 대략 600Kbps까지 나온다. W5100 SPI의 최대 속도 인것같다. W5100 을위한 드라이버 코스만 수정하면 기존 코드를 그대로 이용할 수 있다. [NET-EVM] 보드의 W5100을 위한 CS포트는 P4.5에 연결되어 있다. #define _SPI0_ENABLE 1 //----------------------------------------------------------..
[CANTUS EVM] SPI테스트 - SPI 가속도 센서 테스트 [CANTUS EVM] SPI테스트 - SPI 가속도 센서 테스트 CANTUS의 SPI구조는 아래 그림과 같고 특징적으로는 8Byte FIFO가 있다. CANTUS SPI테스트를 위해 [NET-EVM]보드의 가속도 센서를 테스트 해 보았다. 가속도센서의 SPI CS핀은 P5.2에 연결되어 있다. ADChip사에서 제공하는 드라이버코드는 여러기능을 위해 작성되어 있기 때문에 속도 면이나 기존 코드를 위해 그냥 사용하기는 힘들다. 데이터시트보고 로레벨로 작성해 보았다. SUINT SPI0_WriteReadByte(SUINT Data) { //SPI포트로 데이터 출력 *R_SPI0DATA = Data; // 전송대기 while (!(*R_SPI0STAT & SPISTAT_SPIF)); //데이터 수신 retu..
[CANTUS EVM] TFT LCD제어 [CANTUS EVM] TFT LCD제어 [LCD-EXP EVM] 보드를 이용하여 CANTUS로 COM26T2844 TFT LCD를 제어 해 보려고 한다. 환경설정이 달라지면서 여러가지 문제점이 많다. 기존 소스를 포팅하니 오류가 많이 뜬다. -> 문제는 디렉토리 설정에서 현재 자신의 프로젝트를 가리키는 설정에 문제가 있었다. -> 그냥 "." 기입하면 자신의 디렉토리가 설정된다. CANTUS의 GPIO 출력 레지스터는 일반 MCU와 달리 Low, High를 PxOHIGH, PxOLOW에 각각 따로 설정해야 한다. 특히 LCD와 같이 데이터를 포트제어로 해야 할때 문제가 있다. 두번 제어 해야 하므로 속도도 문제가 되고... 아무튼 기존 다른 MCU에서 사용했던 코드를 포팅 했는데.. TFT LCD가 정..
[CANTUS EVM] SD Card 테스트 [CANTUS EVM] SD Card 테스트 CANTUS 는 SDIO를 지원하므로 SD Card를 고속으로 접근할 수 있다. [CANTUS EVN]보드 뒷면에는 T-Flash를 연결할 수 있도록 해서 SDIO를 테스트 해 볼 수 있다. [CANTUS EVM] SD Card 회로도 CANTUS개발환경의에는 SD Card제어를위한 라이버러리를 제공기 때문에 쉽게 테스트 가능하다. #include "system.h" #include "serial.h" unsigned int scan_files (char* path) { unsigned int file_cnt = 0; FRESULT res; FILINFO fno; DIR dir; int i; char *fn; #if _USE_LFN static char lfn..
[CANTUS EVM] UART테스트 [CANTUS EVM] UART테스트 CANTUS는 8채널의 16450호환 UART가 있다. FIFO도 16Byte가 있고.. 멋지다. CANTUS에서 UART제어를 위해 Seial.c에 있는 U0_GetByte(), U0_PutByte()를 수정해 주면 된다. ADChip사에서 제공되는 코드는 너무많은 기능을 제공하려다 보니 오히려 복잡하고 속도도 느려질 수 있다. 그래서 데이터시트를 보고 간단히 작성해 보았다. #define UART0_LSR *(volatile unsigned long*)((unsigned long)R_UART0_BASE + UART_LSR) #define UART0_URDR *(volatile unsigned long*)((unsigned long)R_UART0_BASE + UAR..

반응형