基于DS80C410内嵌CAN总线食堂售饭系统的设计 - 中国一卡通网
用户名密码 [免费注册] [找回密码] 推广技巧 发布求购 建商铺  发产品  会员体制比较  
 

基于DS80C410内嵌CAN总线食堂售饭系统的设计

来源:微计算机信息  作者:陈曦婉 徐群  发布时间:2008-01-29 16:30:17  字体:[ ]

关键字:ds80c410  can总线  食堂售饭系统  窗口机  

摘   要:介绍了一种基于DS80C410内嵌CAN总线网络的食堂售饭系统的设计,包括系统的网络结构和硬件设计。重点介绍了系统中窗口机的硬件、软件设计,并详细描述了DS80C410内嵌CAN模块的初始化过程和报文收发过程。


4.2子程序设计

    4.2.1工作流程

    在连网情况下,当窗口机通过MMM获取卡号后,将卡号发送给服务器,服务器收到卡号后,在数据库中查找对应卡号的用户余额并将其返回给窗口机。窗口机显示接收到的用户余额,当一次营业操作完成以后,窗口机将用户总消费额发送给服务器,服务器接收到消费额后进行相应数据库记录的更新,并将已接收消费额的确认帧(ACK)返回给窗口机。如果窗口机将读到的卡号(SNR)发送给服务器的过程中帧丢失,即窗口机没有收到服务器的余额帧,这时窗口机等待一个重发时间,仍未收到服务器的余额帧后,将重发先前的卡号。最多重发3次,当重发3次仍无法收到服务器的回应帧后,显示相应的提示信息。如果在结帐以后,窗口机发给服务器的用户消费额帧丢失,即服务器没有收到消费额帧,无法进行相应记录的更新,同样采取上述方法重发用户消费额。图4为连网子程序流程图。 

基于DS80C410内嵌CAN总线食堂售饭系统的设计

图4 连网子程序流程图

    脱网情况下,窗口机采用的是记帐的办法,将脱网状态下用户的卡号和消费记录全部存储在窗口机的EEPROM中,等系统恢复连网运行以后,服务器从各窗口机中回收存储的数据,进行服务器数据库的更新。由于脱网情况下窗口机不能和服务器进行实时通信,所以程序较简单,就不再给出流程图了。 

基于DS80C410内嵌CAN总线食堂售饭系统的设计

图5 发送子程序

基于DS80C410内嵌CAN总线食堂售饭系统的设计

图6接收子程序

    4.2.2 帧的发送和接收

    DS80C410中CAN模块提供了15个报文中心,作为发送或接收数据的存储器。帧的发送和接收通过这15个报文中心实现,也可以选择一个或若干个报文中心发送或接收帧。这15个报文中心发送或接收数据的优先级顺序是以报文中心的逆序排列的。报文中心1-14可设置为接收或发送数据,报文中心15只能接收数据。报文中心的控制寄存器(C0M1C~C0M15C)位于SFR中。每个报文中心有一个格式寄存器(C0MyF)、4个仲裁寄存器和8个字节(C0MyD0~C0MyD7)的数据区域。仲裁寄存器的值可以在初始化中设置,也可以在发送程序中设置,而且它的值可随着数据的接收而自动更改。另外,报文中心15的C015M0~C015M3寄存器,还可以执行附加的滤波。

    当网络中某一窗口机处于发送状态时,首先对使用的报文中心初始化,把要发送的报文装入报文中心,报文中心仲裁寄存器的值作为帧的标识符发送出去。图5为使用报文中心1发送数据的程序流程图,其中MSRDY(报文中心就绪),DTUP(数据更新),MTRQ(CPU发送请求)等位是报文中心1的控制寄存器C0M1C的位。

    当窗口机处于接收状态时,CAN控制器将根据屏蔽寄存器和接收报文中心的仲裁寄存器的值对接收帧的ID标识符进行判断,确定报文中心是否接收,只有当接收帧的标识符与仲裁寄存器的值相等的时候,帧才被接收;另外,CAN模块还有媒体屏蔽寄存器和媒体仲裁寄存器,可对接收的数据帧的第0和1两个字节进行额外的校验。图6是使用报文中心2接收数据的程序流程图。其中 MSRDY,DTUP,MTRQ等位是报文中心 2的控制寄存器 C0M2C的位。

5.结束语

    DS80C410是带有以太网和CAN的网络微控制器。包括一个10/100以太网MAC,三个全双工硬件串行口,8个双向8位端口,一个可选的CAN2.0B控制器,1-Wire®主机和64个I/O引脚及用于存储用户应用和网络堆栈的64K字节内部SRAM。内嵌CAN模块支持标准(11位)和扩展(29位)标识符和通用掩模,媒体字节过滤, DeviceNet™,SDS和高层CAN协议,自动波特率模式和SIESTA低功耗模式。基于DS80C410内嵌CAN总线的食堂售饭系统,不仅有良好的稳定性、安全性和可靠性,而且实时响应能力强,网络维护方便,用户界面友好、软件使用、升级和移植方便,成本低廉。

    本文创新点:DS80C410集成度较高,16MB连续存储空间,能够同时完成对窗口和键盘的监控。高达75MHz的系统时钟频率,使单周期指令仅54ns。内嵌CAN模块,使窗口机硬件结构更为简单,节省硬件资源。CAN模块的15个报文中心,使通信效率增强。对CAN模块操作与对单片机扩展外部程序/数据存贮器的操作是相同的,软件实现不复杂。

参考文献:

[1] Dallas/Maxim semiconductor. DS80C410/DS80C411 Network Microcontrollers with Ethernet and CAN, 2005.
[2] Dallas/Maxim semiconductor. High-Speed Microcontroller User’s Guide, 2004.
[3] Dallas/Maxim semiconductor. High-Speed Microcontroller User’s Guide: Network Microcon- troller Supplement, 2005.
[4] 饶运涛, 邹继军, 郑勇芸. 现场总线CAN原理与应用技术 [M]. 北京: 北京航空航天大学出版社, 2003.
[5] 任敏 赵跃华. 内嵌CAN总线在智能继路器中的应用 [J]. 电力自动化设备,2003, (11) :0060-03,P60~62.
[6] Dallas\Maxim集成产品公司. CAN总线及其集成解决方案 [J]. 今日电子,2003(5),P29~31.
[7] 邹继军,饶运涛,郑勇芸,冯林. CAN总线在食堂售饭系统中的应用[J]. 厦门大学学报(自然科学版),2001(8), 增刊1, 第40卷, P252~254.
[8] 邹继军,饶运涛. 食堂售饭系统窗口机设计[J]. 东华理工学院学报,2004(3),第27卷, P293~297.
[9] 田希晖,张玘,张连超,罗诗途.CAN总线及其应用技术[J].微计算机信息(测控自动化)2004,(10).

更多

新闻投稿合作邮箱:yktchina-admin@163.com    字体[ ] [收藏] [进入论坛]

推荐文章

论坛热帖