从单片机到嵌入式,我们应该了解什么?我们了解了C语言、单片机、CPU、按键、代码。今天了解一下μC/OS-II操作系统和总线这两部分。
Part6 操作系统认识初步——μC/OS-II
本节我们将对ucosII操作系统有个初步的认识,主要是从下面2个方面进行讲解:
1.UCOSII操作系统的简介
2.UCOSII操作系统组成部分
一、UCOSII操作系统的简介:
μC/OS-II 是一种基于优先级的抢占式多任务实时操作系统,包含了实时内核、任务管理、时间管理、任务间通信同步(信号量,邮箱,消息 队列)和内存管理等功能。它可以使各个任务独立工作,互不干涉,很容易实现准时而且无误执行,使实时应用程序的设计和扩展变得容易,使应用程序的设计过程大为减化。
μC /OS-II是一个完整的、可移植、可固化、可裁剪的占先式实时多任务内核。μC/OS-II绝大部分的代码是用ANSI的C语言编写的,包含一小部分汇编代码,使之可供不同架构的微处理器使用。至今,从8位到64位,μC/OS-II已在超过40种不同架构上的微处理器上运行。μC/OS-II已经在世界范围内得到广泛应用,包括很多领域, 如手机、路由器、集线器、不间断电源、飞行器、医疗设备及工业控制上。实际上,μC/OS-II已经通过了非常严格的测试,并且得到了美国航空管 理局(Federal Aviation Administration)的认证,可以用在飞行器上。这说明μC/OS-II是稳定可靠的,可用于与人性命攸关的安全紧要(safety critical)系统。除此以外,μC/OS-II 的鲜明特点就是源码公开,便于移植和维护。
二、UCOSII操作系统组成部分:
μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。
1) 核心部分(OSCore.c)
是操作系统的处理核心,包括操作系统初始化、操作系统运行、中断进出的前导、时钟节拍、任务调度、事件处理等多部分。能够维持系统基本工作的部分都在这里。
2) 任务处理部分(OSTask.c)
任务处理部分中的内容都是与任务的操作密切相关的。包括任务的建立、删除、挂起、恢复等等。因为μC/OS-II是以任务为基本单位调度的,所以这部分内容也相当重要。
3) 时钟部分(OSTime.c)
μC/OS-II中的最小时钟单位是timetick(时钟节拍)。任务延时等操作是在这里完成的。
深圳单片机培训
4) 深圳单片机培训,任务同步和通信部分
为事件处理部分,包括信号量、邮箱、邮箱队列、事件标志等部分;主要用于任务间的互相联系和对临界资源的访问。
5) 与CPU的接口部分
是指μC/OS-II针对所使用的CPU的移植部分。由于μC/OS-II是一个通用性的操作系统,所以对于关键问题上的实现,还是需要根据具体CPU的具体内容和要求作相应的移植。这部分内容由于牵涉到SP等系统指针,所以通常用汇编语言编写。主要包括中断级任务切换的底层实现、任务级任务切换的底层实现、时钟节拍的产生和处理、中断的相关处理部分等内容。
有了上面基础,是不是感觉操作系统也不是那么深奥了!
Part7 总线,你知多少?
本节我们主要是从下面6个方面进行讲解:
1.总线的简单介绍
2.总线的原理
3.总线的特征
4.总线的分类
5.总线的技术指标
6.传输数据可靠性
一、总线的简单介绍:
其实现实生活中也有很多总线的影子。比如从A地到B地,只能通过船来渡河,并且船一次只能承载一个人,这时候,如果大家蜂拥而上,那么大家都会掉到河里去,轻则都去不了,重则出现死亡。这时,我们可以通过分时来实行,比如多少点是谁坐船过去,人之间的先后顺序如何排序等。这就不知道不觉中运用了总线的时分系统传输性质。
随着网络的发展,现在总线不仅仅局限于时分。还有频分系统、相分系统和码分系统等。只要认真分析,抓住本质东西,总线不是大家想象的那么难理解。
二、总线原理【参考百度百科和网络】
如果说主板(Mother Board)是一座城市,那么总线就像是城市里的公共汽车(bus),能按照固定行车路线,传输来回不停运作的比特(bit)。这些线路在同一时间内都仅能负责传输一个比特。因此,必须同时采用多条线路才能传送更多数据,而总线可同时传输的数据数就称为宽度(width),以比特为单位,总线宽度愈大,传输性能就愈佳。总线的带宽(即单位时间内可以传输的总数据数)为:总线带宽 = 频率 x 宽度(Bytes/sec)。当总线空闲(其他器件都以高阻态形式连接在总线上)且一个器件要与目的器件通信时,发起通信的器件驱动总线,发出地址和数据。其他以高阻态形式连接在总线上的器件如果收到(或能够收到)与自己相符的地址信息后,即接收总线上的数据。发送器件完成通信,将总线让出(输出变为高阻态)。
目前最常见的主要有时分多路复用、频分多路复用和码分多路复用等。
1.时分多路复用(TDMA)
时分复用是将信道按时间加以分割成多个时间段,不同来源的信号会要求在不同的时间段内得到响应,彼此信号的传输时间在时间坐标轴上是不会重叠。
2.频分多路复用(FDMA)
频分复用就是把信道的可用频带划分成若干互不交叠的频段,每路信号经过频率调制后的频谱占用其中的一个频段,以此来实现多路不同频率的信号在同一信道中传输。而当接收端接收到信号后将采用适当的带通滤波器和频率解调器等来恢复原来的信号。
3.码分多路复用(CDMA)
码分多路复用是所被传输的信号都会有各自特定的标识码或地址码,接收端将会根据不同的标识码或地址码来区分公共信道上的传输信息,只有标识码或地址码完全一致的情况下传输信息才会被接收。
总线的通信协议
对于总线的学习,了解其通讯协议是整个过程中最关键的一步,所有介绍总线技术的资料都会花很大的篇幅来描述其协议,特别是ISO/OSI的那七层定义。其实要了解一种总线的协议,最主要的就是去了解总线的帧数据每一位所代表的特性和意义,总线各节点间有效数据的收发都是通过各节点对帧数据位或段的判断和确信来得以实现。