MicroAC

@MAX7456EEPROM结构解释图!

字符表示~像素的解释:

由上图可知,字符用18*12个像素来处理,每个像素用2bit表示颜色的不同。

复位:复位有两种。

1

2

很明显,软件复位需要高电平,而硬件复位则需要低电平。且硬件复位高于软件复位哦!且复位可用STAT[6]查询复位序列是否完成

@寄存器的说明:

对于怎么去操作这些寄存器及操作的前提条件,请参考手册的p26.

@以下是字符显示区域。NTSCPAL的分别为:13/16*30.

@DMM 是显示模式存储器,背景控制及反色控制都与这个有关系咯!

@地址CMAH CMAL :字符存储器字符高低位。

这里要说明的是,高八位是查找NVM中的256字符中的哪一个字符,然后低字节的低6位(高两位不用)用来控制字符的像素组(4pixel)的地址,最后一个WORD就实现了像素控制。如下图示意:

@OSDBL 有工厂设置的不能随意改动的,而STAT可以查询很多状态!包括行和场~

@CMDO DMDO 意思为:字符存储器数据输出寄存器和显示寄存器数据输出寄存器。

@P34—CMM 字符存储模式寄存器,用于控制从NVM中写或者读数据。

@@@@@@@@@p39是应用信息@@@@@@@@@@

以下,说说具体应用咯!

一、向NVM字符存储器写入字符字节的步骤.

1、  写入一个新字符.

1>禁止OSD图像显示: 写入VM0[U1] [3]=0;

2>选择要写入的字符(0-255):CMAH[U2] [7:0]=xxH;

3>选择要写入字符的四个像素(字节)(字节有64个,有用的只有54个):CMAL[7:0]=xxH[U3] ;

4>设置所选字符的所选像素组(4piexl)的像素值:CMDI[7:0]=xxH;

5>重复34的步骤,直到54字节字符数据装入到镜像RAM;

6>从镜像RAM写入到NVM的阵列中:CMM[7:0][U4] =1010xxxx;

7>使能OSD图像显示:VM0[3]=1;

8>完成!

 

2、  修改已有字符。

1>禁止OSD图像显示: 写入VM0[3]=0;

2>选择要修改的字符(0-255):CMAH[7:0]=xxH;

3>将字符数据从NVM读入到镜像RAM:CMM[7:0]=0101xxxx;[U5] 

4>选择要修改的字符中四个像素(字节)64个,有用的只有54个):CMAL[7:0]=xxH;

5>读取要修改的四个像素数据字节:读取CMDO[U6] [7:0]=xxH;

6>根据要求修改四像素字节.

7>将修改后的四像素数据字节写回到镜像RAM:CMDI[7:0]=xxH;

8>重复4~7步骤,直至把所有像素装入到镜像RAM.

9>从镜像RAM写入到NVM的阵列中:CMM[7:0][U7] =1010xxxx;

10>使能OSD图像显示:VM0[3]=1;

二、从字符存储器读取字符字节.

1>禁止OSD图像显示: 写入VM0[3]=0;

2>选择要读取的字符(0-255):CMAH[7:0]=xxH;

3>将字符数据从NVM读入到镜像RAM:CMM[7:0]=0101xxxx;

4>选择要读取的字符的4个像素字节: CMAL[7:0]=xxH;

5>读取数据的所选4个像素字节: CMDO[7:0]=xxH;

6>重复4~5步骤,读取4像素数据的其他字节.

7>使能OSD图像显示:VM0[3]=1;

三、显示存储器操作.

以下两个步骤支持对OSD图像的查看,读写显示存储器时不需要这些步骤.

1>使能OSD图像显示:VM0[3]=1;

2>使能自动OSD黑电平控制.:OSDBL[U8] [4]=0;

四、清楚显示存储器步骤.

    启动清除显示寄存器:DMM[U9] [2]=1;

五、在8位模式下,写入显示存储器.

向显示存储器写入字符时,8位共工作模式最灵活,这一模式支持为每一字符写入单独的字符属性字节(见表5-p14),这一模式不同于16位工作模式,在16位工作模式下,当写入一个字符时,从DMM[5:3]自动复制器字符属性字节.(19-p23)

1、选择8位工作模式:DMM[6]=1;

2、向显示存储器写入字符地址字节.

   1>写入字符地址字节:DMAH[1]=0;(DMAH – p32)

   2>选择MSB:DMAH[0]=x;选择要写入字符数据地址的低位数据[U10]  :DMAL[7:0]=xxH;

   3>将要写入显示存储器的字符地址字节CA[7:0])写入到DMDI[7:0](-p32)

3、向显示存储器写入字符属性字节.

   1>写入字符属性字节:DMAH[1]=1;

   2>选择MSB:DMAH[0]=x;选择要写入字符数据地址的低位数据[U11]  :DMAL[7:0]=xxH;   3>将要写入显示存储器的字符属性字节写入到DMDI[7:0]中(p33

六、在16位模式下,写入显示存储器.

    16位工作模式提高了显示存储器刷新率。这是因为,写入一个新字符时,将DMM[5:3]自动复制到字符属性字节,从而把每一个字符SPI写操作的次数由两次降到一次(19)。在这一模式下,所有写入显示存储器的字符都有相同的属性字节。该模式很有用,因为连续字符通常有相同的属性,该模式不同于8位工作模式,8位工作模式下,当字符地址字节每次写入到显示存储器时,必须写入字符属性字节.

1>选择16位工作模式:DMM[6]=0;

2>设置本地背景控制(LBC)、闪烁(BLK)、反色(INV)属性位,在16位工作模式时,这些设置将应用于写入到显示存储器的所有字符上: DMM[5:3]=xxx;

3>选择要写入字符数据地址的MSB: DMAH[0]=x;选择低位地址,该地址确定字符在显示器上的位置(参考图10:DMAL[7:0]=xxH;

4>将要写入到显示存储器的字符地址字节CA[7:0]写入到DMDI[7:0]中,一并存储这些字节和来自DMM[5:3]的字符属性字节(1219);

七、在自动递增模式中,写入显示存储器的步骤。

    自动递增模式自动递增每一连续写入字符的字符地址,从而提高了写入显示存储器的速度。在显示器上从左至右,从上而下写字符串时,可采用该模式。这一模式减少了SPI命令的数量(见表5)。

18位工作模式时:

   1>选择是否写入字符地址字节:DMAH[1]=0;选择是否写入字符属性字节: DMAH[1]=1;

   2>自动递增模式下,选择起始地址的MSB:DMAH[0]=x;选择起始地址的低位地址数据(该地址确定首个字符在显示器上的位置(表10/21):  DMAL[7:0]=xx;

   3>设置自动递增模式: DMM[0]=1;

   4>设置8位工作模式: DMM[6]=1;

   5>按特定字符顺序写入CA数据,将文本显示在屏幕上,此为单字节操作。自动递增模式下,自动设置DMDI[7:0]的地址。写操作之后,显示存储器地址自动递增,直至显示存储器地址末尾。

   6>结束自动递增模式写入 CA = FFH ;

     注意:在自动递增模式下不能使用存储在CA[7:0]=FFH的字符。自动递增模式结束前,读操作无效.

216位工作模式时:

   1>自动递增模式下,选择起始地址的MSBDMAH[0]=x;选择起始地址的低位地址数

(该地址确定首个字符在显示器上的位置参见表10/21):DMAL[7:0]=xx;

   2>设置自动递增模式:写入DMM[0]=1;

   3>设置16位工作模式:DMM[6]=0;

   4>设置将应用于所有字符的本地背景控制LBC、闪烁和反色属性位: DMM[5:3]=xxx;

   5>按特定字符顺序写入CA数据,将文本显示在屏幕上。这些将同来自DMM[5:3]的字

符属性字节一并存储,请参考图19.此为单字节操作。自动递增模式下,自动设置DMDI[7:0]的地址。写操作之后,显示存储器地址自动递增,直至显示存储器地址末。

   6>结束自动递增模式:CA=FFh.

注意:在自动递增模式下,不能使用存储在CA[7:0]=FFh的字符。自动递增模式结束前,

读操作无效.

八、8位模式下读取显示存储器步骤.

    1>选择8位工作模式:DMM[6]=1;

2>读取字符地址字节:DMAH[1]=0;或者读取字符属性字节:DMAH[1]=1;

3>选择需要读取数据的地址MSB(10):写入DMAH[0];

4>选择需要读取数据地址的MSB以外的低位数据(10)写入DMAL[7:0];

5>从显示存储器中的所选位置读取数据:读取DMDO[7:0];

九、16位模式下读取显示存储器步骤.

1>选择16位工作模式:写入DMM[6]=0;

2>选择要读取字符数据地址的MSBDMAH[0]=x;选择地址的低位数据(该地址确定字符在显示器上的位置,参考图10)DMAL[7:0]=xxH

3>读取DMDO[15:0],从显示存储器中所选位置读取字符地址字节和字符属性字节。第一个数据字节是字符地址(CA[7:0]),第二个字节包含字符属性位(图20)。主要,读取操作时,字符属性字节的位排列不同于写入时的位排列。请参考显示存储器数据输出寄存器(DMDO)部分和图20,了解读取操作时对属性位中位排列说明。

注意:如果内部显示存储器读操作请求和SPI显示存储器操作同时发生,则忽略内部读操作请求,在这段时间内,字符显示可能会瞬时变暗,请参考同步OSD更新部分。

 

十、同步OSD更新.

     如果内部显示存储器读操作请求和SPI显示存储器操作同时发生,字符显示会瞬时变暗。在场消隐间隔期间写入显示存储器可以防止OSD图像瞬时变暗。使用/VSYNC作为主机处理器中断,启动向显示存储器进行写操作以实现这一功能。或者,在写入显示存储器之前,可同步禁止OSD图像,写入之后再同步使能(请参考VM0[3:2])

十一、具有公共时钟的OSD.

MAX7456提供一个TTL时钟输出(CLKOUT),可驱动另一个MAX7456CLKIN引脚。使用外部时钟驱动器可驱动两个或者多个MAX7456元件。这种安排可通过一片带有晶振的MAX7456为多个MAX7456元件提供时钟信号,降低系统成本(25).

 

                                                                                                                                                                                                                                           


 [U1]P26,VM1—p27

 [U2]P35

 [U3]高两位不用

 [U4]这一操作存储器忙时约12ms,可以读取STAT[5]确认NVM写过程是否完成.(且这个命令也可以用于读的p34

 [U5]注意这个命令跟另外一个命令不一样哦高四位不一样陪p34.

 [U6]P38

 [U7]这一操作存储器忙时约12ms,可以读取STAT[5]确认NVM写过程是否完成.(且这个命令也可以用于读的p34

 [U8]P37使能自动OSD黑电平控制.这保证了正确的OSD图像亮度。该寄存器含有4个工厂预设的位[3:0],不能修改这些位。一次修改第四位时,首先读取OSDBL[7:0],修改第四位,然后写回更新后的字节

 [U9]P29,这一操作常需20us。在清除操作完成前,不能再次写入显示存储器模式寄存器,操作完成后DMM[2]

被自动复位至0

 [U10]该地址确定了字符在显示器上的位置(见图10

 [U11]该地址确定了字符在显示器上的位置(见图10

         没有时间整理图片~我把word 文档上传,这样速度比较好呵呵~~如需详情,请到我的资源那里下载!–MicroAC