本帖最后由 znmcu 于 2014-10-10 14:15 编辑
振南网站还在继续美化改进,暂时提供一个平台来发布振南的实验和相关资料!
http://www.znmcu.cn/znx_m3_exp_tft_speed_test.html
振南QQ:987582714 群:198521880
TFT液晶写屏显示速度测试【STM32 M3版】 实验说明: 在TFT液晶基本功能测试完成之后,我们现在最关心的就是它的显示速度。如果它的显示速度足够快,我们就可以作出更多更加精彩的实验了,比如视频播放器、摄像头的实时显示等等。如果显示速度较慢,可能顶多也就作个电子书或图片显示了。 此实验就是为了让我们明确TFT液晶在ZN-X STM32 M3平台上的实际速度指标,作到心中有数,为今后的精彩实验打下基础。 所需硬件: 此实验中需要的硬件有: ZN-X开发板基板(STM32 M3版)【也可使用自己的开发板,不过TFT液晶的接口信号比较多,自己接线可能会比较麻烦】 ARM-OB或JLINK仿真器(用于仿真与程序下载) USB转串口模块(用于串口通信与程序下载) TFT液晶(320X240像素,控制器为ILI9325) 电路原理图及详解: 【同TFT液晶基本功能测试实验】 TFT液晶模块说明: 【同TFT液晶基本功能测试实验】 实验方法与流程: 主要代码如下:向TFT液晶写入1000屏像素数据,同时进行计时,通过其花费的时间,可知它的显示速度,单位为fps(每秒帧数)。 extern unsigned int counter;
int main(void) { unsigned short i=0; delay_init(); //延时函数初始化 uart_init(9600); ZNX_Board_Init(); //ZN-X开发板板级初始化 TFT_Init(); printf("TFT液晶初始化完成\r\n"); TIM3_Int_Init(10000,7200);
printf("开始计时....\r\n"); counter=0; TIM_Cmd(TIM3, ENABLE); for(i=0;i<1000;i++) //写1000屏,看它花费多少时间 { TFT_Clear(i); //纯色清屏 } TIM_Cmd(TIM3, DISABLE); printf("停止计时....\r\n"); printf("刷屏共花费%d秒\r\n",counter); printf("帧频可达到%d帧/秒\r\n",1000/counter); while(1); } |
实验结果如下图所示: 15fps的速度实际比较勉强。此实验使用的是IO模拟时序的方式对TFT进行驱动,这使其显示速度不尽如人意。高速的TFT液晶驱动可以使用STM32的FSMC接口+DMA,不过ZN-X STM32 M3平台上所使用的STM32芯片没有FSMC接口,所以只能使用IO模拟方式了。不过STM32F103RBT6芯片可以超频(最高可到140MHz,过高会导致运行错误,所以超频通常顶多超到120多MHz)。此时TFT的显示速度大约为30fps,已经基本可以满足一些高级实验的要求了(不超频实际上也勉强可以,只是实验效果稍有逊色,在后面的实验中大家就可以看到)。 源代码下载: |
振南ZN-X开发板TFT液晶写屏显示速度测试 8位模式[暂不提供
|
|