数据总线(DataBus):在CP必发365U与RAM之间来回传送需要处理或是需要储存的数据

当前位置:必发365 > 必发365 > 数据总线(DataBus):在CP必发365U与RAM之间来回传送需要处理或是需要储存的数据
作者: 必发365|来源: http://www.joelheffner.net|栏目:必发365

文章关键词:必发365,同步时分复用

  ,需要学点啥?(上篇)》,我们了解了C语言、单片机、CPU、按键、代码。今天了解一下μC/OS-II操作系统和总线这两部分。

  本节我们将对ucosII操作系统有个初步的认识,主要是从下面2个方面进行讲解:

  μC/OS-II是一种基于优先级的抢占式多任务实时操作系统,包含了实时内核、任务管理、时间管理、任务间通信同步(信号量,邮箱,消息队列)和内存管理等功能。它可以使各个任务独立工作,互不干涉,很容易实现准时而且无误执行,使实时应用程序的设计和扩展变得容易,使应用程序的设计过程大为减化。

  μC/OS-II是一个完整的、可移植、可固化、可裁剪的占先式实时多任务内核。μC/OS-II绝大部分的代码是用ANSI的C语言编写的,包含一小部分汇编代码,使之可供不同架构的微处理器使用。至今,从8位到64位,μC/OS-II已在超过40种不同架构上的微处理器上运行。μC/OS-II已经在世界范围内得到广泛应用,包括很多领域,如手机、路由器、集线器、不间断电源、飞行器、医疗设备及工业控制上。实际上,μC/OS-II已经通过了非常严格的测试,并且得到了美国航空管理局(FederalAviationAdministration)的认证,可以用在飞行器上。这说明μC/OS-II是稳定可靠的,可用于与人性命攸关的安全紧要(safetycritical)系统。除此以外,μC/OS-II的鲜明特点就是源码公开,便于移植和维护。

  μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。

  是操作系统的处理核心,包括操作系统初始化、操作系统运行、中断进出的前导、时钟节拍、任务调度、事件处理等多部分。能够维持系统基本工作的部分都在这里。

  任务处理部分中的内容都是与任务的操作密切相关的。包括任务的建立、删除、挂起、恢复等等。因为μC/OS-II是以任务为基本单位调度的,所以这部分内容也相当重要。

  μC/OS-II中的最小时钟单位是timetick(时钟节拍)。任务延时等操作是在这里完成的。

  为事件处理部分,包括信号量、邮箱、邮箱队列、事件标志等部分;主要用于任务间的互相联系和对临界资源的访问。

  是指μC/OS-II针对所使用的CPU的移植部分。由于μC/OS-II是一个通用性的操作系统,所以对于关键问题上的实现,还是需要根据具体CPU的具体内容和要求作相应的移植。这部分内容由于牵涉到SP等系统指针,所以通常用汇编语言编写。主要包括中断级任务切换的底层实现、任务级任务切换的底层实现、时钟节拍的产生和处理、中断的相关处理部分等内容。

  其实现实生活中也有很多总线的影子。比如从A地到B地,只能通过船来渡河,必发365并且船一次只能承载一个人,这时候,如果大家蜂拥而上,那么大家都会掉到河里去,轻则都去不了,重则出现死亡。这时,我们可以通过分时来实行,比如多少点是谁坐船过去,人之间的先后顺序如何排序等。这就不知道不觉中运用了总线的时分系统传输性质。

  随着网络的发展,现在总线不仅仅局限于时分。还有频分系统、相分系统和码分系统等。只要认真分析,抓住本质东西,总线不是大家想象的那么难理解。

  如果说主板(MotherBoard)是一座城市,那么总线就像是城市里的公共汽车(bus),能按照固定行车路线,传输来回不停运作的比特(bit)。这些线路在同一时间内都仅能负责传输一个比特。因此,必须同时采用多条线路才能传送更多数据,而总线可同时传输的数据数就称为宽度(width),以比特为单位,总线宽度愈大,传输性能就愈佳。总线的带宽(即单位时间内可以传输的总数据数)为:总线带宽=频率x宽度(Bytes/sec)。当总线空闲(其他器件都以高阻态形式连接在总线上)且一个器件要与目的器件通信时,发起通信的器件驱动总线,发出地址和数据。其他以高阻态形式连接在总线上的器件如果收到(或能够收到)与自己相符的地址信息后,即接收总线上的数据。发送器件完成通信,将总线让出(输出变为高阻态)。

  时分复用是将信道按时间加以分割成多个时间段,不同来源的信号会要求在不同的时间段内得到响应,彼此信号的传输时间在时间坐标轴上是不会重叠。2.频分多路复用(FDMA)

  频分复用就是把信道的可用频带划分成若干互不交叠的频段,每路信号经过频率调制后的频谱占用其中的一个频段,以此来实现多路不同频率的信号在同一信道中传输。而当接收端接收到信号后将采用适当的带通滤波器和频率解调器等来恢复原来的信号。

  码分多路复用是所被传输的信号都会有各自特定的标识码或地址码,接收端将会根据不同的标识码或地址码来区分公共信道上的传输信息,只有标识码或地址码完全一致的情况下传输信息才会被接收。

  对于总线的学习,了解其通讯协议是整个过程中最关键的一步,所有介绍总线技术的资料都会花很大的篇幅来描述其协议,特别是ISO/OSI的那七层定义。其实要了解一种总线的协议,最主要的就是去了解总线的帧数据每一位所代表的特性和意义,总线各节点间有效数据的收发都是通过各节点对帧数据位或段的判断和确信来得以实现。

  如图1所示是常见的I2C总线上传输的一字节数据的数据帧,其总线形式是由数据线SDA和时钟SCL构成的双线制串行总线,并接在总线上的电路模块即可作为发送器(主机)又可作为接收器(从机)。帧数据中除了控制码(包括从机标识码和访问地址码)与数据码外还包括起始信号、结束信号和应答信号。

  控制码:用来选泽操作目标与对象,即接通需要控制的电路,必发365确定控制的种类对象。在读期间,也即SCL时钟线处于时钟脉冲高电平时,SDA上的数据位不会跳变。

  数据码:是主机向从机发送的具体的有用的数据(如对比度、亮度等)和信息。在读期间,SDA上的数据位不会跳变。

  应答信号:接收方收到8bit数据后,向发送方发出特定的低电平。读/写的方向与其它数据位正好相反,也即是由从机写出该低电平,主机来读取该低电平。

  结束信号:SCL为高电平时,SDA由低电平向高电平跳变表示数据帧传输结束。

  当然不同的总线其数据位或段的定义肯定不同,但依据同样的原理可以更快的去了解它的协议的特性和特点。虽然其信息帧的大小不一,但具体的某一数据位或数据段都类似于本文所提及的I2C总线,会依据它的协议的要求来定义它所达标的意义和功能。

  由于总线是连接各个部件的一组信号线。通过信号线上的信号表示信息,通过约定不同信号的先后次序即可约定操作如何实现。

  电气特性是指每一根信号线上的信号方向及表示信号有效的电平范围,通常,由主设备(如CPU)发出的信号称为输出信号(OUT),送入主设备的信号称为输入信号(IN)。通常数据信号和地址信号定义高电平为逻辑1、低电平为逻辑0,控制信号则没有俗成的约定,如WE表示低电平有有效、Ready表示高电平有效。不同总线高电平、低电平的电平范围也无统一的规定,通常与TTL是相符的。

  时间特性又称为逻辑特性,指在总线操作过程中每一根信号线上信号什么时候有效,通过这种信号有效的时序关系约定,确保了总线操作的正确进行。

  为了提高计算机的可拓展性,以及部件及设备的通用性,除了片内总线外,各个部件或设备都采用标准化的形式连接到总线上,并按标准化的方式实现总线上的信息传输。而总线的这些标准化的连接形式及操作方式,统称为总线标准。如ISA、PCI、USB总线标准等,相应的,采用这些标准的总线为ISA总线、PCI总线、USB总线等。

  数据总线(DataBus):在CPU与RAM之间来回传送需要处理或是需要储存的数据。

  串行总线中,二进制数据逐位通过一根数据线发送到目的器件;并行总线根。常见的串行总线等。

  同步总线的时钟信号独立于数据,而异步总线的时钟信号是从数据中提取出来的。SPI、I2C是同步串行总线采用异步串行总线。

  总线的工作时钟频率以MHZ为单位,工作频率越高,总线工作速度越快,总线带宽越宽。

网友评论

我的2016年度评论盘点
还没有评论,快来抢沙发吧!