自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

湖心水动影无双

你说,后来

  • 博客(16)
  • 资源 (6)
  • 收藏
  • 关注

原创 Ti的C28x系列的DSP(28069)使用经验,I2C与EEPROM(AT24C256C)

   本人正式使用I2C的经历只有一次,使用EEPROM是为了实现DSP的RAM中的变量断电后仍不会丢失的目的。这可能不是一个恰当的比喻。下面我来详细描述EEPROM的过程。项目中使用的EEPROM的型号为AT24C256C,擦写次数约为100万次,内存约32768 字节。项目中实际DSP需要写入的EEPROM中的字节,约100个。项目中的系统大概类似下图:其他设备在DSP运行时通...

2018-08-31 13:55:43 10164 6

原创 Ti的C28x系列的DSP(28069)(28377D)使用经验,CMD文件

笔者接触CMD文件,是为了要把程序固化到FLASH中。在项目的一开始,笔者接触的代码都是开发板上零碎的例程,程序都是烧写到RAM里的,后来为了项目,笔者开始自学CMD文件,最终完成整个项目代码的开发,固化程序到FLASH中仅仅是项目代码开发中的一个小步骤。笔者首先在这里就简单地说下对FLASH与RAM的理解(如果有误,麻烦指出),网上对于FLASH与RAM有很详细的区分,有兴趣的读者,可以自行...

2018-09-14 11:27:09 4560

原创 Ti的C28x系列的DSP(28069)(28377D)使用经验,PWM经验

笔者之前从事的是电力电子行业,如果说ADC是整个逆变器的输入,那么PWM就可以说是整个逆变器的输出了。在ADC与PWM之间,就是数据处理和算法了。笔者百度了下,脉宽调制(PWM)基本的原理:控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形。一般工程的底层代码搭建好之后,大部分应用程序中用到的PWM功能可以用以下三个函数表示...

2018-09-13 16:40:25 12399 3

原创 Ti的C28x系列的DSP(28377)(28069)使用经验,WatchDog代码

其实笔者没有在项目中使用过看门狗这个功能,最近看了一些历史上因为软件Bug而导致的严重事件,笔者个人觉得看门狗这个功能还挺重要的,如果读者有机会用到,可以尝试下面的函数,具体函数的功能笔者还没测试过,是根据2812的看门狗改过来的。DSP_28377D的看门狗代码如下: void ServiceDog(void) { EALLOW; WdReg...

2018-09-13 14:56:54 3571

原创 Ti的C28x系列的DSP(28069)(28377)使用经验,ADC经验

笔者使用过的项目中,使用的ADC都是DSP的片内ADC,使用片内ADC的好处是,转换速度快,节约成本,这是相比片外ADC的优势。DSP_28069的ADC精度是12位,DSP_28377D的ADC精度可以选择为12位,也可以选择为16位,笔者这里采用的是12位,两种DSP的采样模式都是单端模式。DSP的ADC采样精度和参考电压有很大的关系,一般选择外部参考电压,参考电压一定要加RC滤波电路...

2018-09-13 14:34:15 15352 8

转载 抉择能力

笔者毕业两年了,看到过很多人跳槽,这其中包含技术大牛、刚毕业的。很多有经验的技术人员在跳槽时,都跳到坑(工作氛围差、人员流动率大、领导脾气差、福利待遇低、加班多)了。笔者不太明白他们为什么会这样?既然有过工作经验,为何还会落到如此地步!下面几种公司类型是笔者转载的,供读者参考,技术人员不仅要埋头苦干、更要有好的眼光,重要的不是在于起点、而是前进的方向。大公司:工资可能不会特别高,但是福利保...

2018-09-12 14:32:22 375

转载 如何编写嵌入式代码

关于嵌入式代码的编程,笔者本来也想写写,但无意间在CSDN博客中发现了更具匠心的前者,早就写了经验之谈。下面是我推荐文章的简介:市面上介绍C语言以及编程方法的书数目繁多,但对如何编写优质嵌入式C程序却鲜有介绍,特别是对应用于单片机、ARM7、Cortex-M3这类微控制器上的优质C程序编写方法几乎是个空白。本文面向的,正是使用单片机、ARM7、Cortex-M3这类微控制器的底层编程人员。编写...

2018-09-12 10:43:38 3195

原创 Ti的C28x系列的DSP(28069)(28377D)使用经验,逆变器的状态机使用经验

什么是状态机,状态机就是状态转移图,我们把系统表现的行为,描述成几种状态,系统的行为就是在几种状态中相互转移,而状态转移需要触发条件。比如人有三个状态:健康,生病,恢复。触发条件有:受凉、吃药、休息等。为什么需要状态机呢,笔者个人认为第一点应该是基于安全考虑,确保系统的状态能够被用户明确知道,第二点,是状态机,能够根据用户的指令,代替用户完成繁琐的操作,这是因为状态机能够根据触发条件自行判断、...

2018-09-07 17:40:59 2969

原创 Ti的C28x系列的DSP(28069)(28377D)使用经验,CAN通讯经验(2)

在一个项目中,笔者接触过这样一个通讯系统,整个系统的通讯架构大概如下图,典型的一主多从。如果Slave_N的N超过10,那这样一个通讯系统还是比较复杂的。笔者认为要这套系统有以下几点需要考虑:1、通讯故障处理(1)如果整个系统中,主机或这从机出现通讯故障,此时应该怎么处理?笔者目前的做法是,每个DSP的CAN的收发函数,首先有一个故障检测,一旦检测到故障,则CAN停止收发数...

2018-09-05 11:09:01 8303

原创 Ti的C28x系列的DSP(28069)(28377D)使用经验,CAN通讯经验(1)

笔者在项目中同时使用过两种DSP,一种是28069,另一种是28377D,这两个DSP主要是进行CAN通讯功能,完成整个系统的非实时通讯功能。今天笔者主要想讨论的是28069与28377D的CAN外设,这两个DSP虽然都是Ti的,但CAN外设的架构却不相同,寄存器设置也不相同。打开28069参考手册,你会发现CAN的架构是下图中的这个样子:然后我接着看了其他的C28x系列的DSP比...

2018-09-04 16:00:35 9256

原创 CCS6.2.0 如何将工程封装成lib文件

看到这篇文章,有人会说为什么工程要封装成lib呢?因为有些场景我们希望工程中的某些C文件内容不被别人看到,此时我们会在工程中将这部分C文件删除,也许某些读者看到这里会说,如果这么做,工程岂不是无法通过编译了?事实上,如果一个工程不做处理,直接这么做,确实会让工程无法通过编译,因为如果你调用的函数与变量,是属于被删除的C文件,那么这会导致编译器在编译整个工程的时候,无法找到其定义位置,而报错。但...

2018-09-04 14:32:00 6692 5

原创 CCS6.2.0 如何屏蔽工程的中的CMD文件

昨天想把CCS7.0的工程导入CCS6.2.0的编译器中使用,结果发现导入不了,即使我把CCS7.0工程中的编译版本换成CCS6.2.0的版本,还是不行,最后没法了,只能在CCS6.2.0中新建工程,把原有工程的文件塞进去,一番设置之后,开始编译了,结果编译出错,一看是CMD文件出了问题,然后我打开cmd文件,发现了这么多CMD文件。然后看看之前的工程的cmd文件夹:怎么和我的不一...

2018-09-04 11:23:04 2026 2

原创 Ti的C28x系列的DSP(28069)使用经验,SPI通讯经验

本人使用SPI通讯经验不多,当初是为了实现DSP与FPGA之间的通讯,DSP在SPI通讯中作主机,SPI数据位数为16位模式。SPI的原理我不多说了,我对这种通讯的方式理解,这是一种高速通讯,同时还有个特点,就是接收了多少位数据的同时意味着发送了多少位数据,比如你希望接收2个字节的数据,那么你应该发送2个字节的数据,发送数据就意味着接收数据,接收数据就意味着发送数据,关键看你需要的是接收还是发送的...

2018-08-31 15:45:08 8314 5

原创 Ti的C28x系列的DSP(28069)使用经验,SCI与RS485(ADM2587EBRWZ)

本人使用SCI的通讯经历也不多,仅仅是用于DSP与威纶通公司的触摸屏进行过简单的通讯,通讯方式为RS485,通讯协议为ModbusRTU。说到SCI,一开始我弄这个的时候,也不懂,网上看了很多资料,但也没有特别合适的,我现在公司的DSP的代码架构,都是一个主中断,一个主循环,一个1ms定时器中断,所以通讯函数,要么放主循环或1ms中断中运行,不会为SCI单独弄个中断,但我这边也不想用《手把手教...

2018-08-31 15:03:33 6468 3

原创 Ti的C28x系列的DSP使用经验,如何整合DSP中运行的函数。

    我从事Ti的C28x系列的DSP的开发时间不长,短短一年,使用过两种架构的DSP,主要针对资源管理有一些自己的心得。    在工程文件的分布上,本人认为需要DSP运行的的代码应该放在一个.C文件中管理,这样整个工程的代码结构就非常清晰了,查找问题,也容易定位。这个.C我们可以称之为UsrApp.C,包含4个函数,初始化函数,主中断函数,1ms定时器中断函数,主循环函数。代码如下:...

2018-08-30 16:28:19 899

原创 初用CSDN博客,如何在写CSDN博客时插入黑色代码,使用高亮主题

       最近辞职交接,闲着无事,想学习下博客,将平时的项目经验总结一下,结果CSDN博客中不会插入黑色代码,搞了一上午都没搞出来,网上搜了很多资料,但总是没有说到问题的核心上。一开始我插入的代码是这样的:发布博客后,是这样的:感觉看起来好土啊,看看别人的代码:黑色高大尚,很炫酷。后来,我问别人这个问题,结果她给我找了一篇文章,总算说到核心上了,按照那篇文章的说...

2018-08-30 14:10:15 1473 4

从flash搬移到ram中运行(代码例程)

从flash搬移到ram中运行(代码例程),是关于28335的,有文档说明,有兴趣的可以了解下

2018-09-14

CMD文件语法讲解

这是TI官网的文件,讲了一些CMD文件的语法,大家可以了解下

2018-09-14

从Flash中搬移程序到RAM中(部分复制和全部复制)

该文章详细地讲述了如何固化DSP代码到Flash中去,再如何将代码从Flash中搬移到RAM的过程步骤

2018-09-14

《手把手教你学dsp2812》顾卫刚.PDF

手把手教你学dsp2812,这本书是顾卫刚的,他的讲解比较详细

2018-09-14

DSP_28377D的CAN通讯代码例程

Ti的C28x的DSP_28377D的CAN通讯代码例程,里面有IO口、故障、波特率、发送、接收的函数

2018-09-04

DSP_28069的CAN通讯代码例程

Ti的C28x的DSP_28069的CAN通讯代码例程,里面有IO口、故障、波特率、发送、接收的函数

2018-09-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除