tag 标签: at070tn92

相关博文
  • 热度 21
    2013-4-28 08:31
    3457 次阅读|
    0 个评论
     液晶显示图片:     好奇妙的图片,这个图片是怎么来的,奥秘就在下面:   module TFT_HVGen(CLK,DCLK,LCDHS,LCDVS,LCDUD,LCDLR,LCDDITHB,LCDPWM,LCDR,LCDG,LCDB);     input CLK54;     output DCLK;     output LCDHS;     output LCDVS;     output LCDUD;     output LCDLR;     output LCDDITHB;     output LCDPWM;     output LCDR;     output LCDG;     output LCDB;          reg DCLK;     reg LCDHS;     reg LCDVS;     reg hcnt;     reg vcnt;     wire LCDDATA;     assign LCDDITHB = 1'b0;     assign LCDPWM = 1'b0;     assign LCDUD = 1'b0;     assign LCDLR = 1'b1;          always@(posedge CLK)      begin         DCLK = ~DCLK ;      end           always@(posedge DCLK)        begin          if(hcnt == 10'd861)                hcnt = 10'd1;          else                 hcnt = hcnt + 1'b1;                           if(hcnt == 10'd815)             begin                 if(vcnt 9'd509)                     vcnt = vcnt + 9'd1;                 else                     vcnt = 9'd0;             end         end                always@(posedge DCLK)         begin             if(hcnt == 10'd815)                 LCDHS = 1'b0;             if(hcnt == 10'd818)                 LCDHS = 1'b1;             if(vcnt == 9'd486)                 LCDVS = 1'b0;             if(vcnt == 9'd487)                 LCDVS = 1'b1;         end              reg Hactive;     reg Vactive;     wire DE= HactiveVactive;              always@*          begin             if(hcnt = 10'd799)                 Hactive = 1'b1;             else                 Hactive = 1'b0;          end                  always@*          begin             if(vcnt = 10'd479)                 Vactive = 1'b1;             else                 Vactive = 1'b0;          end         assign LCDDATA = hcnt*vcnt ;         assign {LCDR,LCDG,LCDB} = DE? LCDDATA : 16'b0; endmodule     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 上面一个问题被修正了Hactive Vactive 原来用时序DCLK逻辑判断,改成组合逻辑 要不然点会对不上,与2012/12/15日18:28分修正,之前下载代码的朋友请注意。 不过还有个问题大家兴趣可以自己试下,我就不说了,很多东西多要自己发现,手册也 不一定全对。   上面的  hcnt*vcnt  就是奥秘,吧 hcnt*vcnt 乘积赋值给像素点 就得到奇妙的图片,电子世界真是奇妙无穷啊,另外通过改变 LCDDATA ,LCDDATA   会看到更细的。                                                                                                         最后来一张rotozoom 图片,算法是参考 fpga4fun网站上的   parameter ScreenWidth = 10'd800; parameter ScreenHeight = 9'd480; wire CounterXmaxed = (hcnt==ScreenWidth-1); wire CounterYmaxed = (vcnt==ScreenHeight-1); reg HSync, VSync; always @(posedge DCLK) begin   HSync = CounterXmaxed;   VSync = CounterYmaxed; end reg X0, Y0, X1, Y1; always @(posedge DCLK) if(VSync) begin     X0 = 0;     Y0 = 0;     X1 = 0;     Y1 = 0; end else if(HSync) begin     X0 = X1 - 100;     Y0 = Y1 + 400;     X1 = X1 - 100;     Y1 = Y1 + 400; end else begin     X0 = X0 + 400;     Y0 = Y0 + 100; end       assign {LCDR,LCDG,LCDB} = (X0 ^ Y0 ) ? 16'h5aab:16'h9534;        assign {LCDR,LCDG,LCDB} = (X0 ^ Y0 ) ? 16'hffff:16'h0000;            
  • 热度 19
    2013-1-11 15:10
    1559 次阅读|
    0 个评论
      一、     固件实现 1.       资源分析 1)      Ram资源 STM32F103VCT6共48K Ram资源,分配个内部变量和程序栈空间。 2)      Flash资源 STM32F103VCT6的Flash空间为256kB(Information Memory)。 其中,256kB的Flash用于存储程序代码,而由于STM32F103VCT6的信息存储器做了优化,可以较快速度的写入,所以将系统设置(如页面显示图片等)存储于此信息存储器中。 2.       功能实现 固件程序将基于C语言在PC机上使用KEIL进行编写,编写完成编译出二进制文件,使用JTAG或者串口进行下载(JTAG支持在线调试,深度下载,串口连接方便下载器便宜)。下载完成可以进行相应的测试功能。主要工作的流程图如下。 图4-1固件程序工作流程图 该流程图只是介绍了与PLC通讯显示的主要工作流程图,不是很详细,还需要在以后的程序编写中逐步的完善。
  • 热度 16
    2013-1-11 15:07
    1630 次阅读|
    0 个评论
      一、     硬件电路设计 硬件电路的设计将在系统总体方案确立的基础上进行电路板的设计。其中,硬件电路设计主要应用ALTIUM公司的PROTEL软件,首先建立元件封装库,设计原理图绘制PCB图,完成电路设计,以下为电路板设计的原理图和PCB图示(非本系统)   图3-1 protel电路设计图 将最终的PCB设计图发给PCB制作工厂将制造出相应的电路板,进行焊接调试工作。 1.       电源电路设计 电源模块主要负责电路板上的所有供电,要输出电压合适,电流足够使用的电源,同时电源部分主要基于系统外部输入的电压(±24V)经过模块的处理后产生相应的电压。电路中主要电源需求如下表。 表4-1 电路中主要电源需求 电压 部件 备注 芯片   3.3 液晶DVDD 液晶数字部分供电 Lm1117-3.3   10.4 液晶AVDD 液晶模拟部分供电 16V+5.6V稳压管   -7.0 液晶VGL 液晶门开电压 16V+9.1V稳压管 (DCDC降压芯片)   16 液晶VGH 液晶门关电压 TPS61040   10 液晶VLED+ 液晶背光正 CAT4139   -10 液晶VLED- 液晶背光负 CAT4139   4 液晶Vcom 液晶COM端 分压获得   5 CAT4139 供电 CAT4139   3.3 8875 供电 Lm1117-3.3   1.8 8875 核心供电 内部解决   3.3 STM32F103 供电 Lm1117-3.3   电池 STM32F103 防掉电遗失 电池(盒+电池) 未决定     根据上述确定的元件以及电路电压的要求,设计如下电路(基本完成)。电源部分均加入了防反接,过流保护,以及电源中过压(毛刺)的保护措施,输入电压范围(正常)可以从7~40V,最高电流可以承受3A电流。 图3-2 protel电路设计图 电源部分的主要芯片成本都较低,其中,LM2576:2,LM1117:0.5,CAT4139:2,TPS61040:1.5。而电源部分其他的电阻、电容、电感、稳压管和二极管都在0.5以内,可以保证成本。 2.       液晶及驱动的电路设计 该部分电路主要分为两个部分,液晶显示电路和液晶驱动芯片电路。设计中,预留了液晶触摸屏的电路(可以接可以不接),方便以后的电路扩展。液晶显示支持24bit的方式,但在保证图片显示的前提下需要保证图片的刷新速度,因此将图片的显示改为16bit格式的方式。以下为液晶控制像素点分布的图示。 图3-3 液晶控制像素点分布的图示 从图中可以看出,24bit方式中RGB三种颜色分别占用了8bit的数据位,速度刷新时需要更新24个数据,而16bit中RGB分别占用5、6、5个数据位,刷新速度时只需要更新16个数据。 以下为液晶驱动电路和液晶控制芯片的硬件设计电路图。 图3-4液晶及驱动的电路设计图 其中,芯片左面的接口是接到MCU主控芯片上的控制和数据接口。 3.       主控电路设计 主控电路主要是以STM32F103VCT6为主要控制中心,包括与PLC的485控制接口,与上位机(PC机)的232串口和USB通信接口。主要电路设计如下(基本电路完成,需要稍做修改)   图3-5液晶及驱动的电路设计图 主控电路中的主芯片STM32F103VCT6负责电路中的主要控制和通讯的任务,电路中显示了主控芯片的控制信号连线,与上位机进行通信的串口和USB口的接法以及与PLC通信的485总线的接法。STM32F103VCT6的程序下载支持串口和JTAG两种形式,均预留了相应的接口。此外电路设计正在考虑加入E 2 PROM芯片,存储系统的相关信息,保证数据的不丢失,实现系统中历史信息查询。
  • 热度 18
    2013-1-11 15:06
    2800 次阅读|
    0 个评论
      一、     系统总体方案 根据系统的设计要求和需要的功能,对系统的总体方案进行选择,其中包括系统的显示方案、主芯片的选择、显示驱动的选择等等,将对最终确定的方案进行介绍。 1.        显示方案 需要的系统显示屏的尺寸在6-10寸,根据成本以及控制的综合考虑,最后选择7寸彩屏作为最后的显示执行元件。而目前,7寸彩屏仍然作为消费产品(触摸屏笔记本等)的主要元件,市场上的7寸彩屏生产厂家较多,产品参差不齐,经过综合的选型,最后选择群创7寸彩屏AT070TN92   (分辨率800*480),以下为彩屏的介绍图片。 图2-1 AT070TN92介绍图 AT070TN92 支持RGB256色真彩显示,像素800*480,视域为154.08*85.92,主要用于显示系统的状态,系统显示页面需要重新设计,以下为显示的设计图(非最终版)。   图2-2 AT070TN92显示设计图 显示界面可以根据需要进行设计。AT070TN92采用50pin的FPC封装引脚方便安装。 2.        液晶驱动控制方案 目前主要用于7寸彩色屏控制的液晶驱动控制芯片有SSD1963和RA8875两个,而两者的价格相差较大,出于对工业产品的要求,要求稳定性高,可控性好,进行比较选择,以下是两者的对比表格。 表2-1 SSD1963 VS RA8875   特性比较 SSD1963 VS RA8875 支 持 功 能   SSD1963 RA8875 备       注 类 别 功 能 描 述       支持LCD规格 分辨率800*480 支持 支持 RGB接口 电源 单电源 不支持 支持 SSD1963需要外供1.2V和3.3V两组电压 MCU接口 8080/8bit 支持 支持 RA8875支持多种串、并模式MCU输入接口   8080/16bit 支持 支持     6800/8bit 支持 支持     6800/16bit 支持 支持     I2C 不支持 支持     3-wire SPI 不支持 支持     4- wire SPI 不支持 支持   2D图形绘制 绘制圆、椭圆、直线、矩形、三角形等 不支持 支持 RA8875支持填充及非填充2D图形绘制 BTE 图形处理加速引擎 不支持 支持 RA8875内部集成图形处理加速引擎,常规图形处理无需通过MCU程式运算实现,减轻MCU工作量 双图层 800*480@256色 不支持 支持 RA8875分辨率≤480*272双图层模式支持64K色   480*272@64K色 不支持 支持   字库 简体中文字库 不支持 支持 RA8875可直接外接上海集通字库芯片,字符调用时只需通过MCU向RA8875写入ASCII码或中文区位码即可,RA8875内部会自动完成字符显示数据向DDRAM的传输   繁体中文字库 不支持 支持     ISO/IEC 8859-1/2/3/4 英欧文字库 不支持 支持     字符1~4倍放大缩小 不支持 支持     字符旋转 不支持 支持   键盘 4*5键盘控制接口 不支持 支持 RA8875内建键盘控制器,通过对相关积存器操作即可实现对键盘的控制 触摸屏 4线电阻触摸屏控制 不支持 支持 RA8875内建4线触摸屏控制器,通过对相关积存器操作即可实现对触摸屏的控制 PWM 脉冲信号,一般用于背光的调节 支持 支持 R8875有两组PWM输出,SSD1963为一组 DMA 支持外接Serial FLASH用作DMA功能 不支持 支持 R8875支持外接Serial FLASH,用于预存图片数据 GPIO 扩展GPIO口 支持 支持 通过积存器操作读取或设置GPIO上的电平,一般用来模拟LCD屏或其他功能模块的控制信号,如RESET、CS、SPI时序 RA8875  是一个文字与绘图模式的双图层液晶显示 (TFT-LCD)  控制器,可结合文字或2D图形应用,最大可支持到800*480 点分辨率的中小尺寸数字面板。内建 768KB  显示内存可提供大多数使用者的应用一个更弹性的解决方案。此外,使用者可藉由选用外部串行式Flash  接口,支持BIG5/GB 编码,可提供最大达32*32  像素之的字型输入。在图形的使用上,RA8875  支持2D  的BTE 引擎 (Block Transfer Engine),此功能兼容于一般通用的2D BitBLT 功能,可处理大量图形数据转换与传送。同时RA8875  也内建几何图形加速引擎 (Geometric Speed-up Engine),提供使用者透过简单的设定轻松画出直线、矩形、圆形和椭圆的几何图形。为了贴近终端始用者的应用,RA8875  整合了强大的功能,如画面卷动功能、显示浮动窗口、图形Pattern 及文字放大等功能,可大量节省使用者软件开发的时间,并提升MCU软件的执行效率。 图2-3 RA8875实物图 最后确定RA8875方案具有更强的稳定性适合工业使用,且可控性很强,可以更好实现系统要求的功能。RA8875采用的是LQFP-100pin的封装如上图所示。 3.       主控方案 主控实现的功能主要包括三个方面:与PLC通信获得PLC控制的状态、与上位机通信,向上位机传送当前系统的状态以及液晶的控制显示。此次选择的是成本较低性能较好的意法半导体有限公司(STMicroelectronics)中STM32系列的STM32F103VCT6型号的ARM,满足于7寸彩色屏的显示要求以及通信的要求。 STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。 图2-4 STM32F103VCT6实物图 实物如图,主控的主要参数如下,CPU:STM32F103VCT6,ARM Cortex-M3内核,256kB Flash, 48KB RAM,最高工作时钟72MHz/90MIPS(1.25DMIPS/MHz),LQFP 100脚封装。
  • 热度 19
    2013-1-11 15:04
    1329 次阅读|
    1 个评论
    一、      系统概述 PLC 与上位机通信显示系统主要完成与西门子 PLC 进行通信,将结果使用 7 寸彩屏进行显示,在系统上预留出与上位机( PC 机)通信的接口和协议,可以保证上位机与系统的通信通畅。主要的系统框图如下: 图 1-1 PLC 与上位机通信显示系统总体框图 图 2-1 系统参考效果图 系统电源模块的外部供电主要为± 24V ,为主控模块、液晶显示模块和通讯模块提供相应的电源,满足系统运行的要求。主控模块进行主要的通信和控制的功能。与 PLC 的通讯采用的是 RS-485 协议,与上位机( PC 机)采用的是 RS-232/USB 协议。显示模块主要是采用群创 7 寸彩屏 AT070TN92 (分辨率 800*480 ),用于实时显示系统的状态。