首 页
FTF博客群
热点活动
精彩视频
文 章
博 客
下 载
论 坛
提问墙
个人中心
飞思卡尔社区论坛
  • ARM Cortex-M4
  • MQX
  • 8位MCU
  • 16位MCU
  • 32位MCU
  • 飞思卡尔传感器
  • 2009年第四届智
    • 资料共享
  • 2008年第三届智
    • 资源共享
  • 2010年第五届智
  • 安飞东专栏
  • 飞思卡尔在线翻
首页»飞思卡尔社区论坛 >> 8位MCU >> 论坛规则 | 收藏本版
3 1/1 共1页 1
  • 发布新帖
  • 发布投票
  •        
 
基于ATMEGA128的CAN-GPRS网关设计(转帖)
bjxianyi
精华:
0
积分:
9
等级:
学徒
登陆次数:
14 
发表帖子:
6  
注册时间:
2009-06-26 
最后登陆:
2009-07-09 
状态:
离线

查看详细资料

积分:9
帖子:6
精华:0
等级:学徒
注册时间:2009-06-26
最后登录:2009-07-09
我的博客 发短消息
我的相册 当前离线
发表于2009-07-03 15:02
1#
基于ATMEGA128的CAN-GPRS网关设计(转帖)

010-51987309 李小姐

北京显易科技有限公司是专业经营电子元器件进出口贸易为主导的综合性企业,地处北京 “硅谷” 高新技术科技园区核心地带。公司技术实力雄厚、检测手段完善,具有最直接的供货渠道。随时可从德国、美国、日本和香港直接进货。长期备有大量现货, 保证充足货源,及时向各地发货。 本公司是专化的电子元器件供应及代理商,在IC集成电路行业具有很强的知名度,公司的产品广泛应用于民用、工业、航天、军工等领域,深受广大客户的信赖。

 1. 引言
CAN(Controller Area Network)即控制器局域网,属于工业现场总线的范畴。CAN总线与一般的通信总线相比,数据通信具有突出的可靠性、实时性和灵活性,其应用范围已扩展到自动控制、航空航天、机械工业及传感器等领域。
GPRS(General Packet Radio Service)是通用分组无线业务的简称。相对原来GSM的拨号方式的电路交换数据传送方式,它是一种基于第二代移动通信系统GSM的无线分组交换技术,提供端到端的、广域的无线IP连接。具有“实时在线”、“按量计费”、“快捷登录”、“高速传输”的优点。
随着GPRS移动通信技术的成熟,通过CAN-GPRS网关将CAN现场设备网和远程技术控制中心联系起来,使远程技术控制中心具备了对CAN现场设备网的即时反应、远程监测以及远程诊断的能力。
2. CAN-GPRS网关硬件电路设计
2.1  系统硬件结构框图

 

图 1 CAN-GPRS网关原理框图
 CAN-GPRS网关由CAN收发器、CAN控制器、微控制器、RS-232接口、GPRS模块组成。原理如图1所示。微控制器对CAN和RS-232接口的数据进行处理与转发实现网关的功能。
在本文的应用中,CAN现场设备网包括CAN主控器和CAN设备,网络通信包含三种数据,CAN主控器发送的命令数据,CAN设备发送的设备数据和心跳数据。CAN-GPRS网关对CAN现场设备网的数据进行****,对CAN设备发往CAN主控器的心跳数据和CAN主控器发往CAN设备的命令数据进行过滤,而只让CAN设备发送的设备数据通过GPRS网络传输至远程技术控制中心。远程技术控制中心则通过GPRS网络将命令数据转发至CAN现场设备网。
2.2  系统硬件电路设计
本文采用ATMEGA128作为系统微控制器,ATmega128为基于AVR RISC结构的8位低功耗CMOS微控制器,具有128K字节的系统内可编程Flash,4K字节的内部SRAM,4K字节的内部EEPROM,使得系统无需外扩ROM和RAM即可实现网关的功能。CAN控制器采用应用非常广泛的PHILIPS半导体的独立CAN控制器SJA1000。CAN收发器采用PHILIPS的TJA1040,在功能上TJA1040是PCA82C250/251高速CAN收发器的后继产品。ATMEGA128与SJA1000以外部总线方式连接。SJA1000的8位数据/地址复用总线、控制总线分别与ATMEGA128的数据/地址复用总线、控制总线连接;ATMEGA128高8位地址总线的A8位经74F04反向后连接至SJA1000的片选引脚;SJA1000的中断输出引脚是开漏输出,通过上拉电阻连接至ATMEGA128的INT0引脚。ATMEGA128与SJA1000接口电路图如下图所示:

 

图2  ATMEGA128与SJA1000接口电路
ETPro++ GPRS模块是一款内嵌TCP/IP协议的GPRS Modem,通常适用于不具备TCP/IP协议栈的单片机系统。ETPro++ GPRS模块的硬件接口为RS-232接口。ATMEGA128的UART0经MAXIM3232电平转换后与ETPro++ GPRS模块的RS-232接口连接。具体接口电路图如下图所示:

 

图3  ATMEGA128与MAX3232接口电路图
3.CAN-GPRS网关软件程序设计
3.1  引入μC/OS-II实时操作系统
CAN-GPRS网关对系统的实时性和可靠性要求较高,在系统中嵌入μC/OS-II将增强系统的实时性和可靠性。采用μC/OS-II 实时操作系统简化了设计过程,把应用程序代码分割成单独的任务,所有时间占重要地位的事件可以尽可能快和有效的得到处理。系统包括初始化和任务两大部分。系统初始化又包括微控制器初始化、CAN初始化、GPRS模块初始化。任务包含CAN接收数据处理、GPRS接收数据处理两个任务。
3.2  CAN的初始化
由于需要****CAN现场设备网所有节点发送的数据,所以对SJA1000的验收屏蔽寄存器(AMR)所有位置位以保证可以接收总线上的所有数据。下面给出这部分的源代码:
INT8U   SJA1000Init(void)
{
if( SJA1000_CREATE_COMMUNATION() )
return FALSE;   //SJA1000接口出错,返回
if( SJA1000_ENTER_RETMODEL() )
return FALSE;   //SJA1000进入复位模式出错,返回
SJA1000_SET_OUTCLK(0xaa,0xc8);   //Pelican 模式
SJA1000_SET_BANDRATE(ByteRate_125k);  //设置波特率为125Kbps
SJA1000_SET_OBJECT(0,0xff);   //设置验收代码寄存器、验收屏蔽寄存器 
SJA1000_SET_MOD();   //单滤波器模式
if( BCAN_QUIT_RETMODEL() )
return FALSE;   //SJA1000退出复位模式出错,返回
 
SJA1000_BCANAdr = (INT8U *)REG_IER;       //访问中断使能寄存器
*SJA1000_BCANAdr = 0xFD;      //使能接收中断
 return (0);              
}
3.3  GPRS模块的初始化
ETPro++ GPRS模块有两种工作模式,一种是命令模式,一种是SerialNET模式。在命令模式下的通信,期间需要用命令进行干预。而在SerialNET模式下一旦配置好该模式的参数,进入该模式后,就可以直接按设定的参数进行数据传输,而无需再进行干预了。
在本设计中采用的是SerialNET模式。GPRS模块的初始化首先通过UART0发送三个’+’退出在线模式,之后大约等待15秒左右,收到I/ERROR (056)<CR>之后即可以向模块发送命令。发送AT+IUP<CR>命令上线并建立一个PPP Internet连接开始Internet会话,收到I/ONLINE<CR>后即成功上线。再发送AT+I!SNMD<CR>激活SerialNET长连接模式,收到I/DONE<CR>即进入serialNET模式,此时则可进行数据传输。(源代码略)
3.4  CAN接收数据处理任务
CAN数据的接收与处理通过外部中断0来实现,当数据接收完成时产生中断,在中断程序中发送CAN信号量通知CAN接收数据处理任务对收到的数据进行处理。其流程图如下(源代码略):

 

图4  CAN接收数据处理任务流程图
3.5  GPRS接收数据处理任务
GPRS数据的接收与处理通过UART0接收中断来实现,在UART0接收中断程序中发送UART0信号量通知GPRS接收数据处理任务对收到的数据进行处理。不同的是通过UART0将数据转发到CAN接口上

 
相关主题
  • 基于单片机的交通灯控制器的设计与实现
  • 基于max752的12V输出电路设计
  • 求助:基于OV7660的图像识别
  • 基于MC1322x的ZigBee应用技术
  • 基于Excel的S08反汇编工具
  • 基于CP2102的串口通信调试技巧
  • 基于TPS7350 的智能车电源设计
北京显易科技010-51987308李小姐 电子元器件供应 www.ic158.com
回复 链接 收藏
 
bjxianyi
精华:
0
积分:
9
等级:
学徒
登陆次数:
14 
发表帖子:
6  
注册时间:
2009-06-26 
最后登陆:
2009-07-09 
状态:
离线

查看详细资料

积分:9
帖子:6
精华:0
等级:学徒
注册时间:2009-06-26
最后登录:2009-07-09
我的博客 发短消息
我的相册 当前离线
发表于2009-07-03 15:03
2#
RE:基于ATMEGA128的CAN-GPRS网关设计(转帖)
北京显易科技-部分库存LM2717MT SOP24
LX15621M DIP8
OP184E SOP8
D27256-2 DIP28
SCX6212SLQ1N DIP28
D2764A 镜陶DIP28
HE3108A-9-P-002 DIP24
D27512-200VO5 DIP
KHS-17D11-24 继电器
AM27128A-20DC(12.5V) 镜陶DIP28
AM27128DC 陶镜DIP
955194-01A-B DIP40
SAB7201A-P DIP40
D27512-200V 陶镜DIP
HD68B09EP DIP40
MC68B09EP DIP40
TMS27C256-25JL 镜陶DIP28
TMS27C512-20 陶镜DIP
TMS27C512-2JL DIP28
D27512-170VO5 陶瓷镜面DIP
MC68B09CP DIP40
AT27C512-1.5DC 陶瓷镜面DIP
D27256 陶瓷镜面DIP
MK68901N-04 DIP48
AM27128ADC 镜陶DIP28
TMS27128C128JL 陶瓷镜面DIP
M27C512-15XF1 镜陶DIP28
D27128A 镜陶DIP28
D27128D-2 镜陶DIP28
M5M5256BFP-10L SOP28
MAX1904EAI SOP28
MAX6173AASA SOP8
MAX755ESA SOP8
MAX791ESE SOP
MC68020RC12E PGA
 
北京显易科技010-51987308李小姐 电子元器件供应 www.ic158.com
回复 链接 收藏
 
bjxianyi
精华:
0
积分:
9
等级:
学徒
登陆次数:
14 
发表帖子:
6  
注册时间:
2009-06-26 
最后登陆:
2009-07-09 
状态:
离线

查看详细资料

积分:9
帖子:6
精华:0
等级:学徒
注册时间:2009-06-26
最后登录:2009-07-09
我的博客 发短消息
我的相册 当前离线
发表于2009-07-03 15:04
3#
RE:基于ATMEGA128的CAN-GPRS网关设计(转帖)
63S1681ANS DIP24
PAL14H4ANC DIP20
PAL14L4ANC DIP20
PAL10L8ANC DIP20
AM27S29APC
PAL16L8ACN DIP20
18CN8P-25
PAL12L10CNS DIP24
GAL16V8A-15LP DIP20
6AL16V8B-15QP
PAL12L10NC DIP24
PAL20L2NC DIP24
6AL20V8-25LNC
6AL16V8A-2SLP
PAL20L8ANC DIP24
PAL12L6ANC DIP20
PAL16L2ANC DIP20
PAL20X8NC DIP24
PAL16R6ANC DIP20
PLA20L10NC
PAL16L8NC DIP20
PAL20L2NC DIP24
TL27078
PALCE22V10H-25PC/4
834N492
IS61C1024-15J SOP32
ISL6700IB SOP8
ISL6700IBZ SOP8
K6T1008C2E-GL55 SOP32
LM2577S-ADJ TO263
 
北京显易科技010-51987308李小姐 电子元器件供应 www.ic158.com
回复 链接 收藏
 
3 1/1 共1页 1
  • 发布新帖
  • 发布投票
  •        
您尚未 登录 | 注册

关于freescale技术社区 | freescale技术社区使用说明 | FAQ | 法律及版权声明 | 网站地图

联系邮件:tingting@eefocus.com 联系电话: 010-58859035-8018
Powered by eefocus.com