eCAN模块课件

合集下载

2 揭开ECAN的面纱

2 揭开ECAN的面纱

北京金桥恒泰科技北京金桥恒泰科技有限公司有限公司有限公司余少波余少波 博士博士 caminopro@ caminopro@揭开揭开ECAN ECAN ECAN的面纱的面纱的面纱ECAN ECAN更适合广电网络更适合广电网络更适合广电网络双向化改造双向化改造双向化改造??ECAN 技术比较技术比较分析分析概述......................................................................................................................................................3 EOC EOC的的QoS QoS指标指标......................................................................................................................................3 ECANECAN介绍介绍..............................................................................................................................................5 ECAN 概述...................................................................................................................................................5 ECAN 协议 (5)PHY 层协定...............................................................................................................................................................5 MAC 层协定.. (5)ECAN ECAN连通性分析连通性分析..................................................................................................................................7 ECAN ECAN的传输特性分析的传输特性分析..........................................................................................................................8 ECAN ECAN的延迟分析的延迟分析..................................................................................................................................9 ECAN ECAN的抖动分析的抖动分析..................................................................................................................................9 各种各种EOC EOC EOC技术比较分析技术比较分析. (10)概述概述自从EOC技术出现以来,作为一种用于广电网络双向化改造的技术,已经逐步替代传统的CMTS技术。

eCAN模块课件讲解

eCAN模块课件讲解
足现场的要求,信息桢短小,要求实时性高,可靠性高。
典型的现场总线技术
• 随着嵌入式系统的高速发展,自1980年后十几年间,好几 种现场总线技术走向成熟。 • 基金会现场总线(Foundation Fieldbus) 以美国Fisher-Rosemount公司为首,联合ABB、西门子等 80家公司,一同致力开发的一种国际上统一的现场总线。 • LonWorks(美国Echelon、摩托罗拉、东芝等公司共同倡 导)

Vcan-h和Vcan-l为CAN总线收发器与总线之间的两接口
引脚,信号是以两线之间的“差分”电压形式出现。
CAN总线数据传输格式
CAN总线通信技术的实现
• CAN就是总线型结构的一种适合工业现场自动控制的计算机局域网络。 • CAN总线通讯技术是通过CAN总线控制器在硬件上实现的。CAN总线控制器
CAN为多主方式工作,网络上任一节点均可在任意时刻主动向 网络上其他节点发送信息,而不分主从。 在报文标志符上,CAN的节点分成不同的优先级,可满足不同 的实时要求。 CAN采用非破坏性总线总裁技术。 CAN节点只需通过对报文的标志符滤波即可实现点对点、一点 对多点及全局广播等几种方式传输接收数据。
• 20世纪80年代,Bosch公司的工程人员开始探讨现有的串 行总线系统运用于轿车的可能性,因为还没有一个网络协 议能完全满足汽车工程的要求。 • 1983年,Kiencke开始设计新的串行总线系统,来自 Mercedes-Benz的工程人员介入新总线系统规范的制定。 • 德国Dr.Wolfhard给这个新网络起名为“Controller Area
芯片SJA1000
• SJA1000是一种独立的 CAN控制器,用于一般工 业环境中区域网络控制。

eCAN 参考指南说明书

eCAN 参考指南说明书

1SPRUGL7–April 2020Submit Documentation Feedback Copyright ©2020,Texas Instruments Incorporated Enhanced Controller Area Network (eCAN)Reference GuideSPRUGL7–April 2020Enhanced Controller Area Network (eCAN)This peripheral reference guide has been combined into a family-specific technical reference manual (TRM).See Table 1for the link to the TRM.Table 1.Family Mapping to TRMFamilyTechnical Reference Manual (TRM)TMS320x2803x TMS320x2803x,Piccolo Technical Reference Manual (SPRUI10)IMPORTANT NOTICE AND DISCLAIMERTI PROVIDES TECHNICAL AND RELIABILITY DATA(INCLUDING DATASHEETS),DESIGN RESOURCES(INCLUDING REFERENCE DESIGNS),APPLICATION OR OTHER DESIGN ADVICE,WEB TOOLS,SAFETY INFORMATION,AND OTHER RESOURCES“AS IS”AND WITH ALL FAULTS,AND DISCLAIMS ALL WARRANTIES,EXPRESS AND IMPLIED,INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY RIGHTS.These resources are intended for skilled developers designing with TI products.You are solely responsible for(1)selecting the appropriate TI products for your application,(2)designing,validating and testing your application,and(3)ensuring your application meets applicable standards,and any other safety,security,or other requirements.These resources are subject to change without notice.TI grants you permission to use these resources only for development of an application that uses the TI products described in the resource.Other reproduction and display of these resources is prohibited.No license is granted to any other TI intellectual property right or to any third party intellectual property right.TI disclaims responsibility for,and you will fully indemnify TI and its representatives against,any claims, damages,costs,losses,and liabilities arising out of your use of these resources.TI’s products are provided subject to TI’s Terms of Sale(/legal/termsofsale.html)or other applicable terms available either on or provided in conjunction with such TI products.TI’s provision of these resources does not expand or otherwise alter TI’s applicable warranties or warranty disclaimers for TI products.Mailing Address:Texas Instruments,Post Office Box655303,Dallas,Texas75265Copyright© 2020,Texas Instruments Incorporated。

ECan总线模块资料

ECan总线模块资料

ECan总线模块访问ECAN模块可分为控制/状态寄存器和32个邮箱的访问。

每个邮箱都有一个可编程接受屏蔽寄存器,其所占用的512字节RAM 都可以配置为发送或接收邮箱。

每个邮箱包括8字节数据区,29位标识符和几个控制位,每个邮箱都是有4个32位的寄存器构成。

即:ECAN控制器总共有15个32位的控制寄存器,控制着位定时器、邮箱的发送或接收使能、错误状态及CAN中断等。

其控制寄存器的状态寄存器只能允许32位访问,而接收屏蔽、时间标识寄存器、超时寄存器和邮箱所在的CAN范围则可以以8位、16位和32位方式访问。

该程序中都是进行32位访问,通过设置影子寄存器可实现对位进行操作。

如以下程序:struct ECAN_REGS ECanbShadow;EALLOW; // EALLOW enables access to protected bits ECanbShadow.CANTIOC.all = ECanbRegs.CANTIOC.all;ECanbShadow.CANTIOC.bit.TXFUNC=1; //发送ECanbRegs.CANTIOC.all = ECanbShadow.CANTIOC.all;EALLOW是指允许对受保护的寄存器操作,通常和EDIS配套使用,EDIS是指恢复被保护寄存器的状态。

#define EALLOW asm(" EALLOW")#define EDIS asm(" EDIS") (device.h)初始化CAN步骤:1.使能GPIO口(GPIO8为CANTX,GPIO10为CANRX);2.设置CANTX和CANRX为CAN的通信引脚;3.选择是增强型还是标准型;4.相关寄存器清零;(邮箱控制寄存器清0;复位TA;RMP寄存器所有位置1,表示邮箱中存在发送的数据;清除所有中断标志)5.设置时间配置寄存器的三个步骤(设置CCR=1,等待CER=1,然后设置CANBTC);ECanbShadow.CANMC.all = ECanbRegs.CANMC.all;R = 1 ;ECanbRegs.CANMC.all = ECanbShadow.CANMC.all;ECanbShadow.CANES.all = ECanbRegs.CANES.all;do{ECanbShadow.CANES.all = ECanbRegs.CANES.all;} while(E != 1 );配置时钟程序此处省略。

比较 CAN 和 ECAN 模块

比较 CAN 和 ECAN 模块

AN916随着带有增强型控制局域网(Enhanced Control Area Network,ECAN)模块的PIC18FXX8X系列单片机的面世,设计人员现在可以在PIC18FXX8系列器件原有的CAN模块的和这种使能ECAN的新型器件之间进行选择。

本应用笔记比较了两种模块的通信时间,并给出了结论和建议,旨在帮助设计人员找到最适合给定应用和可用部件的CAN解决方案。

比较和相关的建议均根据以下规则给出:1.以指令条数(汇编语言)表示代码处理时间2.以位时间表示发送和接收时间CAN接口特性•实现的CAN协议:CAN 1.2、CAN 2.0A和CAN 2.0B•标准和扩展数据帧•0-8字节数据长度•可编程的比特率,最高为 1 Mb/s•支持远程帧•带有区分优先级的两个接收报文存储缓冲器的双缓冲接收器•6个完全(标准/扩展标识符)接收过滤器;两个与高优先级接收缓冲器相关联,四个与低优先接收缓冲器相关联•两个完全接收过滤器屏蔽寄存器,每个都与高和低优先级接收缓冲器相关联•三个发送缓冲器,具有应用程序指定的优先级和中止功能•利用集成的低通滤波器实现可编程唤醒功能•可编程环回模式支持自测试操作•在所有CAN接收器和发送器出现错误状态时,通过中断发出信号•可编程时钟源•可编程的到定时器模块的链接,用于时间标记和网络同步•低功耗休眠模式ECAN接口特性•实现的CAN协议:CAN 1.2、CAN 2.0A和CAN2.0B•支持DeviceNet™数据字节过滤器•标准和扩展数据帧•0-8字节数据长度•可编程的比特率,最高为 1 Mb/s•与PIC18XX8 CAN模块完全向下兼容•三种工作模式:-模式 0 – 传统模式-模式1 – 支持DeviceNet的增强型传统模式-模式2 – 支持DeviceNet的FIFO模式•支持具有自动处理功能的远程帧•带有区分优先级的两个接收报文存储缓冲器的双缓冲接收器•6个可编程作为接收和发送报文缓冲器的缓冲器•16 个可与4个屏蔽寄存器之一相关的完全(标准/扩展标识符)接收过滤器•两个可以被分配给任何过滤器的完全接收过滤器屏蔽寄存器•一个可以被用作接收过滤器或接收过滤器屏蔽寄存器的完全接收过滤器•三个专用的发送缓冲器,具有应用程序指定的优先级和中止功能•利用集成的低通滤波器实现可编程唤醒功能•可编程环回模式支持自测试操作•在所有CAN接收器和发送器出现错误状态时,通过中断发出信号•可编程时钟源•可编程的到定时器模块的链接,用于时间标记和网络同步•低功耗休眠模式欲知有关CAN和ECAN的更多信息,请参见附录A:“参考资料”。

ECAN程序

ECAN程序

main(void)为实验主程序,首先在其中调用各子程序进行相关的配置和初始化工作.然后向上位机发送一串数据.表示下位机已准备好.等待接收上位机的数据,其说明如下:void main(void){//初始化系统InitSysCtrl();//关中断DINT;//关闭总中断IER=Ox0000;//关闭所有CPU中断使能(IER)寄存器IFR=Ox0000;//清零所有CPU中断标志(IFR)寄存器//初始化PIE中断InitPieCtrl();//初始化PIE中断矢量表InitPieVectTable();//初始化eCAN寄存器InitECan();//设置中断程序入口地址EALLOW://使能EALLOWPieVectTable.ECANOINTA=&ECANOINTA_ISR;//将中断的入口地址改为ECAN0IN-TA_ISREDIS://关闭EALLOW//开中断IER|_M INT9://开中断INT9EINT://开启全局中断INTMERTM://开启全局实时中断DBJMECanaRegs.CANTRS.all=0x00000001://将邮箱0的TRS置位,开始发送while(ECanaRegs.CANTA.all I=0x00000001);//判断邮箱0发送成功与否,如果成功则退出循环ECanaRegs.CANTA.all=0x0000FFFF://将所有的发送邮箱的TA标志清零for(;;);//循环等待中断程序}2.2 eCAN初始化程序说明InitECan()子程序的功能是eCAN操作前的各种配置及相关寄存器的初始化工作,其说明如下:void InitECan(void){/串eCAN引脚设置木,ECanaRegs.CANME.all=O://复位所有的邮箱产邮箱的相关配置木,ECanaMboxes.MBOX0.MID.all=0x15100000://配置发送邮箱O的ID.标识符11位ECanaMboxes.MBOX 1 6.MID.al=0x强炎心燃:||配置接收邮16的ID.标识符11位ECanaRegs.CANMD.all=0xFFFF0000://把邮箱0~15配置为发送邮箱.把邮箱16.31配置为接收邮箱ECanaShadow.CANMC.bit.SCM=1:,/选择eCAN工作模式ECanaRegs.CANME.a11=0xFFFFFFFF://32个邮箱使能/木数据长度8个BYTE宰/ECanaMboxes.MBOX0.MCF.bit.DLC=8:ECanaMboxes.MBOXl6.MCF.bit.DLC=8;严无远方应答帧请求木/ECanaMboxes.MBOX0.MCF.bit.RTR=0:ECanaMboxes.MBOX 16.MCF.bit.RTR=O:,宰把待发送的数据写入发送邮箱木,ECanaMboxes.MBOX0.MDRL.alI=0x0FFFFFFF:ECanaMboxes.MBOX0.MDRH.all=0x0FFFFFFF:EALLOW:,/使能EALLOWECanaRegs.CANMIM.all=0x00000000://邮箱屏蔽使能ECanaShadow.CANMC.all=ECanaRegs.CANMC.all:/,把CANMC读人影子寄存器ECanaShadow.CANMC.bit.CCR=l://改变配置请求位ECanaShadow.CANMC.bit.SCM=1://选择eCAN工作模式ECanaRegs.CANMC.all=ECanaShadOW.CANMC.all://把配置好的寄存器值回写EDIS://关闭EALLOW产以下为配置波特率宰/产配置工作模式木/EALLOW://使能EALLOWECanaShadow.CANMC.all=ECanaRegs.CANMC.all://把CANMC读入影子寄存器ECanaShadow.CANMC.bit.STM=0://配置CAN为正常模式ECanaShadow.CANMC.bit.SCM=l://选择eCAN工作模式ECanaRegs.CANMC.all=ECanaShadow.CANMC.a11:∥把配置好的寄存器值回写EDIS://关闭EALLOWEALLOW://使能EALLOWECanaRegs.CANMIM.all=0x00010000://使能邮箱16接收中断ECanaRegs.CANMIL.all=0://所有邮箱在中断0(ECANOINT)产生邮箱中断ECanaRegs.CANGIFO.all=OxFFFFFFFF:/,全局中断标志寄存器CANGIF0所有标志位清零ECanaRegs.CANGIM.bit.IOEN=1://eCAN模块中中断0使能EDIS://关闭EALLOWPieCtrl.PIEIER9.bit.INTx5=1://PIE模块中中断0使能}ECANOINTA ISR(void)中断子程序的功能是一旦上位机发送数据过来接收成功.将产生中断。

ECAN程序

ECAN程序

main(void)为实验主程序,首先在其中调用各子程序进行相关的配置和初始化工作.然后向上位机发送一串数据.表示下位机已准备好.等待接收上位机的数据,其说明如下:void main(void){//初始化系统InitSysCtrl();//关中断DINT;//关闭总中断IER=Ox0000;//关闭所有CPU中断使能(IER)寄存器IFR=Ox0000;//清零所有CPU中断标志(IFR)寄存器//初始化PIE中断InitPieCtrl();//初始化PIE中断矢量表InitPieVectTable();//初始化eCAN寄存器InitECan();//设置中断程序入口地址EALLOW://使能EALLOWPieVectTable.ECANOINTA=&ECANOINTA_ISR;//将中断的入口地址改为ECAN0IN-TA_ISREDIS://关闭EALLOW//开中断IER|_M INT9://开中断INT9EINT://开启全局中断INTMERTM://开启全局实时中断DBJMECanaRegs.CANTRS.all=0x00000001://将邮箱0的TRS置位,开始发送while(ECanaRegs.CANTA.all I=0x00000001);//判断邮箱0发送成功与否,如果成功则退出循环ECanaRegs.CANTA.all=0x0000FFFF://将所有的发送邮箱的TA标志清零for(;;);//循环等待中断程序}2.2 eCAN初始化程序说明InitECan()子程序的功能是eCAN操作前的各种配置及相关寄存器的初始化工作,其说明如下:void InitECan(void){/串eCAN引脚设置木,ECanaRegs.CANME.all=O://复位所有的邮箱产邮箱的相关配置木,ECanaMboxes.MBOX0.MID.all=0x15100000://配置发送邮箱O的ID.标识符11位ECanaMboxes.MBOX 1 6.MID.al=0x强炎心燃:||配置接收邮16的ID.标识符11位ECanaRegs.CANMD.all=0xFFFF0000://把邮箱0~15配置为发送邮箱.把邮箱16.31配置为接收邮箱ECanaShadow.CANMC.bit.SCM=1:,/选择eCAN工作模式ECanaRegs.CANME.a11=0xFFFFFFFF://32个邮箱使能/木数据长度8个BYTE宰/ECanaMboxes.MBOX0.MCF.bit.DLC=8:ECanaMboxes.MBOXl6.MCF.bit.DLC=8;严无远方应答帧请求木/ECanaMboxes.MBOX0.MCF.bit.RTR=0:ECanaMboxes.MBOX 16.MCF.bit.RTR=O:,宰把待发送的数据写入发送邮箱木,ECanaMboxes.MBOX0.MDRL.alI=0x0FFFFFFF:ECanaMboxes.MBOX0.MDRH.all=0x0FFFFFFF:EALLOW:,/使能EALLOWECanaRegs.CANMIM.all=0x00000000://邮箱屏蔽使能ECanaShadow.CANMC.all=ECanaRegs.CANMC.all:/,把CANMC读人影子寄存器ECanaShadow.CANMC.bit.CCR=l://改变配置请求位ECanaShadow.CANMC.bit.SCM=1://选择eCAN工作模式ECanaRegs.CANMC.all=ECanaShadOW.CANMC.all://把配置好的寄存器值回写EDIS://关闭EALLOW产以下为配置波特率宰/产配置工作模式木/EALLOW://使能EALLOWECanaShadow.CANMC.all=ECanaRegs.CANMC.all://把CANMC读入影子寄存器ECanaShadow.CANMC.bit.STM=0://配置CAN为正常模式ECanaShadow.CANMC.bit.SCM=l://选择eCAN工作模式ECanaRegs.CANMC.all=ECanaShadow.CANMC.a11:∥把配置好的寄存器值回写EDIS://关闭EALLOWEALLOW://使能EALLOWECanaRegs.CANMIM.all=0x00010000://使能邮箱16接收中断ECanaRegs.CANMIL.all=0://所有邮箱在中断0(ECANOINT)产生邮箱中断ECanaRegs.CANGIFO.all=OxFFFFFFFF:/,全局中断标志寄存器CANGIF0所有标志位清零ECanaRegs.CANGIM.bit.IOEN=1://eCAN模块中中断0使能EDIS://关闭EALLOWPieCtrl.PIEIER9.bit.INTx5=1://PIE模块中中断0使能}ECANOINTA ISR(void)中断子程序的功能是一旦上位机发送数据过来接收成功.将产生中断。

ECan总线模块讲解

ECan总线模块讲解

ECa n总线模块访问ECAN模块可分为控制/状态寄存器和32个邮箱的访问。

每个邮箱都有一个可编程接受屏蔽寄存器,其所占用的 512字节RAM 都可以配置为发送或接收邮箱。

每个邮箱包括 8字节数据区,29位标识符和几个控制位,每个邮箱都是有4个32位的寄存器构成。

即:ECAN空制器总共有15个32位的控制寄存器,控制着位定时器、邮箱的发送或接收使能、错误状态及CAN中断等。

其控制寄存器的状态寄存器只能允许32位访问,而接收屏蔽、时间标识寄存器、超时寄存器和邮箱所在的CAN范围则可以以8位、16位和32位方式访问。

该程序中都是进行32位访问,通过设置影子寄存器可实现对位进行操作。

如以下程序:struct ECAN_REGS ECa nbShadow;EALLOW; // EALLOWnables access to protected bitsECa nbShadow.CANTIOC.all = ECa nbRegs.CANTIOC.all;ECa nbShadow.CANTIOC.bit.TXFUNC=1; // 发送ECa nbRegs.CANTIOC.all = ECa nbShadow.CANTIOC.all;EALLOV是指允许对受保护的寄存器操作,通常和EDIS配套使用,EDIS是指恢复被保护寄存器的状态。

#defi ne EALLOW asm(" EALLOW")#define EDIS asm(" EDIS") ( device.h)初始化CAN步骤:1.使能 GPIO 口( GPIO8为 CANTX,GPIO1O为 CANRX);2.设置CANTX和CANRX为CAN的通信引脚;3.选择是增强型还是标准型;4.相关寄存器清零;(邮箱控制寄存器清0;复位TA;RMP寄存器所有位置1,表示邮箱中存在发送的数据;清除所有中断标志)5.设置时间配置寄存器的三个步骤(设置CCR=1,等待CER=1,然后设置CANBTC);ECa nbShadow.CANMC.all = ECa nbRegs.CANMC.all;ECa R = 1 ;ECa nbRegs.CANMC.all = ECa nbShadow.CANMC.all;ECa nbShadow.CANES.all = ECa nbRegs.CANES.all;do{ECa nbShadow.CANES.all = ECa nbRegs.CANES.all;} while(ECa E 匸1 );配置时钟程序此处省略6.配置CANBTC确认TSEG和TSEG不等于0,如果这两个同时为0, 则CAN 模块不能退出初始化模式。

DSP课件_eCAN总线及其应用[兼容模式]_图文(精)

DSP课件_eCAN总线及其应用[兼容模式]_图文(精)

2015/11/10 11.2 C28x的eCAN模块介绍 1. eCAN总线模块特点
支持兼容的CAN2.0B总线协议最高支持1Mb/s的总线通信速率 32个邮箱低功耗模式可编程总线唤醒功能自动应答远程请求消息在仲裁或错误丢失消息时,自动重发可以通过特定的消息同32位定时邮递计数器同步自动测试模式 2. eCAN总线模块概述 6
2015/11/10 (1)据eCAN模块结构图可知,eCAN构成:协议内核消息控制器:包括存储管理单元(CPU接口、接收控制单元、定时器管理单元)、邮箱存储器、控制和状态寄存器(2)发送过程(3)接收过程 7
2015/11/10 3. CAN模块邮箱组成::包含邮箱标志符(消息控制区):包含消息长度及和MDH:包含数据 4. eCAN模块寄存器寄存器地址空间:0x0060000~0x0061FF 主要包括: 8
2015/11/10 9。

模块和模块化ppt课件

模块和模块化ppt课件

模块1
模块2
数据耦合 模块3
特征耦合(参数表 传递数据结构)
模块4
公共耦合






公共耦合
公共耦合会引起下列问题: 1、 所有公共耦合模块都于某一个公共数据
环境内部各项的物理安排有关,若修改某 个数据的大小,将会影响到所有的模块。 2、无法控制各个模块对公共数据的存取,严 重影响软件模块的可靠性和适应性。 3、公共数据名的使用,明显降低了程序的可 读性。
调用(call):用从一个模块指向另一 个模块的箭头来表示,其含义是前者 调用了后者
–为了方便,有时常用直线替代箭头,此时,表 示位于上方的模块调用位于下方的模块
数据(data):模块调用时需传递的参 数可通过在调用箭头旁附加一个小箭 头和数据名来表示,其中小箭头的方 向是数据的传输方向
SC图的模块调用
3.低耦合
–一个模块与其它模块之间
4.公共(共享)模块
–多个模块公用
模块独立性
问什么模块的独立性很重要?
–有效模块化的软件容易开发出来 –独立的模块比较容易测试和维护
人的独立性强如何? 人没有独立性,什么都依赖别人如何?
内聚
内聚是模块功能强度(一个模块内部 各个元素彼此结合的紧密程度)的度 量。一个模块内部各个元素之间的联 系越紧密,则它的内聚性就越高,相 对地,它与其他模块之间的耦合就会 减低,而模块独立性就越强。
模块是指具有一定功能并可以用模块名调 用的一组程序语句,如函数、子程序等, 它们是组成程序的基本单元
一个模块具有其外部特征和内部特征
–外部特征包括:模块的接口(模块名、输入/输 出参数、返回值等)和模块的功能
–内部特征包括:模块的内部数据和完成其功能 的程序代码

eCAN 模块的寄存器_DSP控制器原理与应用技术_[共6页]

eCAN 模块的寄存器_DSP控制器原理与应用技术_[共6页]

第6章通信类外设及其应用开发169图6.13 eCAN模块及其接口电路CPU发送消息时,消息控制器将待发送消息传送给CPK的发送缓冲器,并在下一个总线空闲状态将其发送出去。

若发送多个消息,先对其进行排队,然后根据优先权从高到低的顺序依次发送。

若两个发送邮箱的消息具有相同优先级,则优先发送编号大的邮箱中消息。

CPK接收到有效的消息后,由消息控制器的接收控制单元决定是否保存该消息。

接收控制单元检查所有消息对象的状态、标识符以及屏蔽寄存器,以确定用于保存该消息的邮箱。

若未找到匹配邮箱,则舍弃该消息。

消息控制器的定时器管理单元有一个时间戳计数器,在eCAN模式下,可对所有发送或接收的消息添加时间标记。

若消息未能在允许的时间内接收或发送完毕,将产生超时中断。

另外,在进行数据传输时,对所有控制器寄存器配置完成后,所有工作均由eCAN模块完成,无需CPU干预。

F28335的eCAN模块可工作于增强模式(eCAN模式)和标准模式(SCC模式)。

SCC模式下,只能使用16个邮箱(邮箱0~15),无时间标记功能,且可接受屏蔽数目减少。

工作模式由主控制寄存器CANMC的SCC兼容位SCB配置(1-eCAN模式;0-SCC模式),复位时工作于SCC模式。

6.3.3 eCAN模块的寄存器1.eCAN邮箱eCAN模块有32个邮箱。

每一个邮箱均可配置为发送邮箱或接收邮箱,且均有独立的接收屏蔽寄存器。

每个邮箱由邮箱标识寄存器MSGID(32位)、邮箱控制寄存器MSGCTRL(32位)、32位消息数据寄存器CANMDL(低位,4字节)和CANMDH(高位,4字节)构成。

MSGID用于存放11位或29位的标识符,即邮箱ID。

MSGCTRL用于定义消息字节数、发送优先级和远程帧等。

CANMDL和CANMDH用于存储发送或接收到的数据帧,每个邮箱170DSP控制器原理与应用技术最大可存储8个字节。

当CAN模块未启动时,这些存储空间可作普通RAM使用。

a.o.e完整课件

a.o.e完整课件
建立完善的测试机制和质量保证体系
为了确保AOE系统架构的质量和稳定性,需要建立完善的测试机制和质量保证体系,对系 统的各个组成部分进行严格的测试和质量检查,以确保系统的可靠性。
04
a.o.e算法设计
算法设计基础
算法的概述
算法是解决特定问题的步骤和规则的集合,具有明确性、有限 性、可行性和输入/输出等基本特征。
分析系统约束和假设
在系统架构设计时,需要对系统所受到的约束条件和假设进行深入的分析,并充分考虑如 何优化系统性能和提高系统的可靠性。
a.o.e的系统架构
01
描述系统组成和功能
AOE系统架构包括多个子系统,每个子系统都具有相应的功能和作用
,通过对各个子系统的协调和联动,实现整个系统的功能。
02
确定子系统之间的关系和接口
智慧城市
AoE将为智慧城市建设提供更多的智能化解决方 案。
金融行业
AoE将提高金融行业的智能化水平,优化客户服 务体验。
a.o.e的产业趋势
服务化
全球化
未来AoE产业将更加注重服务,以提供解决 方案为主要目标。
AoE产业将更加开放和国际化,将面临更多 的机会和挑战。
专业化
高度集成化
AoE产业将更加专业化,细分领域将越来越 细致。
高效可靠
采用先进的电子技术,具有高效率和长寿命的特点。
节能环保
低功耗设计,减少能源消耗和环境污染。
智能控制
可以实现智能化控制,提高自动化水平。
a.o.e的工作原理
信号输入
传感器采集被控设备的信号,然后将其输入到控 制器中。
控制策略
控制器根据设定好的控制策略,对输入信号进行 处理,并输出控制信号到执行器中。

eCAN 结构与工作原理_DSP控制器原理与应用技术_[共2页]

eCAN 结构与工作原理_DSP控制器原理与应用技术_[共2页]
while(SpiaRegs.SPIFFRX.bit.RXFFST !=1) { } rdata = SpiaRegs.SPIRXBUF; if(rdata != sdata) error(); sdata++; } } // Step 7. 用户自定义函数 void delay_loop() { long i; for (i = 0; i < 1000000; i++) {} } void error(void) { asm(" ESTOP0"); for (;;); } void spi_init() { SpiaRegs.SPICCR.all =0x000F; SpiaRegs.SPICTL.all =0x0006; SpiaRegs.SPIBRR =0x007F; SpiaRegs.SPICCR.all =0x009F; SpiaRegs.SPIPRI.bit.FREE = 1; } void spi_xmit(Uint16 a) { SpiaRegs.SPITXBUF=a; } void spi_fifo_init() { SpiaRegs.SPIFFTX.all=0xE040; SpiaRegs.SPIFFRX.all=0x204f; SpiaRegs.SPIFFCT.all=0x0; }
6 第 章 通信类外设及其应用开发 167
void delay_loop(void); void spi_xmit(Uint16 a); void spi_fifo_init(void); void spi_init(void); void error(void); void main(void) { Uint16 sdata;
Uint16 rdata; // Step 1ห้องสมุดไป่ตู้ 初始化系统控制

基于can总线的ecan模块设计

基于can总线的ecan模块设计

基于CAN 总线的ECAN 模块设计文/张席旗白创(长沙理工大学物理与电子科学学院湖南省长沙市410114)摘 要:本文设计了一款基于CAN 总线的ECAN 模块,该模块与CAN2. 0B 标准协议完全兼容,其RTL 设计主要包含ecan.rece, ecan_ regs 、ecan_txd 、ecan_rxd 这四个部分。

其中ecan_rece 与ecan_regs 是整个RTL 设计中比较重要的两个部分,ecan.rece 主要负责该 ECAN 模块中的通信协议与CAN2. 0B 标准协议相兼容,并且负责分析判断接收到的消息是否应该存储到邮箱存储器中;ecan.regs 则主要负责对ECAN 模块的各种寄存器的进行设计及配置,其中对多达32个消息邮箱的设计及配置更是此部分的重点,该设计中ECAN 模块的每个 邮箱都具有时间标识功能和超时功能,这样设计可以使总线上数据传输量更大,总线传输更加灵活可靠。

该模块使用Verilog HDL 硬件描 述语言对其各个功能模块进行RTL 级设计。

仿真结果表明,该ECAN 模块完全满足CAN 总线的通信要求。

关键词:CAN2. 0B 标准协议;ECAN 模块;RTLCAN 控制器局域网(1'2) (Controller Area Network)是一种高抗 干扰性、高可靠性、高实时性和高性价比的现场总线⑴之一,它能有效地提供分布式实时控制⑷,且具有非常高的安全级别⑸,其通 信速率可达1Mbps ⑹。

因此广泛应用于汽车、工业自动化、数字信号处理(DSP)等领域冋。

在传统的CAN 模块设计中,会有传输速率较慢、传输资源较少、 传输时间不确定、抗干扰性较弱等缺陷。

例如,在基于单片机的 CAN 模块191会出现传输数据较少和抗干扰性较弱的现象。

在基于 CPI 系统总线的3U 结构的CAN 模块1,01其设计上采用双口 RAM 的缓冲区结构,虽然克服了丢帧现象,但是传输速率不快。

matlab simulink ecan模块使用 -回复

matlab simulink ecan模块使用 -回复

matlab simulink ecan模块使用-回复MATLAB Simulink ECAN模块使用一、概述MATLAB是一种强大而灵活的工程计算软件,Simulink是其主要的建模和仿真工具。

Simulink提供了许多模块,ECAN(Emulated Controller Area Network)模块是其中之一。

它提供了对仿真控制区域网络(CAN)网络的建模和仿真支持。

本文将介绍ECAN模块的使用方法,包括安装、设置和仿真。

二、安装ECAN模块安装ECAN模块前,确保已经正确安装了MATLAB和Simulink软件。

在MATLAB主界面的"工具"栏中选择"获取新硬件支持包"。

在弹出的窗口中搜索"ECAN",选择对应版本的支持包进行安装。

安装完成后,在Simulink硬件支持包库中将看到ECAN模块被新添加。

三、ECAN模块基本设置1. 在Simulink工作区中打开一个新的模型或选择现有模型,确保已经打开Simulink库浏览器。

2. 在库浏览器中找到ECAN模块,拖动一个ECAN模块到工作区。

3. 右键单击ECAN模块,选择"Block Parameters"进行基本参数设置。

4. 在"Block Parameters"中可以设置ECAN通信的相关参数,如波特率、传输速率、过滤方式等。

5. 确认设置后,点击"OK"保存并关闭"Block Parameters"窗口。

6. 可以根据实际需求在模型中添加其他模块、信号源等。

四、ECAN模块仿真配置1. 连接物理CAN设备或选择一个虚拟CAN设备。

如果使用虚拟CAN 设备,需要提前将虚拟CAN设备的驱动程序安装到电脑上。

2. 在模型中右键单击ECAN模块,选择"Mask"进行进一步配置。

eCAN模块PPT课件

eCAN模块PPT课件

➢ CAN的直接传输距离10Km(速率在5Kbps下) 通讯最高速率为1Mbps(此时通信的最长距离为40m);
➢ CAN的节点数 主要取决于总线驱动电路,目前可达到110个 ➢ CAN的每帧信息都有CRC校验及其他校验措施,具有
极好的检错效果。 ➢ CAN的通信介质为双绞线、同轴电缆或光纤 ➢ CAN节点在严重错误时具有自动关闭输出功能,以便
1. 通过CPU写入1,将CANTRR寄存器中的位置1;
2. 如果通过TRS已经初始化相应位,但当前没有进行消息处理,并且相
应的TRR位置位,则消息会取消传送。
3. 如果发送成功或消息发送放弃,则该寄存器的相应位将复位;
邮箱发送响应寄存器CANTA
31
0
TA[31..0]
发送响应位: 1 如果邮箱中的消息成功发送,则响应寄存器位置位; 2 0 消息没被发出; 3 注意: 1. 如果CANMIM寄存器中相应的中断屏蔽位被置位,则GMIF0/GMIF1
Mailbox Interrupt Level Register
程序设计
• EALLOW; • /********系统时钟初始化**************/ • SysCtrlRegs.HISPCP.all = 0x0001; • SysCtrlRegs.LOSPCP.all = 0x0002; • /********使能外设ECAN模块时钟**********/ • SysCtrlRegs.PCLKCR.bit.ECANENCLK = 1; • EDIS; •
芯片SJA1000
• SJA1000是一种独立的 CAN控制器,用于一般工 业环境中区域网络控制。
• 支持CAN2.0A和CAN2.0B 通讯协议;
• 24MMz时钟频率; • 可与不同微处理器接口;

6.3.5eCAN模块应用示例[共2页]

6.3.5eCAN模块应用示例[共2页]

6.3.5eCAN模块应用示例[共2页]第6章通信类外设及其应用开发179 4.信息的接收(1)接收邮箱的配置以邮箱3为例,接收信息的具体步骤如下。

①通过清除邮箱使能寄存器CANME对应的位来禁止邮箱工作,即CANME.3=0。

②将选定的标志符写到对应的信息标志符MSGID。

标识符扩展位必须配置成所需标识符。

如果使用接收屏蔽,接收屏蔽使能位AME必须置1(即MSGID.30=1)。

③若AME位已设置为1,则必须对相应的接收屏蔽寄存器编程。

譬如:LAM(3)=0x03c0000。

④若设置邮箱方向寄存器中的对应标识位(CANMD.3=1),邮箱将被配置为一个接收邮箱。

需确保该操作不能影响到该寄存器中的其他位。

⑤若需要保护邮箱中的数据,则要对过冲保护寄存器CANOPC进行编程。

若不允许丢失,则该保护是非常有用的。

如果对CANOPC进行置位,则需要软件确保配置一个附加邮箱(缓存邮箱)来存放“溢出”的信息;否则,信息可能丢失。

具体操作为CANOPC.3=1。

⑥通过设置邮箱使能寄存器CANME中相应的标志位来使能邮箱,具体为:先读CANME,后回写(CANME1=0x0008)来确保没有其他标志位被意外修改。

至此,该邮箱已被设置为接收模式,任何针对该邮箱的输入信息都将被自动处理。

(2)接收消息的步骤这里仍以邮箱3为例,接收一条信息的具体步骤如下。

当接收到一条信息时,接收信息悬挂寄存器CANRMP对应的标志位被置为1,并且产生一个中断(前提是初始化了接收中断)。

此时,CPU将从邮箱RAM读取信息。

在CPU从邮箱读取信息之前,应该先将CANRMP位清零(CANRMP.3=1)。

①CPU需检测接收信息丢失标志位CANRML.3是否为1。

根据应用程序的要求,CPU决定如何处理这种情况。

②读取数据后,CPU需要检测CANRMP位是否被模块重新置位。

如果CANRMP置为1,则数据可能已经损坏。

此时CPU需要重新读取数据。

Ecan动态库使用手册5.2

Ecan动态库使用手册5.2

沈阳广成科技有限公司
USBCAN Ecan 接口函数库使用手册
1 接口函数库说明及其使用
1.1 接口卡设备类型定义
各个接口卡的类型定义如下: 设备名称 USBCAN-I USBCAN-II
设备类型号 3 4
1.2 错误码定义
名称 ERR_CAN_OVERFLOW ERR_CAN_ERRALARM ERR_CAN_PASSIVE ERR_CAN_LOSE ERR_CAN_BUSERR ERR_CAN_REG_FULL ERR_CAN_REC_OVER ERR_CAN_ACTIVE ERR_DEVICEOPENED ERR_DEVICEOPEN ERR_DEVICENOTOPEN ERR_BUFFEROVERFLOW ERR_DEVICENOTEXIST ERR_LOADKERNELDLL ERR_CMDFAILED ERR_BUFFERCREATE
typedef struct _BOARD_INFO { USHORT hw_Version; USHORT fw_Version; USHORT dr_Version; USHORT in_Version; USHORT irq_Num; BYTE can_Num; CHAR str_Serial_Num[20]; CHAR str_hw_Type[40]; USHORT Reserved[4];
10仲裁丢失在识别码的bit1111仲裁丢失在srtr位12仲裁丢失在ide位13仲裁丢失在识别码的bit1214仲裁丢失在识别码的bit1315仲裁丢失在识别码的bit1416仲裁丢失在识别码的bit1517仲裁丢失在识别码的bit1618仲裁丢失在识别码的bit1719仲裁丢失在识别码的bit1820仲裁丢失在识别码的bit1921仲裁丢失在识别码的bit2022仲裁丢失在识别码的bit2123仲裁丢失在识别码的bit2224仲裁丢失在识别码的bit2325仲裁丢失在识别码的bit2426仲裁丢失在识别码的bit2527仲裁丢失在识别码的bit2628仲裁丢失在识别码的bit2729仲裁丢失在识别码的bit2830仲裁丢失在识别码的bit2931仲裁丢失在ertr位沈阳广成科技有限公司usbcanecan接口函数库使用手册产品使用手册shenyangguangchengtechnologycoltd
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

0
ECAN工作在标准模式,只有16个邮箱使用
CPU请求向标准模式配置寄存器CANBTC和接受屏蔽 存器CANGAM)写配置信息。
CANMC.12( CCR):改变配置请求—— 1

CANMC.10( DBO):数据字节顺序——
选择消息数据区字节的排列次序
1 0 首先接收或发送数据的最低有效位 首先接收或发送数据的最高有效位
邮箱邮箱方向寄存器(CANDE)
器: 1 配置为接收邮箱 0 配置为发送邮箱
邮箱发送请求设置寄存器CANTRS
31 0
TRS[31..0]
发送请求设置位: 1 TRS置位发送邮箱中的消息,所有循环发送的消息的TRS位可以同时
置位;
0 没有操作; 注意:
当多个发送请求同时置位时,消息可以轮流发送。首先发送优先级别
Transmission Request Reset Register • 发送响应寄存器(CANTA) Transmission Acknowledge Register
邮箱使能寄存器(CANME) Mailbox Enable Register
31 0
ME[31..0] 邮箱控制使能位: 1 CAN模块中相应的邮箱被使能,在写标志符之前, 必须将所有邮箱屏蔽。 0 相关邮箱被屏蔽,邮箱映射为一般存储空间使用。
会被置位,表示有中断产生;
如果已经产生中断,向CANTA寄存器写1,可以清除中断。
邮箱发送响应失败寄存器CANAA
31 0
AA[31..0]
发送请求复位位: 1 邮箱消息发送失败,相应位置位
0
消息发送成功;
接收消息挂起寄存器CANRMP
31 0
RMP[31..0]
发送响应位: 1 如果邮箱中包含接收到的消息,则寄存器相应位置位;
Vcan-h和Vcan-l为CAN总线收发器与总线之间的两接口
引脚,信号是以两线之间的“差分”电压形式出现。
CAN总线数据传输格式
CAN总线通信技术的实现
• CAN就是总线型结构的一种适合工业现场自动控制的计算机局域网络。 • CAN总线通讯技术是通过CAN总线控制器在硬件上实现的。CAN总线控制器
Network”
• 今天,几乎每一辆在欧洲生产的轿车都至少装配有一个 CAN网络系统。CAN应用在从火车到轮船等其他类型的运
输工具上,以及工业控制方面。
CAN总线的特点
• 由于CAN总线本身的特点,其应用范围目前已经不局限于汽 车行业,而扩展到机械工业、纺织机械、农业、机器人、数 控机床及传感器等领域。 其通讯的突出特点为:可靠性、灵活性、实时性,具体可以 概括如下:
邮箱构成
每个邮箱都是由四个32位寄存器构成: • MSGID:存储消息ID。 • MSGCTRL:定义字节数、发送极性和远 程帧; • MDL:4字节数据; • MDH:4字节数据;
消息标志寄存器MSGID
消息控制寄存器MSGCTRL
• TPL4:0----发送优先级; • RTR:远程发送请求位; • DLC3:0----发送或接收数据的字节数;
足现场的要求,信息桢短小,要求实时性高,可靠性高。
典型的现场总线技术
• 随着嵌入式系统的高速发展,自1980年后十几年间,好几 种现场总线技术走向成熟。 • 基金会现场总线(Foundation Fieldbus) 以美国Fisher-Rosemount公司为首,联合ABB、西门子等 80家公司,一同致力开发的一种国际上统一的现场总线。 • LonWorks(美国Echelon、摩托罗拉、东芝等公司共同倡 导)
SysCtrlRegs.LOSPCP.all = 0x0002;
• /********使能外设ECAN模块时钟**********/ • • • SysCtrlRegs.PCLKCR.bit.ECANENCLK = 1; EDIS;
配置使能CANTA和CANRX引脚
• EALLOW; • ECanaShadow.CANTIOC.all = ECanaRegs.CANTIOC.all; • ECanaShadow.CANTIOC.bit.TXFUNC = 1; • ECanaRegs.CANTIOC.all = ECanaShadow.CANRIOC.all; • • ECanaShadow.CANRIOC.all = ECanaRegs.CANRIOC.all; • ECanaShadow.CANRIOC.bit.RXFUNC = 1; • ECanaRegs.CANRIOC.all = ECanaShadow.CANRIOC.all; • EDIS; 注意: CANTX和CANRX引脚作为CAN的通讯接口引脚,需要通过 CANTIOC和CANRIOC来设置。 如果上述引脚作为通用I/O口使用,GPFMUX寄存器的相关控制脚需 清零 ECAN TXIO控制寄存器含义—— 3脚 作为CAN模块的功能使用,必须置1 ECAN RXIO控制寄存器含义—— 3脚 作为CAN模块的功能使用,必须置1
现场总线控制系统
• 现场总线控制系统(FCS)既是一个开放的通讯网络,又 是一种全分布控制系统。作为智能设备的联系纽带,把挂 接在总线上、作为网络节点的智能设备连接为网络系统,
并进一步构成自动化系统,实现基本控制、补偿计算、参
数修改、报警、显示、监控、优化及控管一体化的综合自 动化功能。
• 现场总线其规模属于局域网、总线型结构,它简单但能满
高的邮箱(邮箱编号最大的具有最高优先权),也可以设置TPL设定 邮箱的优先级别。
邮箱发送请求复位寄存器CANTRR
31 0
TRR[31..0]
发送请求复位位: 1 TRR置位取消发送请求 0 没有操作;
注意:
通过CPU写入1,将CANTRR寄存器中的位置1; 如果通过TRS已经初始化相应位,但当前没有进行消息处理,并且相
• 20世纪80年代,Bosch公司的工程人员开始探讨现有的串 行总线系统运用于轿车的可能性,因为还没有一个网络协 议能完全满足汽车工程的要求。 • 1983年,Kiencke开始设计新的串行总线系统,来自 Mercedes-Benz的工程人员介入新总线系统规范的制定。 • 德国Dr.Wolfhard给这个新网络起名为“Controller Area
存储器映射
• F2812处理器中,eCAN模块映射到两个不同的地址段。 两段空间各占512字节。 • 第一段地址空间分配给控制寄存器、状态寄存器、局部接 收屏蔽、接受滤波器、定时邮递和消息对象超时。 (6000——60FF) • 第二段地址空间映射到32个邮箱;(6100——61FF) • 消息存储在RAM中,CAN控制器和CPU都可以对它进行 访问。 • eCAN提供32个邮箱,每个邮箱包括8字节数据区、29位 标志符和几个控制位,每个邮箱都可以配置为接收或发送 邮箱。
• PROFIBUS(德国国家标准和欧洲标准的现场总线标准)
• HART(Highway Addressable Remote Transducer) 可寻址远程传感器高速通道的开放通讯协议,其特点是在 现有模拟信号传输线上实现数字信号通讯,属于模拟系统 向数字系统转变过程的过度产品。
CAN总线(局域控制网) Controller Area Network
CAN为多主方式工作,网络上任一节点均可在任意时刻主动向 网络上其他节点发送信息,而不分主从。 在报文标志符上,CAN的节点分成不同的优先级,可满足不同 的实时要求。 CAN采用非破坏性总线总裁技术。 CAN节点只需通过对报文的标志符滤波即可实现点对点、一点 对多点及全局广播等几种方式传输接收数据。
关于远程帧
• 报文(Messeges)传输有如下4个不同类型的帧: 1.数据帧(Data Frame):数据帧将数据从发送 器传输到接收器。 2.远程帧(Remote Frame):总线单元发出远 程帧,请求发送具有同一标志符的数据帧。 3.错误帧(Error Frame):任何单元检测到总线 错误就发出错误帧; 4.过载帧(Overload Frame):过载帧用在相邻 数据帧或远程帧之间提供附加的延时; • 数据帧和远程帧可以使用标准帧及扩展帧2种格 式。
eCAN总线模块及应用
机电学院电子信息工程系 曹旭东
现场总线技术和现场总线控制系统
• 传统的控制系统难于实现设备之间以及系统与外界之间的 信息交换,是一个“信息孤岛”。要满足自动控制技术现 代化的要求,实现整个企业的信息集成,实施综合自动化,
就必须设计出一种能在工业现场环境中运行、性能可靠、
造价低廉的通讯系统,形成工厂底层网络,完成现场自动 化设备之间的多点数字通讯,实现底层现场设备之间以及 生产现场与外界信息的交换,现场总线就是在这种需求下 应运而生。
简介eCAN模块的控制状态寄存器
• 邮箱使能寄存器(CANME)Mailbox Enable Register • 邮箱方向寄存器(CANMD)Mailbox Direction Register • 发送请求置位寄存器(CANTRS) Transmission Request Set Register • 发送请求复位寄存器(CANTRR)

CAN的直接传输距离10Km(速率在5Kbps下) 通讯最高速率为1Mbps(此时通信的最长距离为40m); CAN的节点数 主要取决于总线驱动电路,目前可达到110个 CAN的每帧信息都有CRC校验及其他校验措施,具有 极好的检错效果。
CAN的通信介质为双绞线、同轴电缆或光纤
CAN节点在严重错误时具有自动关闭输出功能,以便 总线上其他节点的操作不受影响。
是一块可编程的逻辑电路,片上集成CAN总线数据传输协议,通过硬件实
现CAN总线编码和解码的功能,方便CAN总线技术在实际开发中的应用。 • CAN总线控制器提供与微处理器的物理线路接口,通过对它的编程,CPU可
相关文档
最新文档