欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 通讯论文 > EFD图像数据传输系统设计

EFD图像数据传输系统设计

日期:2023-01-24 阅读量:0 所属栏目:通讯论文


  在此计以STM32系列处理器作为控制器,利用uCGUI进行图形界面设计,利用循环移位算法将黑白图像定制成符合TFT?EFD显示的数据格式,实现了静态EFD图像的通信,可以根据实际要求传输不同静态EFD图像,后期如果需要可以升级成传输数据流来支持动态显示。

 

  1 设计原理

 

  本设计采用的单色TFT?EFD显示屏的分辨率是320×240,行线连接着晶体管的栅极,控制着晶体管的打开与关闭,列线连接着晶体管的源极,控制着数据的传输,整体的结构如图1所示。

 

  \王芳\现代电子技术201506\现代电子技术1538卷第6\IMAGE\>

 

  图1 EPD Panel

 

  基于EFD的图像显示经历了图像采集,图像传输,图像显示等步骤。EFD目前只支持黑白图像显示,因此图像采集利用Processing软件对图片进行一次加工,转换成黑白图像。数据生成之后需要进行传输,传递给微控制器进行处理,这时需要对数据进行二次加工,变成满足TFTEFD显示屏驱动芯片要求的格式,之后通过DMA方式传递给外部的SRAMFPGA读取SRAM的数据,根据相应的时序控制驱动芯片输出数据,从而实现图像显示。如果控制好时序,能在1 s内刷新25帧以上,那么就可以实现图像的动态显示。

 

  数据的传输是整个过程的中间阶段,需要进行不断的测试来找到最优的传输数据时序,构造出相对完善的波形序列来实现动态显示。因此搭建数据传输系统来显示不同的图像,测试其显示效果,对于实现稳定的动态显示有积极的作用。本设计利用uCGUI构造图形控制界面,可以传输不同的EFD图像数据给SRAMFPGA读取其中的数据就可以进行图像显示,并且系统界面简单直观,操作起来也相对简便。

 

EFD图像数据传输系统设计


  2 系统设计

 

  2.1 硬件设计

 

  利用STM32F103ZET6微处理器作为主控芯片,SD卡作为存储设备,SRAM作为转换数据的输送目的地,TFT?LCD用作显示与触摸控制,各个硬件相互配合构建起一个完整的数据传输系统。系统框图如图2所示。

 

  \王芳\现代电子技术201506\现代电子技术1538卷第6\IMAGE\>

 

  图2 系统结构

 

  显示模块采用2.8ALIENTEK TFTLCD模块,利用ILI9320控制器作为驱动芯片进行驱动。ILI9320液晶控制器自带显存,其显存总大小为172 820 b(240×320×[1818])。并且ALIENTEK TFTLCD模块自带电阻式触摸屏,可以实现触控的功能。ALIENTEK TFTLCD模块自带的触摸屏控制芯片为XPT2046,内部含有12位分辨率125 kHz转换速率逐步逼近型A/D转换器,是一款4导线制触摸屏控制器。

 

  由于数据量比较大,将大量数据储存在SD卡中[1]SD卡的配置使用SPI驱动,最高通信速度可达18 Mb/s,每秒可传输数据2 MB以上,可以满足一般的应用需求。SRAM采用的是IS62WV51216芯片,存储容量为1 MB,采用STM32FSMC接口对其进行配置。FSMC是灵活的静态存储控制器,能够与同步或异步存储器、16PC存储器卡接口,STM32FSMC接口支持包括SRAMNAND FLASHNOR FLASH等存储器。本设计使用FSMCBANK1区域3来控制IS62WV51216芯片。

 

  2.2 软件设计

 

  FATFS文件系统:FATFS是一个完全免费开源的FAT文件系统模块,专门为小型的嵌入式系统而设计。它用标准C 语言编写,一般只需要修改2个文件,即ffconf.hdiskio.c,之后进行简单配置就可以移植到单片机上,进而可以对SD卡和FLASH进行文件的读、写操作。

 

  uCGUI移植:uCGUI 是一种小型化的嵌入式图形界面接口,该接口独立于处理器和LCD 控制器种类,对系统的要求很低[2]。它设计用于为任何使用LCD图形显示的应用提供高效的独立于处理器和LCD控制器的图形用户接口[3],它适用单任务或是多任务系统环境,并且在任意LCD控制器和CPU下进行任何尺寸的真实显示或虚拟显示。

 

  本设计依靠uCGUI进行界面设计,设计比较直观的按键和列表来控制图像传输和图像显示。使用uCGUI也需要做移植的工作,移植的工作包括显示屏和触摸屏两个部分。

 

  显示屏:首先,TFT?LCD显示屏的底层驱动函数需要事先写好,保证单线程程序中正常显示。

 

  其次,向工程中加入uCGUI程序包。

 

  再次,根据自己的显示屏规格配置LcdConf.h GuiConf.h

 

  GuiTouchConf.h文件

 

  最后,修改LcdDriver使uCGUI与你的LCD驱动相互关联。

 

  触摸屏:若要在uCGUI 中使用触摸屏, 则必须将GUI_SUPPORT_TOUCH (Config 目录下GUIConf.h中定义的宏)设置为1[4]。同时要编写底层的触摸屏源驱动函数,对gui_TouchConf.h文件中进行配置,然后在GUI_X_Touch.c文件中进行函数的改动。

 

  具体的移植过程可以参考uCGUI使用手册,这里不再赘述。

 

  数据转换算法?循环移位:显示屏里每一个像素格里有一滴彩色油墨,油墨在加电时会收缩,在不加电时会平铺。下极板是一层反光隔膜,里边每一个像素格里有一个TFT晶体管作为电压开关,上极板是玻璃板,当在上下极板间加入适当电压,像素格里的油墨就会打开,用光照射就显示出明亮状态,当不加电时就会平铺显示出的是油墨的颜色。EFD?Panel的微观结构如图3所示。

 

  \王芳\现代电子技术201506\现代电子技术1538卷第6\IMAGE\>

 

  图3 EPD Panel微结构

 

  由于EFD是国内新型显示技术,有着自身的图像数据格式,需要定制符合其显示格式的数据来实现图像显示。控制油墨打开与关闭的芯片要求一个像素格有两位进行控制,即“01”代表打开,“10”代表关闭,因此需要对原始图像数据进行二次加工来满足要求。EPD Panel 的规格是320×240,即240行,320列,由于驱动芯片的数据输出位数是8位,因此先定义一个字符型的二维数组data[240][80],然后利用内存管理单元开辟相应的区域来存放最终数据。利用FATFS模块的f_read函数从文本文档里读取数据,根据文档中每一个数据的内容是‘1’还是‘0’,分别对二维数组内的元素进行0x010x02的赋值操作,如果移位次数没有达到4次则进行左移两位操作,否则读取下一个数据重新进行判断。这样每4个数据构成二维数组里的一个元素值。接下来的工作就是判断列数与行数是否小于预先设定数值,如果列数超出设定值,则行数加1,从新的一行开始读取数据,如果行数超出设定值,则循环结束,所有数据均被转换完。

 

  算法流程图如图4所示。

 

  \王芳\现代电子技术201506\现代电子技术1538卷第6\IMAGE\>

 

  图4 图像转换算法

 

  在Keil集成开发环境下利用C语言编写数据格式转换代码,实现图像转换的重要代码片段如下:

 

  if(*(num++)=='1')

 

  {

 

  if((x%4==0)&&(x!=0))j++;

 

  data[i][j]|=0x01;

 

  if(x!=(3+4*j))data[i][j]<<=2;

 

  }

 

  else

 

  {

 

  if(x==320||x==321)continue;

 

  if((x%4==0)&&(x!=0))j++;

 

  data[i][j]|=0x02;

 

  if(x!=(3+4*j))data[i][j]<<=2;

 

  }

 

  界面设计部分:进行完所有的移植工作之后,就可以进行界面的设计,具体的界面程序流程图如图5所示。

 

  \王芳\现代电子技术201506\现代电子技术1538卷第6\IMAGE\>

 

  图5 主程序流程图

 

  整个系统分成了3个界面,界面之间可以实现相互的切换。第一个界面是进入界面,第二个界面是控制界面,第三个界面是数据列表界面。具体实现方法是建立了非模态对话框,以第一个界面为例,其对话框建立代码为: GUI_CreateDialogBox(_aDialogCreate1GUI_COUNTOF(_aDialogCreate1)

 

  &_cbCallback1000);

 

  构造的ENTER按键用来控制界面的交换。第二个界面构造了三个按键来实现不同的控制,包括Begin ButtonExit ButtonList Button,利用扫描方式来检测按键的触摸,从而执行不同的功能函数,代码片段如下:

 

  switch(GUI_GetKey())

 

  {

 

  case GUI_ID_BUTTON0datacopy(col); //控制数据传送

 

  break;

 

  case GUI_ID_BUTTON1LED0=1; //界面转换标志置位

 

  break;

 

  case GUI_ID_BUTTON2GUI_Clear();

 

  BUTTON_Delete(hButton[0]);

 

  BUTTON_Delete(hButton[1]);

 

  BUTTON_Delete(hButton[2]);

 

  GUI_CreateDialogBox(ImagelistDialogGUI_COUNTOF(ImagelistDialog)&listCallBack000); //界面转换

 

  break;

 

  defaultbreak;

 

  }

 

  第三个界面是图像名称的列表,是将对话框与列表结合显示出存储在SD卡中图像名称,进而来控制传输不同的图像。三个界面的显示效果如图6所示。

 

  3 结 语

 

  本设计可以作为EFD图像显示的测试装置来进行使用,通过显示不同的图像来找到合适的波形图来辅助动态图像显示,同时实现了信息的可视化显示[5],后期可以进行程序上的修改,对系统进行改进与升级,以数据流的形式传输数据,和终端的FPGA进行配合来实现动态显示。

 

  \王芳\现代电子技术201506\现代电子技术1538卷第6\IMAGE\>

 

  图6 整体控制界面

 

  作者:仇广东 罗智杰 周国富 来源:现代电子技术 20156

本文链接:http://www.qk112.com/lwfw/jsjlw/txlw/260984.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学