TMS320F28027实验指导书初稿版本解读.docx
- 文档编号:24450604
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:26
- 大小:2.28MB
TMS320F28027实验指导书初稿版本解读.docx
《TMS320F28027实验指导书初稿版本解读.docx》由会员分享,可在线阅读,更多相关《TMS320F28027实验指导书初稿版本解读.docx(26页珍藏版)》请在冰豆网上搜索。
TMS320F28027实验指导书初稿版本解读
第一章实验平台介绍2
一、TMS320F28027硬件资源简介2
二、TMS320F28027引脚图3
三、实验学习板简介4
第二章实验编译环境介绍5
一、仿真器简介5
二、CCS简介5
第三章实验6
实验一、通用输入输出口(GPIO)6
实验二、定时器(Timer0)的应用7
实验三、LED数码管及键盘应用9
实验四、点阵显示11
实验五、模数转换与LCD液晶屏应用13
实验六、基于串口通信的数模转换及其应用15
实验七、SCI数字回送测试程序17
实验八、光电断续器测试程序19
实验九、步进电机实验20
第一章实验平台介绍
一、TMS320F28027硬件资源简介
1、高效率32位CPU(TMS320F2802X)
Ø60MHZ时钟频率
Ø16*16和32*32乘法运算
Ø16*16双乘法器
Ø哈佛总线结构
Ø原子操作
Ø快速中断响应和处理
Ø统一的存储器编程模式
Ø高代码效率(C/C++和汇编)
2、低设备和系统成本
Ø单一3.3V供电、无电源排序要求
Ø上电复位和掉电复位
Ø低功耗
3、时钟系统
Ø2路内部零管脚锁相环
Ø片上晶体振荡器/外部时钟输入
Ø时钟丢失检测电路
4、22个可编程,带输入滤波的多路复用GPIO引脚
5、外设中断扩展PIE模块,支持所有外设中断
6、3个32位CPU定时器
7、片上存储器
ØFlash,SARAM,OTP,BOOTROM
8、128位安全密钥
Ø保护存储器模块的安全
Ø防止固件的逆向操作
9、通信接口
Ø一路UART模块
Ø一路SPI模块
Ø一路IIC模块
10、增强的控制外设
Ø增强型脉宽调制器(ePWM)
Ø高精度PWM(HRPWM)
Ø增强型捕获模块(ECAP)
Ø模拟数字转换器
Ø比较器
二、TMS320F28027引脚图
图×为48引脚PT四方塑料扁平封装(PQFP)。
图×PQFP封装引脚图
关于28027更详细的资料,请参考“28027/TMS320F28027相关资料”中的相关文件。
三、实验学习板简介
实验室使用的学习板实物图如图×所示
图×学习板实物图
学习板主要由两块电路板组成,分别为DSP28027_MB和DSP28027_DB。
图×中红色小方框部分为DSP28027_MB主控板,包含有TMS320F28027控制芯片的外围电路,DSP28027_DB为外围底板,分为若干个模块。
两板之间通过主板插槽连接。
另外,实验平台还配置步进电机(图×中红色长框部分)
下面将主要对外围底板DSP28027_DB作进一步介绍。
DSP28027_DB的原理图如图×所示,请参考“28027/实验平台相关资料”中的PDF文件“DSP28027_DB原理图”,对各部分作更详细的了解。
图×DSP28027_DB原理图
该学习板大致分为17个基本模块,主要有LED流水灯、数码管、键盘、点阵、模数转换、数模转换、液晶显示、光电开关、步进电机驱动、霍尔计数和继电器等,每个模块都能够独立完成一定功能。
实验室提供了相关代码,同学们可通过这些代码对各个模块进行学习。
第二章实验编译环境介绍
一、仿真器简介
实验室使用的仿真器为XDS100,其产品使用说明书请参参考“28027/实验平台相关资料”中的PDF文件“XDS100产品说明书”。
二、CCS简介
CCS(CodeComposerStudio)是由美国TI公司提供的DSP集成开发环境。
本指导书以CCStudiov3.3版本为例,简单介绍如何使用CCS开启一个项目。
1、打开CCS调试环境
第一次使用CCS时,先双击SetupCCStudiov3.3图标,开始配置CCS硬件平台。
配置完成后点击“Save&Quit”,这时会弹出一个窗口询问“RestartCodeComposerStudioonexit?
”,点击“是”,系统自动打开CCStudiov3.3。
配置好CCS的硬件平台后,下一次使用时可直接打开CCStudiov3.3。
打开CCStudiov3.3之后,给实验平台上电,打开【Debug】菜单,选择【Connect】命令连接实验平台。
如果连接不成功,可选择【Debug】菜单下的【ResetEmulator】复位仿真器,再重新选择【Connect】。
2、打开项目主文件
(1)打开【Project】菜单,选择【Open】命令。
找到对应的目录,打开项目文件(*.pjt)。
(2)在CCS应用程序窗口左边的【FileView】视窗中,单击项目文件(*.pjt)前边的加号,可展开该项目的文件类型组成图。
(3)在一个简单的项目中,一般包括头文件(在【Include】文件夹中)、库文件(在【Libraries】文件夹中)、源文件(在【Source】文件夹中)和链接命令文件(*.cmd文件)。
头文件和库文件可通过设置编译的搜索路径自动添加,源文件和链接命令文件需要通过【Project】中的【AddFilestoProject】命令添加。
(4)单击【Source】文件夹前面的加号,找到主源文件(*.c)双击该文件。
3、加载程序
点击编译按钮,或打开【Project】中的【Build】命令,在编译完成并生成*.out文件后,自动出现【LoadingProgram】对话框,对目标板加载二进制程序代码。
4、运行程序与停止运行程序
单击窗口左边运行程序的快捷键,或打开【Debug】中的【Run】命令,即可运行程序,在实验平台观察程序运行结果。
单击停止运行的快捷键,或者打开【Debug】中的【Halt】命令,即可终止程序。
CCS中还有新建一个项目、设置断点、单步调试、观察变量等常用操作,请同学们自行参考其他资料学习。
第三章实验
实验一、通用输入输出口(GPIO)
一、实验目的
1、熟悉CCStudio开发环境;
2、掌握GPIO的工作原理;
3、掌握相关寄存器的作用和设置方法;
4、利用GPIO使LED发光二级管实现流水灯功能。
二、实验原理
1、LED流水灯实物图及硬件原理图如图×所示:
图×LED流水灯实物图及硬件原理图
2、通过对F28027引脚配置,使GPIO-00至GPIO-07输出8位数据。
8个LED灯为共阳极连接,当输出信号为正时,LED熄灭,反之点亮。
74HC373为三态输出的八D透明锁存器,可以对输出的高低电平进行锁存。
3、软件部分通过对GPIO0至GPIO7各位轮流反转,实现流水灯的效果。
三、实验步骤
1、连接跳线J19与J20(实物图中红色长框部分),连接跳线J6与J7(注:
做其他实验时,都保持J6与J7为连接状态),断开其他所有跳线;
2、连接好实验平台的电源线及仿真器,打开电源开关;
3、打开CCS,连接实验平台:
打开【Debug】菜单,选择【Connect】命令连接实验平台。
如果连接不成功,可选择【Debug】菜单下的【ResetEmulator】复位仿真器,再重新选择【Connect】;
4、通过CCS打开对应的项目文件:
在菜单栏中选择Project->Open,在目录“28027/DSP2802x_examples/zGpio_LedGlide”文件夹下打开对应的项目文件(.pjt文件);
5、编译/下载工程文件;
6、重启芯片:
按下组合键Ctrl+R和Ctrl+Shift+F5,或选择Debug->ResetCPU,Debug->Restart(注意,每次运行程序时都应进行此操作);
7、运行程序(窗口左方快捷键或Debug->Run),观察LED灯的亮暗变化。
四、实践题
1、在原程序上改动,任意改变流水灯的变化方式。
2、仔细观察事物图及硬件原理图,说明跳线的作用。
3、F28027芯片共有多少个引脚可作为GPIO使用?
可分为哪几组?
4、此例程是通过反转(toggle)GPIO各位实现的,试运用对GPIO的置位和清零操作实现相同功能,熟悉寄存器设置方法。
实验二、定时器(Timer0)的应用
一、实验目的
1、理解CPU定时器0的工作原理。
2、掌握决定CPU定时器0中断响应速度快慢的因素。
二、实验原理
1、实物图及硬件原理图如图×所示:
图×实物图及硬件原理图
2、CPU定时器以系统时钟SYSCLKOUT作为时钟源,而预定计时器(PSCH:
PSC)从分频值(TDDRH:
TDDR)减至0时,称为一个定时器周期。
当TIMH:
TIM减到0时,TIMH:
TIM重装定时器周期值PRDH:
PRD,同时产生定时器中断。
3、周期寄存器的设置通过ConfigCpuTimer函数中后两个形参来设置,两者的乘积即为定时器0的周期。
4、在本例程中,电机转盘上的磁铁靠拢A1004时,GPIO12为低电平,否则为高电平。
本例利用此来计算电机旋转速度。
三、实验步骤
1、连接好实验平台的电源线及仿真器,打开电源开关;
2、连接跳线,连接J29,J30的+5V、GND及SOMI,将示波器接入J31的IO12,断开其他所有跳线;
3、打开CCS,选择Debug->Connect,若连接失败,重启实验平台或断开仿真器后重新连接仿真器,再次Debug->Connect,直到连接成功为止;
4、选择Project->Open,在目录下找到zGpio_LedGlide文件夹,打开文件夹目录下的.pjt文件;
5、编译/下载工程文件;
6、按下组合键Ctrl+R和Ctrl+Shift+F5,或选择Debug->ResetCPU,Debug->Restart。
7、运行程序(窗口左方快捷键或Debug->Run),观察直流电机旋转情况以及变量InterruptCount
四、实践题
1、示波器周期和定时器周期PRD、TDDRH:
TDDR有什么关系?
2、试解释TDDRH:
TDDR=0x0040含义。
3、采用两种不同方式(不同的PRD、TDDRH:
TDDR数值)实现原程序计数器中断速度加快一倍。
并解释中断速度在本程序中对结果有什么影响。
实验三、LED数码管及键盘应用
一、实验目的
1、进一步熟悉TMS28027,并掌握其IIC通讯方式;
2、掌握数码管应用基础,了解BC7281B的功能及其应用;
二、实验原理
1、LED数码管及键盘实物图及硬件原理图如图×所示:
图×LED数码管及键盘实物图及硬件原理图
2、本次试验应用TMS28027的IIC通讯方式,其中P28复用为SDA,P29复用为SCL,具体细节详见附录程序的注释。
3、本次实验中用到驱动芯片BC7281B,它可驱动128段数码管和64个键盘。
三、实验步骤
1、连接跳线J21与J22(实物图中红色长框部分),连接跳线J6与J7,断开其他所有跳线;
2、连接好实验平台的电源线及仿真器,打开电源开关,上电后应有四个绿色LED灯发光;
3、启动CCS,在目录“28027/DSP2802x_examples/zKeyLedNumber”文件夹下打开对应的项目文件(.pjt文件),编译并下载工程文件;
4、按下组合键Ctrl+R和Ctrl+Shift+F5,或选择Debug->ResetCPU,Debug->Restart,重启芯片;
5、运行程序,观察到板子上8个数码管被点亮,从左到右依次显示数字“12345678”。
四、实践题
1、在原程序上修改,使得某位数码管能够从0到9依次变化;
2、在原程序上修改,使得某个键盘按下时数码管发生变化(如某位增加1);
3、请简述程序中IIC通讯方式原理及其优点;
4、请说明BC7281B在实验中的功能。
实验四、点阵显示
一、实验目的
1、理解SPI串行端口的工作原理和特点;
2、掌握点阵的显示方法。
二、实验原理
1、实物图及硬件原理图如图×所示:
图×LED点阵屏实物图及硬件原理图
2、SPI(SerialPeripheralInterface)是一个同步串行I/O端口,它在F28027与其他外围设备之间通过移位寄存器方式传送一个可变长度和速率的串行位流。
在数据传送过程中,一个SPI设备必须配置成主机,所有其他的设备配置成从机。
主机通过总线为所有从机提供时钟信号。
3、SPI最简单的通信方式是一个可编程的移位寄存器。
数据通过SPIDAT寄存器(SPI串行数据寄存器)移入和移出。
要传送的数据通过SPITXBUF(SPI串行输出缓存寄存器)写入SPIDAT寄存器,接收的数据锁存在SPIRXBUF寄存器以便CPU读取。
4、实验装置上的点阵为16*16点阵,其中,行是共阳极连接,由两个74HC138译码器扫描驱动;每行的数据通过SPI端口由主机传输,74HC595为8位串行输入/输出或者并行输出移位寄存器,可将主机发出的串行数据转化为并行数据,点亮每行的相应点。
三、实验步骤
1、连接跳线J23与J24(实物图中红色长框部分),连接跳线J6与J7,断开其他所有跳线;
2、连接好实验平台的电源线及仿真器,打开电源开关;
3、联机,用CCS打开zSpiLedWord目录下的工程文件,编译下载并运行;
4、观察点阵的显示情况。
四、实践题
1、通过改动原程序,使“九”移动的方向相反;
2、任意选择一个汉字,在点阵上静止显示;
3、SPI通信方式共需几根信号线?
分别有什么作用?
实验五、模数转换与LCD液晶屏应用
一、实验目的
1、理解DSC28027的AD模块基本功能与设置方法;
2、掌握LCD液晶屏的显示功能及其与GPIO端口的配合。
二、实验原理
1、实物图及硬件原理图如图×所示:
图×模数转换与LCD显示屏实物图及硬件原理图
2、DSP28027的ADC是1个16通道的12位AD,支持顺序采样及同步采样两种模式,输入电压范围为0-3.3V。
AD转换可由以下几种事件触发:
–S/W-softwareimmediatestart
–ePWM1-7
–GPIOXINT2
–CPUTimers0/1/2
–ADCINT1/2
3、决定ADC触发方式的控制寄存器是ADCSOCxCTL,具体的位定义请参看“28027实验平台相关资料/spruge5b.pdf”。
4、本实验中通过调节电位器改变输入电压,从而使得AD转换结果改变,进而改变液晶屏上的示数。
5、LCD液晶屏的驱动由GPIO端口完成,在实验1中已经涉及过GPIO口的介绍,此处不再赘述,具体的GPIO设置请参看源代码及相应注释。
三、实验步骤
1、连接跳线J17与J18,J6与J7,断开其他所有跳线;
2、连接好实验平台的电源线及仿真器,打开电源开关;
3、联机,用CCS打开zAdcSoc_Lcd目录下的工程文件,编译下载并运行;
4、调节电位器1和电位器2,观察液晶显示屏上电压电流示数的变化情况。
四、实践题
1、深入理解28027的AD模块的几种工作方式(不同的事件中断触发等)以及与其他模块间的配合。
2、修改程序,更换AD通道,改变液晶屏上显示的字。
实验六、基于串口通信的数模转换及其应用
一、实验目的
1、理解SPI串行外设接口的工作原理和特点;
2、掌握DAC8811芯片与DSC28027的通信以及数模转换的过程;
3、通过驱动直流电机或者点亮发光二极管观察DAC转换结果。
二、实验原理
1、直流电机驱动模块实物图及硬件原理图如图×所示,光敏控制模块实物图及硬件原理图如图×所示
图×直流电机驱动模块实物图及硬件原理图
图×光敏控制模块实物图及硬件原理图
2、SPI(SerialPeripheralInterface)是一个同步串行I/O端口,它在F28027与其他外围设备之间通过移位寄存器方式传送一个可变长度和速率的串行位流。
在数据传送过程中,一个SPI设备必须配置成主机,所有其他的设备配置成从机。
主机通过总线为所有从机提供时钟信号。
3、SPI最简单的通信方式是一个可编程的移位寄存器。
数据通过SPIDAT寄存器(SPI串行数据寄存器)移入和移出。
要传送的数据通过SPITXBUF(SPI串行输出缓存寄存器)写入SPIDAT寄存器,接收的数据锁存在SPIRXBUF寄存器以便CPU读取。
4、DAC8811是一个单通道,低功耗,低噪声,16位分辨率,电流输出型数模转换芯片MDAC,该芯片具有快速串行接口及达到10MHz的宽范围带宽。
MDAC的通信端口可接收16位串行输入数据,能够使用本文采用的SPI协议连接到F28027微控制器。
在本实验中DAC8811作为外设,已与F28027的SPI端口连接好,因此通过串口给DAC传送数据即可进行DA转换。
注:
此部分为DAC点亮发光二极管的连接图。
由于实验装置上没有配置光敏元件,因此图中的运放及光敏元件反馈部分在实验箱上是没有的。
DAC仅用于开环点亮发光二极管。
三、实验步骤
1、若要使DAC用于驱动直流电机,则连接跳线J29与J30(实物图中红框部分),J6与J7,断开其他所有跳线;
2、若要使DAC用于点亮发光二极管,则连接跳线J11与J13(实物图中红框部分),J6与J7,断开其他所有跳线,;
3、连接好实验平台的电源线及仿真器,打开电源开关;
4、联机,用CCS打开zSpi_Dac目录下的工程文件,编译下载并运行;
5、运行程序(Debug->Run),观察直流电机的转速变化情况或者发光二极管的亮度变化情况,以表征DAC转换结果。
四、实践题
1、改变SPI传送的数据值,观察直流电机转速或者发光二极管的亮度有什么变化。
2、联系实验四的模数转换,思考如果加入了直流电机转速负反馈或者将发光二极管的光照到光敏元件上并对其进行AD转换,是否能够将AD与DA同时应用并达到更良好的闭环控制效果。
实验七、SCI数字回送测试程序
一、实验目的
1、理解SCI串口通讯接口的原理;
2、掌握SCI数据传输中波特率计算,校验位设置等所要求的寄存器操作;
3、学会应用串口读写数据。
二、实验原理
1、实物图及硬件原理图如图×所示:
图×LED点阵屏实物图及硬件原理图
2、SCI(SerialCommunicationInterface,串口通信接口)是一个两线异步串口,可以看做是通用异步接收器和发送器(UART)。
本次试验应用到了28027的SCI通信功能,实现了28027与PC机之间的串口通信。
3、当波特率等参数设置一致时,SSCOM可以通过相应串口号读出由28027发送来的串口数据。
4、在本次试验中,我们只应用到了SCI的单向数据传输功能,将数据由28027发送到PC机。
三、实验步骤
1、将RS232串口线与仿真器连接到板子上。
2、断开除J6与J7之外的所有跳线,打开电源开关;
3、联机,用CCS打开zSci_SendPc目录下的工程文件,编译下载并运行;
4、启动SSCOM,将波特率等参数设置正确,读相应的串口;
5、在SSCOM窗口中看到字符:
“夫君子之行,静以修身俭以养德,非澹泊无以明志,非宁静无以致远。
<<诸葛亮诫子书>>”不断出现,这表明28027在通过SCI向串口不断发送数据。
6、断开连接。
四、实践题
1、思考如何应用SCI来进行28027的数据接收,并将其所接收到的数据显示在数码管、点阵甚至液晶屏上。
2、进一步思考结合所接收到的数据进行数模转换来进行电机控制。
实验八、光电断续器测试程序
一、实验目的
1、深入熟悉GPIO的工作原理;
2、了解光断续器的工作原理,为实验8步进电机的实验打下基础。
二、实验原理
1、光电断续器实物图及硬件原理图如图×所示
图×光电断续器实物图及硬件原理图
2、通过对F28027引脚配置,使GPIO-18输出数据,GPIO-19输入数据。
GPIO18输出数据,控制LED指示灯的亮暗,当光电断续器中间有遮挡物时,led指示灯发光。
GPIO19监测光电断续器的状态。
3、软件部分初始设置GPIO18输出高电平,控制LED指示灯的保持熄灭的状态。
由于LED为共阳极,故输出为1时,LED不亮,输出0时LED发光。
当光电断续器中间无遮光物时,GPIO19输入为0,有遮光物时,GPIO19输入为1。
三、实验步骤
1、连接跳线J41与J42(实物图中红框部分),J6与J7,断开其他所有跳线,打开电源开关;
2、联机,用CCS打开zGpio_PhotoInterrupter目录下的工程文件,编译下载并运行;
3、在光断续器间放入硬币等遮挡物体(注意:
遮挡物体应厚一点,最好为金属),观察LED指示灯的亮暗变化。
四、实践题
1、结合给出的硬件原理图和电路知识,思考光电断续器的工作原理。
2、此例程是通过查询方式完成任务的,能否改由利用中断的方式重新完成实验?
实验九、步进电机实验
一、实验目的
1、理解步进电机的控制方式;
2、了解光电断续器控制步进电机的方式。
二、实验原理
1、步进电机驱动模块实物图及硬件原理图如图×所示
图×步进电机驱动模块实物图及硬件原理图
2、通过对F28027引脚配置,使GPIO-00至GPIO-03输出4位数据控制步进电机,实现步进电机的四相8拍工作方式。
同时设置GPIO-18和GPIO-19输入数据,实现对光电断续器的感应。
3、当步进电机收到相应光电断续器的感应信号时,步进电机将向相反的方向行进。
4、四相步进电机,四相8拍工作方式,每拍3.75度,12拍为45度,一转需96拍。
A->AB->B->BC->C->CD->D->DA将相应数值传递给GPIO0-GPIO3,可以控制步进电机逆时针旋转
三、实验步骤
1、连接跳线?
?
?
(实物图中红框部分),J6与J7,断开其他所有跳线,打开电源开关;
2、联机,用CCS打开zGpio_StepMotor目录下的工程文件,编译下载并运行;
3、用跳线帽连接步进电机开关(注意,由于制作印刷版错误,应连接开关的off,而不是on),观察步进电机的运行。
注意:
由于步进电机的功率较大,运行时图中用红色圈圈出的电阻会发热,请注意将步进电机的运行控制在两个来回之内,不可长时间运行。
四、实践题
1、思考怎么改变步进电机的行进速度,并在程序上加以实现。
2、思考能否使得步进电机停在指定的位置,并在程序上加以实现。
3、改变步进电机的控制方式,比如改为4拍控制,然后令步进电机行进到指定位置,与8拍控制方式比较,有什么不同,能否明显的看出控制精度的变化?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TMS320F28027 实验 指导书 初稿 版本 解读