当前位置:首页 > 工业控制 > 工业控制
[导读]讨论以PHILIPS公司的SJA1000型控制器为核心、基于CAN总线的深海测控系统的设计过程,围绕C8051F020型单片机与SJA1000型控制器详细阐述测控系统的性能要求、组成、硬件连接和软件设计。

摘要:讨论以PHILIPS公司的SJA1000型控制器为核心、基于CAN总线的深海测控系统的设计过程,围绕C8051F020型单片机与SJA1000型控制器详细阐述测控系统的性能要求、组成、硬件连接和软件设计。该系统具有结构简单、价格低和可靠性等优点。
关键词:SJA1000;控制器;深海;测控;应用

1 引言
      为了开发海洋资源,人类必须首先了解海底环境。然而,海底环境十分复杂,对海底探测的要求很高,深海环境下需要采集的参数比较多,包括深度、温度、盐度、PH值、溶解氧及各种化学元素等。

     
深海测控系统工作时需要接收来自甲板控制中心的命令,同时要将采集到的数据反送到甲板控制中心,二者之间的最大通信距离大于5km,因此,它们之间的通信要求很高。CAN总线与一般的通信总线相比,它的数据通信具有突出的可靠性、实时性和灵活性。CAN的直接通信距离最远可达10km(速率在5kb/s以下),报文采用短帧结构,传输时间短,受干扰概率低,保证了数据出错率极低。为此,笔者采用CAN总线作为通信方式。

深海测控系统的基本组成
     
深海测控模块由二大部分组成:测控子模块和通信子模块。测控子模块的主要功能是根据甲板控制中心的命令启动系统并完成参数提取、转换、数据处理、存储及发送等操作。通信子模块的功能是完成甲板与水下测控系统的通信。

     
测控子模块以Cygnal公司的C8051F020型单片机为核心,扩展信号调理电路及与CAN总线的接口。通信子模块是Philips公司的SJA1000CAN控制器。

2.1
测控子模块
     
深海测控子模块由微控制器系统和I/O系统组成。

     
微控制器是Cygnal公司的C8051F020型单片机。C8051F020采用CIP51型微控制器内核及流水线指令结构,70%的指令执行时间为1个或2个系统时钟周期,峰值速度达到25MI/s,能满足深海环境下多路数据的快速采集与分析。C8051F020型单片机内部集成1128通道带可编程增益放大器的A/D转换器和188通道A/D转换器,能满足深海多路环境参数采集;212位电压输出D/A转换器;16位可编程定时/计数器阵列PCA可用于输出PWM以控制步进电机的运转;64个耐5V电压的通用I/O口可控制开关器件的启动和停止。


      
微控制器系统还包括了单片机的一些基本外围电路。系统还开展了1片容量达64Mbyte的串行Flash存储器,用以保存采集到的数据,以避免CAN通信不畅时造成数据丢失。使用时只要微控制器外接相应的传感器、继电器、电机等就可以完成各种环境下参数的采集及相应的控制

2.2
通信子模块
      SJA1000
PHILIPS公司推出的一款独立的CAN控制器,主要用于移动目标和一般工业环境中的区域网络控制。它是PCA82C200CAN控制器(BasicCAN)的替代产品,而且增加了一种新的操作模式--PeliCAN,这种模式支持具有很多新特征的CAN2.0B协议。

    SJA1000的基本特征如下:

  ·引脚与PCA2C200CAN控制器兼容。
 
·有扩展的接收缓冲器(64字节,先进先出FIFO)。
   
·支持CAN2.0ACAN2.0B协议。
    ·支持11位和29位标识码。
    ·通信位速率可达1Mb/s
    ·可与不同的微处理器接口。
    ·可编程的CAN输出驱动器配置。
   
     SJA1000
的引脚排列如图1所示,主要引脚的功能如下所述。 

    AD7AD0:地址数据复用线。
    ALE/AS
ALE输入信号(Intel模式)或AS输入信号(Motorola模式)。
    CS
:片选信号,低电平允许访问SJA1000
    RD/E
:来自微控制器的RD信号(Intel模式)或E使能信号(Motorola模式)。
    WR
:来自微控制器的WR信号(Intel模式)或RD/WR使能信号(Motorola模式)。
    CLKOUT
SJA1000产生用于微控制器的时钟输出信号;时钟信号由内置晶体振荡器通过可编程除法器产生;时钟除法寄存器中的时钟停止位能使该引脚无效。
    VDD1
VSS1:逻辑电路5V电源和逻辑电路地。
    XTAL
:晶体振荡器放大器输入,外部晶体振荡器信号由该脚输入。
    XTAL2
:晶体振荡器放大器输出,当使用外部晶体振荡器信号时,该输出引脚必须开路。
    VDD3
VSS3:输出驱动5V电源和输出驱动地。
    TX0
TX1CAN输出驱动器01输出到物理总线。
    INT
:中断输出,用于触发微控制器中断;内部中断寄存器的任何位置位,INT将低电平输出;INT为开环输出;该引脚为低电平将电路从睡眠状态激活。
    RST
:复位输入,用于复位CAN接口(低电平有效)。
    VDD2
VSS2:输入比较器5V电源和输入比较器地。

    RX0RX1:从物理CAN总线输入到SJA1000的输入比较器。
    SJA1000
与微处理器的接口非常简单,微处理器以访问外部存储器的方式来访问SJA1000。由于SJA1000的内部寄存器分布在连续的地址内,所以完全可以把SJA1000当作外部RAM。在设计接口电路时,SJA1000的片选地址应与其他外部存储器的片选在逻辑上无冲突。

系统设计
      SJA1000
CAN控制器兼容CAN2.0ACAN2.0B二种规范。CAN2.0B具有二种不同的帧格式:标准帧和扩展帧,前者为11位标识符,后者为29位标识符。前者的标识符比后者的标识符少2个字节。深海测控系统的CAN节点数量少,只有上位机节点和水下测控中心节点,所以即使距离比较远,对传输数据速度和可靠性的影响也不是很大。

3.1
单片机与CAN控制器的硬件设计
       
2C8051F020型单片机与SJA1000型控制器的硬件连接电路原理。SJA1000占用了0x80000x80FF的外部RAM空间。当单片机访问以上空间时片选信号会选中SJA1000

      C8051F020有高低2个外部存储器接口。因此,SJA1000AD0AD7连接到C8051F020的高端口P7口,CS连接到基址为0x8000的外部存储器片选信号。当C8051F020访问地址0x80000x80FF时,CPU可对SJA1000执行相应的读/写操作。SJA1000RDWRALE分别与C8051F020的对应引脚相连,INTC8051F020INT0引脚,于是C8051F020可通过中断方式访问SJA1000SJA1000的复位信号RST为低电平有效。C8051F020AD0AD7口用于地址/数据的输入/输出,将其配置为漏极开路方式,利用4.7kΩ上拉电阻器拉至5V。通过设置数字交叉开关,将C8051F020的外部中断引脚配置到P2.7口。

        CAN
能够使用多种物理介质,例如双绞线和光纤等。该设计方案采用双绞线。信号以差分电压传送,2条信号线为CAN_HCAN_L,静态时为2.5V,此时状态表示逻辑"1",也叫做"隐性"CAN_HCAN_L高,表示逻辑"0",称为"显性",此时CAN_H3.5VCAN_L1.5VTJA1050CAN总线收发器是CAN协议控制器和物理总线之间的接口,CAN总线上二端节点须加60Ω电阻器和47nF电容器将信号吸收,以避免信号反射。为了增强CAN总线节点的抗干扰能力,SJA1000TX1RX1通过6N137型高速光耦后与TJA1050相连。这样就很好地实现了总线上各CAN节点间的电气隔离。其中,光耦部分电路的2个电源VCCV_CAN必须完全隔离,否则采用光耦就是失去了意义。电源的完全隔离可采用小功率电源隔离模块和通过带多个5V隔离输出的开关电源模块实现。

3.2
软件设计
     
通信协议采用"ID+命令+数据+校验"的形式,其中ID为网络设备的标识符,采用ID.18ID.20。标识符ID.21ID.28作为固定命令,不参与验收滤波。数据表示通信的具体内容。校验为1个字节,采用校验和的形式,由于CAN总线本身具有15CRC校验,并且该系统节点数少,竞争不会很激烈,通信可靠性比较高。

    软件设计思想为系统上电后C8051F020先对自身和SJA1000进行初始化以确定工作主频、波特率和输出特性等,然后接收来自甲板上位机的控制命令,同时将获取的采样参数通过SJA1000传送到CAN总线上或备份到Flash存储器中;对SJA1000的初始化设计是重点,也是难点,必须对写入每个寄存器的内容进行仔细和全面考虑,否则系统将无法正常运行。可设上位机SJA1000适配卡的ACRxx20AMRFF00。水下测控中心SJA1000ACRxx40AMRFF00
遵循上述思路,笔者采用C51编写了应用软件,下面是部分程序清单。

    初始化部分:

    void CAN_Init(void)

    { CANMODE=0x09;//进入复位模式,单向验收滤波,对SJA1000初始化

    CANCDR=0x88;  //选择PeilCAN模式

    CANIER=0x1A;  //开放接收中断、超载中

   

    
     
由于深海测控系统对通信的实时性要求很高,一旦接收到甲板上传来的控制命令就必须及时响应,为此从CAN总线上接收信息采用中断方式。即SJA1000无错地接收到消息后使INT变为低电平,下降沿触发C8051F020的外部中断0,使其进入中断服务程序。其流程如图3所所示。  

    如果要向CAN总线发送数据,则必须将符合PeilCAN帧格式的一组数据写入SJA1000的发送缓冲区,然后调用发送子函数。这里笔者采用查询方式来实现发送。流程如图4所示。  

结束语
      
基于SJA1000CAN控制器的深海测控系统基本上满足了功耗低、体积小、重量轻、易扩展的要求,同时与甲板上位机之间的通信可靠,完全能满足深海探测的需要,并能广泛应用于海洋油、气田作业,海洋污染监控和防治,海上渔业生产等,前景广阔。

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

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 信息技术
关闭
关闭