完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
近年来,随着低价格、高性能DSP芯片的出现,DSP已越来越多地被应用于高速信号采集、语音处理、图像分析处理等领域中,并显示出巨大的优越性。智能彩色液晶显示器具有显示直接美观、便于操作的特点,被用作各种便携式系统的显示前端。它一般采用工业级的高频CPU?可以自行对接收的命令和数据进行处理?因而能够提高用户端接口的软件开发效率。
一般的液晶显示往往采用单片机控制?但在系统需要大量高速实时数据的情况下,单片机由于受处理速度的限制就显得力不从心?而且一般的液晶显示仍采用烦琐的点阵操作来显示汉字和图形,而这又增加了软件开发的难度。为了解决这些问题,本文将提出一种基于DSP控制的智能彩色液晶显示器的接口设计方法,从而有效地解决了上述问题。 智能彩色液晶显示器(以下简称LCD)VK63是上海广电集团北京分公司的产品,它具有体积小、功耗低、无辅射、寿命长、超薄、防振及防爆等特点。该显示器的显示颜色为256色,可显示字符为ASCII的二级字库,中文显示为15行×20列,图形点阵320×RGB×240。 该LCD采用大规模门阵列集成电路,从而避免了用烦琐的点阵操作来显示汉字和图形,减轻了软件开发人员的负担,提高开发效率;由于采用全数字化设计,因而显示稳定可靠,抗强电磁干扰;该LCD采用工业级的CPU(89C51),机内配置有二级字库,可通过串口或三态数据总线并口接收控制命令数据,并自行对接收的命令和数据进行处理,以实时显示用户所要显示的各种曲线、图形和中西文字体。其原理框图如图1所示。 LCD的命令码为十六进制码格式,每个命令均以十六进制码的“1B”开头,后面为命令代码和所需要的参数。其中XH表示X坐标的高8位,XL表示X坐标的低8位,YH表示Y坐标的高8位,YL表示Y坐标的低8位。 LCD的图形方式以光点为最小点阵显示单位,每个光点包含RGB三个色点。字符方式以8×16点阵为最小显示块单位。西文字符占一个显示块,16×16点阵的汉字占两个显示块。本机每显示一个字符或汉字后?光标自动右移一个字符或汉字位?所以在同一行里顺序写入汉字或字符时?不用再加光标定位命令,即可连续送入内码。 如图形操作为画一实心矩形,那么,其命令代码为:1B 41 color XH1 XL1 YH1 YL1 XH2 XL2 YH2 YL2,其中,color为颜色代码,X1 Y1为左上角坐标,X2 Y2为右下角坐标。其具体操作是以点(X1,Y1)为左上角坐标,以点(X2,Y2)为右下角坐标,使用指定的颜色画实心矩形。 2.1 串行通讯的硬件设计 LCD选用标准RS-232通讯接口,按串口方式工作。一帧信息为10位,内含1位起始位(0),8位数据位(先低位后高位),1位停止位(1)。 为了提高通讯速度,显示器内设置了一个128字节的输入缓冲区。发送数据前应先检查DTR信号(RS232电平),若DTR为负电平(对应COMS高电平),则表示缓冲区满,要等到DTR信号变为正电平(对应COMS低电平)后再发送数据。如果每组的数据量少于128字节,同时每组之间又有足够的间隔,则不用判断DTR信号就可连续发送数据。图2所示是其硬件接口原理框图。 2.2 串行通讯软件设计 此设计是一个具体工程项目(无功与谐波补偿装置)的液晶显示部分程序,主要完成显示“系统是否投入工作以及工作是否正常”的各种彩色图形曲线和文字,其中显示标志寄存器和COUNT数据寄存器的值都由相关应用程序给定。通过设置等待寄存器WSGR(赋值为0)和检测I/O的DTR信号可以防止数据发送丢失,从而实现高速DSP与外部低速LCD的通信。由于篇幅有限,这里只给出了串行初始化和数据发送部分的程序。其程序流程框图如图3所示。 (1)串行通讯初始化程序 LDP # 0E0H ;设置串行通讯口各寄存器 SPLK # 0017H,SCICCR ;SCI使能,空闲线唤醒模式,8位数据,无奇偶校验位 SPLK # 0013H,SCICTL1 ;接收、发送、内部时钟使能,SLEEP=0 SPLK # 0000H,SCICTL2 ;接收和发送中断禁止 SPLK # 0000H,SCIHBAUD SPLK # 0082H,SCILBAUD ;波特率为9600 SPLK # 0020H,SCIPC2 ;设置SCITXD为串行发送功能,SCIRXD为I/O口功能 SPLK #0033H,SCICTL1 ;串口初始化完成 LAR AR0,#SCITXBUF ;发送缓冲寄存器地址 (2)数据串行发送程序 SCISS: LDP #0E0H BIT SCIPC2,BIT3 ;检测DTR信号,判断输入缓冲区是否满 BCND SCISS,TC ;若缓冲区满,继续查询等待 LDP #4H ;DP指向用户定义数据页4(0200H-0280H) LACL SCITEMP MAR *,AR0 ;数据送SCITXBUF发送缓冲区 SACL * XMIT_RDY: LDP # 0E0H BIT SCICTL2BIT7 ;判发送器是否空 BCND XMIT_RDY,NTC RET3 DSP与LCD的并行通讯设计 3.1 并行通讯硬件设计 LCD自身具有一个三态数据总线并口(并口为COMS电平),可以同主机进行通讯。它的外部有12条线同DSP相连,即D0~D7、WRCS、BUSY、INT和GND。其中WRCS为片选信号和写信号的逻辑或非,上升沿有效。BUSY信号为高(COMS电平)表示忙。INT为中断申请信号,低电平有效。图4所示是其并行接口的硬件原理图。图5所示是LCD的时序图。其中TW为WRCS信号的脉冲宽度,TSU为数据建立时间,TH为数据保持时间。这些参数的具体要求为: TW不小于16ns;TSU不小于12ns;T大于0ns ;TH不小于5ns;TI不小于2μs。 3.2 并行通讯软件设计 并行通讯的编程思想与串行通讯软件的设计基本相同。但并行通讯是通过设置等待寄存器WSGR?赋值为0 和检测IOPC5的BUSY忙信号来防止发送数据丢失,以实现高速DSP与外部低速LCD的通信。图3所示的流程图也适用于并行通讯。 (1)并行通讯初始化程序 LDP # 0E1H LACL OCRB AND # 00CFH ;IOPC(4-5)配置为一般I/O功能 SACL OCRB LACL PCDATDIR OR # 1000H ;IOPC4口为输出方式 SACL PCDATDIR LACL PCDATDIR AND # 0DFFFH ;IOPC5口为输入方式 SACL PCDATDIR (2)数据并行发送程序 SCISS:;判断IOPC5口的BUSY信号是否忙 LDP # 0E1H LACL PCDATDIR LDP # 4H SACL BUSYDATA BIT BUSYDATA,BIT5 BCND SCISS, TC ;若BUSY为高,继续查询等待 LDP # 4H ;若BUSY为低, 把数据送到端口8000H. OUT PARALTEMP,8000H LDP # 0E1H LACL PCDATDIR AND # 0FFEFH ;将IOPC4口的INT信号置低 SACL PCDATDIR RPT # 50 ;延时2.5μs NOP LDP # 0E1H LACL PCDATDIR OR #0010H ;将IOPC4口的INT信号置高 SACL PCDATDIR RET 4 结束语 本文提出的基于DSP控制的智能彩色液晶显示器接口设计能够很好地解决高速DSP与外部低速设备的通信问题,本设计尝试采用了串行和并行两种通讯方案,其中前者DSP只需用3根线即可实现数据串行通信,因而节约了DSP的外部资源,虽然传输速度稍低,但能满足大多数实际工程的需要?而后者采用并行通讯虽然数据传输速度较快,但会受到LCD所带CPU(89C51)解释命令速度的限制,虽然液晶显示速度比前者稍快20%左右,但要占用DSP外部资源的12根线。通过对上述两种方案的比较,最终设计项目采用了串行通讯方案,并在实际应用中取得了很好的效果。 |
|
|
|
只有小组成员才能发言,加入小组>>
639 浏览 0 评论
1076 浏览 1 评论
2446 浏览 5 评论
2773 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2605 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
629浏览 9评论
625浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
751浏览 6评论
600浏览 5评论
647浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-3 04:10 , Processed in 0.936542 second(s), Total 81, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号