收藏 分享(赏)

嵌入式系统(第5章 嵌入式系统硬件平台与接口设计).ppt

上传人:精品资料 文档编号:10800318 上传时间:2020-01-10 格式:PPT 页数:120 大小:1.97MB
下载 相关 举报
嵌入式系统(第5章 嵌入式系统硬件平台与接口设计).ppt_第1页
第1页 / 共120页
嵌入式系统(第5章 嵌入式系统硬件平台与接口设计).ppt_第2页
第2页 / 共120页
嵌入式系统(第5章 嵌入式系统硬件平台与接口设计).ppt_第3页
第3页 / 共120页
嵌入式系统(第5章 嵌入式系统硬件平台与接口设计).ppt_第4页
第4页 / 共120页
嵌入式系统(第5章 嵌入式系统硬件平台与接口设计).ppt_第5页
第5页 / 共120页
点击查看更多>>
资源描述

1、嵌入式系统设计 ARM与C/OS-第5章 基于ARM的嵌入式硬件结构设计,嵌入式系统的软/硬件框架,3,嵌入式系统的设计步骤,1)需求分析阶段,分析用户的需求 确定硬件软件 检查需求分析的结果 确定项目的约束条件 概要设计,需求分析-罗列用户的需求,(1)系统用于什么任务? (2)系统从用户或其他源接收什么输入? (3)系统从用户或其他源输出什么? (4)用户想要如何同系统打交道? (5)系统的重量和体积如何? (6)系统连接何种外设? (7)系统是否需要运行某些现存的软件? (8)系统处理哪种类型的数据? (9)系统是否要与别的系统通讯? (10)系统是单机还是网络系统?,需求分析-罗列用户

2、的需求,(11)系统的响应时间是多少? (12)需要什么安全措施? (13)系统在什么样的环境下运行? (14)外部存储媒介和内存需要多大? (15)系统的可拆装性,可靠性和牢固性的期望值是什么 (16)如何给系统供电? (17)系统如何向用户通报故障? (18)是否需要任何手动或机械代用装置? (19)系统是否将具有远程诊断或更正问题的功能? (20)其他问题,2)体系结构设计,决定因素 系统是硬实时系统还是软实时系统 操作系统是否需要嵌入 物理系统的成本、尺寸和耗电量是否是产品成功的关键因素 选择处理器和相关硬件 其他,3)详细设计阶段-硬件与软件划分,决定哪些用硬件实现,哪些用软件实现?

3、 例如: 浮点运算 网络通信控制器实现的功能 软调制解调器/硬调制解调器 软件压缩解压/硬件压缩解压图像,详细设计阶段-硬件设计,设计硬件子系统:top-down方法 分成模块 设计框图 例:CPU子系统、存储器子系统等 定义硬件接口 I/O端口 硬件寄存器 共享内存 硬件中断 存储器空间分配 处理器的运行速度,详细设计阶段-软件设计,设计软件子系统 总体设计、模块设计 定义软件接口模块接口、函数接口,详细设计阶段-检查设计,小项目 自己审查设计文档 中等项目 拿给同事朋友并向他们解释你的设计 大型项目-审查会 设计者应作一个更正式的报告。由于这是一个设计审查会,召集一群人,主要由工程师组成,

4、并尽可能包括一些对项目有不同看法角度的成员,如做市场的人员、最终用户,4)系统集成把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进设计过程中的错误。 5)系统测试对设计好的系统进行测试,看其是否满足给定的要求。,嵌入式系统的硬件体系结构,基于ARM和FPGA的嵌入式系统可重构设计,S3C2410的内部结构,2410的存储器系统, 可通过软件选择大小端 地址空间:每个Bank 128Mbytes (总共 1GB) 共 8 个banks 6个Bank用于控制 ROM, SRAM, etc. 剩余的两个Bank用于控制 ROM, SRAM, SDRAM, etc . 除 bank0 (1

5、6/32-bit) 外,所有的Bank都可以通过编程选择总线宽度= (8/16/32-bit) 7个Bank固定起始地址; 最后一个Bank可调整起始地址; 最后两个Bank大小可编程 所有Bank存储周期可编程控制;,S3C2410的存储器配置,实验平台的体系结构,基于ARM的嵌入式系统硬件结构设计,主要介绍基于ARM7的嵌入式硬件开发平台的设计方法,包括结构、主要接口、存储器选用方案以及外设、显示等方面的内容。 嵌入式硬件开发平台的体系结构 外围存储器接口设计方法 键盘、LCD等人机交互接口的设计 触摸屏的设计 以太网设计,基于ARM的嵌入式硬件平台体系结构,ARM实验平台与PC机连接关系

6、框图,嵌入式开发板与PC机的串行通讯,嵌入式开发板和PC机的通讯电缆可以按照如图所示的方式连接。,ARM架构的处理器有的带有指令快存和数据快存。但是片内都不带有RAM和ROM。 系统所需的RAM和ROM(包括闪存)都通过总线外接。 快存(Cache)是一种小容量、高速度的存储器,用于处理器与主存之间存放当前被使用的主存内容,以减少访问主存的等待时间。,25,高速缓冲存储器工作原理,存储系统的构成分析,以基于S3C44B0X的存储系统为例: 支持数据存储的大/小端选择(通过外部引脚和程序进行选择) 地址空间:具有8个存储体,每个存储体可达32Mb,总共可达256MB。 对所有存储体的访问大小均可

7、进行改变(8位16位32位) 8个Bank中,Bank0Bank5可支持ROM、SRAM;Bank6、Bank7可支持ROM、SRAM和EDOSDRAM等。,典型系统中存储体的分配情况,系统的存储空间分配,Bank0:1片2MB NOR Flash,放置系统引导程序,系统上电复位后,PC指针自动指向Bank0的第一个单元,进行系统自举。以便从硬盘中将系统文件和用户应用程序复制到SDRAM内存中执行。 Bank1:非线性寻址。Bank1上接16M NAND Flash,当做系统硬盘使用,可以构造文件系统,存放海量数据。 用SDRAM当作系统内存,只有Bank6/Bank7能支持SDRAM,所以将

8、SDRAM接在Bank6上。 Bank2:PDIUSBD12。USB设备端接口芯片,占用系统外部中断0。8位数据总线。,Bank5:RTL8019AS,ISA总线兼容的10M以太网(PHYMAC层)控制芯片。占用系统外部中断1,16位数据总线;扩展IO口 Bank6:SDRAM,起始地址为0xC000000。在SDRAM中,前512Kbyte的空间划分出来,作为系统的LCD显示缓冲区使用(更新其中的数据,就可以更新LCD的显示)。系统的程序存储空间从0xC080000开始。也就是,引导系统的时候,需要把system.bin文件复制到0xC080000开始的地址空间,把PC指针指向0xC0800

9、00。,3) Boot Loader的任务,Boot Loader是系统加电后首先运行的一段代码,完成整个系统的加载启动任务。它首先完成系统硬件的初始化,包括时钟的设置、存储器的映射等。并设置堆栈指针,然后跳转到操作系统内核入口,如系统在加电或复位时通常从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的Boot Loader程序。 每种嵌入式微处理器体系结构都有不同的Boot Loader。通常, Boot Loader只有几十KB的大小,其作用相当于普通pc机的BIOS,是在系统复位后执行的第一段代码,Boot Loader 的操作模式,启动加载模式(Autonomou

10、s) : Boot Loader 从目标机的固体存储设备上将操作系统加载到RAM中运行,整个过程并没有用户的介入。这种模式是 Boot Loader 的正常工作模式,因此在嵌入式产品发布的时侯,Boot Loader 显然必须工作在这种模式下。,下载模式:目标机中的Boot Loader 通过串口或网络连接等通信手段从宿主机上下载文件,如操作系统的内核映像和根文件的映像等。从宿主级上下载的文件通常首先被Boot Loader 保存到目标机的RAM中,然后再被Boot Loader 写到目标机的Flash中。这种模式通常在第1次安装操作系统内核和根文件系统时被使用,另外系统更新时也会使用这种方式

11、。,4)存储管理单元MMU,虚拟内存管理占用了相当一部分系统资源,因此在系统资源非常有限的嵌入式系统中可不采用虚拟内存管理,使用不带有MMU的微处理器。这样要采用动态内存管理方式,即当程序的某一部分需要使用内存时,利用操作系统提供的分配函数来处理,一旦使用完毕,可通过释放函数来释放所占用的内存,这样内存就可以重复使用。,但在具有MMU的ARM系统中,存储管理单元MMU主要完成工作: 虚拟存储空间到物理存储空间的映射。在ARM中采用了页式虚拟存储管理。 存储器访问权限的控制。 设置虚拟存储空间的缓冲的特性。,2410的UART,S3C2410A 的UART (Universal Asynchro

12、nous Receiver and Transmitter) 提供了三个独立的异步串行I/O口,每一个都可以工作在中断模式或DMA模式,即UART可以产生中断或DMA请求以在CPU和UART之前传送数据,使用系统时钟,UART最高可以支持230.4K bps 的位传输率。 如果采用外部带时钟的UART,则UART可以实现更度速度的传输; 每个UART包括2个16Byte的接收/发送FIFO。,UART控制框图,异步串行通讯简介,在一条传输线上完成单向传输。将传输数据的字符一位接一位的传送。接收方对于同一条线上的一连串连续数学信号,首先将其分割成位,再按位组成字符。每个字符需要确定起始位和结束位

13、,字符与字符间还可能有长度不定的空闲时间,因此传输效率较低。,字符串行输出格式:,发送前:线路处于空闲状态,连续发送 “1” 开始发送:首先,发送一位起始位 “0”然后,发送连续的二进制位,数据位可以为5、6、7、8随后,紧跟一位奇偶校验位(可选择奇/偶/无校验)最后,发送停止位 “1”,可以有1位、1.5位或2位停止位,串行通讯硬件规范及连接方法,EIA RS-232C物理特征: DB-25 DB-15 DB-9 信号连线:保护地、TXD/RXD、RTS/CTS、DCD、 DSR、DTR、R1电平规定:-5V -15V 之间的电平表示逻辑 “1”+5V +15V 之间的电平表示逻辑 “0”,

14、UART的操作,串口初始化,发送数据,接收数据,人机交互接口,嵌入式开发板与PC机的串行通讯,嵌入式开发板和PC机的通讯电缆可以按照如图所示的方式连接。,人机交互接口,LCD显示模块 液晶显示是一种被动的显示,它不能发光,只能使用周围环境的光。它显示图案或字符只需很小能量。液晶显示所用的液晶材料是一种兼有液态和固体双重性质的有机物,它的棒状结构在液晶盒内一般平行排列,但在电场作用下能改变其排列方向,LCD有三种显示方式,LCD有三种显示方式:反射型,透射型和透反射型。 (1)反射型LCD的底偏光片后面加了一块反射板,它一般在户外和光线良好的办公室使用。 (2)透射型LCD的底偏光片是透射偏光片

15、,它需要连续使用背光源,一般在光线差的环境使用。 (3)透反射型LCD是处于以上两者之间,底偏光片能部分反光,一般也带背光源,光线好的时候,可关掉背光源;光线差时,可点亮背光源使用LCD。,反射型LCD的结构,LCD显示方式还分正性和负性。正性LCD呈现白底黑字,在反射和透反射型LCD中显示最佳;负性LCD呈现黑底白字,一般用于透射型LCD,加上背光源,字体清晰,易于阅读。,LCD通常有两种方式,一种是带有驱动芯片的LCD模块,基本上属于半成品 如果有需要,也可以直接使用芯片上的内置LCD控制器来构造显示模块,它可以支持彩色/灰度/单色三种模式,灰度模式下可支持4级灰度和16级灰度,彩色模式下

16、最多支持256色.,嵌入式处理器与LCD的连接,嵌入式处理器,LCD模块,数据总线,寄存器选择,使能信号,键盘模块,键盘模块可以用来输入数字型数据或者选择控制设备的操作模式。 键盘有两种方案:一是采用现有的一些芯片实现键盘扫描;再就是用软件实现键盘扫描。嵌入式控制器的功能很强,能允分利用这一资源。,简单键盘电路,按键抖动,一个瞬时接触开关(按钮)放置在每一行与线一列的交叉点。矩阵所需的键的数目显然根据应用程序而不同。每一行由一个输出端口的一位驱动,而每一列由一个电阻器上拉且供给输入端口一位。,A1 A2 A3,A1 A2 A3,键盘扫描过程就是让微处理器按有规律的时间间隔查看键盘矩阵,以确定是

17、否有键被按下。每个键被分配一个称为扫描码的唯一标识符。应用程序利用该扫描码,根据按下的键来判定应该采取什么行动。,触摸屏设计,触摸屏分类,电阻式触摸屏 表面声波触摸屏 红外式触摸屏 电容式触摸屏,电阻式触摸屏,电阻技术触摸屏是一种对外界完全隔离的工作环境,故不怕灰尘、水汽和油污,可以用任何物体来触摸,比较适合工业控制领域及办公室内使用。 分为四线电阻和五线电阻触摸屏,四线电阻触摸屏原理,测量原理,在触摸点X、Y坐标的测量过程中,测量电压与测量点的等效电路图所示,图中P为测量点,X,V,Y,Y,ARM JTAG调试,什么是JTAG?,JTAG是Joint Test Action Group的缩写

18、; 是IEEE1149.1标准 JTAG的建立使得集成电路固定在PCB上,只通过边界扫描便可以被测试 在ARM7TDMI处理器中,可以通过JTAG直接控制ARM的内部总线,IO口等信息,从而达到调试的目的,几种常用的调试方法,指令集模拟器一种利用PC机端的仿真开发软件模拟调试的方法。 驻留监控软件驻留监控程序运行在目标板上,PC机端调试软件可通过并口、串口、网口与之交互,以完成程序执行、存储器及寄存器读写、断点设置等任务 JTAG仿真器通过ARM芯片的JTAG边界扫描口与ARM核进行通信,不占用目标板的资源,是目前使用最广泛的调试手段 在线仿真器(In-Circuit Emulator,ICE

19、)使用仿真头代替目标板上的CPU,可以完全仿真ARM芯片的行为。但结构较复杂,价格昂贵,通常用于ARM硬件开发中,ARM的JTAG调试结构,Angel,JTAG,宿主机调试器,宿主机调试器通过固定的协议控制下位机(协议转换器)。比如,SDT中通过Angel协议或者第三方调试器所提供的协议 宿主机调试器只发送宏观的命令,比如: 程序运行、终止。读内存、ARM寄存器等 通讯的介质可以是串口、并口、以太网、USB等,JTAG与Angel,JTAG调试:协议转换器解释上位机传送过来的命令,通过JTAG控制ARM执行。 Angel调试:协议转换器可以直接做为目标板的Firmware(固件)的一部分。直接

20、执行从宿主机传送过来的调试命令;并回送相应的数据。 Angel可以节省专门的JTAG仿真器,但是,它需要软件,或者是嵌入式操作系统的支持,做不到完全的实时仿真。而JTAG仿真是通过硬件和控制ARM的EmbeddedICE实现的,可以做到实时仿真。,实验二讲解,键盘及LED驱动实验,一、实验目的 1学习键盘及LED 驱动原理。 2掌握zlg7289 芯片的使用方法。 二、实验内容通过zlg7289 芯片驱动12 键(3 x 4)的键盘和8 个共阴极LED,将按键值在LED 上显示出来。,ZLG7289A的指令分为三种类型:纯指令、带有数据的指令和读键盘数据指令。,复位指令 WriteSDIO(0

21、xA4) 测试指令 WriteSDIO(0xBF) 左移指令 WriteSDIO(0xA1) 右移指令 WriteSDIO(0xA0),ZLG7289纯指令(单字节指令),双字节指令(长度为16位,分两次传送),写数据指令(方式0译码) WriteSDIO(0x8?); ?指定位,即在第几个数码管 上显示,开发板最左边管为 No.1, 依次类推,见下表 WriteSDIO(?); ? 是欲显示的数字(09),写数据指令(方式1译码) WriteSDIO(0xC?);WriteSDIO(?); 含义同上条指令 消隐指令 WriteSDIO(0x98); WriteSDIO(0x?);?中的每一个

22、二进制位均对应着一个数码管,0=消隐,1=显示,闪烁指令WriteSDIO(0x88); WriteSDIO(0x?);?中的每一个二进制位均对应着一个数码管,0=闪烁,1=不闪,需要动手编写的内容:在zlg7289.c中7289驱动函数,Zlg 7289复位子函数流程图,从7289读取键值流程图,ZLG7289_ENABLE(),ZLG7289_DISABLE(),读取键制值 ReadSDIO( ),发送读取键值命令 WriteSDIO(0x15),main.c中主函数流程图,main.c中主函数流程图,7289命令字定义,DEF.h中定义的数据类型: #define U32 unsigne

23、d int #define BOOL int #define U16 unsigned short #define S32 int #define S16 short int #define U8 unsigned char #define S8 char #define u32 unsigned int #define u16 unsigned short #define s32 int #define s16 short int #define u8 unsigned char #define s8 char,嵌入式以太网设计,以太网接口的基本知识,1、传输编码 曼彻斯特编码 差分曼彻斯特

24、编码,以太网协议,以太网MAC层物理传输帧 (IEEE802.3 ),PR: 同步位,收发双方的时钟同步,也指明传输的速率(10M、100M) SD: 分隔位,表示下面跟着的是真正的数据,而不是同步时钟 DA: 目的地址,以太网的地址为48位地址。如果为都为F,则是广播地址 SA: 源地址,48位,表明该帧的数据是哪个网卡发的,即发送端的网卡地址 TYPE:类型字段,表明该帧的数据是什么类型的数据。如:0800H 表示数 据为IP包,0806H表示数据为ARP包,814CH是SNMP包,8137H为IPX/SPX包 DATA:数据段,该段数据不能超过1500字节。 PAD: 填充位。以太网帧传

25、输的数据包最小不能小于60字节, 当数据段不足 46字节时,后面补000000.(当然也可以补其它值) FCS: 32位CRC数据校验位。该校验由网卡自动完成,以太网的数据传输特点,PR,SD,PAD,FCS这几个数据段是由网卡自动产生的;只需要理解DA、SA、TYPE、DATA四个段的内容 所有数据位的传输由低位开始(传输的位流使用曼彻斯特编码) 以太网的冲突退避算法是由硬件自动执行的 DA+SA+TYPE+DATA+PAD最小为60字节,最大为1514字节 以太网卡可以接收三种地址的数据,一个是广播地位,一个是多播地址(在嵌入式的环境中一般不用),一个是它自已的地址 任何两个网卡的物理地址

26、都是不一样的,是世界上唯一的,网卡地址由专门机构分配。,嵌入式的以太网方案,嵌入式处理器网卡芯片(RTL8019) 对嵌入式处理器没有特殊要求,通用性强 处理器和网络数据交换通过外部总线,速度慢,不适合于100M网络 带有以太网络接口的嵌入式处理器 处理器面向网络应用 处理器和网络数据交换通过内部总线,速度快,RTL8019的原理框图,嵌入式网络接口的特点,与常规的网卡设计思路不同的是,在嵌入式系统中,系统的精简一直是个主要的原则。RTL8019AS作为网卡,时需要一片EEPROM作为配置存储器,来确定通讯的端口地址,中断地址,网卡的物理地址,工作模式,制造厂商等信息;而在嵌入式系统中,可以使

27、用RTL8019AS的默认配置和一些管脚作为网卡的初始化方法。这样可以节省配置存储器,减小嵌入式硬件平台的体积。,基于RTL8019在嵌入式以太网设计,1 RTL8019AS的初始化RTL8019支持即插即用模式和非即插即用模式。在嵌入式系统中,网卡的外设通常是不经常插拔的,所以,为了系统的精简,配置RTL8019为非即插即用模式。有着固定的中断,有着固定的端口地址,假设是端口是0x300(这里的端口是相对于ISA总线来说的端口,对于ARM的总线,需要重新计算地址)。这些配置可以通过RTL8019的外部管脚,在系统上电复位的时候,自动配置起来。,关于RTL8019的RAM,RTL8019含有1

28、6K字节的RAM,地址为0x4000-0x7fff(指的是RTL8019内部的存储地址,而不是ISA总线的地址,是RTL8019工作用的存储器,可以通过远程DMA访问),每256个字节称为一页,共有64页。页的地址就是地址的高8位,页地址为0x40-0x7f。这16k的ram的一部分用来存放接收的数据包,一部分用来存储待发送的数据包,2 通过RTL8019AS发送数据,作为一个集成的以太网芯片,数据的发送校验,总线数据包的碰撞检测与避免是由芯片自己完成的。我们只需要配置发送数据的物理层地址的源地址、目的地址、数据包类型以及发送的数据就可以了。,3、通过RTL8019AS接收数据,在RTL801

29、9的初始化程序中已经设置好了接收缓冲区的位置,并且配置好了中断的模式。当有一个正确的数据包到达的时候,RTL8019会产生一个中断信号,在ARM中断处理程序中,接收数据。 数据的接收比较简单,即通过远端DMA把数据从RTL8019的RAM空间读回ARM中处理。,TCP/IP 协议的层次,嵌入式以太网中主要处理的协议,ARP(Address Resolation Protocol) 地址解析协议 ICMP (Internet Control Messages Protocol) 网络控制报文协议 IP(Internet Protocol) 网际协议 TCP(Transfer Control Pr

30、otocol) 传输控制协议 UDP(User Datagram Protocol) 用户数据包协议,ARP地址解析协议,网络层用32 bit的IP地址来标识不同的主机,而链路层使用48 bit的物理(MAC)地址来标识不同的以太网接口。只知道目的主机的IP地址并不能发送数据帧给它,必须知道目的主机网络接口的MAC地址才能发送数据帧。 ARP的功能是实现从IP地址到对应物理地址的转换。 源主机发送一份包含目的主机IP地址的ARP请求数据帧给网上的每个主机,称作ARP广播,目的主机的ARP收到这份广播报文后,识别出这是发送端在寻问它的IP地址,于是发送一个包含目的主机IP地址及对应的MAC地址的

31、ARP回答给源主机。 每台主机上都有一个ARP高速缓存,存放最近的IP地址到硬件地址之间的映射记录。通常每一项的生存时间为20分钟,ICMP网络控制报文协议,IP层的附属协议,IP层用它来与其他主机或路由器交换错误报文和其他重要控制信息。 ICMP报文是在IP数据包内部被传输的。 两个实用的网络诊断工具,Ping和Traceroute(Tracert),都是利用该协议工作的。,IP网际协议,IP工作在网络层,是TCP/IP协议族中最为核心的协议。所有的TCP,UDP,ICMP以及IGMP数据都以IP数据包格式传输。 IP数据包最长可达65535字节,其中报头占32 bit的数目。包含各32 b

32、it的源IP地址和目的IP地址。在嵌入式应用中,简化设计,IP数据包长度等于数据链路层的数据长度。,TCP传输控制协议,TCP是一个面向连接的可靠的传输层协议。TCP为两台主机提供高可靠性的端到端数据通信。主要包括: 发送方把应用程序交给它的数据分成合适的小块,并添加附加信息(TCP头),包括顺序号,源、目的端口,控制、纠错信息等字段,称为TCP数据包。并将TCP数据包交给下面的网络层处理。 接受方确认接收到的TCP数据包,重组并将数据送往高层。,UDP协议,UDP是一种无连接不可靠的传输层协议。 把应用程序传来的数据加上UDP头(包括端口号,段长等字段),作为UDP数据包发送出去,但是并不保

33、证它们能到达目的地。可靠性由应用层来提供。就象发送一封写有地址的一般信件,却不保证它能到达。,关于端口,TCP和UDP采用16位的端口号来识别上层的TCP用户,即上层应用协议如FTP,TELNET等。 常见的TCP/IP服务都用1255之间的端口号。例如FTP服务的TCP端口号都是21,Telnet服务的TCP端口号都是23 2561023之间的端口号通常都是提供一些特定的Unix服务 TCP/IP临时端口分配10245000之间的端口号,基于ARM和uCOS-II的TCP/IP协议,向ARM和uC/OS移植一个TCP/IP协议栈采用uC/OS自带的TCP/IP协议栈,移植TCP/IP协议栈需

34、要注意的问题,字节对齐问题 代码A: 代码B: struct _A _packed struct _B unsigned char time; unsigned char time; unsigned int data; unsigned int data; A; B;结构体A是成员4字节的存储方式(sizeof(struct A)=8),结构体B是成员非4字节的存储方式(sizeof(struct B)=5)。在内存中的存储结构,如图6-35所示。,BSD套接字(BSD Sockets),BSD Sockets使用的最广泛的网络程序编程方法,主要用于应用程序的编写,用于网络上主机与主机之间的

35、相互通信 UNIX,Linux,VxWorks均支持BSD Sockets,Windows的Winsock基本上是来自BSD Sockets Socket分为Stream Sockets和Data Sockets Stream Sockets是可靠性的双向数据传输,使用TCP协议 Data Sockets是不可靠连接,使用UDP协议,套接字的使用,UDP服务器端和一个UDP客户端通信的程序过程 创建一个Socket sFd =socket (AF_INET, SOCK_DGRAM, 0) 把Socket和本机的IP,UDP口绑定 bind (sFd, (struct sockaddr *) &

36、serverAddr, sockAddrSize) 循环等待,接收(recvfrom)或者发送(sendfrom)信息 关闭Socket,通信终止 close (sFd),CAN总线设计,CAN总线概述,Controller Area Network,控制器局域网,现场总线之一。 是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。 主要应用于汽车电控制系统、电梯控制系统、安全监控系统、医疗仪器、纺织机械、船舶运输等方面 CiA(CAN in Automation)为全球应用CAN技术的权威。,CAN总线特点,低成本远距离传输(长达10Km

37、)高速的数据传输速率(高达1Mbit/s)可根据报文的ID决定接收或屏蔽该报文 可靠的错误处理和检错机制发送的信息遭到破坏后,可自动重发 节点在错误严重的情况下具有自动退出总 线的功能,CAN总线控制器体系结构,协议控制器,状态/控制 寄存器,消息对象,接收缓冲区,宿主机 接口,总线接口,CAN总线,CAN总线扩展芯片,SJA1000Philips独立CAN控制器,替代82C200,支持CAN2.0AB,同时支持11位和29位ID,位速率可达1M,具有总线仲裁功能,扩展的接收缓冲器(64字节、先进先出FIFO),增强的环境温度范围(-40-+125)。 82C250CAN总线收发器, 是CAN

38、协议控制器和物理总线之间的接口,该器件对总线提供差动发送能力并对CAN控制器提供差动额接收能力,有很强的抗电磁干扰(EMI)的能力 ,至少可挂110个节点。 TJA1050替代82C250产品,电磁辐射更低 ,无待机模式,ARM与CAN连接的电路图,原理说明,ARM和SJA1000以总线方式连接,SJA1000的复用总线和ARM的数据总线连接。SJA1000的片选、读写信号均采用ARM总线信号,ALE信号由读写信号和地址信号通过GAL产生。在写SJA1000寄存器时,首先往总线的一个地址写数据,作为地址,读写信号无效,ALE变化产生锁存信号;然后写另外一个地址,读写信号有效,作为数据。上述逻辑

39、完全通过GAL产生。 控制CAN总线时首先初始化各寄存器,目前采用BASIC CAN方式。发送数据时首先置位命令寄存器,然后写发送缓冲区,最后置位请求发送。接收通过查询状态寄存器,读取接收缓冲区获得信息。,CAN 总线 时序 图,ARM 总线 时序 图,需要注意的问题,ALE问题。由于ARM总线非复用,而SJA1000总线复用,所以必须通过逻辑产生地址锁存信号ALE,在本例中该信号由一位地址信号和写信号逻辑产生。 电平问题。由于ARM信号为3.3伏,而CAN总线控制器电平为5伏,所以所有信号之间均需要电平转换,本例中使用了QS34X245作为电平转换芯片。 电阻问题。CAN总线需要在两线间加一个120欧电阻。,CAN高层协议,CAN总线每次可以发送十个字节的信息(CAN2.0A)。发送的第一字节和第二字节的前3位为ID号,第四位为远程帧标记,后四位为有效字节长度,软件设置时可以根据ID号选择是否屏蔽上述信息。也可以通过设置硬件产生自动验收滤波器。八个有效字节内部代表何种参数,可以自行定义内部标准,也可以参照DeviceNet等应用层协议。,CAN总线应用工程机械智能监控器,系统框图,工程机械智能监控器体系结构,嵌入式工程机械智能监控器,监控中心端控制软件,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报