液晶显示器控制显示
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
八、软件设计
本实验系统由于采用了TMS320VC5416 DSP芯片,所 以主要编程语言为相应的DSP语言,采用的编译环境是 CCS(Code Composer Studio)。软件的编写,主要包括 程序的编译、编译和链接。在软件调试的工作中,一般 都需要用到仿真器,目标DSP与PC机通过仿真器连接、 编译、链接得到的可执行程序,通过仿真器下载到目标 DSP中,目标DSP的状态通过仿真器上传到PC机显示。
1
一、DSP简介
DSP(digital signal processor)是一种独特的 微处理器,是以数字信号来处理大量信息的器件。其工 作原理是接收模拟信号,转换为0或1的数字信号,再对 数字信号进行修改、删除、强化,并在其他系统芯片中 把数字数据解译回模拟数据或实际环境格式。它不仅具 有可编程性,而且其实时运行速度可达每秒数以千万条 复杂指令程序,远远超过通用微处理器,是数字化电子 世界中日益重要的电脑芯片。它的强大数据处理能力和 高运行速度,是最值得称道的两大特色。
在定点C编译器中,中断可以用C函数直接来处理, 使用C函数进行中断处理时,应包括以下步骤:
1、在C环境中创建中断服务函数。 2、初始化中断向量表,在存储器映像中建立中断 向量表。 3、设置中断允许位和中断标志,允许中断源中断。 因此,本设计采用的软件环境是C语言环境。 九、程序代码
// 常量定义 #define LCDDELAY 1 #define LCDCMDTURNON 0x3f #define LCDCMDTURNOFF 0x3e #define LCDCMDSTARTLINE 0xc0
4
结合在线编程和调试应用程序。 CCS的开发系统主要由以下组件构成:TMS320C54x
集成代码产生工具;CCS集成开发环境;DSP/BIOS实时 内核插件及其应用程序接口API;实时数据交换的RTDX 插件以及相应的程序接口API;由TI公司以外的第三方 提供的各种应用模块插件。
CCS的功能十分强大,它集成了代码的编辑、编译、 链接和调试等诸多功能,而且支持C/C++和汇编的混合 编程,其主要功能如下:
随着数字信号处理领域不断发展,DSP也由应用推 动发展。SoC集成意味着更多的存储器和不同的内核与 专用外设一起均能集成到同一器件上,这就使DSP产品 能够按特定市场的需求进行定制。在此环境中,浮点功 能已成为整体 DSP 产品组合中的另一要素。移动电话、 数码相机等DSP产品的主要应用领域走势良好,需求旺 盛,推动着DSP市场持续增长。
1、设计硬件实现方案,即根据性能指标、功能要求 等确定最优硬件实现方案,并画出其硬件系统框图。
2、进行器件选型,根据功能、成本和使用经验等要 求确定系统中的主要器件,最重要的是根据需要选择系 统中主要芯片的芯片型号。
六、系统总体功能框图
LCD
AD/DA
DSP TMS32OVC5416
电wk.baidu.com 时钟
CPLD
液晶显示器控制显示 目录
一、DSP简介............................. 2 二、CCS(Code Composer Studio)简介 ........4 三、设计目的.............................7 四、设计任务与要求.......................7 五、系统的设计方法 ......................7 六、系统总体功能框图.....................9 七、硬件设计原理........................10 八、软件设计............................13 九、程序代码............................14 十、设计心得........................... 21
七、硬件设计原理
1、拨码开关原理:
10
2、扩展IO 接口: TMS320VC5416DSP为核心的DSP模块,它通过扩展接
口与显示/控制模块连接,可以控制其各种外围设备。 3、液晶显示模块的访问、控制是由VC5416DSP 对扩展 接口k操作完成。
控制口的寻址:命令控制接口的寄存器为 CTRLCDCMDR,数据控制接口的寄存器为CTRLCDLCR 和 CTRLCDRCR,辅助控制接口的寄存器为CTRLCDCR。 4、显示控制方法:
液晶显示模块中有两片显示缓冲存储器,分别对应 屏幕显示的象素,向其中写入数值将改变显示,写入
11
“1”则显示一点,写入“0”则不显示。其地址与像素 对应方式如下:
表 3.1 地址与象素的对应方式
发送控制命令:向液晶显示模块发送控制命令的方 法是通过向命令控制接口写入命令控制字,然后再向辅 助控制接口写入 0。 5、液晶显示器与 DSP 的连接
二、CCS(Code Composer Studio)简介
CCS(Code Composer Studio)是一种针对TMS320系 列DSP的集成开发环境,在Windows操作系统下,采用图 形接口界面,提供有环境配置、源文件编辑、程序调试、 跟踪和分析等工具。CCS有两种工作模式,即软件仿真 器模式:可以脱离DSP芯片,在PC机上模拟DSP的指令集 和工作机制,主要用于前期算法实现和调试。硬件在线 编程模式:可以实时运行在DSP芯片上,与硬件开发板相
近年来,随着低价格、高性能DSP芯片的出现,DSP 已越来越多地被应用于高速信号采集、语音处理、图像 分析处理等领域中,并且日益显示其巨大的优越性。而 液晶显示屏更以其显示直观、便于操作的特点被用作各 种便携式系统的显示前端。传统的液晶显示往往采用单 片机控制。但在系统有大量高速实时数据的情况下,单 片机由于受到处理速度的限制就显得力不从心。
图 2.2 系统总体功能框图
9
本实验开发系统,借鉴了现有实验系统的成功经 验,同时对存在的问题得到了较好的解决。系统以 TI 公司的 DSP 芯片 TMS32OVC5416 为核心,外围电路的选 择充分考虑了进行 DSP 实验和开发的需要。整个系统按 照功能可以划分为以 DSP 芯片为核心的最小系统电路和 应用电路两大部分进行设计,最小系统电路主要包括电 源电路、时钟电路。应用电路主要包括 MCBSP 串行通信 (A/D 和 D/A)模块,1/0 端口应用液晶显示模块等。通过 硬件设计和软件设计,并把以上电路连接在一起使其成 为一个完整的系统,使该系统能开设出 DSP 课程的常用 实验和实训项目,并可以作为基本的开发系统。
12
6、数据信号的传送: 由于液晶显示模块相对运行在高主频下的DSP 属
于较为慢速设备,连接时需要考虑数据线上信号的等待 问题;
电平转换:由于 DSP 为 3.3V 设备,而液晶显示模 块属于 5V 设备,所以在连接控制线、数据线时需要加 电平隔离和转换设备,在 ICETEK-CTR 上使用了 74LS245。
6
三、设计目的
通过实验学习使用VC5416 DSP的扩展I/O端口控制 外围设备的方法,了解液晶显示器的显示控制原理及编 程方法。
四、设计任务与要求
5 个拨码开关,1 拨到 0n 状态,LCD 第一行显示“太 原科技大学”; 2 拨到 0n 状态,LCD 第二行显示“电子 信息工程学院”;3 拨到 0n 状态, LCD 第三行显示“欢 迎您”; 4 拨到 0n 状态,,LCD 第四行显示“谢谢”; 5 拨到 0n 状态,,LCD 清屏。
4. 工程项目管理工具可对用户程序实行项目管 理。在生成目标程序和程序库的过程中,建立不同程序
5
的跟踪信息,通过跟踪信息对不同的程序进行分类管 理;
5. 基本调试工具具有装入执行代码、查看寄存器、 存储器、反汇编、变量窗口等功能,并支持C源代码级 调试;
6. 断点工具,能在调试程序的过程中,完成硬件 断点、软件断点和条件断点的设置;
五、系统的设计方法
本系统设计以模块电路为基础,主要采用实验和仿 真的设计方法对各模块电路硬件和软件展开设计。整个 系统设计的大致步骤如图1所示:
7
分析实验内容确定 系
统功能
确定各模块电路
软硬件分工
软件实现方法分 析
软件流程图
软件编程与调试
硬件实现方法
模块电路方法分 析
电路的实现或仿 真
绘制系统原理图
TMS320VC5416DSP提供两种编程语言:汇编语言和C 语言。对于完成一般功能的代码,这两种语言都可以使 用。使用汇编语言程序虽然具有速度快的优点,但用汇
13
编语言编写程序比较费时费力,使用C语言编程可以提 高程序开发的效率,同时使阅读程序变得容易一些。
在CCS集成开发环境中编写C程序时,C语言程序设 计无需考虑硬件的存储空间配置状况,只需单独编写一 个.CMD命令文件指明目标硬件的存储空间配置情况,链 接器就可以自动的将数据和程序装载到指定的位置空 间。
7. 探测点工具,可用于算法的仿真,数据的实时 监视等;
8. 分析工具,包括模拟器和仿真器分析,可用于 模拟和监视硬件的功能、评价代码、执行的时钟;
9. 数据的图形显示工具,可以将运算结果用图形 显示,包括显示时域/频域波形、眼图、星座图、图像等, 并能进行自动刷新;
10. 提供GEL工具。利用GEL扩展语言,用户可以编 写自己的控制面板/菜单,设置GEL菜单选项,方便直观 地修改变量,配置参数等。
3
在无线领域,我国手机用户继续大规模增加,手机 需求的大幅增加带动了我国DSP市场的高速增长。在数 字消费领域,我国新兴的数字消费类电子产品进入增长 活跃期,市场呈现高增长态势,用户认知率和普及率大 幅提高,数码消费市场的高速增长推动了DSP市场的发 展。此外,计算机、通信和消费类电子产品的数字化融 合也为DSP提供了进一步的发展机会。目前,在VoIP、 DSL、Cable Modem、3G、数字相机和马达控制等需要实 时处理大量数字信息的应用中,都可见到DSP的身影, DSP无疑已经成为推动数字化进程的动力。
DSP应用的快速发展为数字信息产品带来广阔的发
2
展空间,并将支持通信、计算机和消费类电子产品的数 字化融合。在无线领域,DSP遍及无线交换设备、基站、 手持终端和网络领域,并涵盖从骨干基础设施到宽带入 户的设备,包括VoIP网关和IP电话、DSL和Cable Modem 等。面向群体应用,DSP在媒体网关、视频监控、专业 音响、数字广播、激光打印等应用中表现出色;面向个 人应用,DSP在便携式数字音频和影像播放器、指纹识 别和语音识别等应用中表现不俗;针对嵌入式数字控制 应用,DSP极大地满足了工业界的需求,如数字变频电 力电源设备、工业缝纫机等;DSP也极大地满足了消费 电子的需求,如空调、冰箱、洗衣机等。
开发实验项目
图 1 系统设计的大致步骤图 整个系统设计的大致步骤如图1所示,设计过程分 软件设计与硬件设计两大方向,其中,软件部分的设计 步骤为:
1、根据需要用C语言编写程序 2、将程序转化成DSP汇编,并送到编译器进行编译, 生成目标文件。
8
3、将目标文件送链接器进行链接,得到可执行文 件。
4、将可执行文件调入调试器进行调试,检查运行 结果是否正确。如果正确继续,否则返回修改。 硬件部分设计步骤为:
1. 具有集成可视化代码编辑界面,用户可通过其 界面直接编写C、汇编、.cmd文件;
2. 含有集成代码生成工具,包括汇编器、优化C编 译器、链接器等,将代码的编辑、编译、链接和调试等 诸多功能集成到一个软件环境中;
3. 高性能编辑器支持汇编文件的动态语法加亮显 示,使用户很容易阅读代码,发现语法错误;
14
#define LCDCMDPAGE 0xb8 #define LCDCMDVERADDRESS 0x40
#define WAITSTATUS (*(unsigned int *)0x28)
// CTR 扩展寄存器定义
ioport unsigned int port3002,
ioport unsigned int port3003,
ioport unsigned int port8000;
ioport unsigned int port8001;
ioport unsigned int port8002;
本实验系统由于采用了TMS320VC5416 DSP芯片,所 以主要编程语言为相应的DSP语言,采用的编译环境是 CCS(Code Composer Studio)。软件的编写,主要包括 程序的编译、编译和链接。在软件调试的工作中,一般 都需要用到仿真器,目标DSP与PC机通过仿真器连接、 编译、链接得到的可执行程序,通过仿真器下载到目标 DSP中,目标DSP的状态通过仿真器上传到PC机显示。
1
一、DSP简介
DSP(digital signal processor)是一种独特的 微处理器,是以数字信号来处理大量信息的器件。其工 作原理是接收模拟信号,转换为0或1的数字信号,再对 数字信号进行修改、删除、强化,并在其他系统芯片中 把数字数据解译回模拟数据或实际环境格式。它不仅具 有可编程性,而且其实时运行速度可达每秒数以千万条 复杂指令程序,远远超过通用微处理器,是数字化电子 世界中日益重要的电脑芯片。它的强大数据处理能力和 高运行速度,是最值得称道的两大特色。
在定点C编译器中,中断可以用C函数直接来处理, 使用C函数进行中断处理时,应包括以下步骤:
1、在C环境中创建中断服务函数。 2、初始化中断向量表,在存储器映像中建立中断 向量表。 3、设置中断允许位和中断标志,允许中断源中断。 因此,本设计采用的软件环境是C语言环境。 九、程序代码
// 常量定义 #define LCDDELAY 1 #define LCDCMDTURNON 0x3f #define LCDCMDTURNOFF 0x3e #define LCDCMDSTARTLINE 0xc0
4
结合在线编程和调试应用程序。 CCS的开发系统主要由以下组件构成:TMS320C54x
集成代码产生工具;CCS集成开发环境;DSP/BIOS实时 内核插件及其应用程序接口API;实时数据交换的RTDX 插件以及相应的程序接口API;由TI公司以外的第三方 提供的各种应用模块插件。
CCS的功能十分强大,它集成了代码的编辑、编译、 链接和调试等诸多功能,而且支持C/C++和汇编的混合 编程,其主要功能如下:
随着数字信号处理领域不断发展,DSP也由应用推 动发展。SoC集成意味着更多的存储器和不同的内核与 专用外设一起均能集成到同一器件上,这就使DSP产品 能够按特定市场的需求进行定制。在此环境中,浮点功 能已成为整体 DSP 产品组合中的另一要素。移动电话、 数码相机等DSP产品的主要应用领域走势良好,需求旺 盛,推动着DSP市场持续增长。
1、设计硬件实现方案,即根据性能指标、功能要求 等确定最优硬件实现方案,并画出其硬件系统框图。
2、进行器件选型,根据功能、成本和使用经验等要 求确定系统中的主要器件,最重要的是根据需要选择系 统中主要芯片的芯片型号。
六、系统总体功能框图
LCD
AD/DA
DSP TMS32OVC5416
电wk.baidu.com 时钟
CPLD
液晶显示器控制显示 目录
一、DSP简介............................. 2 二、CCS(Code Composer Studio)简介 ........4 三、设计目的.............................7 四、设计任务与要求.......................7 五、系统的设计方法 ......................7 六、系统总体功能框图.....................9 七、硬件设计原理........................10 八、软件设计............................13 九、程序代码............................14 十、设计心得........................... 21
七、硬件设计原理
1、拨码开关原理:
10
2、扩展IO 接口: TMS320VC5416DSP为核心的DSP模块,它通过扩展接
口与显示/控制模块连接,可以控制其各种外围设备。 3、液晶显示模块的访问、控制是由VC5416DSP 对扩展 接口k操作完成。
控制口的寻址:命令控制接口的寄存器为 CTRLCDCMDR,数据控制接口的寄存器为CTRLCDLCR 和 CTRLCDRCR,辅助控制接口的寄存器为CTRLCDCR。 4、显示控制方法:
液晶显示模块中有两片显示缓冲存储器,分别对应 屏幕显示的象素,向其中写入数值将改变显示,写入
11
“1”则显示一点,写入“0”则不显示。其地址与像素 对应方式如下:
表 3.1 地址与象素的对应方式
发送控制命令:向液晶显示模块发送控制命令的方 法是通过向命令控制接口写入命令控制字,然后再向辅 助控制接口写入 0。 5、液晶显示器与 DSP 的连接
二、CCS(Code Composer Studio)简介
CCS(Code Composer Studio)是一种针对TMS320系 列DSP的集成开发环境,在Windows操作系统下,采用图 形接口界面,提供有环境配置、源文件编辑、程序调试、 跟踪和分析等工具。CCS有两种工作模式,即软件仿真 器模式:可以脱离DSP芯片,在PC机上模拟DSP的指令集 和工作机制,主要用于前期算法实现和调试。硬件在线 编程模式:可以实时运行在DSP芯片上,与硬件开发板相
近年来,随着低价格、高性能DSP芯片的出现,DSP 已越来越多地被应用于高速信号采集、语音处理、图像 分析处理等领域中,并且日益显示其巨大的优越性。而 液晶显示屏更以其显示直观、便于操作的特点被用作各 种便携式系统的显示前端。传统的液晶显示往往采用单 片机控制。但在系统有大量高速实时数据的情况下,单 片机由于受到处理速度的限制就显得力不从心。
图 2.2 系统总体功能框图
9
本实验开发系统,借鉴了现有实验系统的成功经 验,同时对存在的问题得到了较好的解决。系统以 TI 公司的 DSP 芯片 TMS32OVC5416 为核心,外围电路的选 择充分考虑了进行 DSP 实验和开发的需要。整个系统按 照功能可以划分为以 DSP 芯片为核心的最小系统电路和 应用电路两大部分进行设计,最小系统电路主要包括电 源电路、时钟电路。应用电路主要包括 MCBSP 串行通信 (A/D 和 D/A)模块,1/0 端口应用液晶显示模块等。通过 硬件设计和软件设计,并把以上电路连接在一起使其成 为一个完整的系统,使该系统能开设出 DSP 课程的常用 实验和实训项目,并可以作为基本的开发系统。
12
6、数据信号的传送: 由于液晶显示模块相对运行在高主频下的DSP 属
于较为慢速设备,连接时需要考虑数据线上信号的等待 问题;
电平转换:由于 DSP 为 3.3V 设备,而液晶显示模 块属于 5V 设备,所以在连接控制线、数据线时需要加 电平隔离和转换设备,在 ICETEK-CTR 上使用了 74LS245。
6
三、设计目的
通过实验学习使用VC5416 DSP的扩展I/O端口控制 外围设备的方法,了解液晶显示器的显示控制原理及编 程方法。
四、设计任务与要求
5 个拨码开关,1 拨到 0n 状态,LCD 第一行显示“太 原科技大学”; 2 拨到 0n 状态,LCD 第二行显示“电子 信息工程学院”;3 拨到 0n 状态, LCD 第三行显示“欢 迎您”; 4 拨到 0n 状态,,LCD 第四行显示“谢谢”; 5 拨到 0n 状态,,LCD 清屏。
4. 工程项目管理工具可对用户程序实行项目管 理。在生成目标程序和程序库的过程中,建立不同程序
5
的跟踪信息,通过跟踪信息对不同的程序进行分类管 理;
5. 基本调试工具具有装入执行代码、查看寄存器、 存储器、反汇编、变量窗口等功能,并支持C源代码级 调试;
6. 断点工具,能在调试程序的过程中,完成硬件 断点、软件断点和条件断点的设置;
五、系统的设计方法
本系统设计以模块电路为基础,主要采用实验和仿 真的设计方法对各模块电路硬件和软件展开设计。整个 系统设计的大致步骤如图1所示:
7
分析实验内容确定 系
统功能
确定各模块电路
软硬件分工
软件实现方法分 析
软件流程图
软件编程与调试
硬件实现方法
模块电路方法分 析
电路的实现或仿 真
绘制系统原理图
TMS320VC5416DSP提供两种编程语言:汇编语言和C 语言。对于完成一般功能的代码,这两种语言都可以使 用。使用汇编语言程序虽然具有速度快的优点,但用汇
13
编语言编写程序比较费时费力,使用C语言编程可以提 高程序开发的效率,同时使阅读程序变得容易一些。
在CCS集成开发环境中编写C程序时,C语言程序设 计无需考虑硬件的存储空间配置状况,只需单独编写一 个.CMD命令文件指明目标硬件的存储空间配置情况,链 接器就可以自动的将数据和程序装载到指定的位置空 间。
7. 探测点工具,可用于算法的仿真,数据的实时 监视等;
8. 分析工具,包括模拟器和仿真器分析,可用于 模拟和监视硬件的功能、评价代码、执行的时钟;
9. 数据的图形显示工具,可以将运算结果用图形 显示,包括显示时域/频域波形、眼图、星座图、图像等, 并能进行自动刷新;
10. 提供GEL工具。利用GEL扩展语言,用户可以编 写自己的控制面板/菜单,设置GEL菜单选项,方便直观 地修改变量,配置参数等。
3
在无线领域,我国手机用户继续大规模增加,手机 需求的大幅增加带动了我国DSP市场的高速增长。在数 字消费领域,我国新兴的数字消费类电子产品进入增长 活跃期,市场呈现高增长态势,用户认知率和普及率大 幅提高,数码消费市场的高速增长推动了DSP市场的发 展。此外,计算机、通信和消费类电子产品的数字化融 合也为DSP提供了进一步的发展机会。目前,在VoIP、 DSL、Cable Modem、3G、数字相机和马达控制等需要实 时处理大量数字信息的应用中,都可见到DSP的身影, DSP无疑已经成为推动数字化进程的动力。
DSP应用的快速发展为数字信息产品带来广阔的发
2
展空间,并将支持通信、计算机和消费类电子产品的数 字化融合。在无线领域,DSP遍及无线交换设备、基站、 手持终端和网络领域,并涵盖从骨干基础设施到宽带入 户的设备,包括VoIP网关和IP电话、DSL和Cable Modem 等。面向群体应用,DSP在媒体网关、视频监控、专业 音响、数字广播、激光打印等应用中表现出色;面向个 人应用,DSP在便携式数字音频和影像播放器、指纹识 别和语音识别等应用中表现不俗;针对嵌入式数字控制 应用,DSP极大地满足了工业界的需求,如数字变频电 力电源设备、工业缝纫机等;DSP也极大地满足了消费 电子的需求,如空调、冰箱、洗衣机等。
开发实验项目
图 1 系统设计的大致步骤图 整个系统设计的大致步骤如图1所示,设计过程分 软件设计与硬件设计两大方向,其中,软件部分的设计 步骤为:
1、根据需要用C语言编写程序 2、将程序转化成DSP汇编,并送到编译器进行编译, 生成目标文件。
8
3、将目标文件送链接器进行链接,得到可执行文 件。
4、将可执行文件调入调试器进行调试,检查运行 结果是否正确。如果正确继续,否则返回修改。 硬件部分设计步骤为:
1. 具有集成可视化代码编辑界面,用户可通过其 界面直接编写C、汇编、.cmd文件;
2. 含有集成代码生成工具,包括汇编器、优化C编 译器、链接器等,将代码的编辑、编译、链接和调试等 诸多功能集成到一个软件环境中;
3. 高性能编辑器支持汇编文件的动态语法加亮显 示,使用户很容易阅读代码,发现语法错误;
14
#define LCDCMDPAGE 0xb8 #define LCDCMDVERADDRESS 0x40
#define WAITSTATUS (*(unsigned int *)0x28)
// CTR 扩展寄存器定义
ioport unsigned int port3002,
ioport unsigned int port3003,
ioport unsigned int port8000;
ioport unsigned int port8001;
ioport unsigned int port8002;