电子大神的日记本,供应链专家的功夫茶盘,在这里记录、分享与共鸣。

登录以开始

7寸视频&串口显示模组开发指南之3——指令集

7寸视频&串口显示模组开发指南之3——指令集

题记:

         历经一年,终于完成了视频&串口模组的开发和研制,目前已经开始向部分客户小批量供货了。从最原始的5.7寸640*480的视频采集模组,到5.7寸640*480的视频&串口模组,再到今天7寸800*480的视频&串口模组,特权花费了很大的心血,尤其是第一台原型样机的开发调试。

         借着2011年EDN创新奖的“东风”,这款7寸的视频&串口模组(型号:M070AS26)也有机会搬上台面与各位网友见面。特权同学希望藉着后面一系列的开发指南、应用参考和调试技巧,能够帮助各位全方面的了解她。也希望各位看官能够不吝惜手中的鼠标,轻轻一点投上一票。若是正好项目中能够用上类似产品,那就正好考察一下这台模组的功能、性能。

大家若对后续的文章有任何看法见解或是建议要求,特权同学都愿意洗耳恭听——或许您的一句话就会带来我们下一款产品的创新和超越。

(投票链接:http://award.ednchina.com/Product/Product_Detail.aspx?ProductId=1109

 

         7寸视频&串口显示模组预留给客户一条符合RS232电平标准的串口收发信号,用户只要使用这条串口通道给模组传送指令即可实现所有功能。这个串口通道通常有两个用途:一是用户的最终应用(用户嵌入式系统的串口与模组互连);二是下载用户的界面图片到模组中(PC机与模组互连)。

         本文重点介绍模组的指令集以及实现的效果,后续文章会详细讨论如何使用PC机或是单片机系统与模组通信,以实现图片下载或终端应用。按照前面的分类,模组支持的指令集主要也分为两大类,一类是用户的最终应用,另一类是图片字库等的下载交互。由于后者的功能都集成在了晶奥科技提供的“晶奥串口模组集成开发工具”软件中,用户也无需深入了解指令集的详细内容,因此本文不详细论述和讨论。而对于用户终端应用(与单片机、ARM或DSP等相接口)的指令集本文要详细论述。该视频&串口模组的主要可用指令如表1所示。

表1 7寸视频&串口指令集

分类

功能

指令

指令参数

描述

系统

握手指令

0x00

 

在初始化时,单片机不断发送完整的握手指令(包括帧头和帧尾),若接收到正确的返回数据(0xaa+version(1Byte版本号)),表示系统初始化完成,可以执行其它操作。

显示参数配置

设置调色板

0x40

Fcor(2Byte) + Bcor(2Byte)

设置前景色(Fcor)和背景色(Bcor)。

设置字符显示间距

0x41

Xdis(1Byte) + Ydis(1Byte)

文本显示时,Xdis为相邻左右字符的间距,Ydis为相邻上下字符的间距(Ydis目前暂时无效,以0x00,0x00代替)。

文本显示

16X16点阵GB2312国标简体汉字

0x54

Xadd(2Byte) + Yadd(2Byte) + String

(Xadd,Yadd)为当前字符串显示的启示坐标。String为多个需要显示的国标码值。每个国标码为两个字节,其中高字节在前、低字节在后。若显示ASIIC码,则直接送ASIIC码值即可。

32X32点阵GB2312国标简体汉字

0x55

64X64点阵GB2312国标简体汉字

0x6e

置点

背景色显示多个点

0x50

Xadd(2Byte)+Yadd(2Byte) +……

(Xadd,Yadd)为当前需要显示背景色像素点的坐标。若显示n个点,则连续送n次的X和Y坐标值。该指令主要用于删除点。

前景色显示多个点

0x51

(Xadd,Yadd)为当前需要显示前景色像素点的坐标。若显示n个点,则连续送n次的X和Y坐标值。

多线段连线

多个指定点用线段进行连接(前景色)

0x56

Xadd(2Byte)+Yadd(2Byte) +……

(Xadd,Yadd)为当前需要用前景色连线的像素点坐标。若连接n个点,则送n次X和Y坐标值。

多个指定点用线段进行连接(背景色)

0x6d

(Xadd,Yadd)为当前需要用背景色连线的像素点坐标。若连接n个点,则送n次X和Y坐标值。该指令主要用于删除点。

频谱显示

0x75

X0add(2Byte)+Y0add(2Byte)+Hmax+h1+h2+……

X0add为x轴坐标起点,Y0add为频谱水平起点,Hmax(1Byte)为谱线的最大高度。hi(0=0,1,2……)为单根谱线的高度(1Byte),每增加一个i值,x轴坐标自动增1。谱线显示前景色,比hi值大的区域显示背景色。

画圆

画圆弧

0x57

Type(1Byte) + xadd(2Byte) + yadd(2Byte) + r(1Byte)

Type=0x00:背景色画圆;Type=0x01:前景色画圆。以(xadd,yadd)为圆心,画半径为r的圆弧。

区域操作

区域清屏(背景色填充)

0x64

X0add2Byte) + Y0add(2Byte) + X1add2Byte) + Y1add(2Byte)

对起始坐标(X0add,Y0add)到结束坐标(X1add,Y1add)的矩形区域使用背景色填充。

整屏清屏

0x52

背景色填充整屏显示。

图片显示

满屏区

0x70

Photo_num(1Byte)

显示Flash中预存的第 Photo_num(0-49)幅满屏图片。

小图区

0x9c

Photo_num(1Byte) + xadd(2Byte) + yadd(2Byte)

在以(xadd,yadd)为起点的位置显示Flash中预存的第Photo_num(0-191)幅小图片。

背光控制

背光开启/关闭

0x5e

On_off(1Byte)

0xff—开启,0x00—关闭。上电默认关闭。开启背光的同时PWM被设置为100。

背光PWM调节

0x5f

Pwm(1Byte)

Pwm取值1-100,上电默认为100。

触摸屏控制

校准模式

0xe4

0x55+0xaa+0x5a+0xa5

MCU发送该指令后,液晶屏四个角上出现蓝色矩形框,用户需要用触摸笔依次点击“左上角”、“左下角”、“右下角”、“右上角”。点击相应位置并保持几十ms后该区域变成绿色,表示该点校准成功。

开关控制

0x66+0x99+0x69+0xff

开启触摸屏控制

0x66+0x99+0x69+0x00

关闭触摸屏控制,上电后默认关闭

触摸屏按下后位置上传

0x73

Xpos(2Byte) + Ypos(2Byte)

该指令为串口模组发送给MCU。Xpos为X坐标值,Ypos为Y坐标值,均为16位,且高字节在前传送。

串口控制

波特率设置寄存器

0xe0

Bps_set(1Byte)

Bps_set值用于设置串口波特率,上电后模组默认串口波特率为9600bps。如果需要更改波特率,则在9600bps波特率下发送相应指令。指令译码见特别说明。

AV显示控制

拍照指令

0x80

0x40 + page(1Byte)

执行一次拍照操作,page表示拍照存储页,可取值为1-7。

拍照显示

0x41 + page(1Byte)

执行拍照显示,page表示显示的拍照页,可取值为1-7,当希望返回正常实时AV显示时,设置page = 0即可。

视频显示模式

0x88

Dis_mode(1Byte) + Xpos(2Byte) + Ypos(2Byte)

Dis_mode为视频缩放控制寄存器:0—640*480; 1--480*360; 2—400*300; 3—320*240; Xpos和Ypos为视频显示起始坐标,高字节在前。

AV芯片配置功能

0x8f

ADDR(1Byte) + DATA(1Byte)

具体功能定义查看说明⑧

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

特别说明

①  串口波特率可调,上电默认为9600bps。

②  帧头0xaa,帧尾0xcc,0x33,0xc3,0x3c。

③  “文本显示”前需要设置好“显示参数配置”选项。

④  当叠加层色彩为0x0000时,当前显示视频层图像;当叠加层色彩为0xffff时,则当前显示图片层图像;否则,当前像素将显示叠加层数据所表示的相应色彩。

⑤  控制器内部串口缓冲区为128Byte,建议用户一次串口指令发送数据总量不要超过128Byte。

⑥  对于某些指令,如清屏指令需要耗费比较长的执行时间,用户在使用中需要在一定延时后才可再次发送其它指令。

⑦  串口波特率设置指令译码(建议实际应用中波特率不要超过115200bps,以保证系统长期正常稳定工作):

Bps_set指令值
0x00
0x01
0x02
0x03
0x04
0x05
0x06
0x07

波特率
1200
2400
4800
9600

  1. 38400
    57600
    115200
博主
ilove314@163.com
特权's Blog——永远忠于年轻时的梦想!
在实践中学习,在实践中思考,在实践中总结,在实践中提高;也许,在特权同学的原创博文中会有一些不成熟的思考和文字,也非常期待各路好手分享自己的看法和见解,特权在此先谢过了!~_~ 你们必认识真理,真理必叫你们得以自由。And you shall know the truth, and the truth shall set you free. ----John 8:32
点击跳转