TMS320F2812关于Can总线的源程序

合集下载

TMS320F2812中文手册

TMS320F2812中文手册

TMS320F2812中文手册第1章芯片结构及性能概述TMS320C2000系列是美国TI公司推出的最佳测控应用的定点DSP芯片,其主流产品分为四个系列:C20x、C24x、C27x和C28x。

C20x可用于通信设备、数字相机、嵌入式家电设备等;C24x主要用于数字马达控制、电机控制、工业自动化、电力转换系统等。

近年来,TI公司又推出了具有更高性能的改进型C27x和C28x系列芯片,进一步增强了芯片的接口能力和嵌入功能,从而拓宽了数字信号处理器的应用领域。

TMS320C28x系列是TI公司最新推出的DSP芯片,是目前国际市场上最先进、功能最强大的32位定点DSP芯片。

它既具有数字信号处理能力,又具有强大的事件管理能力和嵌入式控制功能,特别适用于有大批量数据处理的测控场合,如工业自动化控制、电力电子技术应用、智能化仪器仪表及电机、马达伺服控制系统等。

本章将介绍TMS320C28x系列芯片的结构、性能及特点,并给出该系列芯片的引脚分布及引脚功能。

1.1 TMS320C28x 系列芯片的结构及性能C28x系列的主要片种为TMS320F2810和TMS320F2812。

两种芯片的差别是:F2812内含128K×16位的片内Flash存储器,有外部存储器接口,而F2810仅有64K×16位的片内Flash存储器,且无外部存储器接口。

其硬件特征如表1-1所示。

表1-1 硬件特征特征 F2810 F2812 指令周期(150MHz) 6.67ns 6.67ns SRAM(16位/字)18K 18K 3.3V片内Flash(16位/字) 64K 128K 片内Flash/SRAM的密钥有有有有 Boot ROM掩膜ROM 有有外部存储器接口无有事件管理器A和B(EVA和EVB)EVA、EVB EVA、EVB*通用定时器 4 4*比较寄存器/脉宽调制 16 16*捕获/正交解码脉冲电路 6/2 6/2 看门狗定时器有有 12位的ADC 有有*通道数 16 16TMS320C28x系列DSP的CPU与外设(上) ?2?续表特征 F2810 F2812 32位的CPU定时器 3 3 串行外围接口有有串行通信接口(SCI)A和B SCIA、SCIB SCIA、SCIB 控制器局域网络有有多通道缓冲串行接口有有数字输入/输出引脚(共享)有有外部中断源 3 3 核心电压1.8V 核心电压1.8V 供电电压 I/O电压3.3V I/O电压3.3V 封装128针PBK 179针GHH,176针PGF 温度选择‡ A:-40? ~ +85? PGF和GHH PBK S:-40? ~ +125? 仅适用于TMS 仅适用于TMS 产品状况‡‡产品预览(PP) AI AI 高级信息(AI)(TMP)‡‡‡ (TMP)‡‡‡ 产品数据(PD)注:‡ “S”是温度选择(-40? ~ +125?)的特征化数据,仅对TMS是适用的。

基于TMS320F2812嵌入式代码生成CAN通信系统的实现

基于TMS320F2812嵌入式代码生成CAN通信系统的实现
W ANG Xi a o — l e i , W U F e n g, YAO We n ・ d a o , ZHANG Li - g o n g, GAO Xu - d o n g
( Z h o n g y u a n U n i v e r s i t y o f T e c h n o l o g y , Z h e n g z h o u 4 5 0 0 0 7 , C h i n a )
系 统 解 决 方 案 ◆ 誊囊■ 鬻
基于 T MS 3 2 0 F 2 8 1 2 嵌 入 式代 码 生成
C A N通 信系统 的实现
王 晓雷 , 吴 锋, 姚文 道 , 张立 功 , 高旭 东
( 中原 工 学 院 。 河南 郑州 4 5 0 0 0 7 )
摘 要 : 传 统 的 控 制 系统 难 于 实 现 设 备 之 间 以及 系统 与 外 界 之 间 的 信 息 交换 , 鉴 于此 。 结合 T MS 3 2 0 F 2 8 1 2 内嵌 的
e C AN模 块 通 过 增 加 的某 些 特 性 增 强 了 C AN 的 标 准
图1 e C A N 模 块 结 构框 图
送 或接 收邮箱 .且都 有一个 可编程 的接 收屏蔽 寄存
器。
功能 . 它 主要 由 C A N协议 内核 ( C P K )  ̄ 消息控制器 两
部 分组 成 . 如图 l 所 示
Ab s t r a c t : T r a d i t i o n a l c o n t r o l s y s t e m i s d i ic f u l t t o a c h i e v e i n f o r ma t i o n e x c h a n g e b e t we e n d e v i c e s o r o u t s i d e wo r l d . Th u s , a n e mb e d d e d c o d e g e n e r a t i o n mi c r o - - c o m mu n i c a t i o n s s y s t e ms b a s e d o n CAN b u s i s d e s i g n e d c o mb i n e d wi t h f e a t u r e s a n d c o n・ r ・ mu n i c a t i o n o f TM S 3 2 0 F 2 8 1 2 e CAN e mbe d d e d mo d u l e .

关于F2812的CAN问题

关于F2812的CAN问题

关于F2812的CAN问题关于F2812的CAN问题2812得can说起来不复杂,但是我调了有一段时间。

我是看了T I提供得例子程序,然后修改放在自己上面得,刚开始得时候不知道为什么总是不行,后来在网上搜,问别人,答案都不让人满意。

于是我就放置了,过了一段时间再拿出来看,问题却解决了。

我很感叹自己从中得经历,所以将自己开发得过程和得出得教训写给大家,以供参考。

我是先参考TI得例子程序来做得,TI得例子程序可以从网站上下载。

can得例子程序是自测试得,而且程序是再ram里面跑得,修改和下载都比较方便,只是没有用到滤波,中断,标准模式,我想这些也是比较容易添加得,前提是要资料看会了,还有个办法就是参考ca n得例子程序,这个文件名是《Programming Examples for the TM S320F281x eCAN.pdf》里面有不少例子。

快说糊涂了,其实我想说明4个问题,1 怎么样快速得得到自己得程序 2 can接收到发送方得id后怎么存放得。

3 发送邮箱得数据修改4 发送和接收中断得使用1 怎么样快速得到自己得程序参考ti提供得例子程序,先将他们得例子在自己得板子上跑起来,其实就是用自测试得方式来验证一下程序,也可以加些中断,看看程序怎么跑得。

这步没问题得话,可以改写程序,当然还在自测试模式下先试,如果可以改写后,在自测试模式下可以。

那么就差不多了,将自测试模式改成正常模式,将程序移植到自己得程序中,拿一个经过验证可以正常通讯得can模块通讯,记得两个can得速率要一致。

当然这个can模块还要能让你看到或者说能验证你得can是否通讯正常。

例如can转232接口得板子,如果收到你得can数据通过232口输出到电脑上。

我经过验证,ti得例子基本上,只要将自测试模式改成正常模式,基本上就可以正常通讯。

修改成那种方式,可以参看《Programming Examples for the TMS320F281x eCAN.pdf》2 can接收id得问题如果在不使用滤波得情况下,基本不用考虑id因为只有相同id得才能接收。

TMS320F2812应用程序开发过程

TMS320F2812应用程序开发过程

CCS集成开发环境的应用3.3.1 CCS(Code Composer Studio)集成开发环境简介TI公司为推广其DSPs芯片而开发了DSPs调试和软件工具:CCS(Code Composer Studio)集成开发环境。

它提供了环境配置、源文件编辑、程序调试、跟踪与分析等工具,帮助用户在软件环境下完成编辑、编译、链接、调试和数据分析等工作。

与TI公司早期提供的开发工具相比,利用CCS能够加快系统的开发过,提高工作效率。

CCS可以工作在两种模式:软件仿真(Simulator)模式和硬件仿真(Emulator)模式。

前者不需要在DSPs芯片运行,在计算机上就可以模拟DSPs指令集与工作机制,主要用于前期算法仿真与调试。

后者实时运行在DSPs芯片上,可以在线编制及调试应用程序。

CCS主要有以下特性和功能: 集成可视化代码编辑界面,可以直接编写C/C++、汇编、头文件及CMD文件等。

集成图形显示工具,可绘制时域、频域波形等。

集成调试工具,可以完成执行代码的装入、寄存器和存储器的查看、反汇编器、变量窗口的显示等功能,同时还支持C源代码级的调试。

集成代码生成工具,包括汇编器、C/C++编译器和链接器等。

支持多DSPs调试。

集成断点工具,包括设置硬件断点、数据空间读/写断点、条件断点等。

集成探针工具,可用于算法仿真、数据监视等。

提供代码分析工具,可用于计算某段代码的执行时间,从而能对代码的执行效率做出评估。

支持通过GEL来扩展CCS的功能,可以实现用户自定义的控制面板、菜单、自动修改变量或配置参数的功能。

支持RTDX技术,可在不暂停目标系统运行的情况下,实现DSPs与其他应用程序的数据交换。

提供开放的plug-ins技术,支持第三方的ActiveX插件,支持包括软件仿真在内的各种仿真器(需要安装相应的驱动程序)。

提供DSP/BIOS工具,增强了对代码的实时分析能力,如分析代码的执行效率、调度程序执行的优先级、方便对系统资源的管理或使用(代码/数据空间的分配、中断服务程序的调用、定时器的使用等),减小了开发人员对DSPs硬件知识的依赖程度,从而缩短了软件系统的开发进程。

DSP2812开发板说明书

DSP2812开发板说明书

CANL 1 2 CANH
11.2812开发板的中断
F2812有3个中断引脚:XINT1,XINT2和XNMI_INT13,每个中断可配置为上升沿或下降沿触 发,也可以被使能或禁止。
开发板板上有8个外部中断源:
EXINT[1..4] 外部扩展总线可屏蔽的中断源
EXNMI[1..2] 外部扩展总线不可屏蔽的中断源
第三章 TMS320F2812的基本系统
1. 时钟电路
开发板用30MHz外部晶体给DSP提供时钟,并使能F2812 片上PLL电路。PLL倍频系数由PLL 控制寄存器PLLCR的低4位控制,可由软件动态的修改。外部复位信号(RS)可将此4位清零(CCS 中的复位命令将不能对这4位清零)。TMS320F2812的CPU最高可工作在150M的主频下,也即是 对30M输入频率进行5倍频。
TMS320F2812的外部存储器接口包括:19位地址线,16位数据线,3个片选控制线及读 写控制线。这3个片选线映射到5个存储区域,Zone0,Zone1,Zone2,Zone6和Zone7。其中, Zone0和Zone1共用1个片选线XCS0AND1,Zone6和Zone7共用1个片选线XCS6AND7。这5个存 储区域可分别设置不同的等待周期。
7. McBSP
开发板上有一个多通道缓冲型同步串口McBSP,在板上与AIC23的同步串口相连接。
8. SPI
开发板上有一个SPI同步串口,在板上与74HC595相连接。
9. SCI
开发板上有两个SCI异步串口,经485和232电平转换芯片连接到485CON和232CON,供外部使用。
10.CAN
开发板上有一个增强型的CAN总线控制器,符合CAN2.0B接口规范,经CAN收发器驱动后连接到 CANCON,提供外部使用。CANCON连接器定义如下:

基于TMS320F2812 DSP的CAN总线矿用语音通信系统设计

基于TMS320F2812 DSP的CAN总线矿用语音通信系统设计

2 0 1 3年 1 2月
De C .2 01 3
文 章编 号 : 1 6 7 2 - 0 5 8 X( 2 0 1 3 ) 1 2 - 0 0 3 7 - 0 6
基于 T MS 3 2 0 F 2 8 1 2 D S P的 C A N
总线 矿 用 语 音通 信 系统 设 计 木
梅 申合 , 廖 晓纬 , 沈晓波
( 1 . 安徽 大学 电子信息工程学院 , 合肥 2 3 0 6 0 1 ; 2 . 淮 南师范学院 电气信息工程学院 , 安徽 淮南 2 3 2 0 3 8 )

要: 分析 了 当前 煤矿 井 下广播 系统 的弊 端 , 提 出 了一种 基 于 D S P的 C A N总 线矿 用语 音 通信 系统 的
或所有广播分站进行广播 。广播 主站和分站都采用 T I 的D S P芯片 T M S 3 2 0 F 2 8 1 2 作为信号采集和控制单
元 ] , 输入 的模 拟声 音信 号 经过模 拟 放大 电路 , 送人 T MS 3 2 0 F 2 8 1 2的 A / D采集 口, 转换 完 成后 , 把 数 据暂 时
关键 词 : 语 音通信 ; D S P; C A N 总线 ; D A C 7 7 2 4
中图分 类号 : T N 9 1
文献标 志码 : A
煤炭产业是我国的基础产业 , 煤矿安全是煤炭企业健康稳定发展的重要保 障。如何保持调度室与井下 通信实时是保证煤矿安全生产的关键环节。现在许多煤矿的井下广播仍使用着传统的调度通信系统 , 调度
第3 0卷 第 1 2期
Vo 1 . 3 0 NO. 1 2
重 庆工 商 大学 学报 ( 自然科 学版 )
J C h o n g q i n g T e c h n o l B u s i n e s s U n i v . ( N a t S c i E d )

TMS320F2812中文手册

TMS320F2812中文手册

TMS320F2812中文手册第1章芯片结构及性能概述TMS320C2000系列是美国TI公司推出的最佳测控应用的定点DSP芯片,其主流产品分为四个系列:C20x、C24x、C27x和C28x。

C20x可用于通信设备、数字相机、嵌入式家电设备等;C24x主要用于数字马达控制、电机控制、工业自动化、电力转换系统等。

近年来,TI公司又推出了具有更高性能的改进型C27x和C28x系列芯片,进一步增强了芯片的接口能力和嵌入功能,从而拓宽了数字信号处理器的应用领域。

TMS320C28x系列是TI公司最新推出的DSP芯片,是目前国际市场上最先进、功能最强大的32位定点DSP芯片。

它既具有数字信号处理能力,又具有强大的事件管理能力和嵌入式控制功能,特别适用于有大批量数据处理的测控场合,如工业自动化控制、电力电子技术应用、智能化仪器仪表及电机、马达伺服控制系统等。

本章将介绍TMS320C28x系列芯片的结构、性能及特点,并给出该系列芯片的引脚分布及引脚功能。

1.1 TMS320C28x 系列芯片的结构及性能C28x系列的主要片种为TMS320F2810和TMS320F2812。

两种芯片的差别是:F2812内含128K×16位的片内Flash存储器,有外部存储器接口,而F2810仅有64K×16位的片内Flash存储器,且无外部存储器接口。

其硬件特征如表1-1所示。

表1-1 硬件特征特征 F2810 F2812 指令周期(150MHz) 6.67ns 6.67ns SRAM(16位/字)18K 18K 3.3V片内Flash(16位/字) 64K 128K 片内Flash/SRAM的密钥有有有有 Boot ROM掩膜ROM 有有外部存储器接口无有事件管理器A和B(EVA和EVB)EVA、EVB EVA、EVB*通用定时器 4 4*比较寄存器/脉宽调制 16 16*捕获/正交解码脉冲电路 6/2 6/2 看门狗定时器有有 12位的ADC 有有*通道数 16 16TMS320C28x系列DSP的CPU与外设(上) ?2?续表特征 F2810 F2812 32位的CPU定时器 3 3 串行外围接口有有串行通信接口(SCI)A和B SCIA、SCIB SCIA、SCIB 控制器局域网络有有多通道缓冲串行接口有有数字输入/输出引脚(共享)有有外部中断源 3 3 核心电压1.8V 核心电压1.8V 供电电压 I/O电压3.3V I/O电压3.3V 封装128针PBK 179针GHH,176针PGF 温度选择‡ A:-40? ~ +85? PGF和GHH PBK S:-40? ~ +125? 仅适用于TMS 仅适用于TMS 产品状况‡‡产品预览(PP) AI AI 高级信息(AI)(TMP)‡‡‡ (TMP)‡‡‡ 产品数据(PD)注:‡ “S”是温度选择(-40? ~ +125?)的特征化数据,仅对TMS是适用的。

基于DSP的CAN总线系统设计与实现

基于DSP的CAN总线系统设计与实现

Electronic Component&Device Applications doi:10.3969/j.issn.1563-4795.2010.02.02266Vol.12No.2Feb.2010第12卷第2期2010年2月 2010.2ElectronicComponent&DeviceApplications度、采样次数等参数。

当完成以上CAN配置之后,还需按照图5所示的流程图来完成数据的发送与接收配置,同时初始化邮箱。

邮箱初始化主要是设置邮箱的标识符和控制域(即发送的是远程帧还是数据帧),以及对相应的邮箱赋初值。

数据接收时,所接收到的信息的标识符必须与相应的接收邮箱的标识符相同,否则该信息将被滤除。

这里,数据的发送与接收请求均采用标志位查询方式。

按照以上步骤设置好后,接着就是对数据的发送与接收请求进行配置。

数据接收可采用中断方式,中断配置可在主程序流程中进行配置。

正确配置中断入口地址及中断函数,并开放CAN接收中断后,还要分别配置不同的数据帧,包括标准帧和扩展帧,以及数据帧和远程请求帧。

图6表示为上位机接收数据的调试界面。

可以看到,CAN通信和下位机间的数据通信,可以写数据并发送给下位机,同时也可接收下位机的数据来验证电路及软件的正确性。

5结束语利用TMS320F2812内嵌的eCAN模块可使得硬件电路设计更为简单而可靠,而且性能也较已有的DSP内嵌的CAN控制器有较大的提高。

同时,采用C语言编程,则可使得程序的设计难度降低,提高程序的可维护性并缩短开发时间。

(a)CAN发送流程(b)CAN接收流程图5CAN系统的发送和接收流程(上接第65页)68。

TMS320F2812芯片介绍

TMS320F2812芯片介绍

TMS320F2812芯片介绍1 TMS320F2812芯片的特点 (1)2 F2812内核组成 (4)3 F2812外设介绍 (5)①事件管理器 (6)②模数转换模块 (6)③SPI和SCI通信接口 (6)④CAN总线通信模块 (7)⑤看门狗 (7)⑥通用目的数字量I/O (7)⑦PLL时钟模块 (7)⑧多通道缓冲串口 (7)⑨外部中断接口 (8)⑩JTAG (8)1 TMS320F2812芯片的特点TMS320F2812是TI公司推出的低价钱、高性能的32位定点DSP数字信号处置器,是到目前为止用于数字控制领域性能最好的DSP芯片。

它是在TMS320C28x为内核的基础上扩展了相应的存储器并集成了大量的片内外设而成的新一代适用于工业控制的DSP芯片。

图9为F2812控制器方框图。

图9 F2812控制器方框图TMS320F2812 系统组成包括:150MHz、150MIPS的低电压3.3VCPU、片内存储器、中断管理模块、事件管理器模块、片内集成外围设备。

TMS320F2812的体系结构采用4级流水线技术,加速程序的执行。

32位的CPU 内核提供了壮大的数据处置能力, 最高速度可达150MIPS,能够在单个指令周期内完成32*32位的乘累加运算。

TMS320F2812采用增强的哈佛结构,芯片内部具有6 条32位总线, 程序存储器总线和数据存储器总线彼此独立, 支持并行的程序和操作数寻址, 因此CPU的读/写可在同一周期内进行。

这种高速运算能力使各类复杂控制算法得以实现。

芯片本身具有128KB的Flash,外部RAM 能够按照需要进行扩充。

另外,它还具有高性能的12位模/数转换能力,改良的通信接口和1MB的线性地址空间。

外设模块丰硕且功能壮大,其中包括:事件管理器EV A和EVB,包括16个PWM输出,10个16位比较器和4个通用按时器;快速灵活的12位,16通道ADC,12.5MPS数据吞吐率;及其它丰硕的片内集成外设:2通道的SCI模块、SPI模块、eCAN2.0B模块、McBSP模块等。

TMS320F2812的CMD文件的编写经验总结

TMS320F2812的CMD文件的编写经验总结

TMS320F2812的CMD文件的编写经验总结CMD文件里包含三部分内容:1)输入/输出定义:.obj文件:链接器要链接的目标文件;.lib文件:链接器要链接的库文件;.map文件:链接器生成的交叉索引文件;.out文件:链接器生成的可执行代码;链接器选项2)MEMORY命令:描述系统实际的硬件资源3)SECTIONS命令:描述“段”如何定位F2812的CMD文件只包含后两部分,现对它的编写做一下总结:(一)用于调试时用,取名为SRAM.CMD这里有个比较标准的F2812的CMD文件,可以供大家借鉴使用:MEMORY{PAGE 0:ZONE0 : origin = 0x002000, length = 0x002000ZONE1 : origin = 0x004000, length = 0x002000RAML0 : origin = 0x008000, length = 0x001000ZONE2 : origin = 0x080000, length = 0x080000ZONE6 : origin = 0x100000, length = 0x080000OTP : origin = 0x3D7800, length = 0x000800FLASHJ : origin = 0x3D8000, length = 0x002000FLASHI : origin = 0x3DA000, length = 0x002000FLASHH : origin = 0x3DC000, length = 0x004000FLASHG : origin = 0x3E0000, length = 0x004000FLASHF : origin = 0x3E4000, length = 0x004000FLASHE : origin = 0x3E8000, length = 0x004000FLASHD : origin = 0x3EC000, length = 0x004000FLASHC : origin = 0x3F0000, length = 0x004000FLASHA : origin = 0x3F6000, length = 0x002000BEGIN_H0 : origin = 0x3F8000, length = 0x000002BEGIN_FLASH : origin = 0x3F7FF6, length = 0x000002PRAMH0 : origin = 0x3F8002, length = 0x001FFEZONE7 : origin = 0x3FC000, length = 0x003FC0ROM : origin = 0x3FF000, length = 0x000FC0 // boot ROM available if MP/MCn=0 RESET : origin = 0x3FFFC0, length = 0x000002VECTORS : origin = 0x3FFFC2, length = 0x00003EPAGE 1 : // Data MemoryRAMM0 : origin = 0x000000, length = 0x000400RAMM1 : origin = 0x000400, length = 0x000400DEV_EMU : origin = 0x000880, length = 0x000180FLASH_REGS : origin = 0x000A80, length = 0x000060CSM : origin = 0x000AE0, length = 0x000010XINTF : origin = 0x000B20, length = 0x000020CPU_TIMER0 : origin = 0x000C00, length = 0x000008PIE_CTRL : origin = 0x000CE0, length = 0x000020PIE_VECT : origin = 0x000D00, length = 0x000100ECAN_A : origin = 0x006000, length = 0x000100ECAN_AMBOX : origin = 0x006100, length = 0x000100SYSTEM : origin = 0x007010, length = 0x000020SPI_A : origin = 0x007040, length = 0x000010SCI_A : origin = 0x007050, length = 0x000010XINTRUPT : origin = 0x007070, length = 0x000010GPIOMUX : origin = 0x0070C0, length = 0x000020GPIODAT : origin = 0x0070E0, length = 0x000020ADC : origin = 0x007100, length = 0x000020EV_A : origin = 0x007400, length = 0x000040EV_B : origin = 0x007500, length = 0x000040SCI_B : origin = 0x007750, length = 0x000010MCBSP_A : origin = 0x007800, length = 0x000040RAML1 : origin = 0x009000, length = 0x001000FLASHB : origin = 0x3F4000, length = 0x002000CSM_PWL : origin = 0x3F7FF8, length = 0x000008DRAMH0 : origin = 0x3f9000, length = 0x001000}SECTIONS{// Compiler Required Sections.text : > PRAMH0, PAGE = 0.cinit : > PRAMH0, PAGE = 0.stack : > RAMM1, PAGE = 1.bss : > RAMM0, PAGE = 1.ebss : > RAMM0, PAGE = 1.const : > RAMM0, PAGE = 1.econst : > RAMM0, PAGE = 1.sysmem : > RAMM1, PAGE = 1.reset : > RESET, PAGE = 0, TYPE = DSECT // we are not using the .reset // section//Peripheral Frame 0 Register StructuresDevEmuRegsFile : > DEV_EMU, PAGE = 1FlashRegsFile : > FLASH_REGS, PAGE = 1CsmRegsFile : > CSM, PAGE = 1XintfRegsFile : > XINTF, PAGE = 1CpuTimer0RegsFile : > CPU_TIMER0, PAGE = 1PieCtrlRegsFile : > PIE_CTRL, PAGE = 1PieVectTable : > PIE_VECT, PAGE = 1//Peripheral Frame 1 Register StructuresSysCtrlRegsFile : > SYSTEM, PAGE = 1SpiaRegsFile : > SPI_A, PAGE = 1SciaRegsFile : > SCI_A, PAGE = 1XIntruptRegsFile : > XINTRUPT, PAGE = 1GpioMuxRegsFile : > GPIOMUX, PAGE = 1GpioDataRegsFile : > GPIODAT PAGE = 1AdcRegsFile : > ADC, PAGE = 1EvaRegsFile : > EV_A, PAGE = 1EvbRegsFile : > EV_B, PAGE = 1ScibRegsFile : > SCI_B, PAGE = 1McbspaRegsFile : > MCBSP_A, PAGE = 1//Peripheral Frame 2 Register StructuresECanaRegsFile : > ECAN_A, PAGE = 1ECanaMboxesFile : > ECAN_AMBOX PAGE = 1//Code Security Password LocationsCsmPwlFile : > CSM_PWL, PAGE = 1}(二)用于烧写到FLASH中时用,取名为FLASH.CMDFLASH.CMD与SRAM.CMD基本一样,只是有两处改动:一是MEMORY中将你的程序代码部分映射到FLASH空间里;二是在SECTIONS中添加一个用户定义的起始段,起始段的代码如下://User Defined Sections , Used by file DSP28_CodeStartBranch.asmcodestart : > BEGIN, PAGE = 0其中DSP28_CodeStartBranch.asm中的关键代码为:.ref _c_int00.sect “codestart”Code_start:LB _c_int00.end(三)SECTIONS中段的含义与用户自定义段的方法1、各个段的含义以下是TI公司的技术文档中对一些段的说明,现截个图给大家参考:除此外还有一些段的含义如下(这仅是我见过的,有漏下的还请提示,大家一起学习):.reset 复位中断向量表.vectors 中断向量表.data 已初始化数据,常数数据(比如对变量的初始化数据).pvecs 外围模块中断向量表.ref 引用外部定义的变量或函数名.global 引用全局变量或函数.space 定义要保留的空间.def 定义变量,与#define功能相同.end 段的结束标识.sect 用户自定义的已初始化段.asect 比.sect多了绝对地址定位功能,一般不用.usect 用户自定义的未初始化段已初始化的段:.text, .cinit, .const, .econst, .pinit, .switch.text:所有可以执行的代码和常量.cinit:全局变量和静态变量的C初始化记录.const:包含字符串常量和初始化的全局变量和静态变量(由const)的初始化和说明.econst:包含字符串常量和初始化的全局变量和静态变量(由far const)的初始化和说明.pinit:全局构造器(C++)程序列表.switch:包含转换语气声明的列表非初始化的段:.bss, .ebss, .stack, .sysmem, .esysmem(更好的理解就是,这些段就是存储空间而已)..bss:为全局变量和局部变量保留的空间,在程序上电时,cinit空间中的数据复制出来并存储在.bss空间中.ebss:为使用大寄存器模式时的全局变量和静态变量预留的空间,在程序上电时,cinit空间中的数据复制出来并存储在.ebss中.stack:为系统堆栈保留的空间,主要用于和函数传递变量或为局部变量分配空间.sysmem:为动态存储分配保留的空间。

基于TMS320F21812的Can收发程序分析及例程

基于TMS320F21812的Can收发程序分析及例程

基于TMS320F21812的Can收发程序分析及例程1、CAN 协议具有以下特点。

(1) 多主控制在总线空闲时,所有的单元都可开始发送消息(多主控制)。

最先访问总线的单元可获得发送权(CSMA/CA 方式*1)。

多个单元同时开始发送时,发送高优先级ID 消息的单元可获得发送权。

(2) 消息的发送在CAN 协议中,所有的消息都以固定的格式发送。

总线空闲时,所有与总线相连的单元都可以开始发送新消息。

两个以上的单元同时开始发送消息时,根据标识符(Identifier 以下称为ID)决定优先级。

ID 并不是表示发送的目的地址,而是表示访问总线的消息的优先级。

两个以上的单元同时开始发送消息时,对各消息ID 的每个位进行逐个仲裁比较。

仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。

(3) 系统的柔软性与总线相连的单元没有类似于“地址”的信息。

因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。

(4) 通信速度根据整个网络的规模,可设定适合的通信速度。

在同一网络中,所有单元必须设定成统一的通信速度。

即使有一个单元的通信速度与其它的不一样,此单元也会输出错误信号,妨碍整个网络的通信。

不同网络间则可以有不同的通信速度。

(5) 远程数据请求可通过发送“遥控帧” 请求其他单元发送数据。

(6) 错误检测功能·错误通知功能·错误恢复功能所有的单元都可以检测错误(错误检测功能)。

检测出错误的单元会立即同时通知其他所有单元(错误通知功能)。

正在发送消息的单元一旦检测出错误,会强制结束当前的发送。

强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止(错误恢复功能)。

(7) 故障封闭CAN 可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。

由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。

TMS320F2812工作机制及指令周期测试

TMS320F2812工作机制及指令周期测试

TMS320F2812是TI公司的一款用于控制的高性能和高性价比的32位定点DSP芯片。

该芯片最高可在150 MHz主频下工作(本文将其设置到100 MHz),并带有18K×16位0等待周期片上SRAM和128K×16位片上Flash(存取时间为36 ns)。

TMS320F2812采用哈佛总线结构,即在同一个时钟周期内可同时进行一次取指令、读数据和写数据的操作,同时TMS320F2812还通过采用8级流水线来提高系统指令的执行速度。

为了观察指令周期,对TMS320F2812的GPIOA0进行循环的置位操作和清除操作。

C源程序如下:#include DSP28_Device.hvoid main(void) {InitSysCtrl();/*初始化系统*/DINT;/*关中断*/IER = 0x0000;IFR = 0x0000;InitPieCtrl();/*初始化PIE控制寄存器*/InitPieVectTable();/*初始化PIE矢量表*/InitGpio();/*初始化EV*/EINT;ERTM;for(;;) {GpioDataRegs.GPADAT.all=0xFFFF;GpioDataRegs.GPADAT.all=0xFFFF;GpioDataRegs.GPADAT.all=0xFFFF;GpioDataRegs.GPADAT.all=0x0000;GpioDataRegs.GPADAT.all=0x0000;GpioDataRegs.GPADAT.all=0x0000;}}500)this.width=500 border=0>图4 GPIO的P0.25脚输出波形3其中最重要的是要对通用输入/输出进行初始化和确定系统CPU时钟。

其中系统的时钟通过PLL设定为100 MHz,而初始化InitGpio() 的源程序为:#include DSP28_Device.hvoid InitGpio(void){ EALLOW;//多路复用器选为数字I/OGpioMuxRegs.GPAMUX.all=0x0000;//GPIOAO为输出,其余为输入GpioMuxRegs.GPAQUAL.all=0x0000;EDIS;}通过在主程序for(;;)的地方加断点,可以很容易找到上面主程序中循环部分程序编译后的汇编指令:3F8011 L1:3F8011761FMOVWDP,#0x01C33F8013 2820 MOV@32,#0xFFFF3F8015 2820 MOV@32,#0xFFFF3F8017 2820 MOV@32,#0xFFFF3F8019 2820 MOV@32,#0xFFFF3F801B 2820 MOV@32,#0xFFFF3F801D 2820 MOV@32,#0xFFFF3F801F 2B20 MOV@32,#03F8020 2B20 MOV@32,#03F8021 2B20 MOV@32,#03F8022 6FEF SBL1,UNC其中第1列为程序在RAM中的位置,第2列为机器码,后面就是汇编语言程序。

北京达盛 exp-tms320f2812 说明书

北京达盛 exp-tms320f2812 说明书

EXP-TMS320F2812使用说明书北京达盛科技有限公司第一版:2008-12-15, Edited By Fsj达盛科技CPU 板主要由以下几个模块组成:² CPU 模块; ² 时钟模块; ² 复位模块; ² 存储器模块; ² CPLD 模块; ² 扩展接口模块; ² 电源模块;2812 CPU 板:表1-1 接口说明标号 J1J2JTAG1 P1,P2,P3,P4JUMP1,2S1含义电源 插口扩展口DSPJTAG 接口扩展接口跳线复位按钮J1:电源插口,从该接口给CPU 板供电,+5V ,内正外负。

1-1系统功能框图达盛J2:AD 输入扩展接口 具体定义如表1-2所示:表1-2 P1管脚定义J2 管脚 对应2812 管脚 备 注J2 管脚 对应2812 管脚 备 注1 +5V A +5V 电源 6 ADCINB4 采样/保持B 输入42 ADCINA6 采样/保持A 输入67 AGND 模拟地 3 +5V A +5V 电源 8 ADCINB5 采样/保持B 输入54 ADCINA7 采样/保持A 输入79 AGND 模拟地 5AGND模拟地 10ADCINB6采样/保持B 输入6JTAG1:DSP JTAG 接口,符合IEEE Standard 1149.1(JTAG)标准,引脚分配如下图所示:(空脚是第六脚,方形焊盘是第一脚)图1-2 DSP 仿真器接口示意图达盛科技P1:CPU 地址线及数据线扩展接口 具体定义如表1-3所示:表1-3 P1管脚定义P1 管脚 对应2812 管脚 备 注P1 管脚 对应2812 管脚 备 注1 DGND 数字地 21 A19 地址线192 DD0 数据线0 22 A18 地址线183 DD1 数据线1 23 A1 地址线14 DD2 数据线2 24 A0 地址线05 DD3 数据线3 25 A3 地址线36 DD4 数据线4 26 A2 地址线27 DD5 数据线5 27 A5 地址线58 DD6 数据线6 28A4 地址线4 9 DD7 数据线7 29 A7 地址线7 10 DD8 数据线8 30 A6 地址线6 11 DD9 数据线9 31 A9 地址线9 12 DD10 数据线10 32 A8 地址线8 13 DD11 数据线11 33 A11 地址线11 14DD12数据线12 34 A10 地址线10 15DD13 数据线13 35 A13 地址线13 16DD14 数据线14 36 A12 地址线12 17DD15 数据线15 37 A15 地址线15 18DGND 数字地 38 A14 地址线14 19 A17 地址线17 39 +5V +5V 电源 20A16地址线1640+5V+5V 电源达盛科技具体定义如表1-4所示:表1-4 P2管脚定义P2 管脚 对应2812 管脚 备 注P2 管脚 对应2812 管脚 备 注1 DGND 数字地 21 SPISOMI SPI 从动输出主动输入2 DGND 数字地 22 MBDRA 接收串行数据3 READY 准备 23 SPICLK SPI 时钟4 XZCS2 XINTF 区域片选2 24 MCLKXA 发送数据时钟5 XZCS2 XINTF 区域片选2 25 SPISTE SPI 从动发送使能6 XZCS2 XINTF 区域片选226 MFSXA 发送帧同步信号 7 R/W 读/写信号 27 SPISIMO SPI 从动输入主动输出引脚8 XZCS2 XINTF 区域片选2 28 MBDXA发送串行数据9 XZCS2 XINTF 区域片选229 - 空 10 -空30 -空11XF/XPLLDSISXF/XPLLDIS 引脚31T1CTRIP/PDPINTA定时器1比较输出/ PDPINTA 中断12 /BHOLDA 外部DMA 保持确认信号32 XINT1/XBIO外部中断1/XBIO 核心输入13-空33 T3CTRIP/PDPINTB 定时器3比较输出/PDPINTB 中断14 HOLD外部DMA 保持请求信号34 XINT2/ADCSOC 外部中断2/ADC 转换启动15 XINT1/XBIO 外部中断1/XBIO 输入 35 CLKOUT时钟输出16 DGND 数字地 36 - 空17 SPICLK SPI 时钟37 C6TRIP 比较单元6输出18 MCLKRA 接收数据时钟 38 RS 复位 19 SPISTE SPI 从动发送使能 39 DGND 数字地 20MBFSRA接收帧同步信号40DGND数字地达盛科技具体定义如表1-5所示:表1-5 P3管脚定义P3 管脚 对应2812 管脚 备 注P3 管脚 对应2812 管脚 备 注1 CAP5/QEP4 捕获单元输入521 - 空 2 DGND 数字地 22 - 空 3 CAP6/QEPI2 捕获单元输入623 - 空 4 DGND 数字地 24 - 空 5 PWM11PWM 输出11引脚25 - 空 6 - 空26 - 空 7 PWM12PWM 输出12引脚27 - 空 8 -空 28- 空 9 T3PWM/T3CMP定时器3输出29 - 空 10 -空 30 - 空 11 T4PWM/T4CMP 定时器4输出 31 - 空 12 BCANRX CAN 接收数据引脚32 - 空 13 TDIRB 定时器方向33 - 空 14 CANTXCAN 发送数据引脚34 DGND数字地15 TCLKINB 时钟输入B 35 - 空 16 CPU_CSCPU 片选36 DGND数字地17 - 空 37 - 空18 SCITXDASCI 异步串行口发送数据38 VCC3.3CPUCPU3.3V 电源19 - 空39 - 空20BSCIRXDASCI 异步串行口接收数据40VCC3.3CPUCPU3.3V 电源达盛科技具体定义如表1-5所示:表1-6 P4管脚定义P4 管脚 对应2812 管脚 备 注P4 管脚 对应2812 管脚 备 注1 CAP1/QEP1 捕获单元输入1 25 VCC3.3A 3.3A 电源2 CAP4/QEP4 捕获单元输入4 26 TCLKINB 时钟输入B3 CAP2QEP2 捕获单元输入2 27 VSSO 模拟地4 CAP5/QEP5 捕获单元输入5 28 VSSO 模拟地 5 CAP3/QEP3 捕获单元输入3 29 VSSO 模拟地6 CAP6/QEP6 捕获单元输入6 30 ADCINA3 采样/保持A 输入37 PWM1 PWM 输出1 31 ADCINA4 采样/保持A 输入48 PWM7 PWM 输出7 32 ADCINA5 采样/保持A 输入59 PWM2 PWM 输出2 33ADCINA6 采样/保持A 输入6 10 PWM8 PWM 输出8 34 ADCINA7 采样/保持A 输入711 PWM3 PWM 输出3 35VSSO模拟地 12 PWM9 PWM 输出9 36 VSSO 模拟地 13 PWM4 PWM 输出4 37 VSSO 模拟地 14 PWM10 PWM 输出10 38 ADCINB3 采样/保持B 输入3 15 PWM5PWM 输出539 ADCINB4 采样/保持B 输入4 16 PWM11 PWM 输出11 40 ADCINB5 采样/保持B 输入5 17 PWM6 PWM 输出641 ADCINB6 采样/保持B 输入6 18 PWM12 PWM 输出12 42 ADCINB7采样/保持B 输入719 VCC3.3A 3.3A 电源43 VSSO 模拟地 20 T3PWM/T3CMP 定时器3输出 44 VSSO 模拟地 21 VCC3.3A 3.3A 电源 45 RD 读信号线 22 T4PWM/T4CMP 定时器4输出 46 WE 写信号线 23 VCC3.3A 3.3A 电源 47 DGND 数字地 24TDIRB定时器方向48+5V+5V 电源达盛科技JUMP 跳线具体定义如下:表1-7 JUMP 跳线定义列表 跳线开关位置 功能 JUMP11-2 MP 工作方式 2-3 MC 工作方式 JUMP21-2 CPU 片选设置为高2-3CPU 片选设置为低指示灯说明² LED1 +5V 电源指示灯,亮时表示正常供电。

TMS320f2812芯片中的CAN口C语言通信编程

TMS320f2812芯片中的CAN口C语言通信编程
本文利用labview图形化编程语言来实现电梯控制主板的检测系统实现了在实验室中模拟现场环境来测试电梯主板的工作性能找出了在研发阶段主板上存在的一些bug并能及时在设计时加以纠正有效地节省了当主板投入现场实际检测时返工的研发成本使在实验室中研发出来的主板能以较完善的性能和可靠性投入现场testsystemforthecontrolmainboardofnghelevatorlichun2huaruanwei2zhengmaozong2yuancollegeofautomationscienceandengineeringsouthchinauniversityoftechnologyguangzhou510640chinaabstract
page 2
union CANMDRL - REG { Uint 32 all ; struct CANMDRH - B ITS bit ; struct MBOX { }; union CANMID - REG MID ; union CANMCF - REG MCF ; }; 然后在 CMD 文件中将这些寄存器变量定位 到相应的存储器中即可直接使用 。 实现 TMS320f2812 中 CAN 通信口开发的流 程如图 1 所示 。 4 结 语 SHCAN2000 系统在升级换代的过程中采用 C 语言对 CAN 控制器进行开发 ,其开 发与调试周 期缩短 ,排除故障的能力大大增强 。C 语言良好 的可维护性和纠错性以及 TM S320f2812 芯片本 身的良好性能共同作用 , 必将使升级后的这套系 统在过程控制的 基础上 , 更广泛应用到运动控制 http://www.cnki.net 图1 实现 TM320f2812 中 CAN 通信开发的流程图 1 ) CAN 口初始化 初始化包括使能 CAN 1994-2010 China Academic Journal Electronic Publishing House. All rig hts reserved. ·1 7 0 · 领域中 。 参考文献 : 控 11 卷 制 工 程 第 [2 ] 阳宪惠 . 现场总线技术及应用 [ M ] . 北京 : 清华大 学出版社 , 1 999. [ 3 ] 邬宽明 . CAN 总线原理和应用系统设计 [ M ] . 北 京 : 北京航空航 天大学出版社 , 1996. [ 4 ] 刘辉林 , 张海峰 , 郝培锋 . 鞍钢冷轧薄板厂 CIM S 与底层设备通讯研究 [J ] . 控制工程同 2002 ,9 ( 3 ) : 38241. [ 1 ] 杨乐 平 , 李海涛 , 肖相生 , 等 . LabV IEW 程序设计 与应用 [ M ] . 北京 : 电子工 业出版社 , 2001. [2 ] 武嘉澍 ,陆劲昆 . LabV IEW 图形编程 [ M ] . 北京 : 北京大学出版社 , 2002. [ 3 ] 张宁 , 等 . MC68332 单片机结构与应用 [ M ] . 北 京 : 北京航空航天大学出版社 , 1996. [ 4 ] 周建斌 . 基于 32 位 MCU M C68376 和 16 位定点 DSP TMS320L F2407 的双机式 N GH 电梯控制主 [ 1 ] 张雄伟 , 等 . DSP 集成开发与应用实例 [ M ] . 北 京 : 电子工业 出版社 , 2002. Communication Program of CAN Port of TMS320f2812 Chip (11 Shcool of Electricity and Information , Dalian Railway Institute , Dalian 116028 , China ; 21 Tri2union Instrument corporation ,Dalian Rail way Institute , Dalian 116028 , China) Abstract : For t he sake of making smart device applied to control fi eld which have higher demands of realtime property such as motion control ,SHCAN2000 fieldbus control system selects t he most resent TI chip of TMS 320f2812 which has 32 - bit data line during t he process of t he upgrade. Field Smart devices interlinkage wit h CANBus to accomplish communication function in t he system. Because t he virtue of C language itself takes m any benefits to development of t his CAN system , it is introduced how to use C to develop CAN controller in TMS320f2812 chip . The development and testing period is deduced ,t he ability of fault avoidence is increased. I t can be widy used in motion control proplems. Key words : SHCAN2000 ; TMS 320f2812 ; mailbox ( 上接第 126 页) 该测试系统投入使用以来 ,运行稳定 ,并对多 块相同接口的主板进行了检测 , 很好地满足了客 户的需求 , 至今还未出现较大的2 TMS320f2812 中 CAN 控制器硬件特点 TMS320f2812 中的 CAN 控制器集成了 CAN 总线的物理层和数据链路层 , 它支持 CAN 总线 210A 和 210B 协议 ,CAN 的可 靠的错误检测以及 处理功能都是由控制器的链路层自动完成 。通过 连 接 一 个 3 13 V 的 CAN 收 发 器 可 以 使 TMS320f2812 直接接入 CAN 总线网络 。 TMS320C 2812 中 CAN 控制器的最大优点 就是有 32 个可以逐位屏蔽并带有超时监视和传 送 动态优先级的邮箱 。这 32 个邮箱共有 512 个 字节的存储空间来存放要发送或接收 到的数据 。 要完成通信功能 , 主要就是对这些邮箱的管理 。 由于每个邮箱都是 1 个 I/ O 通道 , 所以使用者可 http://www.cnki.net 第 2 期 李 杨等 : TMS320f2812 芯片中的 CAN 口 C 语言通信 编程 以根据自己的情况合理地分配这些邮箱的功能来 简化原来用复杂程序控制一个 通道所实现的通信 功能 。这使得程序简单 ,控制灵活 。 eCAN 本身与 SCC 模式相兼容 , 并且增加了 ·1 6 9 · 模块的时钟 、 配置 CAN 管脚 、 初始化 MC 寄存器 、 清除中断标志位 、 配置位定时参数和配置接收屏 蔽等工作 。 例 :SysCtrlRegs. PCL KCR. all = 0x4000 ; EcanaRegs. CANB TC. all = 0X1021A ; 低功率模式 , 在这种模式下 CAN 控制器内部只 有唤醒逻辑存在 , 其他的 CA N 的时钟均被关闭 , 只要设定 MC 寄存器中的 WUBA 位 ,当侦测到任 何总线活动的 时候 , 模块都会自动退出低功率模 式 ,在没有总线通信的时候可以采用此种模式来 节省电力耗费 。另外 CAN 的收发器使用 313 V 的电源供给 , 降低了功耗 , 减少 了系统耗费 , 增加 了系统的可靠性 。 2) 配置邮箱的传送方式 邮箱有两种传送 方式 ,接收和发送 。将标识符 、 数据长度和要发送 的数据装入邮箱的相应位 即完成发送邮箱的配 置 。如果为接收邮箱的话 , 需要对相应的接收屏 蔽进行编程 并判断接收到的数据是否需要被保护 来进行相应的编程 。 3) 配置中断并且安装中 断矢量 CAN 有两 种中断类型 ,一种是邮箱对象中断 ,另一种是系统 中断 。它有 高 ( IO EN ) ,低 ( I1 EN ) 两个中断级别 , 配置中断需要配置相应的中断屏蔽以 及中断级别 并且使能这两条中断线 。 例 : PieVect Table. ECANO IN TA = ISR ; PieCtrlRegs. PIECR TL . bit . EN PIE = 1 ; IER | = 0x0100 ; &eC ANO IN T - 3 CAN 口的 C 语言编程实现 使用 C 语言可以直接对处理器内部的寄存 器进行访问 。C 语言的形式能使使 用者更清楚地 了解内部寄存器的使用 。通过使用结构体或者联 合体的形式来定义芯 片中的各种寄存器 , 然后将 这些变量定位在相应的存储器中就可以实现这种 功能 。 首先在头文件中定义这些寄存器 。 例 :struct CANMDRL - B ITS { Uint16 Uint16 LOW - WORD :16 ; HI - WORD :16 ; 4) 启动传送或接收 当配置为发送邮箱时 , 以邮箱 1 为例 , 设定相应邮箱的传送请求标志 ( TRS) 为 1 ,当相应邮箱的传 送应答标志 ( TA ) 被 设定时 ,表明已经成功传送了数据 。这时为了下 一次的传送 必须清除 TA 位 。 当配置为接收邮箱时 , 每一个邮箱成功接收 数据后 ,邮箱的接 收信息悬挂寄存器 ( RM P) 中相 应的位都会为 1 并且初始化一个中断 ,在 CPU 从 邮箱读取数据之前 ,需要清除 RM P 位 。 5) 中断的处理 中断处理主要就是调 度这 些不同的邮箱完成各自的功能 。当传送或接收完 成产生中断时 , 判断相应的 全局中断标志寄存器 ( GIF0/ 1) 中的位可以找到中断源来做相应的处 理 ,如果是邮 箱中断 , 可以通过 GIF 寄存器中的 M IV 位来找到产生中断的邮箱来处理 。 };

基于TMS320F2812的CAN_Bus通讯系统的设计

基于TMS320F2812的CAN_Bus通讯系统的设计

基于TMS320F2812的CAN-Bus通讯系统的设计123张玮陈丁张涛(1.西安北方光电有限公司技术中心陕西西安 710043;2.西安黄河机电有限公司 设计研究所陕西西安 710043;3.金堆城钼业集团有限公司公司工会陕西渭南 714102)摘 要:为解决传统现场控制总线通信可靠性、准确性难以保证的问题,鉴于CAN-bus特殊通信协议保证其各节点之间通信具有极高的可靠性与准确性,提出一种采用TMS320F2812作为CAN-bus节点核心器件的硬件设计方案。

实验表明:CAN-bus的数据传输波特率最高可达1Mbps,通信方式灵活,数据传输可靠性高。

关键词: Can-bus;TMS320F2812;DSP;网络;节点中图分类号:TP336 文献标识码:A 文章编号:1671-7597(2011)0520071-011 CAN-Bus概述制器进行串行通信,由于32个完全可配置的邮箱和时间标志特性,eCAN模块提供了一个通用和具有鲁棒性的串行通信接口。

其增强性体现在:目前,国内的控制总线多使用主从工作方式,一旦主控节点出现故障① 32个邮箱均可配制为接收或者发送邮箱,且每个邮箱均有独立的将会导致整个系统的瘫痪,且数据通信为命令响应式,数据传输效率低,接收屏蔽寄存器;节点发生错误处理能力差,特别是无法满足防务产品的控制系统对可靠性,稳定性极高要求。

CAN-bus是德国博世公司80年代为了解决汽车的分布式实时控制系统与测试仪器之间的数据交换而开发的一种串行数据通信协议。

其特殊通信协议,较之其他传统的现场总线,具有以下特点:①多主控制可实现点对点,一点对多点、全局广播等方式收发数据,任意增减节点对系统无任何影响;②标识符ID仅指示信息的数据通信优先级(ID值全0最高),各节点通信互不干扰;③通信距离最远可达10km,最高波特率可达1Mbps,但各节点速率设置必须相同;④通信格式采用最多8个字节的短帧格式,具有错误帧自动重传功能;⑤采用ISO11898高速和ISO11519低速标准,设备间互换性好,通用性好,维护成本较低。

成功烧写TMS320F2812经验

成功烧写TMS320F2812经验
RAMH0 : origin = 0x3F8000, length = 0x002000
}
SECTIONS
{
/* Allocate program areas: */
.reset : > BEGIN PAGE = 0
/* Peripheral Frame 2: */
SYSTEM : origin = 0x007010, length = 0x000020
SPI_A : origin = 0x007040, length = 0x000010
SCI_A : origin = 0x007050, length = 0x000010
XINTRUPT : origin = 0x007070, length = 0x000010
GPIOMUX : origin = 0x0070C0, length = 0x000020
GPIODAT : origin = 0x0070E0, length = 0x000020
CSM : origin = 0x000AE0, length = 0x000010
XINTF : origin = 0x000B20, length = 0x000020
CPU_TIMER0 : origin = 0x000C00, length = 0x000008
PIE_VECT : origin = 0x000D00, length = 0x000100
/* Peripheral Frame 1: */
ECAN_A : origin = 0x006000, length = 0x000100
ECAN_AMBOX : origin = 0x006100, length = 0x000100

2812-can程序说明.

2812-can程序说明.

实验3.11:CAN接口通讯数据传输实验一.实验目的1.了解TMS320F2812A DSP片内CAN模块的控制;2.掌握CAN电路的控制方法;3.学会用程序控制CAN接口传输发送数据,并从另一个节点上的CAN邮箱中检测数据的正确性。

二.实验设备两台计算机,ICETEK-F2812-A-EDU实验设备两套,或ICETEK-F2812-A评估板两块。

三.实验原理1.CAN模块的特性(见spru074a.pdf文档)与CAN(2.0B)协议完全兼容;支持高达1Mbps的传输速率;具有32个邮箱,每个邮箱都具有以下特性:*可配置为接收或发送*可用标准的或扩展的标识符进行配置*具有可编程的接收过滤屏蔽*支持数据桢和远程桢*支持0-8字节的数据*在接收和发送的信息中使用一个32位的时间标志*阻止旧消息被新消息覆盖的保护措施*允许对发送消息优先级的动态编程*使用一种具有两个中断级别的可编程中断方案*对发送和接收的超时现象使用一种可编程的中断操作低功耗模式;总线活动的可编程唤醒;远端请求消息的自动应答;某桢在缺少仲裁和发送错误下的自动重传;由一个特殊消息(与16号邮箱关联)同步的32位时间标志计数器;自检模式。

四.实验步骤1.实验准备连接实验设备:请参看本书第三部分、第一章、二。

关闭实验箱上扩展模块和信号源电源开关。

使用一根CAN通讯连接线把两块ICETEK-F2812-A评估板的P7接口连在一起。

注意:如果是自己购买的连接线或自己做的,请把接口的第四脚去掉,如下图:2.设置Code Composer Studio 2.21在硬件仿真(Emulator)方式下运行请参看本书第三部分、第一章、四、2。

3.启动Code Composer Studio 2.21请参看本书第三部分、第一章、五、2。

选择菜单Debug→Reset CPU。

请按照1-3的操作步骤把另外一套实验箱和另外一台计算机连接在一起,并启动ccs软件。

TMS320F28035 DSP CAN程序升级方案 BootLoader

TMS320F28035 DSP  CAN程序升级方案 BootLoader

●系统硬件架构说明程序升级需一台PC 计算机,一块CAN 卡,和一个待升级设备。

PC 计算机下发升级数据,控制并监视整个烧录过程。

PC 机通过USB 口和线缆与CAN 卡线连接,CAN 卡将USB 数据线数据转换为CAN 报文,通过CAN 总线与待升级的设备连接。

CAN 卡实现PC 机与待升级设备间的连接,控制,数据通信。

一次程序升级过程可对一个设备进行程序更新。

PC 机需安装windowsXP ,window7,8,10操作系统,且安装好监控升级软件,以及CAN 卡驱动程序。

CAN 卡采用USB 线缆供电并采用专用USB 转UART(异步串口)芯片HC340,为PC 机拓展出一个虚拟串口,PC 机凭此串口与CAN 卡进行通信,CAN 卡主控芯片采用28035,主要功能是实现串口数据到CAN 数据报文的格式转换。

车载DCDCCAN 卡USB 线缆(屏蔽线缆)CAN 总线(双绞线) PC 计算机●上位机监控软件使用介绍1、首先安装CAN卡驱动程序(HL-340),安装完成后在PC电脑任一USB口插入CAN卡,即可在”我的电脑”-”设备管理器”-“串口”一栏中找到对应拓展出来的串口,表明驱动安装正确,CAN卡连接正确。

HL-340驱动程序图标2、点击打开监控软件监控软件图标监控界面如下1).在监控软件中“串口号”一栏填入对应串口,在点击”打开串口”控件,连接好CAN与设备CAN线,给设备接入12V电源,即可监控通讯2.点击“HEX文件读取按钮”,弹出hex文件查找对话框,找到需要烧录的hex文件,点击打开即可。

Hex文件查找对话框此时“文件路径”控件显示待烧录的hex文件在硬盘中的实际位置,用于核对检查。

一般程序升级仅升级应用程序,因此编程选项栏中默认选择“擦除编程应用扇区”,若需对基本CAN升级扇区(B扇区)升级程序,则点击选择“擦除编程基础程序”,若需对28035芯片整个FLASH进行擦除和程序升级,则点击选择“擦除编程所有flash扇区”,但此功能慎用,此功能一次性擦除和编程所有扇区,升级过程中掉电,目标设备将无法使用CAN再次升级。

TMS320F2812中文资料介绍

TMS320F2812中文资料介绍

TMS320F2812中⽂资料介绍TMS320F2812中⽂资料介绍简介:德州仪器所⽣产的TMS320F2812数字讯号处理器是针对数字控制所设计的电机控制(digital motor control, DMC)、资料撷取及I/O控制(data acquisition and control, DAQ)等领域。

针对应⽤最佳化,并有效缩短产品开发周期,F28x核⼼⽀持全新CCS环境的C compiler,提供C语⾔中直接嵌⼊汇编语⾔的程序开发介⾯,可在C语⾔的环境中搭配汇编语⾔来撰写程序。

值得⼀提的是,F28x DSP核⼼⽀持特殊的IQ-math函式库,系统开发⼈员可以使⽤便宜的定点数DSP来发展所需的浮点运算算法。

F28x系列DSP预计发展⾄400MHz,⽬前已发展⾄150MHz的Flash型式。

1.⾼性能静态CMOS制成技术(1)150MHz(6.67ns周期时间)(2)省电设计(1.8VCore,3.3VI/O)(3)3.3V快取可程序电压2.JTAG扫描⽀持3.⾼效能32BitCPU(1)16x16和32x32MAC Operations(2)16x16Dual MAC(3)哈佛总线结构(4)快速中断响应(5)4M线性程序寻址空间(LinearProgramAddressReach)(6)4M线性数据寻址空间(LinearDataAddressReach)(7)TMS320F24X/LF240X程序核⼼兼容4.芯⽚上(On-Chip)的内存(1)128Kx16 Flash(4个8Kx16,6个16Kx16)(2)1Kx16OTPROM(单次可程序只读存储器)(3)L0和L1:2组4Kx16 SARAM(4)H0:1组8Kx16SARAM(5)M0和M1:2组1Kx16 SARAM共128Kx16 Flash,18Kx16 SARAM5.外部内存接⼝(1)⽀持1M的外部内存(2)可程序的Wait States(3)可程序的Read/Write StrobeTi最⼩g(4)三个独⽴的芯⽚选择(Chip Selects)6.频率与系统控制(1)⽀持动态的相位锁定模块(PLL)⽐率变更(2)On-Chip振荡器(3)看门狗定时器模块7.三个外部中断8.外围中断扩展⽅块(PIE),⽀持45个外围中断9.128位保护密码(1)保护Flash/ROM/OTP及L0/L1SARAM(2)防⽌韧体逆向⼯程10.三个32位CPU Timer11.电动机控制外围(1)两个事件管理模块(EVA,EVB)(2)与240xADSP相容12. (1)同步串⾏外围接⼝SPI模块(2)两个异步串⾏通讯接⼝SCI模块,标准UART(3)eCAN(Enhanced Controller Area Network)(4)McBSP With SPI Mode13.16个信道12位模拟-数字转换模块(ADC)(1)2x8通道的输⼊多任务(2)两个独⽴的取样-保持(Sample-and-Hold)电路(3)可单⼀或同步转换(4)快速的转换率:80ns/12.5MSPS2.2TMS320F2812硬件结构介绍2.2.1OSC与PLL⽅块F2812芯⽚上设计了⼀个相位锁定模块(PLL),这个模块将会提供整个芯⽚所需频率源。

1 TMS320F2812简介

1 TMS320F2812简介

1 TMS320F2812简介TMS320F2812是TI公司的一款用于控制的高性能、多功能、高性价比的32位定点DSP芯片。

该芯片兼容TMS320LF2407指令系统最高可在150MHz主频下工作,并带有18k×16位0等待周期片上SRAM和128k×16位片上FLASH(存取时间36ns)。

其片上外设主要包括2×8路12位ADC(最快80ns转换时间)、2路SCI、1路SPI、1路McBSP、1路eCAN等,并带有两个事件管理模块(EVA、EVB),分别包括6路PWM/CMP、2路QEP、3路CAP、2路16位定时器(或TxPWM/TxCMP)。

另外,该器件还有3个独立的32位CPU定时器,以及多达56个独立编程的GPIO引脚,可外扩大于1M×16位程序和数据存储器。

TMS320F2812采用哈佛总线结构,具有密码保护机制,可进行双16×16乘加和32×32乘加操作,因而可兼顾控制和快速运算的双重功能。

通过对TMS320F2812定点DSP芯片合理的系统配置和编程可实现快速运算,本文着重对此加以说明。

2 TMS320F2812基本系统配置2.1TMS320F2812时钟TMS320F2812的片上外设按输入时钟可分为如下4个组:(1)SYSOUTCLK组:包括CPU定时器和eCAN总线,可由PLLCR寄存器动态地修改;(2)OSCCLK组:主要是看门狗电路,由WDCR寄存器设置分频系数;(3)低速组:有SCI、SPI、McBSP,可由LOSPCP寄存器设置分频系数;(4)高速组:包括EVA/B、ADC,可由HISPCP寄存器设置分频系数。

为了使系统具有较快的工作速度,除了定时器和SCI等少数需要低速时钟的地方,其它外设均可以150MHz时钟工作。

图12.2存储空间图1所示是TMS320F2812的内部存储空间映射图。

TMS320F2812为哈佛(Harvard)结构的DSP,即在同一个时钟周期内可同时进行一次取指令、读数据和写数据的操作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档