计算模拟I2C的传输速率

在编写I2C器件的驱动时,经常会看到手册中提及该器件的最高传输速率,如:


而在配置寄存器实现I2C中也是需要配置I2C的传输速率,如:


但模拟I2C的速率该如何计算?

首先一般I2C速率的单位是kbit/s,I2C传输速率的定义:每秒传输的比特位数。
先把代码贴出来(这里的代码在之前的日志中贴出来过):

#define I2C_DELAY()  I2CSysCtlDelay(30)	//!<I2C速率约为237Kb/s(若为40,则速率约为178Kb/s)


/*
 * @brief  SysCtlDelay
 * @param  ulCount 延时值,必须大于0
 * @retval (3/(120M))s = 40MHz
 */
void I2CSysCtlDelay(unsigned long ulCount)
{
	
   __asm("    subs    r0, #1\n"
         "    bne.n   I2CSysCtlDelay\n"
         "    bx      lr");
   
}

/*!
 *  @brief	I2C1起始信号
 *  @param	none
 *  @return	none
 *  @note	数据:D  时钟:C  高:H  低:L  输出:O  输入:I  延时:_
 *  @note	DOCO_DHCH_DL__CL
 */
void I2C1_Start(void)
{
    I2C1_SDA_OUT(); 
    I2C1_SCL_OUT(); 
    I2C_DELAY();
    I2C1_SDA_H();  
    I2C1_SCL_H(); 
    I2C_DELAY();  
    I2C1_SDA_L();
    I2C_DELAY();
    I2C_DELAY();
    I2C1_SCL_L();
}

/*!
 *  @brief	I2C1结束信号
 *  @param	none
 *  @return	none
 *  @note	数据:D  时钟:C  高:H  低:L  输出:O  输入:I  延时:_
 *  @note	DOCO_DLCL_CH___DH__
 */
void I2C1_Stop(void)
{
    I2C1_SDA_OUT(); 
    I2C1_SCL_OUT();
    I2C1_SDA_L();  
    I2C1_SCL_L(); 
    I2C_DELAY();
    I2C1_SCL_H();
    I2C_DELAY();  
    I2C_DELAY();
    I2C_DELAY();
    I2C1_SDA_H();
    I2C_DELAY();
    I2C_DELAY();
}

/*!
 *  @brief	主机向I2C1总线发送一个字节
 *  @param	data:数据
 *  @return	0:失败  1:成功
 *  @note	数据:D  时钟:C  高:H  低:L  输出:O  输入:I  延时:_  读取:R
 *  @note	(_DH/L_CH__CL)*8_DHDI_CH_DR_CL_DO
 */
uint8 I2C1_Send_byte(uint8 data)
{
	uint8 k;
	for(k=0;k<8;k++){//!<发送8bit数据
		I2C_DELAY();
		if(data&0x80){
			I2C1_SDA_H();
		}else{
			I2C1_SDA_L();
		}
		data=data<<1;
		I2C_DELAY();
		I2C1_SCL_H();
		I2C_DELAY();
		I2C_DELAY();
		I2C1_SCL_L();
	}
	I2C_DELAY();//!<延时读取ACK响应
	I2C1_SDA_H();
  
	I2C1_SDA_IN();//!<设为输入
	I2C_DELAY();
	I2C1_SCL_H();   
	I2C_DELAY();
  
	k=I2C1_SDA_READ();//读取ACK/NACK
	I2C_DELAY();
	I2C1_SCL_L();
	I2C_DELAY();
	I2C1_SDA_OUT();
	if(k){ NACK响应
		return 0;
	}
	return 1;
} 
我们计算的方法是:首先计算模拟I2C发送一个字节所需要多长时间,之后除以8,以算出发送一位需要多长时间。

 由于寄存器操作的时间可忽略不计,故主要计算其中的延时时间。
在开始信号 start()中,含有 4个delay,设1个delay占用的时间为n(之后再计算),则一个start()占用4n。
在停止信号stop()中,含有 6个delay,则一个stop()占用6n。
发送一个字节中有 8* 4n+5n,占用37n。

一般最简单的I2C时序是,开始->发送一个字节->结束,故发送一个字节的总时间为47n. 

然后准备计算n,一个delay函数执行一次需要三个时钟周期,当前使用的时钟为120M,故执行一个delay占用[1/(40M)]s,
所以 
I2CSysCtlDelay(30)所占用3/4 us.

综上,发送一个字节所需要 35.25us=141/4 us,1bit需要141/32 us,所以I2C的发送速率为32/141 Mbit/s
≈227kbit/s
同理可以算出接收速率,然后选一个较小值,就可以当做当前模拟I2C的速率,注意这里的值也是大致的值,做参考。

另外若不清楚当前使用的时钟是否确为120M,可以使用以下简单暴力的方法哦:

在main函数中,采用点灯计时:

while(1)
{
    I2CSysCtlDelay(1000*10000);
    LED_ON();
    I2CSysCtlDelay(1000*10000);
    LED_OFF(); 
} 


通过计时,LED灯亮灭十下约为5s。
故函数执行一次,所用的时间为5/10/(1000*10000*2)  = 1/(40M) s
 所以时钟周期为 1/(40M)/3 = 1/(120M)s,所以时钟频率为120M


  • 20
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目 录 I 第1章 光纤通信系统实验平台概述 1 1.1功能模块组成 1 1.2 模块介绍及测试点说明手册 3 1.3 光功率计和误码仪的使用说明 10 1.4 实验系统注意事项 12 第2章 光器件认知实验(选做) 13 实验一 光纤与光缆 13 实验二 光纤损耗特性测量 20 实验三 光纤活动连接器 23 实验四 光耦合器件 27 实验五 光隔离器和光环行器 34 实验六 光衰减器 37 实验七 光开关 40 实验八 激光器与光检测器 43 第3章 光发射机与光接收机实验 48 实验九 光发射机的组成 48 实验十 自动温度控制原理 51 实验十一 自动光功率控制电路 52 实验十二 无光告警和寿命告警电路 54 实验十三 光源的P-I特性测试 57 实验十四 光发射机消光比测试 60 实验十五 光发射机平均光功率的测试 63 实验十六 光接收机的组成 65 实验十七 接收机灵敏度的测量 67 实验十八 光接收机的动态范围及眼图观测 70 实验十九 光纤中继距离估测实验 73 第4章 模拟信号光纤传输系统实验 74 实验二十 模拟信号光纤传输系统 74 实验二十一 电话语音光纤传输系统 76 实验二十二 图像光纤传输系统 80 第5章 数字信号光纤传输系统实验 82 实验二十三 PN序列光纤传输系统 82 实验二十四 CMI编译码原理及CMI码光纤传输系统 85 实验二十五 扰码和解扰码原理及扰码光纤传输系统 88 实验二十六 PCM编译码原理及数字电话光纤传输系统 90 第6章 光纤综合传输系统实验 97 实验二十七 波分复用光纤传输系统(WDM) 97 实验二十八 HDB3编译码原理及实现 101 实验二十九 位时钟提取(数字锁相环DPLL)实验 104 实验三十 固定速率时分复用原理及实现 109 实验三十一 解固定速率时分复用原理及实现 114 实验三十二 变速率时分复用原理及实现 118 实验三十三 解变速率时分复用原理及实现 123 实验三十四 综合实验一:4路数据+两路电话光纤综合传输系统实验 128 实验三十五 综合实验二:4路数据+3台计算机+1路图像/语音全双工光纤综合传输系统实验 132 实验三十六 综合实验三:2台实验箱6台计算机+2路图像/语音全双工光纤综合传输系统 135 第7章 二次开发实验 137 实验三十七 PN序列程序设计 137 实验三十八 CMI编解码程序设计 139 实验三十九 5B6B码程序设计 141 实验四十 4B1P和4B1C程序设计 146 实验四十一 HDB3编解码程序设计 150 实验四十二 扰码、解扰码程序设计 153 实验四十三 数字锁相环(DPLL)程序设计 155 实验四十四 固定速率时分复用程序设计 157 实验四十五 解变速率时分复用程序设计 160 附录一 FPGA管脚分布图 162 附录二 Quartus 4.0 基本操作 164 附录三 Quartus 4.0 使用技巧及程序设计中的关键问题 178 附录四 串口调试助手使用说明 190 附录五 USB口驱动程序安装说明 191
STC89C52单片机开发板 一、方案设计 1.1 方案论证 在科技广泛发展的今天,计算机的发展已经越来越快,他的应用已经越来越广泛。二 单片机的发展和应用是其中的重要一方面。单片机在工业生产(机电、化工、轻纺、自 控等)和民用家电方面有广泛的应用。其中,单片机在工业生产中的应用尤其广泛。 单片机具有集成度高,处理能力强,可靠性高,系统结构简单,价格低廉的优点,因 此被广泛应用。目前,单片机在工业控制系统诸多领域得到了极为广泛的应用。特别是 C51系列的单片机稳定性好,运算精度高,推动了工业生产,影响着人们的工作和学习。 而本次设计就是要通过对C52系列单片机最小系统进行开发板的设计。有助于当代大学生 及涉及单片机领域的工作者们更深入的了解和学习单片机的开发机应用。 1.2 设计思路 (1)本设计采用STC89C52单片机为主控制核心。 (2)选择PCF8951实现A/D、D/A转换装置,与单片机接口为P2.1口和P2.0口。 (3)此外,还选择了NRF905无线通信模块及4*4矩阵键盘等模块进行开发与学习设计。 硬件设计 本设计由8部分组成:STC89C52单片机最小系统、PCF8951A/D转换电路、报警器模块 、NRF905无线模块、矩阵键盘模块、温度传感器电路、红外接收模块、LED流水灯模块。 电路原理图见附录。 2.1 STC89C52单片机最小系统模块 STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的 解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容 被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高 运作频率35Mhz,6T/12T可选。 复位电路 当振荡器运行时,只要有有两个机器周期即24个振荡周期以上的高电平在这个引脚出 现时,那么就将会使单片机复位,如果将这个引脚保持高电平,那么51单片机芯片就会 循环不断地进行复位。复位后的P0口至P3口均置于高电平,这时程序计数器和特殊功能 寄存器将全部清零。 单片机晶振 单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡器,他结 合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么 单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频 率。 在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有 些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。晶振用一种 能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡 。 单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各 部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方 法保持同步。晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同 子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。 晶振实物图: 单片机实物图如下: 2.2 PCF8951 AD/DA转换模块 PCF8591是一款单电源、低功耗8位COMS型A/D、D/A转换芯片,它具有4路模拟量输入 通道、一路模拟量输出通道和1个I2C总线接口。该器件I2C从地址的低三位由芯片的A0、 A1和A2三个地址引脚决定,所以在不增加任何硬件的情况下同一条I2C总线最多可以连接 8个同类型的器件。 该器件具有多路模拟量输入、片上跟踪保持、8位A/D转换和8位D/A转换等功能。A/D 与D/A的最大转换速率由I2C总线的最大传输速率决定。 PCF8591具有以下特点:单电源供电;正常工作电源电压范围为2.5V~6V;通过I2C总 线完成数据的输入/输出;器件地址由3个地址引脚决定;采样频率由I2C总线传输速率决 定; 4路模拟量输入可编程为单端输入或差分输入;可配置转换通道号自动增加功能; 模拟电压范围为VSS~VDD;片上跟踪保持功能;8位逐次逼近A/D转换;带有一路模拟量输 出的乘法D/A转换。 PCF8951A/D、D/A转换模块: PCF8951模块实物图: 2.3 Nrf905 无线通信装置 NRF9
基于单片机的电子日历设计 一、设计目的和要求 单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞 机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制 和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单 片机。单片机是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智 能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。 这次课程设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。 通过对一个基于单片机的能实现电子日历功能电子时钟的设计,从而达到学习、了解单 片机相关指令在各方面的应用。系统由主控制器AT89C51、时钟电路DS1302、显示电路、 和复位电路等部分构成,能实现时钟日历显示的功能,能进行时、分、秒的显示。 系统设计要求:电子日历能显示,能调整。基于51系列的单片机进行的电子万年历设 计可以显示年月日时分秒及周信息,具有可调整日期和时间功能。在设计的同时对单片 机的理论基础和外围扩展知识进行了比较全面准备。具体实现功能:显示年月日时分秒 及星期信息,具有可调整日期和时间功能,与即时时间同步。 主要使用到的工具和器件: Keilc51 Protues DS1302 AT89S52 LCD12864 二、方案设计 每一系统都有几个核心的模块。它对整个系统的性能有非常大的影响。比如 系统的主控。 2.1 主控芯片选择方案论证 方案一:选择51系列的单片机;AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器 。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的 解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一 个中断或硬件复位为止。 方案二:选择msp430系列单片机;MSP430系列单片机是一个16位的单片机,采用了精简 指令集(RISC)结构,具有丰富的寻址方式(7 种源操作数寻址、4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算 ;还有高效的查表处理指令。这些特点保证了可编制出高效率的源程序。MSP430 系列单片机的各系列都集成了较丰富的片内外设。它们分别是看门狗(WDT)、模拟比较 器A、定时器A0(Timer_A0)、定时器A1(Timer_A1)、定时器B0(Timer_B0)、UART、 SPI、I2C、硬件乘法器、液晶驱动器、10位/12位ADC、16位Σ-Δ ADC、DMA、I/O端口、基本定时器(Basic Timer)、实时时钟(RTC)和USB控制器等若干外围模块的不同组合。其中,看门狗可以 使程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合定时器,可设计出A/D 转换器;16 位定时器(Timer_A 和 Timer_B)具有捕获/比较功能,大量的捕获/比较寄存器,可用于事件计数、时序发生、 PWM等;有的器件更具有可实现异步、同步及多址访问串行通信接口可方便的实现多机通 信等应用;具有较多的 I/O 端口,P0、P1、P2 端口能够接收外部上升沿或下降沿的中断输入;10/12位硬件 A/D 转换器有较高的转换速率,最高可达200kbps ,能够满足大多数数据采集应用;能直接驱动液晶多达 160 段;实现两路的 12 位D/A转换;硬件I2C串行总线接口实现存储器串行扩展;以及为了增加数据传输速度, 而采用的DMA模块。MSP430 系列单片机的这些片内外设为系统的单片解决方案提供了极大的方便。 方案对比: 运算周期:时钟显示最小单位为秒,51和msp430的运算周期都在1秒之内,这一点 都满足要求。 IO口是否满足系统设计要求:51有32个IO口,msp430的IO口则更多。这一点都满足 要求。 是否需要外加时钟芯片:采用定时器,误差较大。Msp430内部就有时钟RTC单元, 5
第 1 章 计算机网络概论 1 、计算机网络是指由通信线路互相连接的许多自主工作的接收机构成的集合体。组成元素 可分为网络节点和通信链路。接收机网络包括资源子网和通信子网。 2 、常见的拓扑结构有全连接型(理想的) 、树型、不规则型(广域网常见) 、星型、环型、 总线型(局域网常见) 。网络可分为局域网( LAN ) 、城域网( MAN ) 、广域网( WAN ) 。 3 、 OSI/RM 协议包括: ( 1 )应用层:最高层,直接为端用户服务,提供分布式处理环境; ( 2 )表示层:提供一个可供应用层选择的服务的集合,使得应用层可以根据这些服务功能 解释数据的涵义; ( 3 )会话层:支持两个表示层实体之间的交互作用; ( 4 )传输层:在低层服务的基础上提供一种通用的传输服务,以下功能层协议属于通信子 网协议; ( 5 )网络层:通过网络连接交换传输层实体发出的数据; ( 6 )数据链路层:建立、维持和释放网络实体之间的数据链路,这种数据链路对网络层表 现为一条无差错的信道; ( 7 )物理层:规定通信设备机械的、电气的、功能的和过程的特性,用以建立、维持和释 放数据链路实体间的连接。 第 2 章 数据通信基础 1 、产生和发送信息的一端叫做信源,接收信息的一端叫做信宿,信源和信宿之间的通信线 路叫信道。 2 、模拟通信:信源是模拟数据,并以模拟信道传输。 数字通信:信源是模拟数据,并以数字信道传输数据通信:信源是数字数据。 根据通信信号的传输方式可分为模拟传输和数字传输。 3 、信道带宽: W= f 2 -f 1 。 码元:一个数字脉冲; 码元速率 B (波特率) :单位时间内通过信道传输的码元个数。 尼奎斯特定理: B=2W ,波特率是信道带宽的 2 倍。 数据速率 R (比特率) : R=Blog 2 N=2Wlog 2 N , W 为信道带宽, N 为码元种类。 香农定理(有噪声的传输信道极限数据速率) : C=Wlog 2 (1+S/N)= Wlog 2 (1+10 db/10 ) , S/N 称为 信噪比。 4 、光纤分为单模光纤和多模光纤。 单模光纤采用 LD 为光源,波长分为 1310nm 和 1550nm ,纤芯直径 8.3 纳米,适用于远程通 信。 多模光纤采用 LED 为光源,波长分为 850nm 和 1300nm ,纤芯直径 50 纳米和 62.5 纳米,适 用于近程通信。 5 、常用数据编码 ( 1 )单极性码:用正(负)电平( 0 )和零电平( 1 )表示(一极和零电平,看中间) ; ( 2 )极性码:用正电平( 0 )和负电平( 1 )表示(两极,没有零电平,看中间) ; ( 3 )双极性码:用正、负、零电平表示( 1 正负翻转, 0 零电平,看边界) ; ( 4 )归零码:码元中间回归零电平,正电平到零电平( 0 ) ,负电平到零电平( 1 ) (每个中 间都回到零电平,看中间) ; ( 5 )不归零码:电平翻转表示 1 ,不翻转表示 0 (只看是否翻转,看边界) ; ( 6 )双相码:码元必定电平翻转,负电平到正电平( 0 ) ,正电平到负电平( 1 ) (每个中间 都翻转,看中间) ; ( 7 )曼彻斯特编码:一种双相码,负电平到正电平( 1 ) ,正电平到负电平( 0 ) (每个中间 都翻转,看中间) ,波特率是数据速率的 2 倍; ( 8 )差分曼彻斯特编码:一种双相码,电平翻转表示 0 ,不翻转表示(每个中间都翻转, 看边界) 。 ( 9 ) 4B/ 5B 编码是在 NRZ-I 编码基础上实现,效率为 80% 。 6 、数字调制指用模拟信号表示数字数据,主要有调幅( ASK ) 、调频( FSK ) 、调相( PSK ) 、 4 相 PSK ( QPSK ) 。 7 、脉冲编码调制( PCM )指用数字信号表示模拟数据,分为三个步骤采样、量化和编码。 8 、多路复用技术主要分为:频分多路复用( FDM ) 、时分多路复用( TDM ) 、码分多路复用 ( CDM ) 、波分多路复用( WDM ) 。 9 、并行传输指字符编码的各位同时传输;串行传输指将字符的各位逐位地发送。 10 、异步传输有三种通信方式:单工、半双工、全双工。 11 、通信网络交换方式有:电路交换、报文交换、分组交换;分组交换又有数据报交换和虚 电路交换。 12 、检错方法常见的有:奇偶校验、海明码、循环冗余校验码( CRC ) ( 1 )海明码中数据有 m 位,冗余位有 k 位,则有 m+k-1<2 k 。 ( 2 ) CRC 中校验和生成步骤: 1 )约定生成多项式为 r 阶函数 G(x) ; 2 )在对应多项式 M(x) 后添加 r 个 0 ; 3 )使用 mod2 除法计算 x r M(x)/G(x) ,得到余数 Y(x) ,即校验码,也为 r 阶; 4 ) M(x) 后面添加 Y(x) ,得到校验和。 第 3 章 1 、广域网(通信子网) :公共交换电话网( PSTN ) 、分组交换网 X.25 、帧中继网、电信数字 通信系统、综合业务数字网( ISDN ) 、异步传输模式( ATM ) 、数字用户线路技术( xDSL ) 、 混合光纤同轴电缆网( HFC ) 、 CDMA 、固定无线接入、微波接入、卫星通信等。 2 、流量控制和差错控制 流量控制的目的是避免发送速度过快,使得接收站来不及处理而丢失数据。 差错控制是检测和纠正传输错误的机制。 ( 1 )流量控制主要有停等协议(等待回应信号 ACK ) ,滑动窗口协议。 ( 2 )差错控制主要采用 ARQ 技术,自动对丢失帧和错误帧请求重发。 A 、停等 ARQ 协议(超时重发) :停等流控技术和自动请求重发技术的结合; B 、选择重发 ARQ 协议(只重发错误帧) :滑动窗口技术和自动请求重发技术的结合, W 发= W 收≤ 2 k-1 ; C 、后退 N 帧 ARQ 协议(重发错误帧之后的所有帧) :滑动窗口技术和自动请求重发技术的 结合, W ≤ 2 k -1 。 3 、 HDLC (高级数据链路控制)协议:面向位的 数据链路控制协议 。 ( 1 )主站、从站、复合站; ( 2 )不平衡配置(主站到从站) 、平衡配置(复合站到复合站) ; ( 3 )正常响应方式(主站到从站) 、异步平衡方式(复合站到复合站) 、异步响应方式(从 站自主) 。 ( 4 )控制字段:信息帧( I 帧) 、管理帧( S 帧) 、无编号帧( U 帧) 4 、 X.25 公用数据网中通信设备分为:数据终端设备( DTE ,一般指主机)和数据电路端接 设备( DCE ,一般指 Modem 、网桥等网络互连设备) ,采用分组交换,有数据报方式(无连 接的)和虚电路方式(面向连接的) 。采用后退 N 帧 ARQ 协议进行差错控制。 X.25 物理层协 议是 X.21 ,数据链路层协议是 HDLC (其中的 LAPB ) ,网络层协议是 X.25 PLP (分组级协议) 5 、帧中继技术是由 X.25 演变而来,同样采用分组交换技术,提供永久虚电路服务和交换虚 电路服务。帧中继协议叫做 LAPD ( D 信道链路接入规程) 。 6 、 ISDN (综合业务数字网) :分为窄带 N-ISDN 和宽带 B-ISDN 。 N-ISDN 提供两种用户接口:基本速率接口 2B+D ,其中 B 信道是 64Kbps 的语音或数据通道, D 信道是 16Kbps 的信令信道;基群速率接口 30B+D ,其中 B 信道和 D 信道都是 64Kbps 。 7 、 ATM (异步传输模式)中分组定义为 53 字节,称为信元。 ATM 网络主要包括物理层和数 据链路层,数据链路层又分为 ATM 适配子层( AAL )和 ATM 子层。 6 、电信数字通信系统: DDN (数字数据网) 、 T 载波、 E 载波、 SONET (同步光纤网络) ,频 率都是每秒 8000 帧。 ( 1 ) T1 由 24 个信道组成,每秒 8000 帧,一个帧中为每个信道分配 8 位,每个帧还需要 1 位用于分帧控制。因此 T1 的帧大小为 193 位,速率为 1.544Mbps 。每个信道的 8 位中 7 位 为数据位, 1 位为控制位,每个信道的数据传输速率为 56Kbps 。 T4=6T3 、 T3=7T2 、 T2=4T1 ( 2 ) E1 由 32 个信道组成,每秒 8000 帧,一个帧中为每个信道分配 8 位, CH0 和 CH16 用 于传送控制指令。因此 E1 的速率为 2.048Mbps ,每个信道的数据传输速率为 64Kbps 。 E5=4E4=16E3=64E2=256E1 。 ( 3 ) SONET (美国标准)和 SDH (国际标准)是一组有关光纤通道上同步数据传输的标准 协议。 SONET/SDH 是物理层的标准,处理数据位的传输,包括了 4 个协议层:光子层、分段 层、线路层和路径层。 OC-1 速率为 51.84Mbps ,以此类推。 7 、 xDSL 技术(数字用户线路技术)包括: ADSL 、 IDSL 、 HDSL 、 SDSL 、 VDSL 等,是以电话线 作为传输介质的告诉数字传输技术。主要包括对称和非对称两大类。 ( 1 )对称 xDSL 技术主要有 IDSL 、 HDSL 、 SDSL ,主要用于替代 T1 /E1 接入技术; 非对称 xDSL 技术主要有 ADSL 、 VDSL 、 RADSL , 适用于对双向带宽要求不一样的应用, 如 Internet 接入、 VOD 系统等。 ( 2 ) ADSL (非对称数字用户线路) :上行 640Kbps 、下行 6Mbps ; IDSL ( ISDN 数字用户线路) : 128Kbps ; HDSL (高数据速率数字用户线路) : 1.5~2Mbps ; SDSL (单线对数字用户线路) : 1.5~2Mbps ; VDSL (甚高数据速率数字用户线路) :上行 1.5~2.3 Mbps 、下行 13~52 Mbps 。 8 、 HFC (混合光纤 - 同轴电缆网)主干线部分采用光纤,在光节点处完成光电转换,再用有 线电视同轴电缆将信号分送到各用户家中。支持传统业务(广播电视、调频广播等) 、高速 数据业务( Internet 接入) 、 IP 语音和视频业务、其他增值业务等。将逐渐被 FTTH (光纤到 户)替代
一、嵌入式系统概论 1. 与通用计算机相比,嵌入式系统具有许多不同之处。不是其特点是(D): A. 嵌入式系统与应用紧密结合,具有很强的专用性 B. 嵌入式大多数面向应用,可靠性十分重要 C. 应用于过程控制、数据采集、通讯传输等领域的嵌入式系统对实时性有一定要求 D. 用户可以方便对嵌入式系统的软件进行修改、升级和扩充 2.关于嵌入式系统CPU叙述中错误的是(C): A.嵌入式系统中目前仍大量使用8位、16位的CPU B.使用32位CPU仍是嵌入式系统发展的主潮流 C. 数字信号处理器不能用作嵌入式系统的CPU D. 嵌入式系统的CPU大多数支持实时处理并且具有低功耗的特性 3.微控制器是嵌入式处理芯片的主要品种之一,下面正确是(C): A. 微控制器将CPU、存储器、IO接口控制电路全部集中在一块芯片上 B.微控制器的品种多、应用广、是嵌入式处理芯片中历史悠久的一个品种 C. 4位、8位处理器的MCU目前很少用,接近淘汰 D. 当前大多数32位MCU产品中都使用ARM处理内核 4.片上系统也称为系统级芯片,下列错误是(D): A. 英文名为System on Chip ,缩写SoC或者SOC B.它是集成电路加工工艺进入到深亚微米时代的产物 C. 片上系统实现了使用单个芯片进行数据采集、转换、存储、处理和IO等多种功能 D. 片上系统除了模拟电路之外各种电路都集成在一个芯片上 5.下列关于汉字编码标准 中错误是(): A.GB2312国际字符仅包含6000多个汉字,许多情况下已经不够用 B.GB18030编码标准与Unicode编码标准完全兼容 C. Uniclde字符集包含的汉字超过两万个,如简体汉字和繁体汉字 D. GB18030汉字编码标准保持向下兼容 6.一幅1024X768的彩色图像,其数据量在2.25MB左右,若图像数据没有经过数据压缩处理,则图像中每个像素使用____位二进制表示(C): A.8 B. 16 C.24 D.32 7.以太网是一种使用最广泛的局域网,下面叙述正确是(): 1) 以太网计算机以“帧”为单位收发信息,每次收发一帧或多帧信息 2) 以太网中每台计算机都有唯一的地址,发送的每一帧信息中,必须包含自己的地址和接收计算机地址,该地址是IP地址 3) 传输速率为10~100Mb/s,甚至更快 4) 以太网多数使用集线器或交换机组网,每台计算机通过双绞线和网卡与之相连 A. 1)2) B.3)4) C. 1)3)4) D. 1)2)3)4) 8.Internet有许多不同机构的局域网和广域网连接在一起,它们相互通信并且协调进行工作是因为采用了______协议(D): A. X.25 B.ATM C. Novel D. TCP/IP 二、 填空题 1.当前智能手机之类的嵌入式系统的高级应用,主要特征是硬件采用了_32_位CPU软件配置了功能丰富的操作系统和图形用户界面 2.SoC芯片是一种超大规模的集成电路,开发过程极其复杂,大部分工作借助于EDA工具完成,EDA的中文名是___电子设计自动化___。 3.在IC行业中,已完成或经过经验的IC电路具有固定的不可分解的特性,人们称之为“核”,它们属于知识产权的范畴,所以成为知识产权核或___IP___核。 4.一部电子文本格式为.txt,实际大小为236KB,则该书的汉字大约为___11.8__万字。 5.数据视频的数据量非常大,存储传输时必须进行数据压缩。目前在VCD、DVD、数字有线电视、卫星电视等应用领域中广泛使用的压缩编码标准是国际标准化组织(ISO)制定的,其名称为__MPEG___。 6.通过无线局域网(WLAN)进入IiNTERNET是目前无线上网途径之一,WLAN技术采用IEEE 802.11协议,技术日益成熟,性能不断提高,目前普遍使用的IEEE 802.11n协议可以支持数据传输速率已经达到__108Mb/s___,甚至更高。 二。。。。。。。。。。。。。。。。。
对于那些想进行嵌入式系统软件开发和学习,或者想研究嵌入式Linux等操作系统和一些底层系统软件(如TCP/IP等)的研究和开发人员来说,可能存在如下几方面的问题:(1)经常苦于经费不足,缺少足够的硬件开发板和完善的软件开发环境,相关的书籍对一些最新软件的分析还不够全面,无法深入研究和开发嵌入式软件。(2)高层次的软件设计和开发一般不用太考虑底层硬件的实现细节,如果直接处于一个具体的硬件环境下,在开发和研究中可能会陷入硬件的具体细节中不能自拔,而不能把精力放到高层次的软件设计和开发上。(3)如果硬件开发环境不太稳定(这种情况经常见到),且对具体的硬件不是很了解,则可能在排除问题上花费大量的不必要的时间。(4)如果你想自己尝试设计一个操作系统,则先在一个提供源码级调试的软件仿真器上进行开发,可能会大大提高你的开发进度。<br><br>对于想了解、学习一般操作系统的实现原理,Linux/μCLinux操作系统或TCP/IP等系统级软件的实现的人员,目前一般采用的方法是看书和读源代码,这是一种静态的学习方法,效率较低,比较枯燥,缺少亲自实践的感觉。要想深入分析和开发软件,就要动手编程,不能只是看看书,读读代码,只有通过亲手实践才能够掌握软件设计的核心内容。上面所指出的问题和需求促使SkyEye项目的诞生。 <br><br>3.SkyEye的目标和意义 <br>SkyEye是一个开源软件(OpenSource Software)项目,中文名字是"天目"。SkyEye的目标是在通用的Linux和Windows平台上实现一个纯软件集成开发环境,模拟常见的嵌入式计算机系统(这里假定"仿真"和"模拟"的意思基本相同);可在SkyEye上运行μCLinux以及μC/OS-II等多种嵌入式操作系统和各种系统软件(如TCP/IP,图形子系统,文件子系统等),并可对它们进行源码级的分析和测试。<br><br>3.SkyEye的目标和意义 <br>SkyEye是一个开源软件(OpenSource Software)项目,中文名字是"天目"。SkyEye的目标是在通用的Linux和Windows平台上实现一个纯软件集成开发环境,模拟常见的嵌入式计算机系统(这里假定"仿真"和"模拟"的意思基本相同);可在SkyEye上运行μCLinux以及μC/OS-II等多种嵌入式操作系统和各种系统软件(如TCP/IP,图形子系统,文件子系统等),并可对它们进行源码级的分析和测试。<br><br>纯软件的模拟器有许多种,如模拟一个芯片时序逻辑的模拟器、只模拟CPU指令的模拟器、模拟整个硬件开发板的模拟器、模拟一个PDA的模拟器等。存在一些纯软件的仿真器或模拟器,如Stanford大学的SimOS模拟器,它仿真的是MIPS系列CPU和相关外设,可以在其上运行SGI公司的Irix操作系统和软件,目前基本上停止了进一步的开发;PSIM是一个仿真PowerPC指令集的模拟器,目前只支持简单的命令行应用程序;xcopilot是一个PDA模拟器,它是由Greg Hewgill出于个人喜好编写的,它仿真的是M68K CPU,通过它可以给基于PalmOS的软件开发者提供一个模拟开发环境。Bochs是一个仿真x86 CPU的开源项目,目前还支持AMD64 CPU,在它上面可以运行Linux操作系统。其它一些商业的仿真软件如vmware和virtualPC可以仿真一个真实的x86计算机,而Virtutech Simics仿真器可以仿真多种CPU和硬件,功能强大,可用于硬件和系统软件的评测。<br><br>SkyEye是一个指令级模拟器,可以模拟多种嵌入式开发板,可支持多种CPU指令集,在SkyEye上运行的操作系统意识不到它是在一个虚拟的环境中运行,而且开发人员可以通过SkyEye调试操作系统和系统软件。由于SkyEye的目标不是验证硬件逻辑,而是协助开发、调试和学习系统软件,所以在实现上SkyEye与真实的硬件环境相比还是有一定差别的。SkyEye在时钟节拍的时序上不保证与硬件完全相同,对软件透明的一些硬件仿真进行了一定的简化。这样带来的好处是SkyEye的执行效率更高。SkyEye的推出具有下面三方面的意义:<br><br>通过SkyEye仿真集成环境可以很方便地进入到嵌入式系统软件学习和开发的广阔天地中。尤其对于缺少嵌入式硬件开发环境和软件开发环境的用户来说,它将是一个非常有效的学习工具和开发手段,因为SkyEye的整个软件系统都是Open Source的,且基于GPL协议(μCOS-II除外)。因此,如果要学习Linux操作系统或者进行嵌入式系统开发,但苦于没有硬件支持,SkyEye仿真环境软件是一个很好的选择! <br>如果想研究与具体硬件无关的系统软件(如TCP/IP协议栈等
西南交《计算机原理》在线作业一 一、单选题(共 40 道试题,共 80 分。) 1. 二级存储体系是由( )有机地组成一整体。 A. Cache 与寄存器组 B. Cache 与辅存 C. 主存与辅存 D. Cache 与外存 正确答案:C 2. 在浮点数编码表示中,()在机器数中不出现,是隐含的 A. 阶码 B. 符号 C. 基数 D. 尾数 正确答案:C 3. 中断与调用指令的主要区别在于中断是(  )。 A. 程序按排的 B. 随机的 C. 程序请求的 D. 执行输入 / 输出指令 正确答案:B 4. 某数在计算机中用 8421BCD 码表示为 0011 1001 1000 ,其真值为( A  )。 A. 398 B. 398H C. 1630Q D. 1110011000B 正确答案:A 5. 在ROM存储器中必须有( )电路。    A. 数据写入    B. 再生    C. 地址译码    D. 刷新 正确答案:C 6. 以下叙述正确的是 A. ASCII编码可以表示汉字的编码 B. 汉字输入编码都是根据字音进行的编码 C. 汉字输入码可以根据汉字字形编码 D. 汉字字形码都是将汉字分解成若干"点"组成的点阵 正确答案:C 7. bit的意义是 A. 字 B. 字节 C. 字长 D. 二进制位 正确答案:D 8. 通常所说的主机是指 A. CPU B. CPU和内存 C. CPU、内存和外存 D. CPU、内存和硬盘 正确答案:B 9. 计算机软件是指 A. 操作系统 B. 汇编程序 C. 用户程序 D. 所有程序及文档的统称 正确答案:D 10. 多媒体计算机是指 A. 具有多种外部设备的计算机 B. 能与多种电器连接的计算机 C. 能处理多种媒体信息的计算机 D. 借助多种媒体操作的计算机 正确答案:C 11. 计算机中表示地址时使用 A. 无符号数 B. 原码 C. 反码 D. 补码 正确答案:A 12. 在 MODEM 之间进行传送的信号是( )信号。 A. 二进制数字 B. 模拟 C. 随机 D. 离散 正确答案:B 13. 虚拟存储器的地址应是 A. 逻辑地址 B. 物理地址 C. 间接访问地址 D. 直接访问地址 正确答案:A 14. 采用十六进制书写可以比二进制书写省 A. 1/2 B. 1/3 C. 1/4 D. 1/5 正确答案:C 15. 汉字在计算机内部存储、传输、检索的代码称为(  )。 A. 输入码 B. 汉字字形码 C. 汉字内部码 D. 汉字交换码 正确答案:C 16. 电子数字计算机工作最重要的特征是 A. 高速度 B. 高精度 C. 存储程序自动控制 D. 记忆力强 正确答案:C 17. 在 CPU 的主要寄存器里,为了保证程序能够连续地执行下去的寄存器是(  )。 A. PC B. IR C. DR D. AC 正确答案:A 18. 利用激光读出和写入的信息存储装置称为 A. 激光打印机 B. EPROM C. 光盘 D. 软盘 正确答案:C 19. 微型计算机中运算器的主要功能是 A. 控制计算机的运行 B. 算术运算和逻辑运算 C. 分析指令并执行 D. 负责存取存储器中的数据 正确答案:B 20. 作为评价存储器的主要性能指标之一,性能/价格比是 A. 衡量存储器的综合性指标 B. 每元多少字节数 C. 存取周期除以价格 D. 存储容量除以价格 正确答案:A 21. MIPS和MFLPOS是衡量()指标的计量单位 A. 运算速度 B. 运算精度 C. 存储容量 D. 总线数据传送速率 正确答案:A 22. 若某数x的真值为- 0.1010,在计算机中该数表示为1.0110,则该数所用的编码为( )。 A. 原码    B. 补码    C. 反码    D. 移码 正确答案:B 23. 8位定点原码整数10100011B的真值为( )。 A. +0100011B    B. -0100011B    C. +1011101B    D. -1011101B 正确答案:B 24. CPU中控制器的功能是 A. 进行逻辑运算 B. 进行算术运算 C. 分析指令并发出相应的控制信号 D. 分析指令并发出相应的控制信号 正确答案:C 25. 外围设备的编址方式有 A. 统一编址和独立编址 B. 直接编址和间接编址 C. 程序编址和硬件编址 D. 可编址和不可编址 正确答案:A 26. DMA传送控制的周期挪用法一般适用于( )的情况。    A. I/O设备读写周期大于内存存储周期    B. CPU工作周期比内存周期长很多    C. I/O设备读写周期小于内存存储周期    D. CPU工作周期比内存存储周期小很多 正确答案:A 27. 计算机的指令系统也称为 A. 指令语
以下是一个简单的 CSMA/CD 协议碰撞检测的 C 语言编程模拟示例: ```c #include <stdio.h> #include <stdlib.h> #include <time.h> #define MAX_BACKOFF 10 // 最大重传次数 #define SLOT_TIME 1 // 最小时间槽长度 #define PROP_DELAY 2 // 传播延迟 int main() { srand(time(NULL)); // 初始化随机数种子 int num_stations; // 站点数量 printf("请输入站点数量:"); scanf("%d", &num_stations); int collisions = 0; // 碰撞次数 int backoff_counts[num_stations]; // 各站点的退避计数器 int collision_detected = 0; // 是否检测到碰撞 for (int i = 0; i < num_stations; i++) { backoff_counts[i] = 0; // 初始化退避计数器 } do { int channel_busy = 0; // 是否检测到信道忙碌 for (int i = 0; i < num_stations; i++) { if (backoff_counts[i] == 0) { // 退避计数器为0时,尝试发送数据帧 printf("站点 %d 尝试发送数据帧\n", i); if (channel_busy) { // 检测到信道忙碌,发生碰撞 printf("碰撞发生!\n"); collisions++; backoff_counts[i] = rand() % MAX_BACKOFF + 1; // 生成随机退避计数器 collision_detected = 1; } else { // 未检测到信道忙碌,发送数据帧并等待传输完成 printf("数据帧发送成功\n"); channel_busy = 1; collision_detected = 0; } } else { // 退避计数器不为0时,将计数器减1 backoff_counts[i]--; } } if (collision_detected) { // 检测到碰撞,等待随机时间后重传 int backoff_time = (rand() % (1 << backoff_counts[0])) * SLOT_TIME + PROP_DELAY; // 计算重传等待时间 printf("等待 %d 个时间槽后重传\n", backoff_time); for (int i = 0; i < backoff_time; i++) { printf("."); sleep(SLOT_TIME); } printf("\n"); } else { // 未检测到碰撞,等待数据传输完成 sleep(PROP_DELAY); } } while (collisions < 10); // 重复执行直到发生10次碰撞 printf("发生了 %d 次碰撞\n", collisions); return 0; } ``` 这个程序模拟一个简单的 CSMA/CD 网络,通过随机生成退避计数器来模拟碰撞后的重传等待时间。程序中的 sleep 函数用于模拟数据帧的传输时间和传播延迟。注意,这个程序只是一个简单的模拟,实际的 CSMA/CD 网络还需要考虑更多的因素,比如信道长度、传输速率等等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值