时钟节拍的相关资料.doc_第1页
时钟节拍的相关资料.doc_第2页
时钟节拍的相关资料.doc_第3页
时钟节拍的相关资料.doc_第4页
时钟节拍的相关资料.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

时钟节拍1单片机中的协处理器HCS12X系列单片机中的XGATE协处理器是精简指令集(RISC)结构的处理器,它的工作时钟频率是S12X主CPU的2倍。主CPU初始化系统时可决定使用或禁用XGATE。若使用,则XGATE在初始化后就独立地运行,并通过双端口RAM与CPU交换数据,必要时向主CPU发中断请求。XGATE处理完所有的中断后进入休眠态,停止运行,直到下一次中断发生。XGATE比较适合响应的中断主要是加载频率高的中断,或不带通信缓冲区的IO中断,例如SCI发送或接收中断、PWM输出中断等。而对于本身带发送、接收缓冲区的中断(如CAN中断、USB中断等),采用协处理器处理中断优势不明显2 用XGATE实现COS-II的时钟节拍C0S-11的时钟节拍中断可以采用单片机的实时中断(Real-Time Interrupt,RTI)来实现。当然也可以使用定时器中的计数器来产生时钟节拍,原理相同,方法近似。使用XGATE来响应RTI中断,实现时钟节拍时,XGATE协处理器和主CPU的分工如表1所列。XGATE负责响应RTI中断,实现时钟节拍,并完成任务延时计数;在任务延时完成后,通知CPU进行任务调度。另外,XGATE还用来响应其他中断,在需要任务调度时通知CPU。主CPU则只负责运行任务(包括系统任务)和任务调度,只有在需要任务调度时才会加载中断服务子程序。使用XGATE来实现时钟节拍的具体设置步骤如下所述。 S从图1中可以看出,在S12X CPU的寻址空间中,0x10000x3FFF为RAM空间;而对XGATE来说,RAM空间的地址范围为Ox80000xFFFF。如果XGATE的程序直接使用CPU的指针变量,则会导致XGATE访问地址空间0x10000x3FFF,该区域对于XGATE是Flash,从而出错。为了正确地共享指针变量,在XGATE中使用S12x CPU的指针变量时,需要对指针变量进行变换。S12X系列中不同单片机成员的地址分配可能有所不同。以MC9S12XDT512单片机为例,其内部共有8 KB非分页RAM,可全都设为S12X CPU和XGATE的共享内存。这8 KB RAM在S12X CPU中的地址为0x20000x3FFF;而在XGATE中的地址为0xE0000xFFFF,地址偏差为0xC000。因此,在XGATE使用S12X CPU的指针变量时,将指针变量的值加偏移量0xC000,就可以在XGATE程序中正常使用。下面是XGATE程序中一个指针变量变换的代码:2,ucos时钟节拍有什么用; USOC II 要求提供定时中断,以实现延时与超时控制等功能。这个定时中断就是时钟节拍,它应该发生10-100次每秒。时钟节拍的频率越高,系统负荷越重。什么是时钟节拍?时钟节拍是特定的周期性的中断。这个中断可以看作是系统心脏的脉动。中断之间的时间间隔取决于不同应用,一般为10200ms.时钟的节拍式中断使得内核可以将任务延时若干个整数时钟节拍,并且当任务等待事件发生时,提供等待超时的依据。时钟节拍率越快,则系统的额外开销就越大。 时钟节拍跟什么有关呢?如果我按下面的配置/*setupclockfunction*/voidSetupClock(void)RCC_DeInit();/*RCCsystemreset(fordebugpurpose)*/RCC_HSEConfig(RCC_HSE_ON);/*EnableHSE*/*WaittillHSEisready*/while(RCC_GetFlagStatus(RCC_FLAG_HSERDY)=RESET);RCC_HCLKConfig(RCC_SYSCLK_Div1);/*HCLK=SYSCLK*/RCC_PCLK2Config(RCC_HCLK_Div1);/*PCLK2=HCLK*/RCC_PCLK1Config(RCC_HCLK_Div2);/*PCLK1=HCLK/2*/RCC_ADCCLKConfig(RCC_PCLK2_Div4);/*ADCCLK=PCLK2/4*/*(vu32*)0x40022000=0x01;/*Flash2waitstate*/*PLLCLK=8MHz*9=72MHz*/RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);RCC_PLLCmd(ENABLE);/*EnablePLL*/*WaittillPLLisready*/while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)=RESET);/*SelectPLLassystemclocksource*/RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);/*WaittillPLLisusedassystemclocksource*/while(RCC_GetSYSCLKSource()!=0x08);/*EnableUSART1andGPIOAclock*/SysTick_SetReload(90000);SysTick_ITConfig(ENABLE);/*EnableSysTickinterrupt*/这时的时钟节拍是1/9M,如果我按下面配置voidSetupClock(void)/RCC_ClocksTypeDefRCC_ClockFreq;/*SYSCLK,HCLK,PCLK2andPCLK1configuration-*/*RCCsystemreset(fordebugpurpose)*/RCC_DeInit();/*RCCsystemreset(fordebugpurpose)*/RCC_HSICmd(ENABLE);/*WaittillHSEisready*/RCC_HSEConfig(RCC_HSE_OFF);RCC_HSICmd(ENABLE);RCC_HCLKConfig(RCC_SYSCLK_Div2);/*HCLK=SYSCLK*/RCC_PCLK2Config(RCC_HCLK_Div1);/*PCLK2=HCLK*/RCC_PCLK1Config(RCC_HCLK_Div1);/*PCLK1=HCLK/2*/RCC_ADCCLKConfig(RCC_PCLK2_Div8);/*ADCCLK=PCLK2/4*/*(vu32*)0x40022000=0x01;/*Flash2waitstate*/*PLLCLK=8MHz*9=72MHz*/RCC_PLLConfig(RCC_PLLSource_HSI_Div2,RCC_PLLMul_12);RCC_PLLCmd(ENABLE);/*EnablePLL*/*WaittillPLLisready*/while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)=RESET);/*SelectPLLassystemclocksource*/RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);/*WaittillPLLisusedassystemclocksource*/while(RCC_GetSYSCLKSource()!=0x08);/*EnableUSART1andGPIOAclock*/*SysTickeventeach10mswithinputclockequalto9MHz(HCLK/8)*/SysTick_SetReload(90000);/RCC_MCOConfig(RCC_MCO_NoClock);RCC_LSEConfig(RCC_LSE_OFF);/*DisableAPB1PeripheralClock*/RCC-APB1ENR=0x00000000;SysTick_SetReload(1200000/(LCDY*70);SysTick_ITConfig(ENABLE);/*EnableSysTickinterrupt*/这时的节拍是1/3M,这个时钟节拍跟什么有关呢? 系统时钟定时器的周期与驱动的时钟频率和Reload值相关首先,我们称Systick为“系统时钟定时器”。系统时钟定时器的周期与驱动的时钟频率和Reload值相关。驱动系统时钟定时器的时钟源有两个:HCLK或(HCLK/8),通过调用SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK)或SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8)选择。Reload值表示对时钟源脉冲计数多少次为一个系统时钟周期,如当选择时钟源为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论