当前位置:首页 > 电源 > 数字电源
[导读]1. 引言传统的监测系统大多都是在单片机基础上开发的。单片机由于速度慢,运算能力弱,实时性差,在需要处理大量高速实时数据的情况下,往往不能达到要求,而DSP则非常擅长进行高速信号采集和数据处理。因此,本

1.     引言

传统的监测系统大多都是在单片机基础上开发的。单片机由于速度慢,运算能力弱,实时性差,在需要处理大量高速实时数据的情况下,往往不能达到要求,而DSP则非常擅长进行高速信号采集和数据处理。因此,本文将讨论一种基于F2812并使用液晶显示的监测系统的设计方案。

2.     系统总体硬件结构

本系统采用TI公司推出的32位定点DSP芯片TMS320F2812作为底层主处理器件,利用其片上16通道A/D转换模块将采集得到的数字信号进行处理,并将所有控制电路和地址译码,分配等功能设计在CPLD中,通过CPLD来控制读写液晶显示模块等外围器件,其中,液晶显示模块采用台湾晶采光电股份有限公司生产的一款内嵌SED1335控制器的AT-320240Q1FIEW-33H型液晶模块(320x240点阵)。此外,在DSP芯片外还扩展了RAM和FLASH。硬件结构框图如下:

3.     F2812与液晶显示模块接口设计

在上图中,RAM和FLASH ROM是F2812的外扩存储器,CPLD是用来作为地址译码产生片选信号的,它们都映射到F2812的XINTF区域。F2812的XINTF包括5个存储区域:

Zone0 存储区域: 0x002000—0x003FFF,8K x 16位

Zone1 存储区域: 0x004000—0x005FFF,8K x 16位

Zone2 存储区域: 0x080000—0x0FFFFF,512K x 16位

Zone6 存储区域: 0x100000—0x17FFFF,512K x 16位

Zone7 存储区域: 0x3FC000—0x3FFFFF,16K x 16位

其中,Zone0和Zone1共用1个片选线XZCS0AND1,Zone6和Zone7共用1个片选线XZCS6AND7,Zone2单独使用1个片选线XZCS2.如上图所示。CPLD映射到Zone0(地址0x2000—0x3FFF),即当访问Zone0区域时,XZCS0AND1有效(CS1有效),此时选中CPLD;同样,RAM和FLASH分别映射到Zone6和Zone2,当访问Zone6(0x100000—0x17FFFF)或Zone2(0x080000—0x0FFFFF),则XZCS6AND7(CS6)或XZCS2(CS2)有效,表明选中了RAM或FLASH。

可以注意到CPLD使用了F2812的4位地址线A12…A9作为译码信号,通过CPLD译码来实现LCDCS信号有效。在本系统中通过CPLD编程实现当A12…A9为1100时经CPLD译码后LCDCS有效,但应注意前提是CPLD必须被选中。因为CPLD映射到Zone0,只有访问0x2000—0x3FFF这个区域时,才能选中CPLD。这就要求A15…A13必须为001,其余A8…A1不参与译码,可取任意值,在此全部取为0。如此一来,只有A15…A0为0x3800和0x3801时LCDCS有效,此时F2812可以访问LCD.

    在液晶模块接口中,A0脚为数据/指令寄存器的选择信号.A0=1,访问指令寄存器,A0=0,访问数据寄存器。在硬件图中我们可以看到液晶模块接口的A0脚直接接F2812的XA0脚,再综合上面所述,就可以确定0x3800为液晶模块数据寄存器地址,0x3801为液晶模块指令寄存器地址

4.     液晶模块内嵌控制器及其指令介绍 

SED-1335是整个320x240液晶模块的核心部分,接下来将简要介绍一下其指令集。为便于浏览,特将SED-1335的所有指令列表如下。

带有参数的指令代码的作用之一就是选通相应参数的寄存器,任一条指令的执行(除SLEEP IN, CSRDIR, CSRR和MREAD外)都产生在附属参数的输入完成之后。MPU可用写入新的指令代码来结束上一条指令参数的写入,此时已写入的新参数与余下的旧参数有效地组合成新的参数组,需要注意的是虽然参数可以不必全部写入,但所写的参数顺序不能改变,也不能省略。[!--empirenews.page--]

在下面将列出部分初始化程序来说明指令的使用,但对于CSRDIR和CSRW指令,有必要详细解释一下。CSRDIR指令是用来设置光标移动方向的,有上,下,左,右四个移动方向(4EH,4FH,4DH,4CH),CSRW指令则是用来设置光标地址的。要特别注意这里的光标是对应显存里面的一个字节(byte),而不是对应字节里的一个位(bit),当设置光标向右移动时,每写完一个字节数据到显存,光标地址就会加一,此时对应显存的字节地址加一;同理,设置光标向左移动时,对应显存的字节地址减一。而当设置光标向下移动时,目标光标地址(字节地址)=当前光标地址(字节地址)+AP(液晶屏一行所对应显存的字节数),注:一般AP设置为完整显示液晶屏一行所用字节数加1,即40+1=41. 如下图所示,如果当前光标在字节地址Add1处,则写完一个字节数据后光标则移到了字节地址Add42处;同理,设置光标向上移动时,如果当前光标在Add81处,则写完一个字节数据后光标则移到了Add40处

5.  液晶显示的软件设计

  5.1初始化LCD程序:

#define      LCD_DAT        (*((volatile  unsigned  int *)0x3800)) //定义数据寄存器

#define      LCD_COM        (*((volatile  unsigned  int *)0x3801))//定义指令寄存器

    void Lcd_init(void)

            {

                   LCD_COM = 0x40;//显示窗口设置指令,之后带8个参数

                   LCD_DAT = 0x30;//单屏LCD模式,内部字元发生器有效

                   LCD_DAT = 0x87;//显示字符宽度8

                   LCD_DAT = 0x07;//显示字符高度8

                   LCD_DAT = 0x27;//一行显示40个字节

                   LCD_DAT = 0x46; 

                   LCD_DAT = 0xEF;//总共显示240行

                   LCD_DAT = 0x28;//AP=40+1

                   LCD_DAT = 0x00;

           …………… //其他初始化指令

       }

  5.2 显示一个32x32字符程序:

       void  Disp16x32Char(void)

           {

LCD_COM = 0x4E;//设置光标地址自动移动方向 向上

                   for(i=0;i<4;i++)//从左到右连续写入4列数据,每列32字节,共128字节

                { // x1取值范围1--40,y1取值范围1--240

                  Set_Graphic_Csr(x1,y1);  //根据光标所在位置计算出对应的字节地址

                     p = CharTab[1];  //指针指向字模数组

             LCD_COM = 0x42;  //写显示数据指令

                  //自下而上写入32个字节

for(j=0;j<32;j++)

                      {

                           LCD_DAT = p[j+32*i+128*k];//从字模数组中取出一字节

                      }

                     x1++;//准备写右边一列数据

                   }

          }[!--empirenews.page--]

5.3 显示主程序

  void main(void)

      {

 ……// 初始化系统,PIE, PIE中断向量表,外设

 Lcd_init(); // LCD初始化

 clearscr1(); // 清空第一显示缓冲区

  clearscr2(); // 清空第二显示缓冲区

  clearscr3(); // 清空第三显示缓冲区

 Disp32x32Char(void); // 显示一个32x32字符

 ……//其他字符显示程序

 While(1);

}

总结:本文液晶显示程序并未使用SED1335自带的字符发生器,而是通过在程序中调用自定义的字模数组数据,将其分别写入显存相应位置。因此,首先必须用相应的字模软件对要显示的字符或位图取模,并特别注意写数据到显存的顺序必须与取模的顺序一致,比如显示32x32字符,写数据的顺序为先在光标所在处自上而下写入32个字节,再将光标右移,连续自上而下分别写入3列32个字节。考虑到字模数组占用内存空间较大,应该将字模数组存储在ROM中,在需要使用时再从ROM中将字模数据调入RAM中执行。

结束语:本文提出了一种基于F2812并使用320x240液晶显示的监测系统的设计方案,此方案已经在软硬件上得到实现,经过验证后效果较好,从而为其他便携式监测系统的设计提供了借鉴。本文创新点在于使用了TI公司目前功能最为强大的2000系列DSP芯片TMS320F2812来构建新型监测系统,改变了传统的用单片机构建监测系统的思路。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

成都2022年10月19日 /美通社/ -- 近期,平安养老险积极筹备个人养老金的产品设计和系统开发工作,发展多样化的养老金融产品,推动商业养老保险、个人养老金、专属商业养老保险等产品供给。 搭养老政策东风 ...

关键字: 温度 BSP 东风 大众

广东佛山2022年10月19日 /美通社/ -- 空间是人居生活的基础单元,承载着生存与活动的最基本功能。而对于理想空间的解构意义却在物理性容器之外,体现出人们对于空间和生活深层关系的思考,同时也塑造着人与空间的新型连接...

关键字: 温度 BSP 智能化 进程

上海2022年10月19日 /美通社/ -- 10月17日晚间,安集科技披露业绩预告。今年前三季度,公司预计实现营业收入7.54亿元至8.33亿元,同比增长60.24%至77.03%;归母净利润预计为1.73亿...

关键字: 电子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市经济和信息化局发布2022年度第一批北京市市级企业技术中心创建名单的通知,诺诚健华正式获得"北京市企业技术中心"认定。 北京市企业技...

关键字: BSP ARMA COM 代码

香港2022年10月18日 /美通社/ -- 淘屏有限公司(纳斯达克:TAOP,简称"淘屏"或"公司"),今日宣布与江苏苏立信文化创意...

关键字: 数字多媒体 大屏 LCD LED

北京2022年10月18日 /美通社/ -- 10月14日,国际数据公司(IDC)发布《2022Q2中国软件定义存储及超融合市场研究报告》,报告显示:2022年上半年浪潮超融合销售额同比增长59.4%,近5倍于...

关键字: IDC BSP 数字化 数据中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都银行集团成立60周年的纪念日。趁着首都银行集团成立60周年与首都银行(中国)在华深耕经营12年的“大日子”,围绕作为外资金融机构对在华战略的构想和业...

关键字: 数字化 BSP 供应链 控制

东京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式会社(NIPPON EXPRESS HOLDINGS, INC.)旗下集团公司上海通运国际物流有限公司(Nipp...

关键字: 温控 精密仪器 半导体制造 BSP

广州2022年10月18日 /美通社/ -- 10月15日,第 132 届中国进出口商品交易会("广交会")于"云端"开幕。本届广交会上高新技术企业云集,展出的智能产品超过140,...

关键字: 中国智造 BSP 手机 CAN

iPhone X卖的不好,主要是售价太高,苹果也深知这一点,所以推动更便宜版本的iPhone X,就是情理之中的事情了。据美国媒体报道称,苹果预计采用LCD的版本将在今年秋天的新品中占据多数销量,比例高于分析师的预期。该...

关键字: LCD 供应链 消费者

数字电源

15504 篇文章

关注

发布文章

编辑精选

技术子站

关闭