资源描述
单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第十章 网络接口技术,本章学习目标与要求,1.掌握分布式嵌入式系统结构与嵌入式网络通信方式;,2.掌握,I,2,C,总线技术原理、通信方式、编程;,3.掌握,CAN,总线接口技术协议、接口电路、编程技术;,4.掌握以太网接口技术、接口电路、编程方式,5.,掌握,USB,总线接口技术协议、接口电路、编程技术;,6.,掌握,SPI,总线口技术、接口电路、编程方式,(该章内容可以不讲,,5,部分中的每一部分作为课程设计的一个专题,以下的,PPT,可以作为课程设计指导书使用),10.1,概述,嵌入式系统因为体积小、能耗低、功能专一而广泛应用,构造基于网络的嵌入式应用,如普时运算、嵌入式传感器网络等以嵌入式系统为核心,实现信息共享、节约资源。,构造分布式嵌入式系统的网络协议有多种:,RS-485,、,I,2,C,总线协议、,CAN,总线协议、以太网协议等。,1,分布式嵌入式系统结构,处理元素,PE,(,CPU,控制器、存储器、相关,I/O,),通信网络,(,协议、,ISO/OSI,模型的,7,层网络结构,),OSI,模型中的,7,层功能:,物理层,(规定了网络设备间基本的接口特性,电气特性、机械连接特性、位转换功能);,数据链路层,(传输错误检测和控制一条单一链路转发);,网络层,(定义基本的端到端 数据传输服务,主要用于多转发网络);传输曾(定义了面向连接的服务,保证数据按一定的顺序、无差错地在多条链路上传送);会话层(提供网络上终端用户交互的控制机制);表示层(规定数据交换的格式,并且为应用程序提供有效的转换工具);应用层(提供终端用户程序和网络之间的一个应用程序接口)。,10.1.2,嵌入式网络通信方式,点到点通信方式,:建立两个处理元素间的连接(,RS232,),,“,输入信号被输入设备采样,并通过一个点到点的链路传递到滤波器,F1,,然后,F1,的滤波结果通过点到点链路输入到第二个滤波器,F2,,最后,F2,的结果通过点到点链路送到输出设备中,”,。,总线通信方式,:连接到总线上的所有处理,PE,有自己的唯一地址(标识),,分组报文方式,(含有目的地址、被传送的数据、检错信息等),是嵌入式网络常用的通信链路形式。,固定优先级仲裁机制,公平仲裁机制,10.3 CAN,总线接口技术,CAN,总线是目前流行的几类现场总线之一,是一种有效支持分布式控制和实时控制的串行通信网络,应用广泛,了解,SPI,总线的原理,掌握通过,SPI,总线访问器件的方法;,掌握,CAN,总线通讯原理;,编程,CAN,总线控制器,MCP2510,驱动的开发(,1,、添加,CAN,总线驱动的,write,操作,实现,CAN,数据自回环模式的收发。,2,、修改应用程序,实现两台,CAN,总线之间数据的收发。),S3C2410,的,SPI,介绍:,SPI,:同步串行外围接口,允许,MCU,与各种外围设备以串行方式进行通信。,S3C2410,微处理器包括两路,SPI,,每路分别有两个,8,位转移寄存器,用来发送和接收数据。,SPI,引脚,主机输入,/,从机输出数据线,MISO,;,主机输出,/,从机输入数据线,MOSI,;,串行时钟,SCK,片选线,nSS,CAN,全称为,Controller Area Network,,即控制器局域网,是国际上应用最广泛的现场总线之一。,最初,CAN,总线被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置,ECU,之间交换信息,形成汽车电子控制网络。比如,发动机管理系统、变速箱控制器、仪表装备、电子主干系统中均嵌入,CAN,控制装置。,原理,CAN,的主要优点包括:,低成本,极高的总线利用率,很远的数据传输距离,(,长达,10,公里,),高速的数据传输速率(高达,1Mbit/s,),可根据报文的,ID,决定接收或屏蔽该报文,可靠的错误处理和检错机制,发送的信息遭到破坏后可自动重发,节点在错误严重的情况下具有自动退出总线的功能,报文不包含源地址或目标地址仅用标志符来指示功能信息优先级信,原理,一个由,CAN,总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制,例如,当使用,TJA1050,作为,CAN,收发器时,同一网络中允许挂接,110,个节点。,CAN,总线的电气特征,物理介质,,“,显性,”,和,“,隐性,”,CAN,能够使用多种物理介质进行传输,例如:双绞线、光纤等。最常用的就是双绞线。信号使用差分电压传送,两条信号线被称为,CAN_H,和,CAN_L,,静态时均是,2.5V,左右,此时状态表示为逻辑,1,也可以叫做,“,隐性,”,。用,CAN_H,比,CAN_L,高表示逻辑,0,,称为,“,显性,”,。,原理,典型系统实现方法,节点控制器,-S3C2410,微处理器,,CAN,控制器,-MCP2510,、,MCP2515,芯片,,CAN,收发器,-TJA1050,、,TJA1040,芯片。,原理,CAN,总线控制器,MCP2510,支持标准格式和扩展格式的,CAN,数据帧结构,0-8,字节的有效数据长度,支持远程帧,最大,1Mbps,的可编程波特率,两个支持过滤器(,Fliter,、,Mask,)的接收缓冲区,三个发送缓冲区,支持回环(,Loop Back,)模式,SPI,高速串行总线,最大,5MHz,(,4.5V,供电),3V,到,5.5V,供电,CAN,总线的,MAC,帧结构,原理,典型时序读取命令,典型时序单字节写入命令,CAN,波特率,同步段,传输段,相位,1,相位,2,CNF1,CNF2,CNF3,125Kpbs,1,7,4,4,0 x03,0 x9E,0 x03,250Kpbs,1,7,4,4,0 x01,0 x9E,0 x03,500Kpbs,1,7,4,4,0 x00,0 x9E,0 x03,1Mbps,1,3,2,2,0 x00,0 x9E,0 x03,波特率的设置:,通过设置,MCP2510,中的,CNF1,、,CNF2,、,CNF3,三个寄存器,实现不同时钟下,,CAN,总线通讯的波特率的设置。在本实验平台中,,MCP2510,的输入时钟为,16MHz,。,相位,1,与相位,2,以采样点分割,以下内容适合于,linux,操作系统下的编程,代码分析,MCP2510 Write,操作,在,local,处理器上关闭,/,打开中断操作:,local_irq_save(flags);,local_irq_restore(flags);,MCP2510,片选,ENABLE,MCP2510_Enable();,MCP2510,片选,DISABLE,MCP2510_Disable();,CAN,总线单字节写入操作,1,、,SPI,总线发送数据函数:,SendSIOData(),2,、发送单字节写入命令:,0 x10,3,、发送写入的地址,4,、发送写入的内容,Can,总线发送流程,1,、在,s3c2410_fops,结构中添加写接口,2,、用户程序使用,CanData,数据结构给驱动模块传递参数,3,、从用户空间读取待发送的内容,4,、将用户空间传递的数据加以解析,5,、,MCP2510,通过,SPI,接口与处理器传递数据,通过,CanData,结构发送数据:,(1),申请,CanData,大小的空间,char sendbuffersizeof(CanData),(2),判断只操作,CanData,大小的数据结构的情况(其他数量的字节报错返回),(3)copy,数据从用户空间到内核空间中,(4),调用,CAN,总线发送数据函数(注意数据类型),MCP2510_canWrite();,图,
展开阅读全文