实验5 系统时钟源
实验五-时间片轮转调度分析
上海应用技术学院程序设计语言实验报告图1图2将本实验文件夹中的multi.exe文件添加到软盘镜像的根目录中。
如图3。
图5图7图8 按F5启动调试。
如图9。
图10BIT_TEST(PspReadyBitmap, PspCurrentThread->Priority) PspReadyThread(PspCurrentThread);图13 按F5启动调试。
如图14。
图14图16 (2)F7生成项目。
如图17。
图18古今名言敏而好学,不耻下问——孔子业精于勤,荒于嬉;行成于思,毁于随——韩愈兴于《诗》,立于礼,成于乐——孔子己所不欲,勿施于人——孔子读书破万卷,下笔如有神——杜甫读书有三到,谓心到,眼到,口到——朱熹立身以立学为先,立学以读书为本——欧阳修读万卷书,行万里路——刘彝黑发不知勤学早,白首方悔读书迟——颜真卿书卷多情似故人,晨昏忧乐每相亲——于谦书犹药也,善读之可以医愚——刘向莫等闲,白了少年头,空悲切——岳飞发奋识遍天下字,立志读尽人间书——苏轼鸟欲高飞先振翅,人求上进先读书——李苦禅立志宜思真品格,读书须尽苦功夫——阮元非淡泊无以明志,非宁静无以致远——诸葛亮熟读唐诗三百首,不会作诗也会吟——孙洙《唐诗三百首序》书到用时方恨少,事非经过不知难——陆游问渠那得清如许,为有源头活水来——朱熹旧书不厌百回读,熟读精思子自知——苏轼书痴者文必工,艺痴者技必良——蒲松龄声明访问者可将本资料提供的内容用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本文档及相关权利人的合法权利。
谢谢合作!。
嵌入式系统led实验报告
嵌入式系统led实验报告嵌入式系统是融合了计算机技术、控制技术和通信技术的复杂系统。
它的应用范围涵盖了从智能家电到工业自动化等多个领域。
在嵌入式系统中,LED的应用非常广泛,它可以用于指示灯、背光源,还可以用于制作LED屏幕等。
本报告基于STM32F103RBT6开发板,介绍了一次LED实验的过程。
一、硬件准备实验所需的硬件包括:1. STM32F103RBT6开发板;2. 顶部插座模块(用于连接LED灯);3. LED灯;4. USB线(用于连接开发板和电脑)。
1. Keil uVision5开发环境;2. STM32 CubeMX配置软件。
三、实验步骤2. 在Pinout&Configuration界面,选择将LED灯连接到开发板的哪个引脚上。
这里选择PC13引脚。
3. 在Clock Configuration界面,设置时钟源和时钟频率。
本实验中,选择HSI时钟源和72MHz的频率。
4. 在Pinout&Configuration界面的USART1选项卡中,开启USART1串口通信。
5. 在Project Manager界面,选择Generate Code,生成代码。
6. 打开Keil uVision5软件,在File菜单中选择New Project,创建新工程。
选择STM32F103C8系列,单片机型号选择STM32F103RBT6,前面板及链接器设置选择STM32F10x。
然后选择Project菜单,点击Options for Target,进入Target Options窗口,将Use MicroLIB选项打钩。
然后在Project Manager界面中找到Inc和Src文件夹,右键选择Add Files to Group并导入STM32CubeMX生成的头文件和代码文件。
```#include "stm32f1xx_hal.h"void SystemClock_Config(void);static void MX_GPIO_Init(void);while (1){HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13); //LED亮灭HAL_Delay(100); //延时100ms}}void SystemClock_Config(void){RCC_OscInitTypeDef RCC_OscInitStruct;RCC_ClkInitTypeDef RCC_ClkInitStruct;__HAL_RCC_PWR_CLK_ENABLE();__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;RCC_OscInitStruct.HSIState = RCC_HSI_ON;RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI_DIV2;RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK){_Error_Handler(__FILE__, __LINE__);}HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);}__HAL_RCC_GPIOC_CLK_ENABLE();GPIO_InitStruct.Pin = GPIO_PIN_13;GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);}```8. 保存代码并使用USB线将开发板和电脑连接起来。
实验5 虚拟仪器的使用
实验五虚拟仪器的使用一、实验目的1 了解虚拟仪器的特点;2 掌握虚拟示波器的使用方法;3 掌握虚拟频谱分析仪的用途和使用方法;4 掌握虚拟逻辑分析仪的用途和使用方法。
二、USB口DSO-2902/512K型测试仪简介1 主菜单2 基本配置:(1)DSO-2902金属铝外壳.(2)1个逻辑POD盒(每个逻辑盒有8个通道).(3)2个HP9100探头.(4)10根彩色线和E-Z牌测试夹(5)USB2.0适配器及线一套.(6)直流电源一个.(7)测控软件光盘CD一张.3操作指南(1)硬件当用DSO-2902/2904数字存储示波器/逻辑分析仪进行测量时,意味着被测电路的数据特性是事先知道的。
在进行任何测量之前,示波器必须设定控制程序。
见手册后面里的部分关于这些步骤的介绍。
连接数字存储示波器到测试电路, 有二个标准的BNC探头,每个探头对应一个模拟通道,有一个逻辑POD盒连接在主机上,并有一系列迷你夹子连到POD盒上,在示波器探头一端有一个可插拔的探测夹和一鳄鱼形状的夹子接地,逻辑分析仪POD盒可接8个通道(D0-D7)或16个通道DSO-2904(D0-D15)的输入端,D0 通道还可用做外部时钟输入端,还有4个接地输入端。
数据通道可同步进行捕捉,外部时钟源连接在D0 通道。
有时,把测试电路同计算机系统本身连接也是必要的,这样做,将消除由于接地电压的微小差别而导致测试应用时产生更多的噪音。
特别是在高速时域分析下,用比较粗的线连接测试电路地和计算机外壳是必要的。
每一个模拟通道探头上都有一个效验调节螺钉,初次使用时必须效验,每年做二次效验是必要的,见示波器效验一章。
注意:当用探头连接信号时,被测信号的电压必须满足DSO29XX电压测量范围之内,请查看技术指标有关绝对输入电压值,一定要在许可范围之内。
在探头1:1状态下,瞬态电压:100V,连续电压:50V。
逻辑分析仪Pod盒的标记内容:D0-D7 是dso2902的数据输入通道D0-D15 是dso2904的数据输入通道GND 是连接信号地连线和测试夹同POD盒构成一个模块,连线和测试夹,与POD是可拆卸的,测试夹可测量电路到0.64mm,不要使测试夹超过它的使用极限,以免造成测试夹更大的损坏。
通信原理实验5
实验五抽样定理实验一、实验目的1、了解抽样定理在通信系统中的重要性。
2、掌握自然抽样及平顶抽样的实现方法。
3、理解低通采样定理的原理。
4、理解实际的抽样系统。
5、理解低通滤波器的幅频特性对抽样信号恢复的影响。
6、理解低通滤波器的相频特性对抽样信号恢复的影响。
7、理解带通采样定理的原理。
二、实验器材1、主控&信号源、3号模块各一块2、双踪示波器一台3、连接线若干三、实验原理1、实验原理框图图1-1 抽样定理实验框图2、实验框图说明抽样信号由抽样电路产生。
将输入的被抽样信号与抽样脉冲相乘就可以得到自然抽样信号,自然抽样的信号经过保持电路得到平顶抽样信号。
平顶抽样和自然抽样信号是通过开关S1切换输出的。
抽样信号的恢复是将抽样信号经过低通滤波器,即可得到恢复的信号。
这里滤波器可以选用抗混叠滤波器(8阶3.4kHz的巴特沃斯低通滤波器)或FPGA数字滤波器(有FIR、IIR两种)。
反sinc滤波器不是用来恢复抽样信号的,而是用来应对孔径失真现象。
要注意,这里的数字滤波器是借用的信源编译码部分的端口。
在做本实验时与信源编译码的内容没有联系。
四、实验步骤实验项目一抽样信号观测及抽样定理验证概述:通过不同频率的抽样时钟,从时域和频域两方面观测自然抽样和平顶抽样的输出波形,以及信号恢复的混叠情况,从而了解不同抽样方式的输出差异和联系,验证抽样定理。
信号源:MUSIC 模块3:TH1(被抽样信号)将被抽样信号送入抽样单元信号源:A-OUT 模块3:TH2(抽样脉冲)提供抽样时钟模块3:TH3(抽样输出)模块3:TH5(LPF-IN) 送入模拟低通滤波器2、开电,设置主控菜单,选择【主菜单】→【通信原理】→【抽样定理】。
调节主控模块的W1使A-out输出峰峰值为3V。
3、此时实验系统初始状态为:被抽样信号MUSIC为幅度4V、频率3K+1K正弦合成波。
抽样脉冲A-OUT为幅度3V、频率9KHz、占空比20%的方波。
嵌入式系统实验报告
嵌入式系统实验报告学号:姓名:班级:13电子信息工程指导老师:苏州大学电子信息学院2016年12月实验一:一个灯的闪烁1、实验要求实现PF6-10端口所连接的任意一个LED灯点亮2、电路原理图图1 LED灯硬件连接图3、软件分析RCC_Configuration(); /* 配置系统时钟*/GPIO_Configuration(); /* 配置GPIO IO口初始化*/ for(;;){GPIOF->ODR = 0xfcff; /* PF8=0 --> 点亮D3 */Delay(1000000);GPIOF->ODR = 0xffff; /* PF8=1 --> 熄灭D3 */Delay(1000000);4、实验现象通过对GPIOF8的操作,可以使LED3闪烁5、实验总结这是第一次使用STM32开发板,主要内容是对IO端口进行配置,点亮与IO端口相连接的LED灯,闪烁周期为2S。
通过本实验对STM32开发板的硬件原理有了初步了解。
实验二:流水灯1、实验要求实现PF6-10端口所连接的5个LED灯顺次亮灭2、电路原理图图1 流水灯硬件连接图3、软件分析int main(void){RCC_Configuration();/* 配置系统时钟*/GPIO_Configuration();/* 配置GPIO IO 口初始化*/for(;;){GPIOF->ODR = 0xffbf;/* PF6=0 --> 点亮LED1 */Delay(5000000);GPIOF->ODR = 0xff7f;/* PF7=0 --> 点亮LED2 */Delay(5000000);GPIOF->ODR = 0xfeff;/* PF8=0 --> 点亮LED3 */Delay(5000000);GPIOF->ODR = 0xfdff;/* PF9=0 --> 点亮LED4 */Delay(5000000);GPIOF->ODR = 0xfbff;/* PF10=0 --> 点亮LED5 */ }}4、实验现象LED1~LED5依次点亮,亮灭的时间间隔都为1S。
实验五Tomasulo算法
实验五 Tomasulo算法5.1 实验目的1.加深对指令级并行性及其开发的理解;2.加深对Tomasulo算法的理解;3.掌握Tomasulo算法在指令流出、执行、写结果各阶段对浮点操作指令以及load和store指令进行什么处理;4.掌握采用了Tomasulo算法的浮点处理部件的结构;5.掌握保留站的结构;6.给定被执行代码片段,对于具体某个时钟周期,能够写出保留站、指令状态表以及浮点寄存器状态表内容的变化情况。
5.2 实验平台Tomasulo算法模拟器,《计算机系统结构实践教程》附书光盘中提供,清华大学出版社。
设计:张晨曦教授(*******************),版权所有。
开发:刘璐。
5.3 实验内容及步骤首先要掌握Tomasulo模拟器的使用方法。
(见5.4节)1. 假设浮点功能部件的延迟时间为:加减法2个时钟周期,乘法10个时钟周期,除法40个时钟周期。
(1)对于下面的代码段,给出当指令MUL.D即将确认时,保留站、load缓冲器以及寄存器状态表中的内容。
L.D F6, 34(R2)L.D F2, 45(R3)MUL.D F0, F2, F4SUB.D F8, F6, F2DIV.D F10, F0, F6ADD.D F6, F8, F2(2)按步进方式执行上述代码,利用模拟器的“小三角按钮”的对比显示功能,观察每一个时钟周期前后各信息表中内容的变化情况。
2. 对于与上面相同的延迟时间和代码段,(1)给出在第5个时钟周期时,保留站的内容;(2)步进10个时钟周期,给出这时保留站、load缓冲器以及寄存器状态表中的内容;(3)再步进10个时钟周期,给出这时保留站、load缓冲器以及寄存器状态表中的内容。
3. 假设浮点功能部件的延迟时间为:加减法3个时钟周期,乘法8个时钟周期,除法40个时钟周期。
自己编写一段程序(要在实验报告中给出),重复上述2的工作。
5.4 Tomasulo算法模拟器使用方法1.设置指令和参数本模拟器最多可以模拟10条指令。
最新数字钟实验报告
最新数字钟实验报告实验目的:本实验旨在设计并构建一个数字时钟,通过编程和电子组件的使用,实现时间的精确显示和设置。
实验过程中,我们将学习如何使用微控制器、数码管显示以及编写相应的软件代码来控制时钟的运行。
实验材料:1. 微控制器(如Arduino UNO)2. 数码管显示模块3. 电阻、电容4. 跳线5. 电源适配器6. 编程软件(如Arduino IDE)实验步骤:1. 准备实验材料,并确保所有组件完好无损。
2. 连接微控制器与数码管显示模块,通过跳线将数码管的各个引脚与微控制器对应引脚相连。
3. 在Arduino IDE中编写数字钟的程序代码,包括时间设置、显示更新和闹钟功能。
4. 将编写好的代码上传至微控制器中。
5. 连接电源,测试数字钟是否能够正常运行,包括时间的显示、设置和闹钟功能。
6. 调整代码中的参数,确保时间显示的准确性和稳定性。
7. 记录实验数据和观察结果,对出现的问题进行分析和调试。
实验结果:通过实验,我们成功构建了一个数字钟,它能够显示小时、分钟和秒。
用户可以通过特定的按钮组合来设置时间,并且设定闹钟。
在测试过程中,时钟的显示准确无误,设置功能也运作正常。
闹钟在设定的时间准时响起,满足了实验的基本要求。
实验结论:本次实验验证了通过微控制器和数码管可以成功实现数字钟的设计和功能。
实验过程中遇到的问题主要涉及代码的优化和硬件的稳定性,通过调整代码和重新检查硬件连接,问题得到了解决。
最终,我们得到了一个功能完善、运行稳定的数字钟原型。
数字控制系统实验五报告
《数字控制系统》实验报告专业:班级:学号:姓名:电气工程及其自动化实验中心实验五积分分离法PID控制一、实验目的1、了解PID参数的整定方法及对系统性能的影响;2、掌握积分分离法PID控制规律。
二、实验设备PC机一台,TD-ACC+实验系统一套,SST51系统板一块。
三、实验原理和内容1、运算原理在模拟调节系统中,PID算法表达式为:为控制器输入;为控制器输出。
在计算机系统中,离散的数字PID算法可以表示为位置PID控制算式::采样周期,:采样序号,:第次采样调节器输出,:第次采样误差值,:第次采样误差值。
2、实验原理典型的PID闭环控制系统方框图如图3-1所示图3-1硬件电路原理及接线图如图3-2所示图3-2上图中,用P1.7来模拟1#定时器的输出,通过“OUT1”排针引出,方波周期=定时器时常2,“IRQ7”表示51的外部中断1,用作采样中断,“DIN0”表示51的I/O管脚P1.0,在这里作为输入管脚用来检测信号是否同步。
系统误差信号E通过模数转换单元“IN7”端输入,控制机的定时器作为基准时钟(初始化为10ms),定时采集“IN7”端的信号,并通过采样中断读入信号E的数字量,并进行PID计算,得到相应的控制量,再把控制量送到数模转换单元,由“OUT1”端输出相应的模拟信号,来控制对象系统。
在一般的PID控制中,当有较大的扰动或大幅度改变给定值时,会有较大的误差,以及系统有惯性和滞后,因此在积分分项的作用下,往往会使系统超调变大,过渡时间变长。
为此,可采用积分分离法PID控制算法,即:当误差较大时,取消积分作用;当误差较小时,才将积分作用加入。
3、参考程序流程图积分分离法PID控制实验的参考程序流程图如下图所示:图3-3参考程序请参照example51目录中的ACC-3-2-1文件夹中的A CC-3-2-1.Uv2。
为了便于实验参数的调整,分析讨论PID参数对系统性能的影响:(1)增大比例系数K P一般讲加快系统的响应,再有静差的情况下有利于减少静差。
实验五 数字振荡器实验
实验五 数字振荡器实验一、实验目的本实验属于综合性实验,在项目开发中,我们经常要用产生某一频率的正弦振荡信号,比如在电话通信中,用两个不同频率的正弦信号的叠加来代表按键。
正弦信号的生成方法有三种,计算法、查表法和数字振荡器。
用计算法求正弦波的离散序列值程序设计容易,但实际应用时会占用计算时间,使系统运行速度变慢。
查表法是先通过matlab 将正弦波的序列值计算出来并寄存在存储器中,运行时只要按顺序和一定的速度取出便可。
这种方法要占用较多的存储空间,但是速度快。
第三种方法是利用数字振荡器来实现不同频率信号的叠加,这种方法通过迭代的方法计算出不同频率的正弦信号序列,结构简单,运算速度快,节省内存,因此在DSP 实际应用中我们选择这种方法。
数字振荡器的本质是,使用一个IIR (Infinite Impulse Response )滤波器,通过把它的极点放在单位圆上面来产生振荡。
利用正弦波sinx 的指数形式)(21sin jx jxe e j x --=可以得到正弦序列x(n)的Z 变换为)(21)sin(][jnwT jnwTe e j T n n x --==ϖ110011[()]()(X )2z 2jnwT jnwT n jwT n jwT nn n e e z e z e z j j ∞∞-----==⎡⎤-=-⎣⎦=∑∑() 12jwT jwT z z j z e z e -⎡⎤=-⎢⎥--⎣⎦222122cos()1jwT jwT z ze z ze j z z wT -⎡⎤--+=⎢⎥-+⎣⎦22sin()2cos()1z wT Czz z wT z Az B==-+--,此式在|z|>1时成立,且)sin(,1),cos(2wT C B wT A =-==。
根据Z 变换的基本原理和性质,序列x[n]及其Z 变换X (z )之间存在一一对应的关系,即对于给定的X (z ),可以通过反Z 变换,唯一地确定x[n]。
DSP实验:常用指令及数据存储实验
DSP实验一:常用指令及数据存储实验一、实验目的1、了解DSP开发系统的组成和结构;2、熟悉DSP开发系统的连接;3、熟悉CCS的开发界面;4、熟悉C54X系列的寻址系统;5、熟悉常用C54X系统指令的用法6、掌握TMS320C54的程序空间和数据空间的分配7、熟悉操作TMS320C54数据空间的指令二、实验设备计算机、CCS2.0版软件,DSP仿真器、实验箱。
三、实验系统相关资源1、DSP芯片引脚XF连接LED5,可通过ssbx,rsbx改变XF的值来控制LED52、系统时钟频率为10MHz3、TMS320VC54存储器分配图四、实验步骤1、用仿真机将计算机与数字信号处理实验箱连接好,并依次打开实验箱电源、仿真机电源,然后运行CCS软件。
2、新建一个工程:点击Project-new,输入项目名Exp1, 并将工程文件保存在自己定义的文件夹下,注意文件夹一定要用英文名,不要将文件夹取名为中文名,因为CCS软件不能识别以中文命名的文件夹。
3、编写源程序:3.1 新建一个源文件File-New-Source File,出现文本编辑窗口3.2 复制以下代码到编辑窗口;File Name:exp01.asm;the program is compiled at no autoinitialization mode.mmregs.global _main;声明_main可被其他模块引用,程序加载到目标板后,;会自动跳转到标号为_main的汇编指令STACK: .usect ".stack",10h.text_main:stm #STACK+10h,sp ;设置堆栈指针STM #0, CLKMD ; (to divider mode before setting) TstStatu1:LDM CLKMD, AAND #01b, A ;poll STATUS bitBC TstStatu1, ANEQSTM #0xF7FF, CLKMD ; set C5402 DSP clock to 10MHz loop:ssbx xf ;将XF置1,熄灭LED5call delay ;调用延时子程序,延时rsbx xf ;将XF置0,点亮LED5call delay ;调用延时子程序,b loop ;程序跳转到"loop";延时子程序delay:stm 270fh,ar3 ; 270fh=9999loop1:stm 0f9h,ar4 ; 0f9h=249loop2:banz loop2,*ar4-banz loop1,*ar3-ret.end注意:(1)源代码的书写有一定的格式,每一行代码分为三个区:标号区、指令区和注释区。
淮海工学院计算机组成原理实验五
淮海工学院计算机工程学院实验报告书课程名《计算机组成原理》题目:微控制器实验班级:计算机131学号:2013122699姓名:李健伟一、实验目的1、掌握时序信号发生电路组成原理。
2、掌握微程序控制器的设计思想和组成原理。
3、掌握微程序的编制、写入,观察微程序的运行。
二、实验原理实验所用的时序电路原理如图2.6.1所示,可产生4个等间隔的时序信号TS1~TS4 ,其中SP为时钟信号,由实验机上时钟源提供,可产生频率及脉宽可调的方波信号。
学生可根据实验要求自行选择方波信号的频率及脉宽。
为了便于控制程序的运行,时序电路发生器设计了一个启停控制触发器UN1B,使TS1~TS4信号输出可控。
图中“运行方式”、“运行控制”、“启动运行”三个信号分别是来自实验机上三个开关。
当“运行控制”开关置为“运行”,“运行方式”开关置为“连续”时,一旦按下“启动运行”开关,运行触发器UN1B的输出QT一直处于“1”状态,因此时序信号TS1~TS4将周而复始地发送出去;当“运行控制”开关置为“运行”,“运行方式”开关置为“单步”时,一旦按下“启动运行”开关,机器便处于单步运行状态,即此时只发送一个CPU周期的时序信号就停机。
利用单步方式,每次只运行一条微指令,停机后可以观察微指令的代码和当前微指令的执行结果。
另外,当实验机连续运行时,如果“运行方式”开关置“单步”位置,也会使实验机停机。
⑴微程序控制电路微程序控制器的组成如图2.6.2,其中控制存储器采用3片E2PROM 2816芯片,具有掉电保护功能,微命令寄存器18位,用两片8D触发器74LS273(U23、U24)和一片4D 触发器74LS175(U27)组成。
微地址寄存器6位,用三片正沿触发的双D触发器74LS74(U14~U16)组成,它们带有清“0”端和预置端。
在不判别测试的情况下,T2时刻打入微地址寄存器的内容即为下一条微指令地址。
当T4时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态,完成地址修改。
5试验五、SDH 链型组网配置实验
试验五 SDH 链型组网配置实验一、实验目的通过本实验了解2M业务在链型组网方式时候的配置。
二、实验器材1、OSN2000设备1套,Optix 155/622H设备2套2、实验用维护终端若干三、实验内容说明采用链形组网方式时,需要3套SDH设备。
要求配置成条链,采用链形组网方式时,需要3套SDH设备。
ODF光配线架连接图如下:数据准备说明:1、SDH传输设备中“线路”对应着光接口。
2、SDH传输设备中“支路”对应着2M/34M/以太网等电接口。
3、容器/虚容器和线路支路的对应关系2M---C12(容器12)-VC12 (虚容器12):1个VC12对应着1个2M34M-C3-VC3140M-C4-VC4SDH配置注意事项:1、线路的区分:左西右东,左边是西光口,右边是东光口。
2、主环方向:一般选择逆时针为主环。
便于我们做光纤连接,形成有效的保护环。
3、光口(155M)和2M业务的收发关系:链形/点对点:(双向业务),光信号变成电信号同在一个光口完成。
环形:单向业务,一般指单向通道保护环,光信号变成电信号在两个光口完成。
4、穿通概念:如果业务不在该站站点上下,就有可能在该站点穿通,如环/链组网中的ADM,穿通是针对于ADM网元所讲。
穿通是针对于某个VC4中的VC12/VC3 而言的。
5、创建单板:根据各个单板所在的槽位进行物理位置和逻辑位置的映射。
6、双向和单向区别:站A到站B的业务(2M)和站B到站A的业务所经过的站点如果是同一路由,则该业务为双向业务。
否则为单向业务。
7、时钟的配置原则:选取其中一个站点时钟为自由震荡。
其他站点时钟跟踪该站点时钟。
(即跟踪线路方向时钟)8、网关网元的选择:a、选择直接用维护网口和维护计算机相连的网元为网关网元。
b、其他网元(站点)为非网关网元,这些网元和计算机通信经过DCC通路。
c、在一个传输网络中,网关网元只有1个,其他都是非网关网元。
四、实验步骤注意:1、实验前为避免引起不必要的冲突,参与实验的学生均在实验指导老师的安排下,采用不同的用户名登陆。
实验五——电子秒表显示器
实验课程:单片机原理及应用实验名称:实验五 ----电子秒表显示器 实验日期:2013年4月 12 日 一、 实验目的掌握定时/计数器的工作原理,熟悉定时/计数器中断法编程与调试内容。
二、 实验内容1、 按图绘制实验五电路原理图:2、采用12MHz 晶振,50ms T0定时方式1 +中断(20次中断为1s )法编程:3、 实现如下功能 程序运行开始时先显示“ 00” ,随后显示数值逐渐增大。
待计数到 59后,自动从“ 00”开始。
4、 观察仿真结果,完成实验报告。
三、 实验要求提交的实验报告中应包括电路原理图,T0定时方式1中断原理阐述,源程序(含编程分析与源程序),运行效果图,实验小结。
提交实验报告的电子邮件主题及存盘 1、电路原理图电路分析 上图为实验原理图。
电路由 80C51芯片,两个开关LED 显示器,电阻,还包括 时钟电路和复位电路组成。
上拉电阻接在P0 口,因为P0 口内部没有上拉电阻,为使漏极开路有效,必须通过外接上拉电阻与电源连通。
数码管的初始显示值为 00:当1s 产生时,秒计数器加1:秒计数到60时清零,并从“00” 重新开始,如此周而复始的进行下去。
定时器T0每50ms 产生一次中断,每产生20次中断时, 秒计数器加1并将数值显示在数码管上,其中P0 口显示十位,P1 口显示个位,定时1s 无限循 环。
2、T0定时方式1中断原理阐述当M1M0=01时(定时器的工作与方式 1。
方式1为16位的定时/计数器,满计数值为2A 16,1 Pt.O.KOy I A JIPL3.AJJPf LI P(.6.X ;4FC J &.A ZGPCJ.'J C T 吃跑I 名.wmP2.4W : 讯a 鬭jnI-Lr:..Ir-1C2XprL.1科T 甩1F3£^XD Pin 讥=^7/wrn飞MFTF3JJTC^.7Wr?Lrj 二初值不能自动重装。
定时器Tx工作于方式1的逻辑结构框图如下图,当Tx工作于方式由THx作为高8位,TLx作为低8位,构成一个16位的计数器。
实验五TIM定时器实验
实验五 TIM定时器实验一、实验目的了解TIM定时器的原理与应用二、实验内容1.对TIM3定时器进行控制,使得PB5-TIM3通道2产生频率为12.5Hz的方波,该方波控制LED1的闪烁。
(特定频率产生)2.对周期进行设置,控制通用定时器3的2通道,实现1KHz的不同占空比波形,用于控制LED1亮度的明暗渐变。
(PWM脉冲宽度调制)三、实验仪器、设备计算机、开发板、keil软件四、软件程序设计1、频率产生控制LED闪烁实验根据任务要求,程序内容主要包括:①配置TIM3的通道2为输出比较模式(预分频系数设置为63),TIM3_CCR2=45000。
②在相应的TIM3定时器中断服务处理程序中根据定时器的值翻转输出电平。
以输出方波。
整个工程包含4类源文件:FWLIB--stm32f10x_gpio.c ST公司的标准库,包含了关于对通用IO口设置的函数。
stm32f10x_rcc.c ST公司的标准库,包含了关于对系统时钟设置的函数。
stm32f10x_USART.c ST公司的标准库,包含了关于对USART设置的函数。
stm32f10x_flash.c ST公司的标准库,包含了关于对flash设置的函数。
Misc.c ST公司的标准库,包含了关于中断设置的函数。
CM3—是关于CORETEX-M3平台的系统函数及定义App—main.c 例程的主函数。
App—tim.c 定时器3的设置。
App--stm32f10x_it.c 中断服务程序主函数如下://__________________________________________________________int main(void){/* System Clocks Configuration --72M*/RCC_Configuration();/* NVIC configuration *//*嵌套向量中断控制器说明了定时器3抢占优先级级别0(最多1位),和子优先级级别0(最多7位) */NVIC_Configuration();/*定时器3的初始化*/time_ini();while(1);}void time_ini(void){GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB , ENABLE);RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);/* GPIOA Configuration: Channel 1 Output */GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //PB5复用为TIM3的通道2GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB, &GPIO_InitStructure);GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3 , ENABLE);//TIM3局部复用功能开启在TIM3的局部复用开启时,PB5会被复用为TIM3_CH2/* Time Base configuration *//*-------------------------------------------------------------------TIM3CLK=72MHz 预分频系数Prescaler=63 经过分频定时器时钟为1.125MHz捕获/比较寄存器2 TIM3_CCR2= CCR2_Val2通道产生的更新频率是=1.125MHz/CCR2_Val=25Hz-------------------------------------------------------------------*/TIM3_TimeBaseStructure.TIM_Prescaler = 63; //预分频器TIM3_PSC=63TIM3_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //计数器向上计数模式 TIM3_CR1[4]=0TIM3_TimeBaseStructure.TIM_Period =0xffff; //自动重装载寄存器TIM3_APRTIM3_TimeBaseStructure.TIM_ClockDivision = 0x0; //时钟分频因子 TIM3_CR1[9:8]=00TIM_TimeBaseInit(TIM3,&TIM3_TimeBaseStructure); //写TIM3各寄存器参数TIM3_OCInitStructure.TIM_OCMode = TIM_OCMode_Toggle ; //TIM3_CCMR1[14:12]=011 翻转当TIM3_CCR2=TIM3_CNT时,翻转OC2REF的电平 TIM3_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //输入/捕获2输出允许 OC2信号输出到对应的输出引脚PB5TIM3_OCInitStructure.TIM_Pulse =CCR2_Val; //若CC1通道配置为输出:CCR2是装入当前捕获/比较2 TIM3_CCR2寄存器的值(预装载值)。
实验五 计数器的设计——实验报告
实验五计数器的设计——实验报告一、实验目的本次实验的主要目的是设计并实现一个计数器,通过实际操作深入理解计数器的工作原理和逻辑电路的设计方法,提高对数字电路的分析和设计能力。
二、实验原理计数器是一种能够对输入脉冲进行计数的数字电路。
它可以按照不同的计数方式,如加法计数、减法计数或可逆计数,来记录脉冲的个数。
在本次实验中,我们采用的是基于数字逻辑芯片的设计方法。
通过组合逻辑门(如与门、或门、非门等)和时序逻辑元件(如触发器)来构建计数器的电路。
常见的计数器类型有二进制计数器、十进制计数器等。
二进制计数器每输入一个脉冲,计数值就增加 1,当计数值达到最大值(如 4 位二进制计数器的最大值为 15)时,再输入一个脉冲就会回到 0 重新开始计数。
十进制计数器则是按照十进制的规律进行计数。
三、实验设备与材料1、数字电路实验箱2、 74LS161 计数器芯片3、 74LS00 与非门芯片4、 74LS04 非门芯片5、导线若干四、实验内容与步骤1、设计一个 4 位二进制加法计数器首先,将 74LS161 芯片插入实验箱的插槽中。
按照芯片的引脚功能,将时钟脉冲输入端(CLK)连接到实验箱的脉冲源,将清零端(CLR)和置数端(LD)连接到高电平,使计数器处于正常计数状态。
将计数器的输出端(Q3、Q2、Q1、Q0)连接到实验箱的指示灯,以便观察计数结果。
打开脉冲源,观察指示灯的变化,验证计数器是否正常进行加法计数。
2、设计一个 4 位十进制加法计数器在上述 4 位二进制加法计数器的基础上,通过使用与非门和非门等芯片对输出进行译码,将二进制计数值转换为十进制。
具体来说,当二进制计数值达到 1001(即十进制的 9)时,产生一个进位信号,将计数器清零,从而实现十进制计数。
3、设计一个可逆计数器(可加可减)为了实现可逆计数,需要增加一个控制端(U/D)来决定计数器是进行加法计数还是减法计数。
当 U/D 为高电平时,计数器进行加法计数;当 U/D 为低电平时,计数器进行减法计数。
实验五 PCM编译码
实验五 PCM编译码实验一、实验目的1.理解PCM编译码原理及PCM编译码性能;2.熟悉PCM编译码专用集成芯片的功能和使用方法及各种时钟间的关系;3.熟悉语音数字化技术的主要指标及测量方法。
二、实验仪器1.RZ9681实验平台2.实验模块:∙主控模块∙信源编码与时分复用模块-A33.100M四通道示波器4.信号连接线三、实验原理3.1抽样信号的量化原理模拟信号抽样后变成在时间离散的信号后,必须经过量化才成为数字信号。
模拟信号的量化分为均匀量化和非均匀量化两种。
把输入模拟信号的取值域按等距离分割的量化就称为均匀量化,每个量化区间的量化电平均取在各区间的中点,如下图所示。
qmqmqmqmqmq图3.1.2.1 均匀量化过程示意图均匀量化的主要缺点是无论抽样值大小如何,量化噪声的均方根值都固定不变。
因此,当信号()m t较小时,则信号量化噪声功率比也很小。
这样,对于弱信号时的量化信噪比就难以达到给定的要求。
通常把满足信噪比要求的输入信号取值范围定义为动态范围,那么,均匀量化时的信号动态范围将受到较大的限制。
为了克服这个缺点,实际中往往采用非均匀量化的方法。
非均匀量化是根据信号的不同区间来确定量化间隔的。
对于信号取值小的区间,其量化间隔v D 也小;反之,量化间隔就大。
非均匀量化与均匀量化相比,有两个突出的优点:首先,当输入量化器的信号具有非均匀分布的概率密度(实际中往往是这样)时,非均匀量化器的输出端可以得到较高的平均信号量化噪声功率比;其次,非均匀量化时,量化噪声功率的均方根值基本上与信号抽样值成比例,因此量化噪声对大、小信号的影响大致相同,即改善了小信号时的信噪比。
非均匀量化的实际过程通常是将抽样值压缩后再进行均匀量化。
现在广泛采用两种对数压缩,美国采用μ压缩律,我国和欧洲各国均采用A 压缩律。
本实验中PCM 编码方式也是采用A 压缩律。
A 律压扩特性是连续曲线,实际中往往都采用近似于A 律函数规律的13折线(A=87.6)的压扩特性。
实验5步进电机控制
实验五PWM配置及步进电机控制一、实验目的1. 了解步进电机驱动原理;2. 了解步进电机的控制原理;3. 熟悉使用PWM控制步进电机的运行。
二、实验主要内容1. DSP的初始化;2. ePWM模块初始化与配置;3. 步进电机的驱动程序。
三、实验基本原理1. 步进电机的驱动:图1 是单极性步进电机驱动的典型电路,图中的方块为驱动开关。
针对SEED-DEC 中直流电机系统的动作要求,步进电机驱动电路设计思路如下:1)电机采用15V直流电源供电;2)4路控制信号由DSP提供,信号为CMOS标准电平,通过排线接入并下拉;3)使用达林顿管TIP31C代替IRL549作为电机驱动开关,基级串接100欧电阻减小MOS管的寄生震荡;4)使用快速二极管IN4007完成保护功能,以免电机换向时烧毁电机;图 1 步进电机驱动电路2. 步进电机的控制一般分为四相四拍与四相八拍两种方式,其中前者称为全步,后者称为半步。
步进电机在这个实验中选择的时M35SP-7N,其步进角为7.5°,是一种单极性步进电机。
它的结构如图2:图 2 步进电机结构四、实验过程和关键程序解读1. 启动CCS,进入CCS的操作环境,并导入stepmotor工程。
2. 加载stepmotor工程,添加xml文件3. 阅读源代码1)初始化系统控制寄存器与要使用的GPIO:2)关中断、初始化PIE、初始化PIE向量表3)关ePWM时钟,配置后打开时钟,并更新中断向量表4)ePWM初始化函数(以EPwm1为例):EPWM2的其他配置与1相同,不用的在于一些事件产生的动作不同:其产生的pwm波为CMPAABCD线圈按照ACBD的次序导通步进电机接线示意图(2b-A、1b-B、1a-C、2a-D):则步进电机顺时针旋转4. 按照老师要求修改源代码1)改变步进电机的转速在使用直流电机时,通常是用占空比来调节转速的,但是在步进电机中,是通过改变PWM的频率来调整的,因为在一个PWM周期中,步进电机改变的相位是一样的,所以PWM频率越高,改变相同相位就越快,所以转速也越快,程序中我们只需改变TBPRD的值即可。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
int i; while(1) {
/* 选择16MHz RC振荡器作为系统时钟源(主时钟源) ,然后闪烁 LED */
SystemClockSourceSelect(RC_16MHz); for(i=0;i<8;i++)
BlinkLeds();
/* 选择32MHz晶体振荡器作为系统时钟源(主时钟源) ,然后闪烁
实验 5 系统时钟源(主时钟源)的选择
【实验目的】 通过本实验的学习,使实验者熟悉 CC2530 芯片系统时钟源(主时钟源)的 选择,掌握高速晶体振荡器或 RC 振荡器的配置和使用。 【实验内容】 编写 IAR 程序,实现分别选择 32MHz 晶体振荡器和 16MHz RC 振荡器作为 CC253x 系列片上系统的系统时钟源(主时钟源);并查看相同的 LED 闪烁代码在 这两种时钟源下的闪烁速度的区别。 【实验原理】 在 PM0 功耗模式下,可配置 32MHz 晶体振荡器或者 16MHz RC 振荡器作为系 统时钟,设置系统时钟需要操作两个缓存器 CLKCONCMD(时钟控制缓存器,如表 4-1 所示)和 SLEEPCMD(睡眠模式控制缓存器,如表 4-2 所示),高速时钟系统 如 图 1-23 所 示 , CLKCONCMD.OSC 用 于 选 择 系 统 时 钟 为 XTAL 或 RC , SLEEPCMD.MODE[1:0]设置为系统功耗模式为 0。
/************************************************************* ******** * 函数名称:main * 功 能:main函数入口 * 入口参数:无 * 出口参数:无 * 返 回 值:无
************************************************************** ******/ void main(void) {
16MHz RC振荡器
CLKCONCMD.TICKSPD[b5..b3] = 001 定时器tick设置为16MHz
CLKCONCMD.CLKSPD[b2..b0] = 001 时钟速度设置为16MHz
*/
if(source == RC_16MHz)
{
CLKCONCMD &= 0x80;
CLKCONCMD |= 0x49; //01001001
/************************************************************* *******/ #include "ioCC2530.h" // CC2530的头文件,包含对CC2530的寄存器、 中断向量等的定义 /************************************************************* *******/
* 功 能:选择系统时钟源(主时钟源)
* 入口参数:source
*
XOSC_32MHz 32MHz晶体振荡器
*
RC_16MHz 16MHz RC振荡器
* 出口参数:无
* 返 回 值:无
************************************************************** ******/ void SystemClockSourceSelect(enum SYSCLK_SRC source) {
CLKCONCMD.CLKSPD[b2..b0] = 000 时钟速度设置为32MHz
*/
else if(source == XOSC_32MHz)
{
CLKCONCMD &= 0x80;
}
/* 等待所选择的系统时钟源(主时钟源)稳定 */
clkconcmd = CLKCONCMD;
// 读取时钟控制寄存器
CLKCONCMD
do
{
clkconsta = CLKCONSTA;
// 读取时钟状态寄存器
CLKCONSTA
}while(clkconsta != clkconcmd); // 直到CLKCONSTA寄存器的值与
CLKCONCMD寄存
// 器的值一致,说明所选
择的系统时钟源(主
// 时钟源)已经稳定 }
/************************************************************* ******** * 函数名称:BlinkLeds * 功 能:闪烁LED * 入口参数:无 * 出口参数:无 * 返 回 值:无
************************************************************** ******/ void BlinkLeds(void) //闪烁LED {
unsigned char j; for(i = 0; i < time; i++) { for(j = 0; j < 240; j++)
{ asm("NOP"); // asm是内嵌汇编,nop是空操作,执行一个 指令周期
asm("NOP"); asm("NOP"); } } }
/************************************************************* ******** * 函数名称:init * 功 能:初始化系统IO,定时器T1控制状态寄存器 * 入口参数:无 * 出口参数:无 * 返 回 值:无
unsigned char clkconcmd,clkconsta;
/*
系统时钟源(主时钟源)选择16MHz RC振荡器,定时器tick设置为
16MHz,时钟速度设置为16MHz
CLKCONCMD.OSC32K[b7]不改变
32KHz时钟源选择保持先前设
置
CLKCONCMD.OSC[b6] = 1
系统时钟源(主时钟源)选择
LED */ SystemClockSourceSelect(XOSC_32MHz); for(i=0;i<8;i++) BlinkLeds();
}
} 3. 配置项目设置 参照实验 1 的操作步骤,配置项目设置。 4. 下载程序到 CC2530 参照实验 1 的操作步骤,下载程序到 CC2530 进行调试。 【思考题】 1. 为什么指示灯闪烁的频率不一样? 2. 可以设置比 32M 更高的频率吗?
/************************************************************* ******** * 函数名称:delay * 功 能:软件延时
* 入口参数:无 * 出口参数:无 * 返 回 值:无
************************************************************** ******/ void delay(unsigned int time) { unsigned int i;
}
/*
系统时钟源(主时钟源)选择32MHz晶体振荡器,定时器tick设置为
32MHz,时钟速度设置为32MHz
CLKCONCMD.OSC32K[b7]不改变
32KHz时钟源选择保持先前设
置
CLKCONCMD.OSC[b6] = 0
系统时钟源(主时钟源)选择
32MHz晶体振荡器
CLKCONCMD.TICKSPD[b5..b3] = 000 定时器tick设置为32MHz
LED3 = !LED3; LED4 = !LED4; delay(30000); // 延时 }
/************************************************************* ********
* 函数名称:SystemClockSourceSelect
/* 定义枚举类型 */ /************************************************************* *******/ enum SYSCLK_SRC{XOSC_32MHz,RC_16MHz}; // 定义系统时钟源(主时 钟源)枚举类型 /************************************************************* *******/ //定义led灯端口:p1.3, p1.4: #define LED3 P1_3 // P1_3定义为P1.3 #define LED4 P1_4 // P1_4定义为P1.4
图 1-23 高速时钟系统示意图
【实验步骤】 1.建立一个新项目 参照实验 1 操作步骤,在指定路径建立一个新的工作空间“Test05”,在该 空间下新建一个 IAR 项目“clockPrj.ewp” 并保存。 2.添加或新建程序文件 参照实验 1 的操作步骤, 往项目中添加或者新建程序文件 clock.c。 【实验相关代码】
************************************************************** ******/
void init(void) { P1SEL &= ~0x18;
P1DIR |= 0x018 ; LED3 = 0; LED4 =0; //灭 通IO口 // 设置LED3、LED4为输出