DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 724|回复: 0
打印 上一主题 下一主题

[GPS] 基于CAN总线的GPS传感器应用开发研究

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-1 06:13:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

基于CAN 总线的GPS 传感器应用开发研究
罗发贵1, 张杰2, 隋良红1
(1. 中国测试技术研究院,四川成都610021;2. 四川大学制造科学与工程学院,四川成都610065)
摘要:为在车辆运行中实时、准确地测量汽车行驶的速度、距离、所处位置的经纬度以及海拔高度,提出了一种基
于CAN 总线的GPS 传感器应用方法,设计了一种外加TJA1050 作为C8051F500 物理接口,实现接口转换,并以
CAN 总线输出数据的测试仪器。该仪器通过软件编程由测试人员自己设定数据输出的频率,并配以按键、液晶显示
和数据存储功能,从而使系统的灵活性、实用性、可靠性、实时性和准确性都大幅提高。
关键词:CAN 总线;GPS 传感器;速度;距离;经纬度;接口转换
中图分类号:TP336;P228.4 文献标志码:A 文章编号:1674-5124(2012)02-0106-04
Application research of GPS sensor based on CAN bus
LUO Fa-gui1,ZHANG Jie2,SUI Liang-hong1
(1. National Institute of Measurement and Testing Technology,Chengdu 610021,China;
2. School of Manufacturing Science and Engineering,Sichuan University,Chengdu 610065,China)
Abstract: In order to efficiently and accurately measure the speed,distance,position longitude
and latitude, and altitude of vehicles in motion in real -time, an application method of GPS
sensor based on CAN bus was proposed in this paper. An instrument was designed for testing the
running parameters of vehicles,which had an adscititious TJA1050 as the physical interface of
C8051F500 to realize the interface conversion, and output data via the CAN bus. The data
output frequency of the instrument could be set through software programming by operator,and
the flexibility,practicability,reliability,real-time and accuracy of the system had been greatly
improved through its keyboard,liquid crystal display and data storage function.
Key words: CAN bus;GPS sensor;speed;distance;longitude and latitude;interface conversion
收稿日期:2011-09-17;收到修改稿日期:2011-12-02
作者简介:罗发贵(1955-),男,四川岳池县人,高级工程师,
主要从事汽车检测设备计量测试技术研究。
中国测试
CHINA MEASUREMENT & TEST
Vol.38 No.2
March,2012
第38 卷第2 期
2012 年3 月
0 引言
在汽车运行过程中,经常需要知道汽车运行的
基本情况,需要测量汽车的运行速度、运行距离、经
纬度位置以及所在地的海拔等,这些信息对于人车
安全具有重要意义。将GPS 技术用于这些参数的测
量,可以达到期望的效果。但由于其测量数据量大,而
且具有高速变化、不易采集、不易存储数据等缺点,必
须要配以高性能的传输总线[1]。在这种情况下,基于
CAN 总线的GPS 汽车参数采集测量方案应运而生。
在本项目中,将CAN 总线技术应用于GPS 汽车
参数测量中, 并用C8051F500 作为主控芯片, 把
TJA1050 作为其外加物理接口。同时辅以按键、显示、
存储等功能,实现汽车行驶参数的高速采集测量。
1 CAN 总线及特点
CAN 是一种多主方式的串行通信总线,基本设
计规范要求有高的位速率、高抗电磁干扰性,而且
能够检测出产生的任何错误[2]。当信号传输距离达
到10 km 时,CAN 总线仍可提供高达50 kb/s 的数据
传输速率。CAN 通信协议主要描述设备之间的信息
传递方式,CAN 层的定义与开放系统互连模型一致。
每一层与另一设备上相同的那一层通信,实际的通
信发生在每一设备上相邻的两层,而设备只通过模
型物理层的物理介质互连[3]。
CAN 能够使用多种物理介质,例如双绞线、光
纤等,其中最常用的就是双绞线。信号使用差分电
第38 卷第2 期
压传送,2 条信号线被称为CAN_H 和CAN_L,静态
时均为2.5 V 左右,此时状态表示为逻辑“1”,也可以
叫做“隐性”。用CAN_H 比CAN_L 高表示逻辑“0”,
称为“显形”;此时,通常电压值为:CAN_H=3.5 V,
CAN_L=1.5 V。CAN 总线成本低,具有极高的总线利
用率、很远的数据传输距离(长达10 km)、高速的数
据传输速率(高达1 Mb/s)、可靠的错误处理和检错
机制,发送的信息遭到破坏后,可自动重发,节点在
错误严重的情况下具有自动退出总线的功能。
2 GPS 系统
GPS 系统包括3 部分:空间部分(GPS 卫星星座);
地面控制部分(地面监控系统);用户设备部分(GPS
信号接收机)[4]。GPS 卫星星座和地面控制部分属
于整个系统的运行维持部分,由美国专门的机构维
护。通常普通用户直接使用的仅仅是GPS 信号接
收机[5]。
GPS 信号接收机的任务是: 能够捕获到按一定
卫星高度截止角所选择的待测卫星的信号,并跟踪这
些卫星的运行,对所接收到的GPS 信号进行变换、
放大和处理,以便测量出GPS 信号从卫星到接收机
天线的传播时间,解译出GPS 卫星所发送的导航电
文,实时地计算出测站的三维位置,甚至三维速度和
时间[6]。接收机硬件和机内软件以及GPS 数据的后
处理软件包,构成完整的GPS 用户设备[7]。GPS 接收
机的结构分为天线单元和接收单元2 个模块。
3 系统硬件设计
3.1 系统硬件总体
系统硬件主要是由C8051F500 单片机、TJA1050、
GPS 传感器、按键、显示、打印、存储等组成,硬件组
成如图1 所示。
图1 中,单片机C8051F500 是没有CAN 接口的
MCU,需要通过外加TJA1050 作为物理通信接口,
单片机负责数据的处理计算工作,是整个系统的主
要部分。TJA1050 是控制器区域网络(CAN) 协议
控制器和物理总线之间的接口,可以为总线提供不
同的发送性能,为CAN 控制器提供不同的接收性能。
GPS 传感器是系统的主要传感器单元,负责对被测
量的测量。
3.2 基于C8051F500 的CAN 实现
Silicon Lab 公司的C8051F500 单片机内部集成
了CAN 控制器,符合Bosch 规范2.0A(基本CAN)和
2.0B(全功能CAN),方便了CAN 网络通信系统的设
计。由于C8051F500 的高集成度,只需少量外围测量
电路便可组成集数据采集、控制和通信功能于一体
的单片机系统,同时还可提高系统的整体可靠性。
另外,C8051F500 内核与普通51 系列兼容,且指令简单
易学,可缩短系统研发周期[8]。图2 是基于C8051F500
的CAN 硬件电路实现原理图。
3.2.1 C8051F500 单片机
单片机内部集成了CAN 控制器,其与收发模块
(CTM1050)共同构成CAN 节点模块。其中CAN 控
制器包括CAN 核、消息存储器、消息处理器和控制
寄存器。由于其MCU 无法直接访问消息RAM,因
此有两组位于控制寄存器的接口寄存器被用来控
制CPU 对消息RAM 的访问。接口寄存器通过缓存
传输将要传输的数据, 避免了CPU 访问消息RAM
时同CAN 消息的发送和接收之间的冲突[9]。在单个
传输时,一个完整的消息对象或者消息对象的一部
分在消息RAM 和IFx 消息缓冲寄存器之间进行可
靠传输。
3.2.2 TJA1050 高速CAN 收发器
TJA1050 是CAN 控制器与CAN 物理总线之间
的接口芯片, 是CAN 协议控制器和物理总线之间
外部时钟复位电路
C8051F500
(MCU&CAN控制器)
CAN总线收发器
(TJA1050)
CAN

线
电源模块调试接口
图2 CAN功能节点组成原理图
单片机
C8051F500
程序存储器
(ROM)
数据存储器
(ROM)
I/O接口按键显示接口通信接口
TJA1050
A/D(D/A)
转换器
按键显示打印
CAN总线
被测量GPS
传感器
模拟
执行器
模拟量输入输出人机接口通信接口
图1 系统硬件组成框图
罗发贵等:基于CAN 总线的GPS 传感器应用开发研究107
中国测试2012 年3 月
的接口,它最初应用于波特率范围在60 K 波特到
1 M波特的高速自动化应用中。TJA1050 可以为总线
提供不同的发送性能,为CAN 控制器提供不同的接
收性能。
TJA1050 有一个电流限制电路,保护发送器的输
出级,使由正或负电源电压意外造成的短路不会对
TJA1050 造成损坏(此时的功率消耗增加)。TJA1050
还有一个温度保护电路,当与发送器连接点的温度
超过165℃时,会断开与发送器的连接。因为发送器
消耗了大部分的功率,所以这个集成电路的功率消
耗和温度会较低[10],但是此时IC 的其他功能仍继续
工作。当引脚TXD 变高电平,发送器由关闭状态复
位。当总线短路时,尤其需要这个温度保护电路。
在汽车通电的瞬间,引脚CAN_H 和CAN_L 也
受到保护,如图3 所示。
当引脚TXD 由于硬件和/ 或软件程序的错误而
持久为低电平时,“TXD 控制超时” 定时器电路可以
防止总线进入这种持久的支配状态(阻塞所有网络
通信),这个定时器是由引脚TXD 的负跳变边沿触
发。如果引脚TXD 的低电平持续时间超过内部定时
器的值,发送器会被禁能,使总线进入隐性状态,定
时器由引脚TXD 的正跳变边沿复位。
4 项目软件设计
在CAN 初始化时会打开CAN 中断,即CAN 总
线上有数据要发送时会产生一个中断,此时由单片机
的MCU 来判断其优先级是否为最优,若是,则响应
其中断。此时单片机内的CAN 处理器会控制消息缓
存寄存器写入数据,并按照协议对消息进行处理;等
发送请求中断产生,响应中断并发送处理好的数据,
此为一次数据收发过程[11]。CAN 总线数据收发流程
如图4 所示。
4.1 系统初始化
系统初始化主要包括端口、时钟和CAN 控制器
的初始化。其一般步骤如下:
(1)将SFRPAGE 寄存器设置为CAN0_PAGE;
(2)将CAN0CN 寄存器中的INIT 和CCE 位设
置为‘1’;
(3)设置位定时寄存器和BRP 扩展寄存器中的
时序参数;
(4)初始化每个消息对象或将其MsgVal 位设置
为NOTVALID(无效);
(5)将INIT 位清零。
其初始化部分程序如下:
void CAN0_Init(void)
{
U8 iter;
U8 SFRPAGE_save=SFRPAGE;
SFRPAGE=CAN0_PAGE; //切换到CAN 配置页
CAN0CN|=0x01; //进入初始化模式
/*———初始化 CAN 接口———*/CAN0CN|=0x4E;
//使能错误中断、状态改变中断及位定时
CAN0BT=0x1402; //基于24 MHz CAN 时钟,设
置CAN 位速率为1 Mb/s
}
4.2 收发程序
系统初始化完成后,在主程序中调用接收子程
序,由接收子程序来响应总线上的消息接收请求命
令。接收子程序要比发送子程序复杂一些,因为在处
理接收报文的过程中,还要对诸如总线关闭、错误报
警、接收溢出等情况进行处理。下面给出部分接收子
程序:
+5V
100 nF
Vcc
TXD 1 CAN_H 1 nF
3
7
Vref
RXD
5 TJA1050
4
2 8
6 CAN_L 1 nF
15 pF GND S
图3 自动的暂态过程测试电路图
开始
CAN初始化
初始化发送/接收对象
CAN启动
N
有消息
Y
接收当前消息并处理
发送处理消息
结束
图4 CAN总线收发程序流程图
108
第38 卷第2 期
void Receive(void)
{
U16 iter; // 定义循环计数变量
SFRPAGE=ACTIVE_PAGE; //配置PCA0MD
PCA0MD&=0x40; //关看门狗
OSCILLATOR_Init(); //时钟初始化
PORT_Init(); //交叉开关配置,端口初始化
CAN0_Init(); //CAN 接口初始化
CAN_RX_COMPLETE.U32 =0x0000; //无消息
接收
EIE2|=0x02; //使能CAN 中断
EA=1; //使能全局中断
/*———消息未接收完时,闪灯———*/
While((CAN_RX_COMPLETE.U32!=
RX_COMPLETE_MASK)||(CAN_ERROR))
{
LED=!LED;
for(iter=0;iter
基于CAN总线的GPS传感器应用开发研究.pdf (153.88 KB, 下载次数: 0)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-5-11 20:32 , 耗时 0.087562 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表