SPCE061A采用的内核 SPCE061A采用的内核(CPU)为μ‘nSP。 μ‘nSP(读做micro-n-S-P)是凌阳科技推出的16位微处理器,它的突出特点是较高的处理速度,这就使其有能力进行复杂的数字信号处理(DSP,Digital Signal Processing)。 μ‘nSP内核由凌阳自主开发,因而也具备它自己的指令系统。 指令系统.61 3.1 指令系统的概述及符号约定.61 3.2 数据传送指令62 3.3 算术运算..66 3.3.1 加法运算..67 3.3.2 减法运算..68 3.3.3 带进位的加减运算.70 3.3.4 取补运算..70 3.3.5 SPCE061A的乘法指令.71 3.3.6 SPCE061A的n项内积运算指令.71 3.3.7 比较运算(影响标志位N,Z,S,C)..73 3.4 SPCE061A的逻辑运算.74 3.4.1 逻辑与..74 3.4.2 逻辑或..75 3.4.3 逻辑异或..76 3.4.4 测试(TEST).78 3.4.5 SPCE061A的移位操作.80 3.5 SPCE061A的控制转移类指令..83 3.6 伪指令86 3.6.1 伪指令的语法格式及特点..87 3.6.2 伪指令符号约定..87 3.6.3 标准伪指令.87 3.6.4 宏定义与调用98 3.6.5 段的定义与调用101 3.6.6 结构的定义与调用..102 3.6.7 过程的定义与调用..106 3.6.8 伪指令的应用举例..106
上传时间: 2013-10-31
上传用户:xuanchangri
微型机算计发展概述人类从原始社会学会使用工具以来到现代社会经历了三次大的产业革命:农业革命、工业革命、信息革命。而信息革命是以计算机技术和通信技术的发展和普及为代表的。人类已进入了高速发展的现代时期。其中计算机科学和技术发展之快,是任何其他技术都无法相提并论的自从1946年美国宾夕法尼亚大学研制成功的世界上第一台电子计算机到现在已50多年的历史。计算机的发展经历了四代:第一代:电子管电路计算机,电子管数:18800个;继电器数量:5000个;耗电量:150KW;重量:30t;占地面积:150平方米;运算速度:5000次加法运算/s。第二代:晶体管电路计算机(60年代初)第三代:小规模集成电路计算机。第四代:大规模(LSI)和超大规模(VSLI)集成电路计算机。第四代计算机基本情况:运算速度为每秒几千亿次到几万亿次;从数值计算和数据处理到目前进行知识处理的人工智能阶段;计算机不仅可以处理文字、字符、图形图象信息,而且可以处理音频、视频等多媒体信息;计算机正朝着智能化和多媒体化方向发展。微型计算机的定义:以微处理器为核心,再配上半导体存储器、输入/输出接口电路、系统总线及其它支持逻辑电路组成的计算机称微型计算机。在1971年美国Intel公司首先研制成功世界上第一块微处理器芯片4004以来,差不多每隔2~3年就推出一代新的微处理器产品;如今已推出了第五代微处理器。因为微处理器是微型计算机的核心部件,它的性能在很大程度上决定了微型计算机的性能,所以微型计算机的发展是以微处理器的发展而更新换代的。微处理器和微型计算机的发展:1.第一代微处理器和微型计算机:(1971~1973年)——4位CPU和低档8位处理器,典型的产品有:Intel 4004、改进型的4040,是4位处理器,以它为核心构成的微机是MCS-4。Intel 8008是8位通用微处理器,以它为核心所构的微机是MCS-8。参数:芯片采用PMOS工艺;集成度为2000管/片;时钟频率1MHz;平均指令执行时间为20μs。2.第二代微处理器和微型计算机(1973~1978年)——成熟的8位CPU,典型的产品有:Intel 8080(1973年由Intel公司推出)MC6800 (1974年由美国Motorola推出。Z-80 (1975年由Zilog公司推出。Intel 8085 (1976年由Intel公司推出,是Intel 8080的改进型。MOS 6502,由MOS公司推出,它是IBM PC机问世之前世界上最流行的微型计算机Apple2(苹果机)的CPU。第二代微处理器的参数:芯片工艺采用NMOS工艺,集成度达到5000~9000管/片;时钟频率2~4MHz;平均指令执行时间为1~2μs;具有多种寻址方式,指令系统完善,基本指令100多条。特点:具有中断、DMA等控制功能;也考虑了兼容性、接口标准化和通用性、配套的外围电路功能和种类齐全。在软件方面:主要是汇编,还有一些简单的高级语言和操作系统。
上传时间: 2013-11-24
上传用户:蒋清华嗯
AVR高速嵌入式单片机原理与应用(修订版)详细介绍ATMEL公司开发的AVR高速嵌入式单片机的结构;讲述AVR单片机的开发工具和集成开发环境(IDE),包括Studio调试工具、AVR单片机汇编器和单片机串行下载编程;学习指令系统时,每条指令均有实例,边学习边调试,使学习者看得见指令流向及操作结果,真正理解每条指令的功能及使用注意事项;介绍AVR系列多种单片机功能特点、实用程序设计及应用实例;作为提高篇,讲述简单易学、适用AVR单片机的高级语言BASCOMAVR及ICC AVR C编译器。 AVR高速嵌入式单片机原理与应用(修订版) 目录 第一章ATMEL单片机简介1.1ATMEL公司产品的特点11.2AT90系列单片机简介21.3AT91M系列单片机简介2第二章AVR单片机系统结构2.1AVR单片机总体结构42.2AVR单片机中央处理器CPU62.2.1结构概述72.2.2通用寄存器堆92.2.3X、Y、Z寄存器92.2.4ALU运算逻辑单元92.3AVR单片机存储器组织102.3.1可下载的Flash程序存储器102.3.2内部和外部的SRAM数据存储器102.3.3EEPROM数据存储器112.3.4存储器访问和指令执行时序112.3.5I/O存储器132.4AVR单片机系统复位162.4.1复位源172.4.2加电复位182.4.3外部复位192.4.4看门狗复位192.5AVR单片机中断系统202.5.1中断处理202.5.2外部中断232.5.3中断应答时间232.5.4MCU控制寄存器 MCUCR232.6AVR单片机的省电方式242.6.1休眠状态242.6.2空闲模式242.6.3掉电模式252.7AVR单片机定时器/计数器252.7.1定时器/计数器预定比例器252.7.28位定时器/计数器0252.7.316位定时器/计数器1272.7.4看门狗定时器332.8AVR单片机EEPROM读/写访问342.9AVR单片机串行接口352.9.1同步串行接口 SPI352.9.2通用串行接口 UART402.10AVR单片机模拟比较器452.10.1模拟比较器452.10.2模拟比较器控制和状态寄存器ACSR462.11AVR单片机I/O端口472.11.1端口A472.11.2端口 B482.11.3端口 C542.11.4端口 D552.12AVR单片机存储器编程612.12.1编程存储器锁定位612.12.2熔断位612.12.3芯片代码612.12.4编程 Flash和 EEPROM612.12.5并行编程622.12.6串行下载662.12.7可编程特性67第三章AVR单片机开发工具3.1AVR实时在线仿真器ICE200693.2JTAG ICE仿真器693.3AVR嵌入式单片机开发下载实验器SL?AVR703.4AVR集成开发环境(IDE)753.4.1AVR Assembler编译器753.4.2AVR Studio773.4.3AVR Prog783.5SL?AVR系列组态开发实验系统793.6SL?AVR*.ASM源文件说明81第四章AVR单片机指令系统4.1指令格式844.1.1汇编指令844.1.2汇编器伪指令844.1.3表达式874.2寻址方式894.3数据操作和指令类型924.3.1数据操作924.3.2指令类型924.3.3指令集名词924.4算术和逻辑指令934.4.1加法指令934.4.2减法指令974.4.3乘法指令1014.4.4取反码指令1014.4.5取补指令1024.4.6比较指令1034.4.7逻辑与指令1054.4.8逻辑或指令1074.4.9逻辑异或指令1104.5转移指令1114.5.1无条件转移指令1114.5.2条件转移指令1144.6数据传送指令1354.6.1直接数据传送指令1354.6.2间接数据传送指令1374.6.3从程序存储器直接取数据指令1444.6.4I/O口数据传送指令1454.6.5堆栈操作指令1464.7位指令和位测试指令1474.7.1带进位逻辑操作指令1474.7.2位变量传送指令1514.7.3位变量修改指令1524.7.4其它指令1614.8新增指令(新器件)1624.8.1EICALL-- 延长间接调用子程序1624.8.2EIJMP--扩展间接跳转1634.8.3ELPM--扩展装载程序存储器1644.8.4ESPM--扩展存储程序存储器1644.8.5FMUL--小数乘法1664.8.6FMULS--有符号数乘法1664.8.7FMULSU--有符号小数和无符号小数乘法1674.8.8MOVW--拷贝寄存器字1684.8.9MULS--有符号数乘法1694.8.10MULSU--有符号数与无符号数乘法1694.8.11SPM--存储程序存储器170 第五章AVR单片机AT90系列5.1AT90S12001725.1.1特点1725.1.2描述1735.1.3引脚配置1745.1.4结构纵览1755.2AT90S23131835.2.1特点1835.2.2描述1845.2.3引脚配置1855.3ATmega8/8L1855.3.1特点1865.3.2描述1875.3.3引脚配置1895.3.4开发实验工具1905.4AT90S2333/44331915.4.1特点1915.4.2描述1925.4.3引脚配置1945.5AT90S4414/85151955.5.1特点1955.5.2AT90S4414和AT90S8515的比较1965.5.3引脚配置1965.6AT90S4434/85351975.6.1特点1975.6.2描述1985.6.3AT90S4434和AT90S8535的比较1985.6.4引脚配置2005.6.5AVR RISC结构2015.6.6定时器/计数器2125.6.7看门狗定时器 2175.6.8EEPROM读/写2175.6.9串行外设接口SPI2175.6.10通用串行接口UART2175.6.11模拟比较器 2175.6.12模数转换器2185.6.13I/O端口2235.7ATmega83/1632285.7.1特点2285.7.2描述2295.7.3ATmega83与ATmega163的比较2315.7.4引脚配置2315.8ATtiny10/11/122325.8.1特点2325.8.2描述2335.8.3引脚配置2355.9ATtiny15/L2375.9.1特点2375.9.2描述2375.9.3引脚配置2395 .10ATmega128/128L2395.10.1特点2405.10.2描述2415.10.3引脚配置2435.10.4开发实验工具2455.11ATmega1612465.11.1特点2465.11.2描述2475.11.3引脚配置2475.12AVR单片机替代MCS51单片机249第六章实用程序设计6.1程序设计方法2506.1.1程序设计步骤2506.1.2程序设计技术2506.2应用程序举例2516.2.1内部寄存器和位定义文件2516.2.2访问内部 EEPROM2546.2.3数据块传送2546.2.4乘法和除法运算应用一2556.2.5乘法和除法运算应用二2556.2.616位运算2556.2.7BCD运算2556.2.8冒泡分类算法2556.2.9设置和使用模拟比较器2556.2.10半双工中断方式UART应用一2556.2.11半双工中断方式UART应用二2566.2.128位精度A/D转换器2566.2.13装载程序存储器2566.2.14安装和使用相同模拟比较器2566.2.15CRC程序存储的检查2566.2.164×4键区休眠触发方式2576.2.17多工法驱动LED和4×4键区扫描2576.2.18I2C总线2576.2.19I2C工作2586.2.20SPI软件2586.2.21验证SLAVR实验器及AT90S1200的口功能12596.2.22验证SLAVR实验器及AT90S1200的口功能22596.2.23验证SLAVR实验器及具有DIP40封装的口功能第七章AVR单片机的应用7.1通用延时子程序2607.2简单I/O口输出实验2667.2.1SLAVR721.ASM 2667.2.2SLAVR722.ASM2677.2.3SLAVR723.ASM2687.2.4SLAVR724.ASM2707.2.5SLAVR725.ASM2717.2.6SLAVR726.ASM2727.2.7SLAVR727.ASM2737.3综合程序2747.3.1LED/LCD/键盘扫描综合程序2747.3.2LED键盘扫描综合程序2757.3.3在LED上实现字符8的循环移位显示程序2757.3.4电脑放音机2777.3.5键盘扫描程序2857.3.6十进制计数显示2867.3.7廉价的A/D转换器2897.3.8高精度廉价的A/D转换器2947.3.9星星灯2977.3.10按钮猜数程序2987.3.11汉字的输入3047.4复杂实用程序3067.4.110位A/D转换3067.4.2步进电机控制程序3097.4.3测脉冲宽度3127.4.4LCD显示8字循环3187.4.5LED电脑时钟3247.4.6测频率3307.4.7测转速3327.4.8AT90S8535的A/D转换334第八章BASCOMAVR的应用8.1基于高级语言BASCOMAVR的单片机开发平台3408.2BASCOMAVR软件平台的安装与使用3418.3AVR I/O口的应用3458.3.1LED发光二极管的控制3458.3.2简易手控广告灯3468.3.3简易电脑音乐放音机3478.4LCD显示器3498.4.1标准LCD显示器的应用3498.4.2简单游戏机--按钮猜数3518.5串口通信UART3528.5.1AVR系统与PC的简易通信3538.5.2PC控制的简易广告灯3548.6单总线接口和温度计3568.7I2C总线接口和简易IC卡读写器359第九章ICC AVR C编译器的使用9.1ICC AVR的概述3659.1.1介绍ImageCraft的ICC AVR3659.1.2ICC AVR中的文件类型及其扩展名3659.1.3附注和扩充3669.2ImageCraft的ICC AVR编译器安装3679.2.1安装SETUP.EXE程序3679.2.2对安装完成的软件进行注册3679.3ICC AVR导游3689.3.1起步3689.3.2C程序的剖析3699.4ICC AVR的IDE环境3709.4.1编译一个单独的文件3709.4.2创建一个新的工程3709.4.3工程管理3719.4.4编辑窗口3719.4.5应用构筑向导3719.4.6状态窗口3719.4.7终端仿真3719.5C库函数与启动文件3729.5.1启动文件3729.5.2常用库函数3729.5.3字符类型库3739.5.4浮点运算库3749.5.5标准输入/输出库3759.5.6标准库和内存分配函数3769.5.7字符串函数3779.5.8变量参数函数3799.5.9堆栈检查函数3799.6AVR硬件访问的编程3809.6.1访问AVR的底层硬件3809.6.2位操作3809.6.3程序存储器和常量数据3819.6.4字符串3829.6.5堆栈3839.6.6在线汇编3839.6.7I/O寄存器3849.6.8绝对内存地址3849.6.9C任务3859.6.10中断操作3869.6.11访问UART3879.6.12访问EEPROM3879.6.13访问SPI3889.6.14相对转移/调用的地址范围3889.6.15C的运行结构3889.6.16汇编界面和调用规则3899.6.17函数返回非整型值3909.6.18程序和数据区的使用3909.6.19编程区域3919.6.20调试3919.7应用举例*3929.7.1读/写口3929.7.2延时函数3929.7.3读/写EEPROM3929.7.4AVR的PB口变速移位3939.7.5音符声程序3939.7.68字循环移位显示程序3949.7.7锯齿波程序3959.7.8正三角波程序3969.7.9梯形波程序396附录1AT89系列单片机简介398附录2AT94K系列现场可编程系统标准集成电路401附录3指令集综合404附录4AVR单片机选型表408参 考 文 献412
上传时间: 2013-11-08
上传用户:xcy122677
九.输入/输出保护为了支持多任务,80386不仅要有效地实现任务隔离,而且还要有效地控制各任务的输入/输出,避免输入/输出冲突。本文将介绍输入输出保护。 这里下载本文源代码。 <一>输入/输出保护80386采用I/O特权级IPOL和I/O许可位图的方法来控制输入/输出,实现输入/输出保护。 1.I/O敏感指令输入输出特权级(I/O Privilege Level)规定了可以执行所有与I/O相关的指令和访问I/O空间中所有地址的最外层特权级。IOPL的值在如下图所示的标志寄存器中。 标 志寄存器 BIT31—BIT18 BIT17 BIT16 BIT15 BIT14 BIT13—BIT12 BIT11 BIT10 BIT9 BIT8 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 00000000000000 VM RF 0 NT IOPL OF DF IF TF SF ZF 0 AF 0 PF 1 CF I/O许可位图规定了I/O空间中的哪些地址可以由在任何特权级执行的程序所访问。I/O许可位图在任务状态段TSS中。 I/O敏感指令 指令 功能 保护方式下的执行条件 CLI 清除EFLAGS中的IF位 CPL<=IOPL STI 设置EFLAGS中的IF位 CPL<=IOPL IN 从I/O地址读出数据 CPL<=IOPL或I/O位图许可 INS 从I/O地址读出字符串 CPL<=IOPL或I/O位图许可 OUT 向I/O地址写数据 CPL<=IOPL或I/O位图许可 OUTS 向I/O地址写字符串 CPL<=IOPL或I/O位图许可 上表所列指令称为I/O敏感指令,由于这些指令与I/O有关,并且只有在满足所列条件时才可以执行,所以把它们称为I/O敏感指令。从表中可见,当前特权级不在I/O特权级外层时,可以正常执行所列的全部I/O敏感指令;当特权级在I/O特权级外层时,执行CLI和STI指令将引起通用保护异常,而其它四条指令是否能够被执行要根据访问的I/O地址及I/O许可位图情况而定(在下面论述),如果条件不满足而执行,那么将引起出错码为0的通用保护异常。 由于每个任务使用各自的EFLAGS值和拥有自己的TSS,所以每个任务可以有不同的IOPL,并且可以定义不同的I/O许可位图。注意,这些I/O敏感指令在实模式下总是可执行的。 2.I/O许可位图如果只用IOPL限制I/O指令的执行是很不方便的,不能满足实际要求需要。因为这样做会使得在特权级3执行的应用程序要么可访问所有I/O地址,要么不可访问所有I/O地址。实际需要与此刚好相反,只允许任务甲的应用程序访问部分I/O地址,只允许任务乙的应用程序访问另一部分I/O地址,以避免任务甲和任务乙在访问I/O地址时发生冲突,从而避免任务甲和任务乙使用使用独享设备时发生冲突。 因此,在IOPL的基础上又采用了I/O许可位图。I/O许可位图由二进制位串组成。位串中的每一位依次对应一个I/O地址,位串的第0位对应I/O地址0,位串的第n位对应I/O地址n。如果位串中的第位为0,那么对应的I/O地址m可以由在任何特权级执行的程序访问;否则对应的I/O地址m只能由在IOPL特权级或更内层特权级执行的程序访问。如果在I/O外层特权级执行的程序访问位串中位值为1的位所对应的I/O地址,那么将引起通用保护异常。 I/O地址空间按字节进行编址。一条I/O指令最多可涉及四个I/O地址。在需要根据I/O位图决定是否可访问I/O地址的情况下,当一条I/O指令涉及多个I/O地址时,只有这多个I/O地址所对应的I/O许可位图中的位都为0时,该I/O指令才能被正常执行,如果对应位中任一位为1,就会引起通用保护异常。 80386支持的I/O地址空间大小是64K,所以构成I/O许可位图的二进制位串最大长度是64K个位,即位图的有效部分最大为8K字节。一个任务实际需要使用的I/O许可位图大小通常要远小于这个数目。 当前任务使用的I/O许可位图存储在当前任务TSS中低端的64K字节内。I/O许可位图总以字节为单位存储,所以位串所含的位数总被认为是8的倍数。从前文中所述的TSS格式可见,TSS内偏移66H的字确定I/O许可位图的开始偏移。由于I/O许可位图最长可达8K字节,所以开始偏移应小于56K,但必须大于等于104,因为TSS中前104字节为TSS的固定格式,用于保存任务的状态。 1.I/O访问许可检查细节保护模式下处理器在执行I/O指令时进行许可检查的细节如下所示。 (1)若CPL<=IOPL,则直接转步骤(8);(2)取得I/O位图开始偏移;(3)计算I/O地址对应位所在字节在I/O许可位图内的偏移;(4)计算位偏移以形成屏蔽码值,即计算I/O地址对应位在字节中的第几位;(5)把字节偏移加上位图开始偏移,再加1,所得值与TSS界限比较,若越界,则产生出错码为0的通用保护故障;(6)若不越界,则从位图中读对应字节及下一个字节;(7)把读出的两个字节与屏蔽码进行与运算,若结果不为0表示检查未通过,则产生出错码为0的通用保护故障;(8)进行I/O访问。设某一任务的TSS段如下: TSSSEG SEGMENT PARA USE16 TSS <> ;TSS低端固定格式部分 DB 8 DUP(0) ;对应I/O端口00H—3FH DB 10000000B ;对应I/O端口40H—47H DB 01100000B ;对用I/O端口48H—4FH DB 8182 DUP(0ffH) ;对应I/O端口50H—0FFFFH DB 0FFH ;位图结束字节TSSLen = $TSSSEG ENDS 再假设IOPL=1,CPL=3。那么如下I/O指令有些能正常执行,有些会引起通用保护异常: in al,21h ;(1)正常执行 in al,47h ;(2)引起异常 out 20h,al ;(3)正常实行 out 4eh,al ;(4)引起异常 in al,20h ;(5)正常执行 out 20h,eax ;(6)正常执行 out 4ch,ax ;(7)引起异常 in ax,46h ;(8)引起异常 in eax,42h ;(9)正常执行 由上述I/O许可检查的细节可见,不论是否必要,当进行许可位检查时,80386总是从I/O许可位图中读取两个字节。目的是为了尽快地执行I/O许可检查。一方面,常常要读取I/O许可位图的两个字节。例如,上面的第(8)条指令要对I/O位图中的两个位进行检查,其低位是某个字节的最高位,高位是下一个字节的最低位。可见即使只要检查两个位,也可能需要读取两个字节。另一方面,最多检查四个连续的位,即最多也只需读取两个字节。所以每次要读取两个字节。这也是在判别是否越界时再加1的原因。为此,为了避免在读取I/O许可位图的最高字节时产生越界,必须在I/O许可位图的最后填加一个全1的字节,即0FFH。此全1的字节应填加在最后一个位图字节之后,TSS界限范围之前,即让填加的全1字节在TSS界限之内。 I/O许可位图开始偏移加8K所得的值与TSS界限值二者中较小的值决定I/O许可位图的末端。当TSS的界限大于I/O许可位图开始偏移加8K时,I/O许可位图的有效部分就有8K字节,I/O许可检查全部根据全部根据该位图进行。当TSS的界限不大于I/O许可位图开始偏移加8K时,I/O许可位图有效部分就不到8K字节,于是对较小I/O地址访问的许可检查根据位图进行,而对较大I/O地址访问的许可检查总被认为不可访问而引起通用保护故障。因为这时会发生字节越界而引起通用保护异常,所以在这种情况下,可认为不足的I/O许可位图的高端部分全为1。利用这个特点,可大大节约TSS中I/O许可位图占用的存储单元,也就大大减小了TSS段的长度。 <二>重要标志保护输入输出的保护与存储在标志寄存器EFLAGS中的IOPL密切相关,显然不能允许随便地改变IOPL,否则就不能有效地实现输入输出保护。类似地,对EFLAGS中的IF位也必须加以保护,否则CLI和STI作为敏感指令对待是无意义的。此外,EFLAGS中的VM位决定着处理器是否按虚拟8086方式工作。 80386对EFLAGS中的这三个字段的处理比较特殊,只有在较高特权级执行的程序才能执行IRET、POPF、CLI和STI等指令改变它们。下表列出了不同特权级下对这三个字段的处理情况。 不同特权级对标志寄存器特殊字段的处理 特权级 VM标志字段 IOPL标志字段 IF标志字段 CPL=0 可变(初POPF指令外) 可变 可变 0 不变 不变 可变 CPL>IOPL 不变 不变 不变 从表中可见,只有在特权级0执行的程序才可以修改IOPL位及VM位;只能由相对于IOPL同级或更内层特权级执行的程序才可以修改IF位。与CLI和STI指令不同,在特权级不满足上述条件的情况下,当执行POPF指令和IRET指令时,如果试图修改这些字段中的任何一个字段,并不引起异常,但试图要修改的字段也未被修改,也不给出任何特别的信息。此外,指令POPF总不能改变VM位,而PUSHF指令所压入的标志中的VM位总为0。 <三>演示输入输出保护的实例(实例九)下面给出一个用于演示输入输出保护的实例。演示内容包括:I/O许可位图的作用、I/O敏感指令引起的异常和特权指令引起的异常;使用段间调用指令CALL通过任务门调用任务,实现任务嵌套。 1.演示步骤实例演示的内容比较丰富,具体演示步骤如下:(1)在实模式下做必要准备后,切换到保护模式;(2)进入保护模式的临时代码段后,把演示任务的TSS段描述符装入TR,并设置演示任务的堆栈;(3)进入演示代码段,演示代码段的特权级是0;(4)通过任务门调用测试任务1。测试任务1能够顺利进行;(5)通过任务门调用测试任务2。测试任务2演示由于违反I/O许可位图规定而导致通用保护异常;(6)通过任务门调用测试任务3。测试任务3演示I/O敏感指令如何引起通用保护异常;(7)通过任务门调用测试任务4。测试任务4演示特权指令如何引起通用保护异常;(8)从演示代码转临时代码,准备返回实模式;(9)返回实模式,并作结束处理。
上传时间: 2013-12-11
上传用户:nunnzhy
如同今天的许多通用单片机(MCU)已经把USB、CAN和以太网作为标准外设集成在芯片内部一样,越来越多的无线网络芯片和无线网络解决方案也在向集成SoC 方向发展,比如第一代产品,Nordic公司nRF905,Chipcon公司cc1010 他们集成了8051兼容的单片机.这些无线单片机适合一般的点对点和点对多点的私有网络应用,如单一产品的遥控器和抄表装置等。无线通讯技术给智能装置的互连互通提供了便捷的途径,工业无线网络作为面向工业和家庭自动化的网络技术也正在向着智能,标准和节能方向发展。 目前在工业控制和消费电子领域使用的无线网络技术有ZigBee、无线局域网(Wi-Fi)、蓝牙(Blutooth)、GPRS通用分组无线业务、 ISM、IrDA等, 未来还能有3G、超宽频(UWB)、无线USB、Wimax等。 当然还有大量的私有和专用无线网络在工业控制和消费电子装置中使用,其中ZigBee、GPRS是在目前在国内工业控制中讨论和使用比较多的两种,蓝牙和无线局域网是在消费电子产品如手机、耳机、打印机、照相机和家庭中小企业网络中广泛使用的无线协议(个别工业产品也有应用,如无线视频监控和汽车音响系统),当然私有无线网络技术和产品在工业也有很多的应用。 ZigBee是一个低功耗、短距离和低速的无线网络技术,工作在2.4GHz国际免执照的频率,在IEEE标准上它和无线局域网、蓝牙同属802家族中的无线个人区域网络, ZigBee是有两部分组成,物理和链路层符合IEEE802.15.4, 网络和应用层符合ZigBee联盟的规范。ZigBee联盟是在2002年成立的非盈利组织,有包括TI、霍尼威尔、华为在内两百多家成员, ZigBee联盟致力推广兼容802.15.4和ZigBee协议的平台, 制定网络层和应用架构的公共规范,希望在楼宇自动化、居家控制、家用电器、工业自动控制和电脑外设等多方面普及ZigBee标准。 GPRS是在现有的GSM 网络发展出来的分组数据承载业务,它工作在标准的GSM频率,由于是一个分组交换系统,它适合工业上的突发,少量的数据传输,还因为GSM网络覆盖广泛,永远在线的特点,GPRS特点适合工业控制中的远程监控和测量系统。在工业控制应用中GPRS 芯片一般是以无线数传模块形式出现的,它通过RS232全双工接口和单片机连接,软件上这些模块都内置了GPRS,PPP和TCP/IP协议,单片机侧通过AT指令集向模块发出测试,连接和数据收发指令,GPRS模块通过中国移动cmnet进入互联网和其他终端或者服务器通讯。目前市场常见的模块有西门子G24TC45、TC35i,飞思卡尔G24,索爱GR47/48, 还有Wavecom 的集成了ARM9核的GPRS SoC模块WMP50/100。GPRS模块有区分自带TCP/IP协议和不带协议两种,一般来讲,如果是单片机侧有嵌入式操作系统和TCP/IP协议支持的话或者应用的要求只是收发短信和语音功能的话,可以选择不带协议的模块。 先进的SoC技术正在无线应用领域发挥重要的作用。德州仪器收购了Chipcon公司以后发布的CC2430 是市场上首款SoC的ZigBee单片机, 见图1,它把协议栈z-stack集成在芯片内部的闪存里面, 具有稳定可靠的CC2420收发器,增强性的8051内核,8KRAM,外设有I/O 口,ADC,SPI,UART 和AES128 安全协处理器,三个版本分别是32/64/128K的闪存,以128K为例,扣除基本z-stack协议还有3/4的空间留给应用代码,即使完整的ZigBee协议,还有近1/2的空间留给应用代码,这样的无线单片机除了处理通讯协议外,还可以完成一些监控和显示任务。这样无线单片机都支持通过SPI或者UART与通用单片机或者嵌入式CPU结合。 2008年4月发表CC2480新一代单片ZibBee认证处理器就展示出和TI MSP430 通用的低功耗单片机结合的例子。图1 CC2430应用电路 工业控制领域的另一个芯片巨头——飞思卡尔的单片ZigBee处理器MC1321X的方案也非常类似,集成了HC08单片机核心, 16/32/64K 闪存,外设有GPIO, I2C和ADC, 软件是Beestack 协议,只是最多4K RAM 对于更多的任务显得小了些。但是凭借32位单片机Coldfire和系统软件方面经验和优势, 飞思卡尔在满足用户应用的弹性需求方面作的更有特色,它率先能够提供从低-中-高各个层面的解决方案,见图2。
上传时间: 2013-11-02
上传用户:momofiona
《数字信号处理实践方法(第二版)》根据实际工程应用和具体实例,详细介绍了数字信号处理(DSP)领域内的基本概念和相关技术。全书共分为14章,首先讲解了DSP的基本概念及其应用,并从实际的例子出发,阐述了DSP的一些基本内容,如信号的抽样、量化及其在实时DSP上的内涵。然后,作者介绍了离散变换(DFT和FFT),离散时间信号与系统分析的工具(z变换),以及DSP的基本运算(相关和卷积),并分析了数字滤波器设计的实际问题。《数字信号处理实践方法(第二版)》还介绍了多抽样率数字信号处理、自适应数字滤波器、谱估计及其分析等现代数字信号处理理论,最后讨论了通用和专用数字信号处理器、定点DSP系统有限字长效应分析及DSP的应用和设计实例。另外,书中还提供了有关范例和实验的MATLAB实现方法。 《数字信号处理实践方法(第二版)》可作为通信与电子信息类专业高年级本科生和研究生的教材或教学参考书,而且对于相关学科的工程技术人员也具有很好的参考价值。
上传时间: 2013-12-30
上传用户:assef
陷波器是无限冲击响应(IIR)数字滤波器,该滤波器可以用以下常系数线性差分方程表示:ΣΣ==−−−=MiNiiiinybinxany01)()()( (1)式中: x(n)和y(n)分别为输人和输出信号序列;和为滤波器系数。 iaib对式(1)两边进行z变换,得到数字滤波器的传递函数为: ΠΠΣΣ===−=−−−==NiiMiiNiiiMiiipzzzzbzazH1100)()()( (2)式中:和分别为传递函数的零点和极点。 izip由传递函数的零点和极点可以大致绘出频率响应图。在零点处,频率响应出现极小值;在极点处,频率响应出现极大值。因此可以根据所需频率响应配置零点和极点,然后反向设计带陷数字滤波器。考虑一种特殊情况,若零点在第1象限单位圆上,极点在单位圆内靠近零点的径向上。为了防止滤波器系数出现复数,必须在z平面第4象限对称位置配置相应的共轭零点、共轭极点。 izip∗iz∗ip这样零点、极点配置的滤波器称为单一频率陷波器,在频率ωo处出现凹陷。而把极点设置在零的的径向上距圆点的距离为l-μ处,陷波器的传递函数为: ))1()()1(())(()(2121zzzzzzzzzHμμ−−−−−−= (3)式(3)中μ越小,极点越靠近单位圆,则频率响应曲线凹陷越深,凹陷的宽度也越窄。当需要消除窄带干扰而不能对其他频率有衰减时,陷波器是一种去除窄带干扰的理想数字滤波器。当要对几个频率同时进行带陷滤波时,可以按(2)式把几个单独频率的带陷滤波器(3)式串接在一起。一个例子:设有一个输入,它
上传时间: 2013-10-18
上传用户:uuuuuuu
UG157 - LogiCORE™ IP Initiator/Target v3.1 for PCI™ 入门指南
上传时间: 2013-11-06
上传用户:ewtrwrtwe
很多不同的厂家生产各种型号的计算机,它们运行完全不同的操作系统,但TCP.IP协议族允许它们互相进行通信。这一点很让人感到吃惊,因为它的作用已远远超出了起初的设想。T C P / I P起源于6 0年代末美国政府资助的一个分组交换网络研究项目,到9 0年代已发展成为计算机之间最常应用的组网形式。它是一个真正的开放系统,因为协议族的定义及其多种实现可以不用花钱或花很少的钱就可以公开地得到。它成为被称作“全球互联网”或“因特网(Internet)”的基础,该广域网(WA N)已包含超过1 0 0万台遍布世界各地的计算机。本章主要对T C P / I P协议族进行概述,其目的是为本书其余章节提供充分的背景知识。 TCP.IP协议 缩略语 ACK (ACKnowledgment) TCP首部中的确认标志 API (Application Programming Interface) 应用编程接口 ARP (Address Resolution Protocol) 地址解析协议 ARPANET(Defense Advanced Research Project Agency NETwork) (美国)国防部远景研究规划局 AS (Autonomous System) 自治系统 ASCII (American Standard Code for Information Interchange) 美国信息交换标准码 ASN.1 (Abstract Syntax Notation One) 抽象语法记法1 BER (Basic Encoding Rule) 基本编码规则 BGP (Border Gateway Protocol) 边界网关协议 BIND (Berkeley Internet Name Domain) 伯克利I n t e r n e t域名 BOOTP (BOOTstrap Protocol) 引导程序协议 BPF (BSD Packet Filter) BSD 分组过滤器 CIDR (Classless InterDomain Routing) 无类型域间选路 CIX (Commercial Internet Exchange) 商业互联网交换 CLNP (ConnectionLess Network Protocol) 无连接网络协议 CRC (Cyclic Redundancy Check) 循环冗余检验 CSLIP (Compressed SLIP) 压缩的S L I P CSMA (Carrier Sense Multiple Access) 载波侦听多路存取 DCE (Data Circuit-terminating Equipment) 数据电路端接设备 DDN (Defense Data Network) 国防数据网 DF (Don’t Fragment) IP首部中的不分片标志 DHCP (Dynamic Host Configuration Protocol) 动态主机配置协议 DLPI (Data Link Provider Interface) 数据链路提供者接口 DNS (Domain Name System) 域名系统 DSAP (Destination Service Access Point) 目的服务访问点 DSLAM (DSL Access Multiplexer) 数字用户线接入复用器 DSSS (Direct Sequence Spread Spectrum) 直接序列扩频 DTS (Distributed Time Service) 分布式时间服务 DVMRP (Distance Vector Multicast Routing Protocol) 距离向量多播选路协议 EBONE (European IP BackbONE) 欧洲I P主干网 EOL (End of Option List) 选项清单结束 EGP (External Gateway Protocol) 外部网关协议 EIA (Electronic Industries Association) 美国电子工业协会 FCS (Frame Check Sequence) 帧检验序列 FDDI (Fiber Distributed Data Interface) 光纤分布式数据接口 FIFO (First In, First Out) 先进先出 FIN (FINish) TCP首部中的结束标志 FQDN (Full Qualified Domain Name) 完全合格的域名 FTP (File Transfer Protocol) 文件传送协议 HDLC (High-level Data Link Control) 高级数据链路控制 HELLO 选路协议 IAB (Internet Architecture Board) Internet体系结构委员会 IANA (Internet Assigned Numbers Authority) Internet号分配机构 ICMP (Internet Control Message Protocol) Internet控制报文协议 IDRP (InterDomain Routing Protocol) 域间选路协议 IEEE (Institute of Electrical and Electronics Engineering) (美国)电气与电子工程师协会 IEN (Internet Experiment Notes) 互联网试验注释 IESG (Internet Engineering Steering Group) Internet工程指导小组 IETF (Internet Engineering Task Force) Internet工程专门小组 IGMP (Internet Group Management Protocol) Internet组管理协议 IGP (Interior Gateway Protocol) 内部网关协议 IMAP (Internet Message Access Protocol) Internet报文存取协议 IP (Internet Protocol) 网际协议 I RTF (Internet Research Task Force) Internet研究专门小组 IS-IS (Intermediate System to Intermediate System Protocol) 中间系统到中间系统协议 ISN (Initial Sequence Number) 初始序号 ISO (International Organization for Standardization) 国际标准化组织 ISOC (Internet SOCiety) Internet协会 LAN (Local Area Network) 局域网 LBX (Low Bandwidth X) 低带宽X LCP (Link Control Protocol) 链路控制协议 LFN (Long Fat Net) 长肥网络 LIFO (Last In, First Out) 后进先出 LLC (Logical Link Control) 逻辑链路控制 LSRR (Loose Source and Record Route) 宽松的源站及记录路由 MBONE (Multicast Backbone On the InterNEt) Internet上的多播主干网 MIB (Management Information Base) 管理信息库 MILNET (MILitary NETwork) 军用网 MIME (Multipurpose Internet Mail Extensions) 通用I n t e r n e t邮件扩充 MSL (Maximum Segment Lifetime) 报文段最大生存时间 MSS (Maximum Segment Size) 最大报文段长度 M TA (Message Transfer Agent) 报文传送代理 MTU (Maximum Transmission Unit) 最大传输单元 NCP (Network Control Protocol) 网络控制协议 NFS (Network File System) 网络文件系统 NIC (Network Information Center) 网络信息中心 NIT (Network Interface Tap) 网络接口栓(S u n公司的一个程序) NNTP (Network News Transfer Protocol) 网络新闻传送协议 NOAO (National Optical Astronomy Observatories) 国家光学天文台 NOP (No Operation) 无操作 NSFNET (National Science Foundation NETwork) 国家科学基金网络 NSI (NASA Science Internet) (美国)国家宇航局I n t e r n e t NTP (Network Time Protocol) 网络时间协议 NVT (Network Virtual Terminal) 网络虚拟终端 OSF (Open Software Foudation) 开放软件基金 OSI (Open Systems Interconnection) 开放系统互连 OSPF (Open Shortest Path First) 开放最短通路优先 PAWS (Protection Against Wrapped Sequence number) 防止回绕的序号 PDU (Protocol Data Unit) 协议数据单元 POSIX (Portable Operating System Interface) 可移植操作系统接口 PPP (Point-to-Point Protocol) 点对点协议 PSH (PuSH) TCP首部中的急迫标志 RARP (Reverse Address Resolution Protocol) 逆地址解析协议 RFC (Request For Comments) Internet的文档,其中的少部分成为标准文档 RIP (Routing Information Protocol) 路由信息协议 RPC (Remote Procedure Call) 远程过程调用 RR (Resource Record) 资源记录 RST (ReSeT) TCP首部中的复位标志 RTO (Retransmission Time Out) 重传超时 RTT (Round-Trip Time) 往返时间 SACK (Selective ACKnowledgment) 有选择的确认 SLIP (Serial Line Internet Protocol) 串行线路I n t e r n e t协议 SMI (Structure of Management Information) 管理信息结构 SMTP (Simple Mail Transfer Protocol) 简单邮件传送协议 SNMP (Simple Network Management Protocol) 简单网络管理协议 SSAP (Source Service Access Point) 源服务访问点 SSRR (Strict Source and Record Route) 严格的源站及记录路由 SWS (Silly Window Syndrome) 糊涂窗口综合症 SYN (SYNchronous) TCP首部中的同步序号标志 TCP (Transmission Control Protocol) 传输控制协议 TFTP (Trivial File Transfer Protocol) 简单文件传送协议 TLI (Transport Layer Interface) 运输层接口 TTL (Ti m e - To-Live) 生存时间或寿命 TUBA (TCP and UDP with Bigger Addresses) 具有更长地址的T C P和U D P Telnet 远程终端协议 UA (User Agent) 用户代理 UDP (User Datagram Protocol) 用户数据报协议 URG (URGent) TCP首部中的紧急指针标志 UTC (Coordinated Universal Time) 协调的统一时间 UUCP (Unix-to-Unix CoPy) Unix到U n i x的复制 WAN (Wide Area Network) 广域网 WWW (World Wide Web) 万维网 XDR (eXternal Data Representation) 外部数据表示 XID (transaction ID) 事务标识符 XTI (X/Open Transport Layer Interface) X/ O p e n运输层接口
上传时间: 2013-11-13
上传用户:tdyoung
ADXL345的详细介绍资料 本模块使用说明书。 本压缩文件能够利用角度传感器对x,y,z三方的加速度值,角度值进行测量,并集成了1602对其进行显示。 为了便于使用,我们分别将模块单独化,如果您有使用的意向,可以单独摘出 angle.c 引入到您自己新建的工程中。 关于angle.c文件的内部函数使用说明。 首先为了便于使用和方便引用我们对内部函数进行了高度集成化,您在引入angle.c后直接在您的主程序中调用 dis_data();函数,可完成ADXL345芯片的测量数据, 测量数据说明: char as_Xjiasu[6],as_Yjiasu[6],as_Zjiasu[6]; //定义3轴静态重力加速度值的ASCII码值 unsigned char as_Xangel[4],as_Yangel[4],as_Zangel[4]; //定义3轴角度值的ASCII码值 as_Xjiasu[x]数组里边我们为了您的使用直接将 加速度值转换成了 能够直接显示到 1602上的ASCII码值,同理as_Xangel 真实数据存放说明。 float jiasu_xyz[3]; angel_xyz[3]; //存放X,Y,Z 轴的静态重力加速度,角度值 存放了 加速度和角度的真实值(未经转换成ASCII码的数据)--本数据可以用于其他用途,直接参与MCU内部运算等。
上传时间: 2013-11-17
上传用户:wpwpwlxwlx