您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > TMS320F28x入门
目录1.DSP学习步骤.....................................................................22.搞明白几个问题...................................................................23.CCS6创建新工程..................................................................3A.教程一.......................................................................3B.教程二.......................................................................7C.仿真环境构建................................................................134.TMS320F28x寄存器配置总结.......................................................15基本开局初始化.................................................................151.时钟与系统控制..............................................................162.中断控制PIE.................................................................213.GPIO........................................................................244.ADC.........................................................................275.增强型脉宽调制器ePWM........................................................296.HRPWM.......................................................................327.SCI.........................................................................368.SPI.........................................................................409.CAN.........................................................................4210.CMD文件...................................................................495.TMS320F28035DEMO板实验........................................................511.GPIO实验...................................................................512.定时器中断实验..............................................................523.PWM占空比调节...............................................................534.ADC实验.....................................................................545.SPI实验.....................................................................566.SCI实验.....................................................................576.经验&教训.......................................................................62读前须知:本人在此之前完全没接触过DSP,这是我学习过程中所做的笔记,直到最后能做些各个模块的一些简单配置实现简单的功能。希望能给新手一些帮助,与君共勉!1.DSP学习步骤1.大体上看一遍书,把大体的知识了解一下。在学习DSP之前,我觉得应该需要去明白DSP能干什么,所以你一定要看看DATASHEET,看看DSP的外设和资源,看看你能做啥。2.就是看例子了,例子是关键,例子里有你学的所有的东西,不建议大家直接拿例程来做试验,因为那样你MCU的结构没有把握,你把例程跑得再好,那也不是你的东西,一定要自己写,例程只能作为参照,一定要一个字母一个字母地去写程序。看例程,在自己编写自己需要功能的代码时要看看已有的例程,看看例程里的各种寄存器是怎么配置的,配置时又是怎么实现的,根据看懂的编写自己想要的,然后跑跑自己的程序看和已有的例程有什么异同,是不是自己想要的。当然,调试环节是最难的一个环节,这个过程中会出现很多意想不到的问题,只能慢慢摸索慢慢前进了。3.这次你再拿出一本书来看,这次是有针对性的看,比如你做的spi的,你就直接看spi那张,一边看例子一边看书,这样你就可以把一些重要的寄存器给记住了。4.把存储器映射结构搞清楚----说的具体点就是dsp内到底有那些存储器5.(ram,rom,flash,etc),这些存储器到底是如何分配的,这个可以参考相关的.cmd文件的写法,它定义了存储器映射和输入输出段的位置6.编译器的堆栈操作,就是中断或是子程序调用时,系统自己的堆栈操作。7.2407有一个8级硬件堆栈,而2812没有,这个区别比较大,所以在编一边针对堆栈操作的程序(eg.rtos)时就要特别注意了。8.中断系统----每个mcu的中断系统搞清楚了,会给编程带来很大的便利,所以一定要对所用的mcu的中断过程了解的清清楚楚。9.开发环境建立完了要熟悉开发流程,就是说你有一个Idea,怎么把这个Idea在目标板上实现,先做什么后做什么,这个一定要想清楚。开发板,仿真器是必要的,它能带给我们更加直观的感受,有空去TI官网转转,里面东西还是挺多的。另外一个好的程序模板也是很关键的,TI官网上有很多例程,结构严谨并且最大的发挥了CCS的功能,建议先搞懂后再依据此创建自己的模板程序.还有就是芯片的DATASHEET。得对C熟悉,但会C语言并不能说明你会编程,编程有结构设计的问题,C语言只是工具,看不懂的就好好去想,想通了就发现自己又上了一个台阶;数据结构,合适的数据结构会使自己的程序编写变得结构清楚而且“容易”。写程序要规范,这会简便很多操作,使编译得以优化,比如相关的文件定义要放在相应的头文件里,全局变量等的定义最好GlobalVariableDefs.c里,相应的中断程序要放在default_ls中。2.搞明白几个问题什么是DSP芯片,DSP芯片有什么功能和主要特点如何利用这些功能实现自己的目标,对芯片的基本操作和简单程序的运行如何在DSP上完成操作系统的移植如何在DSP上完成算法的移植和优化3.CCS6创建新工程A.教程一1.首先点击project-NewCCSProject2.选择器件和创建工程名3.找到要用的文件headers和common,是安装controlSUIT(看截图)复制到新建工程的目录此时CCS会自动将新添的文件加到项目浏览器中4.编译,然后发现好多错误。。。。不能打开头文件,因为还没有将头文件添加到工程里面,项目浏览器只是将文件显示出来了已。5.右键项目浏览器中的项目名,打开属性6.选择dirtoinclude那个框的加号7.选择WorkSpace8.选择common和headers的include,然后OK,OK,编译,然后更多的错误。。。。。。。,不过错误的类型变了,这些错误和内存分配有关,和内存有关的就是cmd文件了9.删除common下cmd里的所有文件10.编译,然后还是很多错误,不过一看发现错误和文件重定义有关看看是哪个文件重定义了11.删除这两个文件,编译其中可能会碰到一个关于DSP2803x_Headers_nonBIOS.cmd(无操作系统)和DSP2803x_Headers_BIOS.cmd(有操作系统)的问题,将DSP2803x_Headers_BIOS.cmd删除即可(我们的是无操作系统)。B.教程二1.CCS6下载地址:的C语言头文件下载地址:安装后的文件结构样式如下:3.新建空的工程1)点击Project-NewCCSProject2)在NewCCSProject窗口,按需填写以下内容后按Finish完成新建空的工程新建完成后的工程,结构如下:点击左上方的编译按钮,应该能够顺利的编译通过,但是会出现一个警告。4.工程配置-添加系统的头文件1)在工程名上右击,添加两个文件夹,分别名为source和include。2)打开tidcs\c28\DSP281x\v120文件夹,将DSP281x_headers\include中的所有头文件复制到刚刚新建的include目录。3)打开tidcs\c28\DSP281x\v120文件夹,将DSP281x_common\include中的所有头文件复制到刚刚新建的include目录(会提示文件已存在,覆盖即可)。此时,工程文件夹的结构如图所示:4)配置工程右击工程文件名,选择Properties更改include的选项在新弹出的窗口中选择Workspace:然后选择对应工程的include目录:更改链接选项中的Baseoption:将Stack中填充合适的数值,默认为空(也就是上文中编译的时候出现的警告):完成以上的设置后,编译应该没有任何的错误和警告:5)额外的设置——添加C99支持:6)可板上执行的工程配置根据上文的配置过程,虽然代码能够正常的通过编译,但是却没有任何的实际功能。这里,以点亮运行灯(即主循环执行过程中,固定间隔点亮的灯)为例,介绍可用的代码的配置过程。5.添加必须的头文件代码在main函数中,添加以下的头文件:#includeDSP281x_Device.h#includeDSP281x_Examples.h其中,DSP281x_Device.h提供了对应的CPU寄存器的结构体信息,DSP281x_Examples.h主要提供了一个纳秒级的延时函数DELAY_US(A)。不过,为了使用此函数,还需要将一个汇编代码文件添加到工程中:在项目文件名称上右击,选择AddFiles,打开的窗口中选择DSP281x_common\source文件夹中的DSP281x_usDelay.asm。然后手动将asm文件拖动到source目录下。此时,项目文件夹的组织结构如图,添加必要的源文件:添加DSP281x_headers\source目录下的DSP281x_GlobalVariableDefs.c以指定所有系统结构体的存储位置。添加DSP281x_common\source目录下的DSP281x_SysCtrl.c以初始化系统的控制
本文标题:TMS320F28x入门
链接地址:https://www.777doc.com/doc-6923433 .html