본문 바로가기

CANTUS

(21)
[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] 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..
[CANTUS EVM] GPIO를 이용한 LED테스트 [CANTUS EVM] GPIO를 이용한 LED테스트 CANTUS의 GPIO는 아래 그림과 같은 구조이다. 구조는 그리 복잡하지 않은데... 한가지 아쉬운점은 Data 레지스터가 HIGH레지스터, LOW레지스터로 나누어져 있어 데이터버스처럼 쓰기가 효율적이지 못한점과 토글할때도 번거러운점이 있다. GPIO기능설정 각포트는 여러기능을 할 수 있기 때문에 먼저 PAFx레지스터에 GPIO모드로 사용할것을 설정하는 것이 필요하다. GPIO방향 설정 GPIO의 입출력 방향 설정은 DIR레지스터로 설정 가능하다. #define Led1Init() Sbi(*R_PAF5, (3
[CANTUS EVM] 개발환경 설정 [CANTUS EVM] 개발환경 설정 ADC사의 CANTUS는 국내에서 개발한 AE32000C 코어를 가진 32bit MCU이다. ADC사에서 EISC Studio 라는 컴파일러, 디버거, 에디터 기능을 하는 IDE 프로그램을 제공한다. ADC사 홈페이지에서 최신 버전을 다운로드 받을 수 있다. 설치하고 프로그램을 실행하여 새로운 프로젝트를 생성해 보자 코어 및 프로젝트이름을 기입하고 새로운 프로젝트를 생성한다. 새로운 프로젝트를 생성하면 기본들이 생성된다. 각 폴더별로 프로젝트에 추가하면 된다. 1)Source File - strt.s(ADC사 제공), main.c, system.c 2)LinkerScript -cantus.ld(ADC사 제공) -> 자신의 환경에 따라 약간의 수정이 필요하다. 메모리 ..