본문 바로가기

[MCU]/CANTUS

[CANTUS-EX EVM] TFT LCD테스트 - 메모리 모드 제어

[CANTUS-EX EVM] TFT LCD테스트 - 메모리 모드 제어


CANTUS 는 저렴한 국산 32bit MCU지만 성능이 나쁘지 않다.
메모리 제어  방식이 가능하므로 TFT LCD제어를 GPIO방식이 아니라 메모리 제어 방식으로 해 보았다.


[CANTUS-EX EVM] 보드에서 TFT LCD의 Enable 핀은 CS1( P2.5)에 할당 되어 있다.

속도 측정 결과 400x240 한프레임 출력 하는데 걸리는 시간은 16ms 정도  된다. 포트제어 방식에 비교하면 좀더 빨라진것 같다.


SRAM CS0의 메모리 설정을 위해 SxCTRL(0x80000404)  레지스터를 이용하여 설정할 수 있다.





CANTUS 512 TFT LCD 메모리 제어 방식 테스트 동영상
한프레임 출력시 4ms걸리는 TMS320028335 와 ([TMS32F28335 TFT LCD_속도측정 결과) 비교하면 좀 느린감이 있지만 SD Card를 제어에 있어 SDIO기능이 있기 때문에 더 빨라 보인다. 결론적으로 성능이나 가격 보다는 각 특정 기능에 적합한 MCU를 선정할 필요가 있는것 같다.







CANTUS TFT LCD 메모리 제어 방식 설정

void LcdMode(void)
{
 *(volatile U16*)0x80000404 = 0x0101;//BANK 1 16Bit
 
 *R_PAF0 = 0xAAAA; //SRAM interface address, data
 *R_PAF1 = 0xaaaa;
 *R_PAF2 = 0xAAAA; /* nCS, nWE, nRE, ALE */ 
 }



TFT LCD제어 코드
포트제어 방식과 비교하면 상당히 코드가 간단해 진다. 때문에 속도도 더 빨라진다.
void Lcd_Cmd(unsigned int Data)   //Write Command
{
//LCD_RS_OFF();
 *(volatile unsigned short*)(LCD_BASE_DATA_ADDR) = Data;
// LCD_RS_ON();
}

void Lcd_Data(unsigned int Data)  //Write Data
{
 
 *(volatile unsigned short*)(LCD_BASE_DATA_ADDR) = Data;
 }
반응형