新闻中心

EEPW首页>测试测量>设计应用> CAN适配卡发电机状态监测仪中的设计方案

CAN适配卡发电机状态监测仪中的设计方案

作者: 时间:2011-12-04 来源:网络 收藏

3 伸裁方式

双口RAM通信方式的关键是处理好争用现象,避免因此而产生的读写错误。IDT7132能够提供硬件判优方式,并可利用BUSY引脚的信号来提高系统的灵活性。在图2的硬件电路中,由于IDT7132内含硬件判优电路且两边端口都有BUSY引脚。因此为两端口争用同一地址单元时,其片内硬件电路可根据两边的地址、片选以及读写信号到达选后顺序来裁决哪个端口有使用权。

由此可知,BUSY信号可直接至支持插入等待时序的CPU如80C196的READY引脚,而无需软件支持。在本卡中,由于89C52没有READY信号,因而在89C52发出读写IDT7132命令时将锁存BUSYR信号,而只需读P1.6口的值就可判断刚才对IDT7132读写时是否存在冲突。当P1.6的值为1时,刚才询门不存在冲突;当1.6的值为0时,刚才询问存在冲公安厅。此时要重发读写IDT7132的命令。由于ISA总线没有READY信号,也没有通用的I/O引脚,因而可将来自IDT7132的BUSYL信号接至数据线的最低位D0。但因为除了查询BUSYL引脚电平时外,BUSYL不应接到D0,因而应采用三态门74L125。BUSYL接三态门的输入端,三态门输出端接ISA总线数据线D0位,其门控信号由A9~A5产生,故将占用ISA总线一个I/O端口。设计时应该选用一个空闲的端口号,这里选用330H(双口RAM侧,PC机则需换码),即将A9~A5译码为11001.具体电路如图3所示。

4的软件设计

主要用来承担上位计算机和节点之间的数据转发任务,其软件设计也包括两部分:第一部分是PC机端的应用程序接口(API)函数,负责完成PC机端与双口RAM之间的通信,该部分可以采用可视化的编程工具如C++Builder编写。PC机端软件功能主要包括向上的双口RAM发送控制命令、数据命令和请求数据命令,还将接收到的数据进行后处理(如,显示、报表等);第二部分是卡上单片机端的程序设计,负责单片机与双口RAM以主导控制器之间的通信,该部分可以采用汇编语言ASM51或Franklin C51编写.软件设计的主要任务是向控制器转发来自PC机的命令,并由CAN控制器进一步转发至CAN节点;同时,将CAN控制器接收的来自CAN节点的数据、状态信息送到双口RAM。

5 需要说明的问题

CAN的协议规范(CAN Specification 2.0A/B)只是一个低层的规范。因而还需要一个高层/应用层的协议,CAN的能力是由高层协议来选定和限制的。目前国际上CAN的应用层协议很多,如DeviceNet、CANopen、CANKingdom等,但用户可以定制更简单的应用层协议。应用层协议的任务一方面是对将要发送的数据进行分类、拆卸、合并,并确定发送对象,然后根据CAN的数据链路层协议规范填写CAN的各个信息帧。另一方面是解释接收到的数据的具体含义并对其进行相应的处理。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭