基于TMS320 LF2407A在CAN总线上的应用研究

来源 :现代商贸工业 | 被引量 : 0次 | 上传用户:ccysshucc
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:介绍了以DSP(TMS320F2407A)和收发器SN65HVD230D为主体所构成的控制模块在CAN总线上的应用。详细分析了实时操作系统uC/OS-II在DSP中的移植,从而提高系统的实时性和软件的运行效率。
  关键词:CAN总线;TMS320F2407A;接口技术;uC/OS-II,嵌入式操作系统 
  中图分类号:TP202文献标识码:A文章编号:1672-3198(2008)04-0224-03
  
  1 引言
  
  CAN,全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。CAN是一种多种方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出任何错误。 由于CAN总线具有很高的实时性能,因此,CAN已经在汽车工业、航空工业、工业控制、安全防护等领域中得到了广泛应用。
  TMS320LF2407A是美国TI公司生产的一种定点DSP芯片,它采用增强的C2xx CPU内核结构,代码与24x系列的芯片兼容。与24X系列的DSP芯片相比,TMS320LF2407A采用3.3 V电源供电,功耗更低;CPU时钟频率可达40MHz,速度更快,EVM板可对LF2407代码进行全速检查,其中有544个字长的片上数据存储器、128K字长的板上存储器、片上只读闪烁存储器,片上UART和一个MP7680/A转换器, 可分别寻址程序存储器、数据存储器以及I/O各 64位空间和两个事件管理模块 EVA和EVB,各有两个16位的通用定时器。板上安装的器件可使评估板解决各类问题,4个扩展接口,可提供任何评估电路。TMS320LF2407A中含有一个支持CAN 2.0B协议的CAN控制器,支持标准和扩展标识衬;支持两种信息帧格式,即数据帧和远程帧,可以自动应答远程帧的请求,当出现错误或仲裁失败时,具有自动重发数据功能。本文主要介绍使用TMS320LF2407A进行CAN通信时硬件和软件方面的设计。
  
  2 DSP功能介绍
  
  本系统采用的TMS320LF2407A微处理器主要包括以下一些功能模块:
  (1)一个32位的中央算术逻辑单元(CALU)。
  (2)一个32位的累加器(ACC)。
  (3) CALU的输入和输出定标移位器。
  (4)一个乘积定标移位器(PSCALE )。
  (5)8个辅助寄存器(ARO-AR7 )。
  (6)一个辅助寄存器算术单元(ARAU),该模块提供了灵活而强大的间接寻址能力。
  (7)还有两个状态寄存器ST0和ST1,它们包含有决定处理器工作方式、页地址指针值以及指示处理器不同条件和算术逻辑运算结果的位。
  (8)TMS320LF2407A的16X16位乘法器是由寄存器TREG, PREG和一个硬件乘法器构成。其中TREG是临时寄存器,在作乘法运算时用来存储一个乘数,而PREG则是结果寄存器,存储乘法运算所产生的结果。
  (9)TMS320LF2407A具有8级硬件堆栈。当子程序调用或中断发生时,程序地址产生逻辑把堆栈用于存储返回地址或其它的一些参数。当子程序调用或中断服务子程序完成时,返回指令将从堆栈顶返回地址或参数送到CPU寄存器中去。
  
  3 CAN的接口
  
  DSP芯片TMS320LF2407A中集成了一个CAN控制器,CAN接口线提供额外的高速窜行借口,其中有1个4针mini-DIN母接口,它可以用来连接CAN接口,接口管脚输出如图1; 管脚的定义如表1:
  
  4 收发器的选择
  
  CAN总线以其较高的通讯速率、良好的抗电磁干扰能力可实现高可靠性串行通信,因而在实际应用中具有极高的应用价值。但是,随着集成技术的不断发展,为了节省功耗,缩小电路体积,一些新型CAN总线控制器的逻辑电路平均采用LVTTL,这就需要与之相适应的总线收发器。文献中介绍最多的CAN总线收发器是Philip公司生产的820250,它与CAN总线控制器SGA1000配合使用时非常方便,但由于它使用5V电源供电,而DSP芯片TMS320LF2407A采用3.3V电源供电,将两者配合使用时,中问要加电平转换电路,为电路的设计带来了不便。TI公司生产的SN65HVD230X型电路很好地解决了这个问题。它是采用3.3 V电源,有很高的输入阻抗,总线上最多可连120个节点,ESD保护超过16KV, 温度升高到一定值时,总线自动关闭,节点上电或移去对总线上的其它节点没有影明,技术标准兼容1S011898。我选取的即是SN65HVD230D,它的引脚排位及逻辑功能如图2所示。
  
  5 软件系统的设计
  
  本文采用的是由Jean J.Labrosse编写的开放式实时操作系统uC/OS-II,主要是基于以下的考虑:(1)它的内核是完全免费的。用户不需支付任何费用,有利于降低系统开发成本。(2)它的源代码是公开的,并且仍在不断的升级,增加新功能。源代码的开放可以使得用户根据实际要求对源代码进行取舍,去掉不必要的变量和不使用的函数,提高系统性能。另外,由于对系统内核有源代码级的了解,用户可以添加自己的模块,与原有系统内核兼容,使得系统具有可扩展性。(3)系统内核实用性强、可靠性高。从最老版本的uCOS,以及后来的uC/OS,到最新版本的uC/OS-II,该实时内核已经走过了近10年的历程。10年来,世界上已有数千人在各个领域使用了该实时内核,如医疗器械、网络设备、自动提款机、工业机器人等等。这些应用的实践是该内核实用性、无误性的最好证据。(4)操作系统内核对处理器以及ROM, RAM资源的要求不高,有利于在8位处理器上的移植。(5)它可以为嵌入式TCP/IP协议需要提供对多用户的支持。
  5.1 操作系统uC/OS-II在TMS320LF2407A的移植
   虽然uC/OS-II大部分的代码是用C语言写的,但仍需要用汇编语言写一些与处理器相关的代码,这是因为uC/OS-II在读写处理器、寄存器时只能通过汇编语言来实现。 
  5.2 移植工作介绍
   uC/OS-II的移植工作主要就是修改C语言头文件OS_CPU.H.C语言源文件OS_CPU-C.C和汇编语言文件OS_CPU_A.ASM。
  ①移植头文件OS_CPU.H。
  为了确保其可移植性uC/ OS- II不使用C语言中的short;int;long等与编译器相关的数据类型,而是定义了一系列可移植又很直观的数据类型如:INT8U,INT16S,INT328等这部分工作在C语言头文件OS_CPU.H中实现。应该指出的是,虽然在移植过程中将uC/ OS- II数据类型BOOLEAN,INT8U,INT8S分别定义为unsigned char和signed char类型,但是由于TMS320LF2407A内核与数据总线宽度都是16bit,所以这几种类型的数据实际上都要占用一个16bit字的内存。头文件OS_CPL.H另一个主要内容是定义用于临界段代码保护的两个宏OS_INTER_CRITICAL()和OS EXITCRITICAL().
  ②移植汇编文件OS_CPU_A.ASM。
  OS_CPU_A.ASM文件中包括有四个函数都涉及对寄存器的处理,其跟处理器有关,由于不同的处理器有不同的寄存器,所以操作系统在这个文件里给用户留下四个函数接口,以便用户根据所选处理器编写相应的程序以完成固定的功能.四个函数分别是OSStartHighRdy(),OSCtxSw(),OSIntCtxSw(),OSTickISR()。
  ③OSStartHighRdy()函数的实现。
   OSStartHighRdy()函数是一个高优先级就绪任务启动函数,主要是将任务栈中的保存值弹回到CPU寄存器中,然后执行返回指令,中断返回指令强制执行该任务代码,实现多任务启动。 
  ④OSCTxSw()和OSIntCtxSw()函数的实现。
  OSCtxSw()和OSIntCtxSw()都是任务切换函数,不同的是后者为中断级任务切换函数,由于后者是在ISR中被调用的,所以需要调整堆栈指针SP去掉在调用OSIntExit(),OSIntCtxSw()过程中压入堆栈的多余内容。它们的主要功能是将要挂起的任务的寄存器值保存起来,将要执行的任务的寄存器的内容恢复。
  OSCtxSw()该函数完成的是任务级的任务切换工作。其目的是为了保证处理器永远运行就绪表中优先级最高的任务,这跟OSStartHighRdy()类似。然而,后者是由OSStart()调用的,只是执行启动多任务的功能,而OSCTxSw()是在任务调度函数OSSched()通过宏定义OS TASKse SW()调用的,执行的是多任务的调度功能:不仅要使得高优先级任务得以恢复运行,还得将待切换出去的任务保存起来,两者的差别也可以从程序的处理过程比较出来。
  ⑤OSTickISR()函数的实现。
  OSTickISR()是用定时器1产生一个周期为25毫秒的时钟源提供给uC/OS-II,这是uC/OS-II时间延迟和超时功能的时间基准。OSTickISR()是该定时器周期中断的中断服务程序。它主要有两个功能:一个是调用OSTimeTick()函数,计算自系统上电以来所经历的时钟节拍数,并将每个处延时等待状态的任务的OSTCSDly项减1:另一个是调用。OSIntEXit()函数察看是否有更高优先级的任务因时钟节拍到来而延迟时间并进入就绪态,如果有则进行中断级的任务切换。另外,在该函数的入口处要将OSIntNesting加1;在出口处将OSIntNesting减1。
  5.3 语言源文件OS_CPU_C.C文件的修改
  UC/OS-II的移植需要修改该文件中的10个C函数OS-TaskStkInit; OSTaskCreateHook; OSTaskDeHIook;OS-TaskSwHook;OSTaskIdleHook;OSTaskStatHook;OS-TimeTickHook; OSInitHookhenin;OSInitHookEnd;OSTCBInitHook。其中只有函数OSTaskStkInit()修改是必要的,其它函数是为了方便用户扩展而设的,可以定义为空。OSTaskStklnit()用于系统创建用户任务时,建立并初始化任务堆栈。该函数和处理器的硬件体系密切相关,它将所需的寄存器入栈,返回新堆栈的栈顶的地址,并将它们保存在该任务的任务控制块OS_TCB中,最终使初始化后的堆栈跟刚发生过一次中断一样。这样,系统无需对调度程序作特殊的处理即可直接对新任务进行调度。
  
  6 结论
  
  CAN总线因具有通信方式灵活、实时性好、可靠性高,通信距离远、传输速度快等优点被广泛地应用于航空、航海、汽车以及各种工业自动化控制系统.而DSP芯片内嵌了16通道的A/D转换模块,因此凡是适用于CAN总线通信的研究, TMS320LF2407A基本上也都应用.而且它的功能,比使用单片机的效率要高得多。在软件设计上,采用了嵌入式操作系统作为软件开发平台,从而为用户提供良好的人机交互方式和较强的应用程序接口,进一步提高系统的实时性和软件的运行效率,以嵌入式操作系统和DSP相结合的开发平台可以满足实时测控系统的需求。以上系统已经在长春工业大学智能检测实验室实际调试通过,并可跟据不同的需求作扩展。
  
  参考文献
  [1]阳宪惠.现场总线技术及其应用[J].清华大学出版社,1999.
  [2]刘和平.TMS320LF240X DSP结构、原理及应用[M].北京:北京航空航人大学出版社,2002.
  [3]迟瑞娟,曹正清.基于CAN总线的整车管理系统硬件设计[N].中国农业大学学报,2002, 7 (4):91-94.[4]邻宽明.CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社,1996.
  [5]Jean J.Labross-e著,邵贝贝等译.嵌入式实时操作系统uC/OS-II(第2版)[M].北京:北京航空航人人学出版社,2003.
  注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
其他文献
摘 要:现代企业在MIS开发技术中大量应用Web Server新技术,并已获得相当的成功,但由于Web Server本身存在的特点,MIS开发过程中不能将此新模式完全替代传统模式,或者与传统模式完全对立,本文主要对C/S与B/S模式的结合进行探讨。  关键词:MIS;开发模式;Client/Server;Browse/Server  中图分类号:TP29文献标识码:A文章编号:1672-319
期刊
摘要:FDI的产业转移对我国的产业结构调整起到了非常重要的作用,就我国FDI产业转移的现状进行简单的总结,以便我们对我国的FDI产业转移现状有初步的认识。  关键词:FDI;产业转移现状  中图分类号:F740文献标识码:A文章编号:1672-3198(2007)10-0012-01    FDI产业转移是指发达国家或地区主要是跨国公司通过国际贸易和国际投资的方式将本国产业转移到次发达国家或地区或
期刊
摘 要:介绍了无线收发芯片nRF905的功能,及其与51单片机的接口设计。单片机可以很容易地通过SPI接口访问nRF905,功耗低。多频道多频段,可以很方便地实现点对点及点对多点无线通信。  关键词:无线收发器;SPI接口;单片机  中图分类号:TP29文献标识码:A文章编号:1672-3198(2008)04-0293-02    1 引言    nRF905是Nordic VLSI公
期刊
摘 要:矿用阻车器的自动装置是基于PLC在绞车电控领域里推广与应用的一种,其内容着重介绍了矿用阻车装置的构成、原理和动作过程等。  关键词:PLC;矿用阻车器本体;第一、二设定值;“抱轨”;“松轨”  中图分类号:TB114文献标识码:A文章编号:1672-3198(2008)04-0251-02    矿用阻车器的自动装置,它采用了旋转编码器作为测距传感器,PLC作为控制核心,绞车房信号
期刊
摘 要:提出了智能PID设计与其在锅炉主汽温控制的应用,对象模型的变化体现在增益、时间常数和阶次三个方面。增益变化对调节系统品质影响最大,时间常数次之,阶次通常可以认为不变。若能确定调节对象模型中增益和时间常数对指导信号的函数关系,这种函数关系可用于确定PID调节器参数,从而实现带指导信号的PID调节器,这种调节器可保持调节系统性能指标在变工况下近似不变。这种方法通过扩展线性控制理论来解决非线性控
期刊
摘 要:阐述了旧城给水管网改造的必要性,总结了改造应遵循的原则,并以南充市为例,对城市管网管线进行了布置。   关键词:给水管网;改造;原则  中图分类号:TU755文献标识码:A文章编号:1672-3198(2008)04-0299-02    1 旧城给水管网改造势在必行    几十年来,我国给水事业的迅速发展。各地城市均具规模,城市给水管网在其新建成的一定时期内,其供水能力是可以满
期刊
摘要:浙江地区以中小企业产业集群为主要特色的区域经济模式的形成和发展,对浙江经济的增长作出了巨大的贡献。通过对产业集群定义、特征分析的基础上,以浙江产业集群为例,阐述了浙江产业集群形成的动力机制及其主要的竞争优势。  关键词:产业集群;社会网络;专业市场;融资渠道  中图分类号:F127文献标识码:A文章编号:1672-3198(2007)10-0025-02    近年来我国中小企业表现出强劲的
期刊
摘要:随着市场经济的发展,特别是信息时代和知识时代的到来,企业核心能力已经成为左右企业竞争优势的关键性力量。企业间的竞争最终体现在核心能力上。通过对M研究所核心竞争力的分析,提出加强质量管理体系建设是M研究所获得竞争优势的关键途径。  关键词:核心竞争力;质量管理体系;竞争优势;途径  中图分类号:F21文献标识码:A文章编号:1672-3198(2007)10-0052-02    1核心竞争力
期刊
摘要:通过对硅谷地区的实证研究总结出硅谷地区发展的阶段,通过对以往硅谷复制理论的研究,发现复制硅谷实践的困惑和理论解释的困扰,并利用供应链的理论去解释这一困惑。通过供应链和产业链的比较得出软件产业集聚是由供应链的积聚实现的。  关键词:复制硅谷;软件产业集聚本质;软件产业供应链与产业链比较  中图分类号:F27文献标识码:A文章编号:1672-3198(2007)10-0029-02    1美国
期刊
摘 要:当前,CAD在土木设计中应用广泛,通过详细分析CAD在实际工作中的使用情况,对CAD在土木设计工作中优势和劣势进行了探讨,并提出了一定的见解。  关键词:CAD;土木设计;优势;劣势  中图分类号:TP29文献标识码:A文章编号:1672-3198(2008)04-0281-02    1 引言    计算机辅助设计(Computer Aided Design,简称CAD),诞生
期刊