摘要:介绍SX系理单片机的性能、内部结构、端口特性和存储器体系结构,说明虚拟外设这一新的其广阔的应用前景。SX系列单片机具有高速运行和灵活的I/O特性,可作为一个嵌入式设备应用在通信类的产品设计中。
关键词:嵌入式Internet设备 RISC结构 配置端口状态 存储器体系结构 虚拟外设
SX52BD(以及SX48BD)是SX系列产品,是采用CMOS工敢制造的、可配置的通信控制器。它的操作频率可达到50/75/100MHz,是一种高速计算机;其大部分指令为单周期指令,运行速度可达到一般MCU的20倍;灵活的I/O特性使之具有高效的实时控制功能。正因为它的高速运行特性,设备可以用软件模块(虚拟外设)替代一部分过去由硬件实现的实时功能,这是SX系列的最重要的特点。目前可以实现的虚拟外设大多用于通信设备,如通信接口和Internet连接协议等。下面主要从它的硬件结构进行说明。
1 主要性能和特点
①CPU性能。基于RISC结构,采用压缩的指令系统,除branch外大部分为单周期指令;操作频率最高可达100MHz,此时指令周期10ns,内部中断响应时间达30ns;可以通过运行时间内读代码(IREAD指令)进行快速平台查找;它能克服一般MCU运行速度慢的缺点,使得SX系列的内部程序达到硬件实时控制功能的目的。
②硬件外设特性。内部包含2个(带8位预定标器的)16位定时器,运行方式有软件时钟模式、PWM模式、同步PWM/捕捉模式以及外部事件模式;有一个(带8位预定标器的)可编程的8位定时/计数器(RTCC)和看门狗计时器(共享RTCC预定标器);内部包含模拟比较器,这对于一般的应用来说显得十分方便。
③由于SX系列高速运行特性,再加上灵活的I/O功能,设备就可以用软件模块(虚拟外设)代替那些硬件所具有的准确的实时功能。目前可以实现的虚拟外设大多用于通信设备(例如通信接口和Internet连接协议等)以及作为运行速度比较高的信号发生装置和转换装置。
④编程和调试支持。可以通过串口或并口对芯片进行在线编程(例如可以接振荡器引脚进行在线串行编程),芯片具有在线调试支持逻辑。对于实时仿真、全程调试,可以由第三工具供应商提供完备的开发环境。这些软件支持包括:即时可用的虚拟外设模块库、虚拟外设综合实例以及用于通信的应用软件工具包等。
SX设备在衬能够提供新的思路和解决办法,一方面它可对应用于一些常规的设备,如:过程控制器、电子设备/工具、安全/监视系统、汽车用户、动力控制系统、私人通信设备等等;另一方面,SX通信控制器为SX堆栈的硬件平台,它能实现执行整个TCP/IP协议、物理层及其它相关的高速通信层——虚拟外设模块。边疆的虚拟外设库也在不断扩大应用范围,如:Internet协议堆栈、通信接口的出现都使设计师就能将一些产品嵌入Internet。它的整个网络连接协议堆栈工具能使单片网络服务器和E-mail设备在嵌入式场合中应用。平些工具包括TCP/IP网络连接协议、物理层及其它的相关的高速通信层——虚拟外设模块。它的虚拟外设库也在不断扩大应用范围,如:Internet协议堆栈、通信接口的出现都使设计师就能将一些产品嵌入Internet。它的整个网络连接协议堆栈工具能使单片网络服务器和E-mail设备在嵌入式场合中应用。这些工具包括TCP/IP网络连接协议的物理层界面,使系统设计师能开发出一些成本低廉的嵌入式Internet设备,而不必用到外部的物理通路或PC网关。
2 电路结构
图1所示为SX系列产品的内部结构框图。可以看到SX系列产品内部使用了2个独立的具有不同地址总线的存储器,一个用于程序,另一个用于数据,两者是严格区分开的。它允许数据同时从程序存储流至SRAM,能从程序存储器访问数据表格。这一结构的优点为:取指为存储传送可通过多层通道交替进行。这意味着在执行当前指令的同时,能获取从程序存储器传来的下一条指令。实际上这是一种基于RISC的结构,其存储器设计工艺可使设备比传统的MCU块20倍,且能准确自由振荡及可完成编程。SX系列产品采用4个阶段传递(接收-解码-执行-写入),所以每一时钟周期执行1条指令。当最大操作频率达到100MHz时,指令以每10ns的时钟周期运行。
程序存储器采用EEPROM或Flash,片内容量为4
096字节,在使用中重复写周期可大于10 000次以上;而数据存储器是SRAM,片内容量为262×8位。
除了上面的显著特点外,它的接口部分还包括以下部分:2个带8位预定标器的16位定时器,可支持不同的操作模式(PWM模式、同步PWM/捕捉模式以及外部事件计数器模式);1个带预定标器的通用的8位定时器,1个模拟比较器,1个brownout检测器及看门狗定时器;具有一种多源唤醒功能的节点模式,端口B(8个引脚)上有唤醒/中断功能;1个内部RC振荡器,可供用户选择时钟模式,RC内部振荡器可调范围为31.25kHz~4MHz。
目前SX系列中有SX48BD和SX52BD两种产品,除了引脚封装形式不同外其它功能基本相同。从图2的2种电路外形图可以看出:SX48BD为48脚封装,SX52BD为52脚封装。它们的区别是A端口不同:后者有8个I/O引脚,而前者却只有4个。
3 端口特性
由图2可以看到SX系列都有5个8位的I/O端口(即端口A~端口E),其中端口A的情况与其它4个端口有些区别。图3给出了端口A内部的情况:硬件结构及端口每个引脚的配置寄存器的情况。端口A提供对称的驱动能力。在48脚的SX48BD器件中,端口A只有4个引脚(而不是8个引脚)。每个端口有4个相对应的8位寄存器(即方向、数据、TTL/CMOS选择以及上拉允许寄存器)用于配置端口引脚的状态。如:选择高阻输入或输出,或选择TTL或CMOS电压电平,或选择接入/关断上拉电阻。接照端口引脚最低位与寄存器的最低位相对应的关系,要访问这些配置寄存器,还必须同时将合理的值写入MODE(方式)寄存器中。
开机时,寄存器中所有位初始化为“1”。在软件的控制下,相关的寄存器对各个端口位进行配置,如图4所示。
与端口A的情况不同的是,端口B、C、D和E还有额外相关的寄存器(施密特触发允许寄存器),能允许或禁止各个端口引脚上的施密特触发器起使用。端口B支持芯片上的微分比较器,RB1端口和RB2端口分别是比较器的负、正输入脚,RB0端口则是比较器的输出引脚。另外,端口B还支持所有8个引脚上的多重输入唤醒功能。端口B和C还支持多功能定时器T1和T2;RB4和RB5是T1是捕捉输入引脚,RB6是T1的PWM输出引脚;RB7是T1的外部事件计数器输入引脚;同样地,RC0和RC1是T2的捕捉输入引脚,RC2是T2的PWM输出引脚,RC3是T2的外部事件计数器输入引脚。图5给出了端口B、C、D、E的硬件结构及相应端口每个引脚的配置寄存器。
4 存储器体系结构
程序存储器——由4K个12位宽度的字组成。程序存储字由二进制程序计数器编址。复位时,程序计数器初始化为0FFFH。假如没有分支操作,它将会增至设备的最大值且循环往复,1个页面由512个相邻的程序存储字组成。在一页的首址,程序计数器的低9位均为“0”;而在该页的末址,程序计数器的低9位均为“1”。这种页面结构对程序计数器无任何影响,程序计数将能通过页间继续增加。
程序计数器——包含有执行指令的12位地址,低8位存储在PC寄存器中(02h),而3个高位由状态寄存器STATUS(PA0、PA1、PA2)指定,第8位不用。改变状态位将导致通过程序存储页间跳转和调用子程序,要优先执行转移(branch)操作时,用户程序须初始化状态寄存器的高位,以转移到期望的页面。另一种方式是使用“页”指令,它按照操作数的特定值自动地址转移到期望的页面。
子程序堆栈——包含8个12位存储寄存器。在寄存器内容的物理转移(如从程序计数器到堆栈,或者与此相反方向以及在堆栈内部)操作中规章能影响堆栈,尤其是调用和返回操作。堆栈在物理上和逻辑上均与数据RAM分离,程序不能对堆栈进行读和写。
数据存储器——是一个基于RAM的寄存器,包括262个常用寄存器以及9个特殊功能寄存器,所以这些寄存器均为8位宽。数据存储器分16层,从0~F。每个层包含有16个寄存器,另加1个由16个“全局的”寄存器组成额外层。由于这些寄存器由层及“文档”组成,故这些存储映射寄存器被称之为“文档寄存器”。
寻址方式——每个访问数据存储存储器的SX指令,都包含有1个5位操作码指令,用于指明对哪一个寄存器进行访问。缩写“fr”(文档寄存器),代表5位寄存器地址标志符。例如:在“mov fr,W”指令中,“fr”代表1个5位的值或标志,如“mov $ OF,W”指令(将工作寄存器W中内容移入至文档寄存器0Fh)。
有3种不同的寻址方式:间接寻址、直接寻址、半直接寻址。对寄存器寻址模式的选取依赖于指令中5位“fr”的值,例如:
*间接模式:fr=00h
*直接模式:(fr bit 4=0)fr=01h-0Fh
*半直接模式:(fr bit 4=1)fr=10h-1Fh
在图6中描述了数据存储器的结构图。
对于间接寻址模式(fr=00),文档选择寄存器(FSR)指定需访问的寄存器。FSR是一个8位存储映射寄存器(地址为04h)。在间接寻址中,它作为一个指向数据存储器的8位指针。在这种模式下,全局寄存器层及层1~层F均可用,而层0不可用。
对于直接寻址(fr=01-0F),“fr”的值自身已指明需访问的寄存器,而FSR寄存器被忽略。对于这种寻址模式,只有全局寄存器层才被访问,若要访问任何其它的层,必须使用间接或半直接寻址。
对于半直接寻址(fr=10-1F),层数由FSR的4个高位选择;而在层内的寄存器由“fr”的低4位决定,也就是说,寄存器地址由FSR的4个高位和“fr”的4个低位共同来决定。在这种选址模式下,FSR的低位被忽略,从0号层~F层均可访问,但是全局寄存器层不可访问。
图6列出了寄存器在间接、直接和半直接模式下怎样进行寻址。不管FSR寄存器中为何值,在直接寻址时,16个全局寄存器均可访问。全局寄存器在间接寻址模式下亦可进行访问,但在半直接模式下,不可访问。在这16个全局寄存器中,9个为特定功能寄存器(RTCC、PC、STATUS等等),6个为全局寄存器。00被用于间接寻址(INDF)。从0号层~F层的所有寄存器均为全局寄存器。要改变FSR寄存器中的值,程序既可在FSR寄存器写出8位值,又可用“层”指令。层指令可写FSR寄存器的4、5及6位,而7号位被用于选择存储层的高层或低层。因此,若要改变上部层至另一个上部层,只需使用一个“层”指令;若要改变上层至下层,则“层”指令后面必须用“setb
FSR.7”指令。
5 虚拟外设的概念
虚拟外设的概念使“芯片软件系统”得以实现,即用软件模块代替传统的硬件外围设备,达到与硬件设备一样的功效。由于运用虚拟外设库以及良好的速度和灵活性,为工程和产品开发提供了广阔的道路。它能大大地降低产品开发周期,缩短产品研制周期。虚拟外设库能为系统设计师提供一些预定的方案,或在开发外设时为系统设计师提供先入之见。有了虚拟外设支持的功能后,设计师只要专注于其它的应用场合。由于标准和协议的不断发展,虚拟外设与在线重复编程能力结合起来为通信行业提供了有力的开发前景。概括地说,虚拟外设有以下优点:使用设备简单、能减少元件数目、打入市场快、增加设计灵活性、与大多数机器兼容降低整个系统的成本。
可以实现的虚拟外设实例有:
*一些通用的通信接口如:I2C、微总线(μ级总线)、SPI、IrDA栈、UART以及调制解调器功能。
*Internet连接协议,如:UDP、TCP/IP、HTTP、SMTP、POP3等;
*频率信号产生和调试;
*PPM/PWM的产生;
*Δ-∑ADC;
*DTMF产生/检测;
*FFT/DFT算法。
由于SX系列硬件结构和虚拟外设概念的结构,为通信开发部门提供了一个强大的、灵活的开发平台;由于它具有高度的处理能力、灵活多变的结构,使之有比较高的成本效益。强大的开发能力能使设计师有足够信心紧跟标准以及许多领域内的革新,开发出大量的未来通信控制产品。
上一篇:PC机与单片机串行通信中实现命令批处理
下一篇:87C196MC与IPM模块组成的变频调速系统
- 热门资源推荐
- 热门放大器推荐
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况