CAN总线模块由SJA1000、82C250、6N137等芯片组成。SJA1000是并行接口的CAN控制器。82C250是CAN控制器接口芯片。当C8051F120要向某节点发送数据时,它向SJA1000的一些缓冲器写数据和命令。数据通过SJA1000处理后,合成CAN帧格式,通过6N137至82C250,由82C250的差分端CANH和CANL传送到物理总线。外部节点发送过来的数据通过82C250经光电隔离器6N137后被SJA1000接收,存放在SJA1000相应的寄存器中。C8051F120就可以读取这些CAN帧格式数据。

LON模块由MCl43150、FTF-10A、MC145407以及外扩SRAM储存器IS61C256AH-15N和外扩Flash存储器AT29C512组成。MC143150是LonWorks控制芯片,含有Lontalk协议的固态软件,主要用于Lonworks数据的处理。FTT-10A是LonWorks收发器,它是一种变压器耦合收发器,支持网络的自由拓扑结构,作为LON网的网络介质的接口。MC145407是电平转换芯片,负责MC143150与RS232之间的电平转换。当C8051F120要向MC143150发送数据时,C8051F120把数据发送到串口缓冲区,通过MC145407将I/O引脚输入的TTL电平和输出的CMOS电平转换为EIA232C电平。MC143150收到数据信息后,将数据读入储存于MC143150的缓冲区中,然后由MC143150打包为LonWorks网络变量,通过不同节点、相同类型的网络变量的互联,即可实现LON节点之间的数据传送。另外,还外扩SRAM储存器IS61C256AH-15N和Flash存储器At29C512,让用户能编制使用较大的程序。

2 、软件设计

2.1 系统的分层结构

整个系统采用分层方式完成各协议间的通信。系统分为硬件驱动层、协议层及其应用层,如图2所示。

由于下层模块只向上层提供一个软件接口,屏蔽了下层的具体实现细节。上层软件只有通过该接口才能与下层软件发生联系,这样就保证了各层之间的独立性。系统根据硬件接口、总线协议的不同,分为三个大的分层功能模块,它们分别是LonWorks模块、PPI模块、CANOPEN模块。这些模块又各自提供了硬件接收缓冲区、硬件发送缓冲区、协议接收缓冲区、协议发送缓冲区。

2.2 软件实现的框架

系统的软件分为系统初始化模块、系统配置模块、协议通信总调度模块、三个协议实现模块及硬件驱动模块。它们分别对应系统软件的不同分层。其中,系统配置模块、协议间通信总调度模块为应用层程序。协议实现模块(LonWorks协议模块、PPI协议模块、CANOpen协议模块)为协议层程序。硬件驱动模块为硬件驱动层程序。其流程图如图3所示。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查