CN112379658A - 一种片上can控制器调试系统 - Google Patents
一种片上can控制器调试系统 Download PDFInfo
- Publication number
- CN112379658A CN112379658A CN202011243501.4A CN202011243501A CN112379658A CN 112379658 A CN112379658 A CN 112379658A CN 202011243501 A CN202011243501 A CN 202011243501A CN 112379658 A CN112379658 A CN 112379658A
- Authority
- CN
- China
- Prior art keywords
- controller
- module
- bus
- apb
- ahb
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0208—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
- G05B23/0213—Modular or universal configuration of the monitoring system, e.g. monitoring system having modules that may be combined to build monitoring program; monitoring system that can be applied to legacy systems; adaptable monitoring system; using different communication protocols
Abstract
本发明公开了一种片上CAN控制器调试系统,该系统由CAN控制器(及其连接到的CAN总线)、UART串口模块、Arm CortexM3内核(及其ITCM、DTCM两块SRAM)、AMBA总线模块(包含AHB总线矩阵、APB互联矩阵以及AHB转APB桥)以及部署于PC的Labview上位机。所述AMBA总线模块将作为主机的Arm CortexM3内核与作为从机的UART串口模块与CAN控制器相连,所述UART模块与Labview上位机相连。本发明的CAN控制器已通过逻辑分析仪进行解析,符合标准的CAN协议,同时可通过Labview上位机对CAN控制器进行应用层的设计,具有可编程、移植性好等特点。
Description
技术领域
本发明属于硬件系统开发领域,具体涉及片上系统设计和IP核开发等。
背景技术
CAN是控制器局域网络(Controller Area Network, CAN)的简称,在1986年推出,一种面向汽车的多主机局域网通信协议。此后,CAN通过ISO11898及ISO11519进行了标准化,现已是汽车网络的标准协议。同时,由于其高性能、高可靠性、实时性等优点,CAN总线也广泛应用于工业自动化、多种控制设备、交通工具、医疗仪器以及建筑、环境控制等众多部门,成为国际标准的现场总线之一。但是目前来讲,市场上可以买到的CAN控制芯片都无法在线调试,即发现数据帧的传输错误就无法调试,也无法定位到错误的环节,传统的去分析CAN控制器的问题都是通过用逻辑分析仪,缺乏可视化的上位机界面。
Cortex-M系列处理器最早在2004年推出,使用短流水线、短周期执行以及低中断延时,广泛部署于嵌入式控制领域,每年出货量在十亿级别,拥有最丰富的软件,工具和知识生态系统的支持。CortexM3处理器在32位处理器领域提供了高性能计算能力,由于集成了软件控制的睡眠模式,广泛的时钟门控和状态保持功能,它还具有领先的系统能效,在工程实践中有着非常广泛的应用。
发明内容
本发明的目的是针对CAN控制器错误无法进行可视化调试的问题,结合Cortex-M系列控制器提出的一种片上CAN控制器调试系统。通过开发者将自行设计的CAN控制器挂载到由Arm CortexM3及AMBA总线模块所构成的片上系统将CAN控制器的寄存器模块向软件层面开放,并在软件层面对寄存器模块操作的函数封装,随后通过UART串口联合Labview上位机对CAN控制器的功能进行快速验证以及开发。本发明旨在提供一种可编程、移植性好的调试系统,以实现对CAN控制器的快速开发与验证。
实现本发明目的的具体技术方案是:
一种片上CAN控制器调试系统,该系统包括CAN控制器、Arm CortexM3内核、AMBA总线模块、UART串口模块以及Labview上位机,其中:
所述CAN控制器由寄存器模块、位流处理器和位时序处理器组成,所述寄存器模块为CAN控制器的指令、数据配置模块;位流处理器对CAN控制器所连接的CAN总线上的数据进行解析;位时序处理器管理CAN控制器内数据收发时序;CAN控制器通过寄存器模块与AMBA总线模块连接;
所述AMBA总线模块为符合AMBA3.0协议的片上总线,包含一级AHB总线矩阵、一级APB互联矩阵以及一个AHB转APB桥,其中,AHB总线矩阵与APB互联矩阵通过AHB转APB桥连接;APB互联矩阵用来实现外设的挂载;AMBA总线模块为Arm CortexM3内核与外设进行数据交互的通道;
所述Arm CortexM3内核以哈佛结构进行配置,通过I-CODE、D-CODE和SYSTEM三个通道连接到AMBA总线模块上;Arm CortexM3内核的指令与数据分别放置在SRAM ITCM和SRAMDTCM中,所述SRAM ITCM和SRAM DTCM作为从机挂载到所述AMBA总线模块上;
所述UART串口模块作为外设挂载在AMBA总线模块上;
所述Labview上位机通过Labview语言编写,使得具有图形化的CAN控制器操作界面。
所述CAN控制器的寄存器模块与AMBA总线模块进行数据交互,CAN控制器的位流处理器与CAN总线进行数据交互。
所述Labview上位机与外部接口通过UART串口进行通信。
本发明的优点是:
1)本发明可以自由部署软核处理器,并灵活对IP核进行开发和修改。
2)本发明所架构的系统可以快速转化为其他类型的IP核调试系统,应用场景不限。
3)本发明简单实用,功能可编程,移植性好。
附图说明
图1为本发明系统结构框架图;
图2为本发明Labview上位机界面图;
图3为本发明实施例2在发送报文时外接逻辑分析仪测试图。
具体实施方式
以下结合附图及实施例对本发明进行详细描述。
参阅图1,本发明的一种片上CAN控制器调试系统,该系统包含CAN控制器(及其连接到的CAN总线)、UART串口模块、Arm CortexM3内核(及其ITCM、DTCM两块SRAM)、AMBA总线模块(包含AHB总线矩阵、APB互联矩阵以及AHB转APB桥)以及部署于PC的Labview上位机。其中,所述CAN控制器由寄存器模块、位流处理器和位时序处理器组成。CAN控制器通过寄存器模块储存需要发送的信息、行为参数、工作模式和指令等内容,并对位流处理器、位时序处理器发布工作指令和传输信息;同时,位时序处理器从总线上获取信号,并完成同步、采样,以特定标准交给位流处理器进行包括但不限于数据交互、错误判定、节点状态调整等操作。进一步地,位流处理器在处理信息时记录发生的事件与当前工作状态,进一步返回至寄存器,与上位机进行交互;所述UART串口模块挂载到AMBA总线模块的APB互联矩阵上,将串口的TX和RX两端口映射到板载串口转USB模块上,并通过串口转USB线与PC进行连接;所述ArmCortexM3内核为寄存器传输级代码,并将系统时钟与复位连接至顶层时钟与复位;将其调试接口连接至顶层调试接口;将其3组AHB总线接口分别连接至AHB总线矩阵的3组主机接口上;所述AMBA总线模块包含1级AHB总线矩阵、1级APB互联矩阵以及1个AHB转APB桥。在AHB总线矩阵中,主机为Arm CortexM3内核,从机为SRAM ITCM、SRAM DTCM、AHB转APB同步桥以及AHB同步桥,需在此级总线矩阵中对4个从机做好地址分配。在APB互联矩阵中,从机为CAN控制器模块和UART串口模块;所述Labview上位机主体搭建于VISA通信架构之上,将图形化界面中的点击操作转化为数据通过UART串口模块发送至片上系统,与固化在内核中的程序联合实现对CAN控制器的调试。
实施例1
参阅图1,本实施例由CAN控制器(及其连接到的CAN总线)、UART串口模块、ArmCortexM3内核(及其ITCM、DTCM两块SRAM)、AMBA总线模块(包含AHB总线矩阵、APB互联矩阵以及AHB转APB桥)以及部署于PC的Labview上位机组成。其中,所述CAN控制器由寄存器模块、位流处理器和位时序处理器组成。CAN控制器通过寄存器模块储存需要发送的信息、行为参数、工作模式和指令等内容,并对位流处理器、位时序处理器发布工作指令和传输信息。CAN控制器通过本发明调试系统与AMBA总线模块进行连接;位时序处理器从AMBA总线上获取信号,并完成同步、采样后交给位流处理器进行包括但不限于数据交互、错误判定、节点状态调整等操作。CAN控制器通过本发明调试系统与CAN总线进行连接。位流处理器在处理信息时记录发生的事件与当前工作状态,进一步返回至寄存器模块,与上位机进行交互;所述UART串口模块挂载到AMBA总线模块的APB互联矩阵上,在FPGA设计软件内将串口的TX和RX两端口映射到板载串口转USB模块上,并通过串口转USB线与PC进行连接;所述ArmCortexM3内核为混淆的寄存器传输级代码,在FPGA构造顶层时将其调用,并将系统时钟与复位连接至顶层时钟与复位;将其调试接口连接至顶层调试接口;将其3组AHB总线接口分别连接至AHB总线矩阵的3组主机接口上;所述AMBA总线模块包含1级AHB总线矩阵、1级APB互联矩阵以及1个AHB转APB桥。在AHB总线矩阵中,主机为Arm CortexM3内核,从机为ITCMSRAM、DTCM SRAM、AHB转APB同步桥以及AHB同步桥,需在此级总线矩阵中对4个从机做好地址分配。在APB互联矩阵中,从机为CAN控制器模块和UART串口模块;所述Labview上位机主体搭建于VISA通信架构之上,将图形化界面中的点击操作转化为数据通过UART串口模块发送至片上系统。
本系统具体工作如下:
步骤S1:上电,片上系统各模块正常工作;
步骤S2:通过Arm CortexM3的调试端口进入调试模式,将编译好的keil程序固化到内核中并进行硬复位,Labview上位机将接收到初始化信息;
步骤S3:通过Labview上位机设置波特率、缓冲段长度、收发FIFO深度等CAN控制器正常运行所必须的参数;
步骤S4:在不外接其他节点的情况下,在Labview上位机中选择自发自收模式以使能自我测试;
步骤S5:进入Labview上位机的报文发送区,填写报文内容,并选择自发自收;
步骤S6:CAN控制器将发出此帧报文并同时接收,存入接收FIFO中;
步骤S7:在Labview上位机中观察到接收FIFO有新内容存入,进入查看,可以看到刚刚所发的报文,功能得以验证。
实施例2
对CAN控制器进行一次自发自收扩展帧的测试,以此验证收发扩展帧和接收FIFO的功能。 CAN的滤波器在默认情况下全部关闭,即接收所有总线上的报文,对此设置不做更改,进入发送缓冲区准备报文发送。约定本次测试中发送一帧扩展格式的报文,称为报文1,其控制段依次为0x83、0x12、0x34、0x56和0x78,数据段长度为3,依次为0x1a、0x2b和0x3c。为了观察并验证总线逻辑,使用一个逻辑分析仪对其采样。根据报文SOF位是显性位的规则,将逻辑分析仪设置成等待下降沿触发的状态。在实际测试中,逻辑分析仪几乎是在Labview上位机发送报文后后立刻接收到信号,由于测试中用到的逻辑分析仪自带解析CAN协议的功能,所以可以很方便地确认所检测到的报文与我们预期发送的报文一致,如图3。
Claims (3)
1.一种片上CAN控制器调试系统,其特征在于,该系统包括CAN控制器、Arm CortexM3内核、AMBA总线模块、UART串口模块以及Labview上位机,其中:
所述CAN控制器由寄存器模块、位流处理器和位时序处理器组成,所述寄存器模块为CAN控制器的指令、数据配置模块;位流处理器对CAN控制器所连接的CAN总线上的数据进行解析;位时序处理器管理CAN控制器内数据收发时序;CAN控制器通过寄存器模块与AMBA总线模块连接;
所述AMBA总线模块为符合AMBA3.0协议的片上总线,包含一级AHB总线矩阵、一级APB互联矩阵以及一个AHB转APB桥,其中,AHB总线矩阵与APB互联矩阵通过AHB转APB桥连接;APB互联矩阵用来实现外设的挂载;AMBA总线模块为Arm CortexM3内核与外设进行数据交互的通道;
所述Arm CortexM3内核以哈佛结构进行配置,通过I-CODE、D-CODE和SYSTEM三个通道连接到AMBA总线模块上;Arm CortexM3内核的指令与数据分别放置在SRAM ITCM和SRAMDTCM中,所述SRAM ITCM和SRAM DTCM作为从机挂载到所述AMBA总线模块上;
所述UART串口模块作为外设挂载在AMBA总线模块上;
所述Labview上位机通过Labview语言编写,使得具有图形化的CAN控制器操作界面。
2.根据权利要求1所述的片上CAN控制器调试系统,其特征在于,所述CAN控制器的寄存器模块与AMBA总线模块进行数据交互,CAN控制器的位流处理器与CAN总线进行数据交互。
3.根据权利要求1所述的片上CAN控制器调试系统,其特征在于,所述Labview上位机与外部接口通过UART串口进行通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011243501.4A CN112379658A (zh) | 2020-11-10 | 2020-11-10 | 一种片上can控制器调试系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011243501.4A CN112379658A (zh) | 2020-11-10 | 2020-11-10 | 一种片上can控制器调试系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112379658A true CN112379658A (zh) | 2021-02-19 |
Family
ID=74579827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011243501.4A Pending CN112379658A (zh) | 2020-11-10 | 2020-11-10 | 一种片上can控制器调试系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112379658A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116996340A (zh) * | 2023-09-25 | 2023-11-03 | 湖南宇诺辰电子科技有限公司 | 一种can收发方法和can收发系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102650962A (zh) * | 2012-04-10 | 2012-08-29 | 北京航空航天大学 | 一种基于fpga的软核容错星载计算机 |
EP2947611A1 (en) * | 2014-05-23 | 2015-11-25 | Ricoh Company, Ltd. | Apparatus, method for controlling apparatus, and program |
CN105549552A (zh) * | 2015-12-04 | 2016-05-04 | 中国科学院苏州生物医学工程技术研究所 | 基于Linux的CAN总线扩展系统及方法 |
CN106034230A (zh) * | 2016-07-18 | 2016-10-19 | 西安建筑科技大学 | 一种基于soc芯片的安全型视频监控系统及监控方法 |
CN108351907A (zh) * | 2015-10-27 | 2018-07-31 | 赛灵思公司 | 用于调试电路设计的方法和电路 |
-
2020
- 2020-11-10 CN CN202011243501.4A patent/CN112379658A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102650962A (zh) * | 2012-04-10 | 2012-08-29 | 北京航空航天大学 | 一种基于fpga的软核容错星载计算机 |
EP2947611A1 (en) * | 2014-05-23 | 2015-11-25 | Ricoh Company, Ltd. | Apparatus, method for controlling apparatus, and program |
CN108351907A (zh) * | 2015-10-27 | 2018-07-31 | 赛灵思公司 | 用于调试电路设计的方法和电路 |
CN105549552A (zh) * | 2015-12-04 | 2016-05-04 | 中国科学院苏州生物医学工程技术研究所 | 基于Linux的CAN总线扩展系统及方法 |
CN106034230A (zh) * | 2016-07-18 | 2016-10-19 | 西安建筑科技大学 | 一种基于soc芯片的安全型视频监控系统及监控方法 |
Non-Patent Citations (1)
Title |
---|
郭君成: "基于AMBA总线的CAN控制器的设计与验证", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116996340A (zh) * | 2023-09-25 | 2023-11-03 | 湖南宇诺辰电子科技有限公司 | 一种can收发方法和can收发系统 |
CN116996340B (zh) * | 2023-09-25 | 2023-12-01 | 湖南宇诺辰电子科技有限公司 | 一种can收发方法和can收发系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10628548B2 (en) | Flow control in networking system-on-chip verification | |
US9639447B2 (en) | Trace data export to remote memory using remotely generated reads | |
US9684583B2 (en) | Trace data export to remote memory using memory mapped write transactions | |
CN107704346B (zh) | Soc芯片调试方法及调试系统 | |
US10678976B2 (en) | Generic protocol analyzer for circuit design verification | |
JP2010500807A (ja) | 電子装置及び通信制御方法 | |
Tang et al. | A multi-core debug platform for NoC-based systems | |
TWI278636B (en) | Integrated circuit, diagnostic device for receiving diagnostic data in integrated circuit and method for generating diagnostic data | |
EP2435918B1 (en) | Integrated circuit comprising trace logic and method for providing trace information | |
WO2019173018A1 (en) | Non-intrusive on-chip debugger with remote protocol support | |
CN112379658A (zh) | 一种片上can控制器调试系统 | |
CN114756494A (zh) | 多裸芯互连的标准通信协议与片上包传输协议的转换接口 | |
Vermeulen et al. | Overview of debug standardization activities | |
US20150067428A1 (en) | System-on-chip, method of manufacture thereof and method of communicating diagnostic data | |
CN112148537B (zh) | 总线监控装置及方法、存储介质、电子装置 | |
Sterpaio et al. | Design of a spacewire/spacefibre egse system based on pxi industry standard | |
CN115903569A (zh) | 一种全数字综合模块化航电系统 | |
Tang et al. | A debug probe for concurrently debugging multiple embedded cores and inter-core transactions in NoC-based systems | |
Hochberger et al. | Acquiring an exhaustive, continuous and real-time trace from SoCs | |
Cayssials et al. | Highly configurable Ethernet controller for HW/SW co-debugging | |
Lakshmi et al. | AMBA-AXI Protocol Verification by using System Verilog | |
US20230229583A1 (en) | Microchip with on-chip debug and trace engine | |
Rauch et al. | Performance of the standard FAIR equipment controller prototype | |
Stollon et al. | Nexus based multi-core debug | |
Amiri et al. | BlazePPS (Blaze Packet Processing System) CSEE W4840 Project Design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210219 |
|
WD01 | Invention patent application deemed withdrawn after publication |