CAN总线控制器SJA1000的使用
最近接手了一个项目,需要调试编写与CAN总线相关的程序,在这篇博客内做个记录。
关于CAN总线介绍就不说了,两根线CANH和CANL,配合参考电平进行高低比较判断信号值。CAN总线通常通过PCA82C250控制器接口来进行CAN总线差分信号的物理层接收发送,每一个判断之后的信号值会被送往CAN总线控制器SJA1000进行管理。这些单个的数据位bit将被整理成一个个字节的形式,存储在SJA1000内的接收缓存中,然后在用户的控制下从缓存中一个个读出,发送过程相反。
连接大致如图所示:(参考一个以FPGA为核心主控的板卡原理图)
这样到达用户端的数据已经是相对比较完整的了,只差把这些八位的字节组织成帧和包,进行解析完成通信。
那么SJA1000具体完成了哪些工作呢?
SJA1000的数据手册在下面:
https://download.csdn.net/download/Newbeil/12565085
如图所示为SJA1000内部的结构框图,可以发现SJA1000这块芯片内部主要由以下几个模块构成:
接口管理逻辑IML:作为SJA1000与微控制器的主要接口管理,解析来自微控制器的命令,实现对内部寄存器的索引、提供状态、中断等信号给微控制器。
接收缓存RXB:作为ACF和微控制器之间的接口,数据由ACF写入,由微控制器读出,13字节长,相当于内部64字节深度的RXFIFO的一个长度为13字节的窗口。
发送缓存TXB:作为微控制器和BSP之间的接口,数据由微控制器写入,由BSP读出,13字节长
接收过滤器ACF:顾名思义,决定了收到的数据是否能够被接收,涉及到的内部寄存器包括ACR和AMR。
位流处理器BSP:负责协调TXB、RXFIFO、CAN总线上的数据流,兼顾错误检测,仲裁,错误处理等功能
位时序逻辑BTL:负责处理CAN总线上数据信号的时序相关功能,可对单个位的采样点、采样数量进行可编程地控制(通过对内部地寄存器设置,BTR0和BTR1)
错误管理逻辑EML:配合BSP获得错误信息,然后告知IML
未完待续
CAN总线控制器SJA1000的使用相关推荐
- CAN总线控制器SJA1000
CAN总线控制器SJA1000 1.CAN总线 1.1仲裁过程 1.2控制段 1.3数据段 1.4CRC段 1.5ACK段 1.6远程帧 2.滤波器设置 2.1单滤波器设置 2.2双滤波器设置 3.初 ...
- sja1000 c语言,CAN总线控制器SJA1000源程序(c语言).doc
CAN总线控制器SJA1000源程序(c语言) CAN总线控制器sja1000源程序 SJA1000 是一种独立控制器用于移动目标和一般工业环境中的区域网络控制CAN 它是PHILIPS 半导体PCA ...
- sja1000编程c语言,CAN总线控制器-SJA1000源程序(c语言)资料.doc
CAN总线控制器sja1000源程序 SJA1000 是一种独立控制器用于移动目标和一般工业环境中的区域网络控制CAN 它是PHILIPS 半导体PCA82C200 CAN 控制器BasicCAN 的 ...
- SJA1000 CAN总线verilog写的SJA1000 CAN总线控制器。 程序使用三段式状态机,对于语句均有箱子的中文注释
SJA1000 CAN总线verilog写的SJA1000 CAN总线控制器. 程序使用三段式状态机,对于语句均有箱子的中文注释,同时还有相关的文档说明. 可直接拿来使用,同时适合新手学习规范写作代码 ...
- SJA1000 CAN总线verilog写的SJA1000 CAN总线控制器
SJA1000 CAN总线verilog写的SJA1000 CAN总线控制器. 程序使用三段式状态机,对于语句均有箱子的中文注释,同时还有相关的文档说明. 可直接拿来使用,同时适合新手学习规范写作代码 ...
- 基于FPGA的CAN总线控制器的设计(下)
今天给大侠带来基于FPGA的CAN总线控制器的设计,由于篇幅较长,分三篇.今天带来第三篇,下篇,程序的仿真与测试以及总结.话不多说,上货. 导读 CAN 总线(Controller Area Netw ...
- 基于FPGA的CAN总线控制器的设计(上)
今天给大侠带来基于FPGA的CAN总线控制器的设计,由于篇幅较长,分三篇.今天带来第一篇,上篇,CAN 总线协议解析以及 CAN 通信控制器程序基本框架.话不多说,上货. 导读 CAN 总线(Cont ...
- 计算机系统中的总线,计算机系统中的总线控制器及其方法
主权项: 1.一种总线控制器,设置于一计算机系统中,该计算机系统上执行一\r\r\r\r\n操作系统,并还包含有一中央处理器以及电连接于该总线控制器上的一第一\r\r\r\r\n群组元件与一第二群组元 ...
- Exynos 4412处理器IIC总线控制器(包括协议)
一.综述 Exynos4412精简指令集微处理器支持4个IIC总线控制器.为了能使连接在总线上的主和从设备之间传输数据,专用的数据线SDA和时钟信号线SCL被使用,他们都是双向的. 如果工作在多主机的 ...
最新文章
- MySQL数据库触发器(trigger)
- js 自动关闭html页面,JS关闭窗口或JS关闭页面的几种代码分享
- apache工作模式
- Cannot resolve field [product], input field list:[user, EXPR$0]
- qt中sendevent_Qt中postEvent和sendEvent函数
- Linux创建、删除文件和文件夹命令
- phoneGap 中修改生成APP的名字
- HTML示例08---CSS3概述
- 百度js选择器fox
- 给所有准备考网络工程师的考生的一点点建议
- 统计学习——联合概率分布
- 智能智慧型停车场管理系统解决方案
- 开源定时任务管理系统gocron解析,轻松做好定时任务调度处理
- OneNote for Windows10 闪退 的解决办法
- PowerDesigner 15下载(破解)
- tomcat服务器缓存配置文件,Tomcat7服务器配置Cache-Control和Expires
- (十二)采购与入库数据表
- socket error 10053 的可能原因
- 【从0开始学GIS】ArcGIS中的绘图基础操作(三)
- bcedit双系统更改启动项名称_Win7下双系统修改BCD启动项名称
热门文章
- 我的物联网项目(三十) 线上账户互通和积分体系
- amoled led 排列_AMOLED屏幕为啥不用RGB排列?
- 【STC单片机学习】第十一课:蜂鸣器
- python qrcode库生成二维码的代码
- 蓝牙麦克风 android,带蓝牙麦克风的Android语音识别器
- 张艾迪(创始人):年少创业与干净的我
- 【RDMA】LRH和GRH InfiniBand标头(LRH and GRH InfiniBand Headers)
- 一辈子的尽头,原来就是毕业。
- 【源码】改进的智能局部搜索Nelder-Mead优化波能转换器
- 政务大数据云平台架构方案(ppt)