当前位置:首页 > 电源 > 数字电源
[导读]介绍了一种基于DS80C410内嵌CAN总线网络的食堂售饭系统的设计,包括系统的网络结构和硬件设计。重点介绍了系统中窗口机的硬件、软件设计,并详细描述了DS80C410内嵌CAN模块的初始化过程和报文收发过程。

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

1引言 

    CAN总线(Controller Area Network Bus)是一种有效支持分布式控制的串行通信网络。它比一般的通信总线具有更高的可靠性、实时性和灵活性。CAN为多主方式工作,网络上任一节点均可在任意时刻主动地向网络上其他节点发送信息,而且不分主从,通信方式灵活,无需站地址等节点信息。CAN总线现已广泛应用于工业现场控制、小区安防、环境监控等众多领域中。

2系统结构

    实时通信的食堂售饭系统的通信特点非常适合于采用CAN总线。它的短帧结构非常适合系统对抗干扰能力和实时通信能力要求较高,单次通信量很小的场合;灵活的组网特点完全可以解决大型食堂售饭系统中多个食堂和营业网点较分散的问题。

    基于CAN总线的食堂售饭系统网络结构如图1所示。采用总线型接法,主要包含三层:服务器、中继器和终端。其中服务器包括工作服务器和备用服务器,这两个服务器在营业时同时工作,互为备用,保证系统的稳定可靠。中继器可以延伸通信距离,增加终端数目,变换通信速率,并能起到滤波和隔离作用。终端主要是销售用的窗口机,还包括挂失机、解挂机、发卡/充值机等。

          

      1  食堂售饭系统网络结构图                      

2 窗口机硬件结构框图

3.窗口机硬件设计

    窗口机是直接与售饭人员和用户打交道的主要前台设备。图2为窗口机的硬件结构框图。采用Dallas内嵌CAN控制器的高速网络微控制器 DS80C410作为窗口机的微处理器,负责整个窗口机和键盘的监控。MMM为非接触式IC(Mifare)卡读/写器模块。该模块在微处理器的控制下,可完成对卡片的非接触式读/写等操作。窗口机的通信任务是DS80C410内嵌的CAN控制器在CPU控制下完成的,CAN控制器通过CAN总线收发器PCA82C250接收总线上的数据,供CPU读取,也可以将CPU送来的数据发送到CAN总线上。内嵌CAN控制器通过DS80C410芯片上的P5.1(C0RX-CAN接收)和P5.0(C0TX-CAN发送)脚分别与收发器的RXD(接收数据输出)和TXD(发送数据输入)脚相连。窗口机硬件还包括一个4×4键盘(10个数字键、6个功能键)、前后各10位数码显示(显示内容完全相同)、32KB的EEPROM(用来存储消费记录)、看门狗等部分电路。

4.窗口机软件设计

4.1主程序设计

    窗口机具有连网和脱网两种运行方式。窗口机的默认工作方式分为连网运行,只有在出现网络故障或其他原因无法连网运行时,才通过开关设定为脱网运行。图3为窗口机运行的主程序流程图。窗口机初始化后,先进行键盘处理,LED显示处理,并判断是否回收消费记录。然后查询是否读到卡,读到卡后,调用相应连网或脱网子程序,进行营业操作。

   3 窗口机主程序流程图

4.1.1 CAN的初始化

    窗口机的初始化,包括对CAN模块的初始化。当系统硬件复位后,首先屏蔽CAN中断,然后将位于DS80C410的SFR(特殊功能寄存器)中的 C0C(CAN控制寄存器)中的CRST(复位) 位清0,即清除了CAN控制器的复位状态,同时 SWINT(软件初始化) 位要置 1,即禁止CAN 的总线活动,这样才允许程序对 CAN 模块中的控制寄存器和扩展帧的屏蔽寄存器(C0EGM0~C0EGM3)进行写操作,并设置通信波特率、窗口机ID、窗口机号、CAN状态、CAN口使能、CAN定时等参数, 初始化CAN模块。最后恢复CAN中断。初始化结束后,要清 SWINT位,恢复 CAN 总线的活动。

4.2子程序设计

4.2.1工作流程

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

4 连网子程序流程图                    

    脱网情况下,窗口机采用的是记帐的办法,将脱网状态下用户的卡号和消费记录全部存储在窗

    口机的EEPROM中,等系统恢复连网运行以后,服务器从各窗口机中回收存储的数据,进行服务器数据库的更新。由于脱网情况下窗口机不能和服务器进行实时通信,所以程序较简单,就不再给出流程图了。

                

5 发送子程序                               

    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] DallasMaxim集成产品公司. 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).

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭