基于can总线的电动汽车蓄电池管理系统设计设计内容摘要:

帧 出错帧由两个不同场组成,第一个场由来自各站的错误标志叠加得到,后随的第二个场是出错界定符。 出错帧的组成如图。 数据帧 出错帧 错误标志 帧间空间 或超载帧 错误叠加标志 错误界定符 图 出错帧组成 帧间空间 远程帧 帧间空间 或超载帧 帧起始 仲裁场 控制场 CRC场 ACK场 帧结束 图 远程帧组成 本科生毕业设计(论文) 8 错误标志具有两种形式,一种是活动错误标志( active error flag),一种是认可错误标志( Passive error flag),活动错误标志由“ 000000”组成,而认可错误标志由“ 111111”组成。 一个检测到出错条件的“错误激活”节点通过发送一个活动 错误标志进行标注。 同理,其它节点若同样也检测到出错条件,则也发送出错标志。 这样,在总线上被监视到的“ 0”序列是由各个站单独发送的出错标志叠加而成的。 该序列的总长度在最小值 6和最大值 12 位之间变化。 一个检测到出错条件的“错误认可”站发送一个认可错误标志进行标注。 该错误认可站以发送出认可错误标志为起点,当检测到总线上有 6个相同的连续位后,认可错误标志即告完成。 出错界定符包括“ 11111111。 错误标志发送后,每个站都送出“ 1”,并监视总线,直到检测到“ 1”。 此后开始发送剩余的“ 1111111”。 以上错误 帧的位填充由节点硬件自动控制。 ( 4) 超载帧 超载帧包括两个位场:超载标志和超载界定符,如图。 ( 5) 帧间空间 数据帧和远程帧同前面的帧相同,不管是何种帧(数据帧、远程帧、出错帧或超载帧)均被称为帧间空间的位场分开。 帧间空间包括间歇场和总线空闲场,对于“错误认可”节点还有暂停发送场。 对于非“错误认可”的接收器,其帧间空间如图 ;对于“错误认可”节点,其帧间空间如图 所示。 帧间空间 总线空间 帧 帧 间歇场 帧结束或 超载界定符 错误界定符 超载帧 超载错误 帧间空间 或超载帧 超载界定符 超载叠加标志 图 超载帧组成 图 非“错误认可”帧间空间 本科生毕业设计(论文) 9 间歇场由“ 111”组成。 间歇期间,不允许启动发送数据帧或远程帧。 总线空闲周期可为任意长度。 此时,总线是开放的,因此任何需要发送的站均可访问总线。 暂停发送场是指:“错误认可”节点发完一个报文后,在开始下一次报文发送或总线空闲之前,它紧随间歇场后送出“ 11111111”。 如果其间由其它站引起一次发送,则本节点将变为报文接收器。 CAN 通信控制器 SJA1000 CAN 的通信协议主要由 CAN 控制器完成。 CAN控制器主要由实现 CAN总线协议部分和微控制器接口部分组成。 不同型号的 CAN总线通信控制器,实现 CAN协议部分电路的结构和功能大都 相同,而与微控制器接口部分的结构及方式存在一些差异。 BasicCAN 功能说明 1.地址分配 SJA1000 的地址域由控制段和报文缓冲器组成。 在 SJA1000 被初始化时,控制段可被设置通信参数, CAN 总线上的通信可通过此段由 CPU 控制。 被发送的报文必须被写入发送节点的发送缓冲器,接收节点成功接收后,微控制器可从接收节点的接收缓冲器读取报文,然后释放它,准备下次用。 注: ( 1) 寄存器在高端 CAN 地址区被重复( 8 位 CPU 地址的最高位是不参与解码的; CAN 地址 32 是和 CAN 地址 0连续的) ( 2) 测试寄存器只用于产 品测试。 正常操作中使用这个寄存器会导致设备不可意料的结果。 ( 3) 许多位在复位模式中是只写的( CAN 模式和 CBP) 2.控制寄存器( CR): CAN 地址 0 控制寄存器的内容是用于改变 CAN 控制器的行为的。 这些位可以被微控制器设置或复位,用户可以对控制寄存器进行读 /写操作。 帧间空间 间歇场 暂停发送场 总线空间 帧 帧 图 “错误认可”帧间空间 本科生毕业设计(论文) 10 3.命令寄存器( CMR): CAN 地址 1 命令位初始化 SJA1000 传输层动作。 命令寄存器对微控制器来说是只写存储器,用户可以对之进行操作。 如果去读这个地址,返回值是‘ 11111111’。 4.状态寄存器( SR): CAN 地址 2 状态寄存器内容 反映了 SJA1000 的状态。 状态寄存器对用户来说是只读存储器。 5.中断寄存器( IR): CAN 地址 3 中断寄存器允许中断源的识别。 当寄存器的一位或多位被置位时, INT(低电平有效)引脚就被激活了。 寄存器在被控制器读过之后,所有会导致 INT 引脚上的电平漂移的位被复位。 中断寄存器对用户来说是只读存储器。 6.识别码( ID) 识别码有 11 位( ~ )。 是最高位,在仲裁过程中是最先被发送到总线上。 识别码就像信息的名字。 它在接收器的接收过滤器中被用到,也在仲裁过程中决定总线访问的优先级。 识别码 的值越低,其优先级越高。 该识别码由用户填写。 7.远程发送请求( RTR) 如果此位是“ 1”,总线将以远程结构发送数据,这意味着此段中没有数据字节。 尽管如此,也需要同识别码相同的数据结构来识别正确的数据长度。 如果 RTR 位没有被置位,数据将以数据长度码规定的长度来传送。 8.数据长度码( DLC) 信息数据区的字节数根据数据长度码编制。 在远程结构传送中,因为 RTR 被置位数据长度码是不被考虑的。 这就迫使发送、接收数据字节数为 0。 总之,数据长度码必须正确设置以避免两个 CAN 控制器用同样的识别机制启动远程结构传送而发 生总线错误。 数据字节数是 0~ 8,是以如下方法计算的: 数据字节数 =8DLC. 3+4DLC. 2+2+DLC. 0 为了保持兼容性,数据长度码不超过 8,如果选择的值超过 8,则按照 DLC规定认为是 8。 它的各位由用户填写。 9.数据区 传送的数据字节数由数据长度码决定。 发送的第一位是地址 12单元的数据字节的最高位。 由用户填写所要发送的数据。 10.接收缓冲器 接收缓冲器的全部列表和发送缓冲器类似。 接收缓冲器是 RXFIFO 中可访问的部分,位于 CAN 地址的 20~ 29 之间。 识别码、远程发送请求位和数 据长度码同发送缓冲器的相同,只不过是在地 本科生毕业设计(论文) 11 址 20~ 29。 RXFIFO 共有 64 字节的信息空间。 在任何情况下, FIFO 中可以存储的信息数取决于各条信息的长度。 如果 RXFIFO 中没有足够的空间来存储新的信息,CAN 控制器会产生数据溢出。 数据溢出发生时,己部分写入 RXFIFO 的当前信息将被删除。 这种情况将通过状态位或数据溢出中断反应到微控制器。 接收缓冲器的内容是本节点有效接收的数据。 11.接收过滤器 在接收过滤器的帮助下, CAN 控制器能够允许 RXFIFO 只接收同识别码和接受过滤器中预设值相一致的信息。 接收过滤器通过 接收代码寄存器和接收屏蔽寄存器来定义。 该接收过滤器由用户填写。 12.接收代码寄存器( ACR) CAN地址 4 复位请求位被置高(当前)时,这个寄存器是可以访问的。 如果一条信息通过了接收过滤器的测试而且接收缓冲器有空间,那么描述符和数据将被分别顺次写入 RXFIFO。 当信息被正确的接收完毕,就会: 收状态位置高(满) 收中断使能位置高(使能)接收中断置高(产生中断)。 接收代码位( — )和信息识别码的高 8位( — )相等,且与接收屏蔽位( — )的相应位相等或为 1。 即 如果满足以下方程的描述,则被接收: ﹛﹙ — ﹚ =﹙ — ﹚﹜ ∨ ﹙ — ﹚ ≡11111111 13.接收屏蔽寄存器( AMR) CAN地址 5 如果复位请求位置高(当前),这个寄存器可以被访问(读 /写)。 验收屏蔽寄存器定义验收代码寄存器的哪些位对接收过滤器是“相关的”或“无关的”。 本科生毕业设计(论文) 12 第 3章 总体设计方案 系统 功能描述 在汽车中,有很多信号的采集。 这些信号需要共享,而不仅仅是用于某一个控制单元。 使用 CAN 总线就可以很简单的将这些信号采集单元组成网络,从而共享数据。 CAN 总线系统中所 有的信号传输都通过总线传输。 电动汽车已成为未来汽车技术发展的趋势 ,有效合理的电池管理系统能够最优的利用有限的电池能量 ,最大化的延长电池生命周期。 因此 , 动力蓄电池管理系统成为电动车技术重要课题之一。 本次设计 以 单片机为核心,设计了一种高精度、低价格的电池管理系统,实现了对电动汽车多组蓄电池组的温度和电压的实时 监测。 应用 CAN 总线与动力总成控制器通讯,性能可靠,开放性强,抗电磁干扰能力强,特别适用于复杂的车辆环境 监 测。 本系统就是要用 CAN 总线技术来实现。 纯电动汽车以车载动力蓄电池为电源,而蓄电池是一种化学反应 装置,内部的化学反应一般不易觉察,日常使用中的缺陷不会立即反应出来。 为了延长蓄电池的寿命,必须避免过充电或过放电,并且能显示电 监 测各单体蓄电池的工作电压和温度,降低蓄电池组各单体蓄电池的不均衡性,并且能通过 CAN 总线与车用动力总控制器通讯,将蓄电池组的温度、电压等参数实时传给动力总控制器。 传感器采集蓄电池的电压和温度 ,并进行处理后通过 CAN总线将采集来的数据发送到汽车的其它控制单元中,而且可以接收 CAN总线中其它节点或控制单元的数据。 要求系统的软硬件能够协同工作实现功能。 设计方案 系统工作过程 是:单元中 的单片机 C8051F040 把来 自信号采集电路采集的信号 采集进来,对其进行处理后,发向 CAN 控制器的发送缓冲区,然后启动 CAN 控制器的发送命令,此时 CAN 控制器将自动向总线发送数据。 CAN 控制器通过信息帧中的标识符来进行仲裁,标识符数值最小的 CAN 控制器具有对总线的优先使用权。 CAN 控制器检测到总线上有数据时会自动接收总线上的所需数据,存入其接收缓冲区,并向单片机 AT89C52 发送接收中断,启动单片机的接收服务程序,单片机通过执行接收服务程序从 CAN 控制器的接收缓冲区读取数据 ,然后 进行显示 本科生毕业设计(论文) 13 控制等。 系统结构框图 如图 所示。 图 3,.1 系统结构框图 设计要点 ( 1)在设计微处理器与 SJA1000的接口电路时,首先要根据微处理器选择 SJA1000的接口模式。 其次要注意 SJA1000 的片选地址应与其它的外部寄存器无冲突,还应注意 SJA1000 的复位电路应为低电平有效。 ( 2)微处理器对 SJAI000 的控制访问,是以外部寄存器 方式来访问 SJA1000 的内部寄存器,所以在微处理器访问 SJA1000 时,应该正确定义 SJA1000 内部寄存 器的访问地址。 ( 3)微处理器可以通过中断和查询的方式来访问 SJA1000。 ( 4)微处理器访问 SJA1000 时,有两种不同的模式:工作模式和复位模式。 对SJA1000 的初始化只能在 SJA1000 的复位模式下进行。 初始化包括设置验收滤波器、总线定时器、输出控制、时钟分频中的特定控制等,设置复位请求后,一定要校验,以确保设置成功。 ( 5)向 SJA1000 的发送缓冲区写入数据时,一定要检查发送缓冲区是否处于锁定状态,如锁定,这时写入的数据将丢失。 ( 6)对 SJA1000 的操作难点在于总线定时器的设置,设置总线定 时器包括:设置总线波特率、同步跳转宽度、位周期的长度、采样点的位置和每个采样点的数目。 温度传感器 电压隔离采样电路 单片机C8051F040 信号放大放大 电压变换 CAN 收发器 CAN BUS CAN 收发器 光电隔离 CAN 控制器 单 片 机 AT89C52 LED显示 键盘 本科生毕业设计(论文) 14 芯片的选择 1. 单片机 本次设计用到两个单片机: C8051F040 和 AT89C52。 Cygnal 公司的 51 系列单片机 C8051F040 是集成在一块芯片上的混合信号系统级单片机,在一个芯片内集成了构成一个单片机数据采集或控制的智能节点所需要的几乎所有模拟和数字外设以及其他功能部件,代表了目前 8位单片机控制系统的发展方向。 芯片上有 1 个 12 位多通道 ADC, 2个 12 位 DAC, 2个电压比较器, 1 个电压基准, 1 个 32kB 的 FLASH 存储器,与 MCS- 51 指令集完全兼容的高速 CIP- 51 内核,峰值速度可达 25MIPS,并且还有硬件实现的 UART 串行接口和完全支持 和。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。