高性能单片机μPD70320的特点及应用
扫描二维码
随时随地手机看文章
1. 概述
μPD70320是日本NEC公司生产的V25系列16位单片机,它具有功能强、可靠性高、速度快、兼容性好的优点。该芯片除CPU外还集成了512字节的 RAM、三个I/O口、8个模拟量输入端、两个DMA、两个定时器、两个全双工异步通讯口和一个中断控制器等电路,μPD70320具有先进的快速中断功能,特别适合实时多任务处理;采用严格的CMOS制造工艺,稳定工作范围宽,电源电压3~8V,可选用的晶振频率为1~6MHz,抗干扰,可在恶劣环境中使用;采用特殊的双总线结构,使用32位内部寄存器和6字节指令队列,在相同的时钟频率下,比8088快2~4倍;其指令集仅是8088的一个超集,把 PC机上的程序稍作修改就可在μPD70320上运行,因而开发它不需要特殊的开发装置和调试软件,因此可降低开发成本,加快开发进度。μPD70320 的引脚图如图1所示。
μPD70320与8088的寄存器和指令是一样的,差异在于μPD70320集成了众多外围芯片和由于内核不同而引起的时序关系的改变。新增的功能是通过特殊功能寄存器区(SFR)、片内数据区(IDA)以及特殊指令来实现的。SFR和IDA在512字节片内RAM中由高到低依地址连续排列,可以通过设置SFR中的片内数据区地址寄存器(IDB)的值来重新定位SFR和IDA在1MB内存的任意位置。IDB的值是20位地址的高8位,因此访问SFR就象访问内存一样。片内RAM地址映象如图2所示。
图2给出了SFR和IDA的分布情况、SFR用于访问片内周边单元;IDA主要用于快速寄存器的块切换(RBS)和宏服务功能(MSF)。
2. 特殊功能寄存器(SFR)
μPD70320有多种特殊功能的寄存器,现简述如下:
2.1 三个I/O口
每个口的每一个端均可通过设置口模式寄存器(PM)的相应位而成为输入或输出端,设置成1,表示输入;设置成0,表示输出。口模式控制寄存器(PMC)决定口的相应端是用于控制模式还是I/O模式,设置成1,表示控制模式;设置成0,表示I/0模式。接口寄存器(P)用于存取输入输出数据。
2.2 八个模拟量比较器输入
每个模拟输入(PTO~PT7)均可与参考电压(Vth)的分压值进行比较、PT端的电压大于分压值,PT寄存器相应位为1:反之为0。通过设置接口模式寄存器(PMT)的值(01H~10H)可改变分压比,分压值等于Vth与分压比/16的乘积。PT、PMT地址分别为××F38H、××F3BH。
2.3 两个16位定时器
每个定时器包括16位模数寄存器(MD)、16位减一寄存器(TD)、控制寄存器(TC)、宏服务寄存器(TMS)和中断控制器(TIC)。定时器0有连续和单次工作方式。定时器1仅有连续工作方式。
连续工作方式时:MD置好初值、TC的Bit5置1,启动定时器。当TD减至0时、MD自动加载模数到TD,TD又重新开始工作,如此循环下去直至TC的Bit5置0。
单次工作方式时:TD0和MD0都可单独作减1寄存器使用,TD0或MD0减至0后定时器就停止工作。
2.4 两个串行通讯口
每个通讯口包括接收缓存器(RB)、发送缓存器(TB)、模式寄存器(SM)、控制寄存器(SC)、波特率发生器(BRG)、通讯错误寄存器(SE)、接收宏服务寄存器(SRMS)、发送宏服务寄存器(STMS)、错误中断控制器(STIC)、接收中断控制器(SRIC)和发送中断控制器(STIC)等 11个寄存器。每个通讯口有接收数据线(RXD)、发送数据线(TXD))和握手控制线(CTS)。当CTS=0时,启动发送;当数据起始位的下降沿被检测到时,启动接收。数据帧格式由起始位、7或8位数据位,奇偶校验位、1或2停止位组成,这些参数由SM的相应位决定。
当通讯发生错误、接收到数据或数据发送完毕时,都会产生中断,其优先级依次降低,除错误中断外,接收到数据和数据发送都有向量中断、RBS和MSF三种方式。当通讯发生错误时,SE的相应位置1,SE的Bit0,Bit1,Bit2分别对应溢出错、帧格式错和校验错。
2.5 两个DMA控制器
DMA能迅速在内存和外设之间传递数据,它有两种方式四种模式。两种方式为:内存到内存I/O(MtoM)和内存与I/O(M&I/O)方式。内存到内存方式下有单步模式(SSM)和闪电模式(BM);内存到I/O方式下有一次传输模式(STM)和请求释放模式(DRM)。四种模式的工作状态如下:
SSM:当DMA请求发生时,DMA操作交替进行直至指定字节传输完为止;
BM:当DMA请求发生时,MA操作连续进行直至指定字节传输完为止;
STM:当DMA请求发生时,执行一次DMA操作;
DRM:当DMARQ请求输入线保持为高时,进行DMA操作,直至DMARQ为低。
每个DMA控制器有三根控制线:请求输入线(DMARQ)、相应输出线(DMAAK)及终止计数输出线(TC)。另外,还有三个功能寄存器:控制寄存器(DMAC)、模式寄存器(DMAM)和中断寄存器(DMAIC)。DMA操作的地址信息存放在IDA中,并可软件设置。
2.6 系统寄存器
μPD70320主要有四个系统寄存器,即:模式控制寄存器(SBC),标志寄存器(FLAG),处理器控制寄存器(PRC),片内数据区地址寄存器(IDB)。
μPD70320有三种模式:工作模式、暂停模式和关闭模式。工作模式就是CPU正常工作时的状态,暂停模式是执行HLAT命令后进入的,NMI中断可使之返回工作模式,关闭模式是执行STOP命令后进入的,系统复位或NMI可使之返回工作模式,返回后程序从何处开始执行由SBC决定。如SBC的 Bit0=0,返回后程序从FFFF:0000H重新开始;反之从断点开始。FLAG的Bit0和Bit1是用户自定义标志。PRC的Bit0和Bit1 决定系统时钟,其值00H、01H、10H分别对应晶振频率的1/2、1/4、1/8分频数;PRC的Bit7决定禁止(Bit7=0)或使能(Bit7=1)访问IDA。
3. 中断系统
μPD70320除传统的向量中断方式外,还有寄存器块切换方式(RBS)和宏服务功能(MSF),后两种方式适合实时多任务处理。
3.1 向量中断方式
这种方式与8088兼容,在内存最低端(00000H~00400H)的1kB内存中存放256个中断向量。其中0~31在μPD70320内部已分配好,见表1所列。
在256个中断中,硬中断有17个,其中片内硬中断12个,外部硬中断5个。它们分成8个组,每个组对应一个优先级,共8个优先级、0级最高、7级最低;每组内每个中断的优先权(1为最高,3为最低)是固定的,组与组之间的优先级可以通过设置中断控制寄存器(IC)来决定。其默认优先级见2表所列。
中断优先级寄存器(IPR)的相应位表示当前中断的优先级(如:Bit3=1表示当前中断优先级为3)。NMI,INIP2,INTP1,INTP0的触发方式分别在中断模式寄存器(INTM)的Bit0,Bit2,Bit4,Bit6定义,1表示上升沿、0表示下降沿。
3.2 寄存器块切换方式(RBS)
μPD70320有8个寄存器块(Bank0~Bank7),由低到高连续存放于IDA中,其地址从××E00H到××EFFH共256Bytes,每个寄存器块含16个16位寄存器,可参见图2。
使用RBS应首先在中断控制寄存器(IC)的低3位设置寄存器块号并且设置Bit4为1,初始化寄存器块内的CS、Vector 、PC和SS,SP及其它寄存器;硬件产生中断请求或执行INTCS指令,芯片自动将当前PC和PSW的值保存在寄存器块内的PC Save和PSW Save中,Vector PC取出PC值放在PC寄存器中,执行中断处理;中断返回时,执行RETRBI,从PC Save和PSW Save中恢复PC和PSW的值。这种中断方式不需要堆栈保存寄存器的值,因此速度大大加快,更适合多任务处理。定时器、通讯口、DMA及外部中断都可以采用这种方式 。
3.3 宏服务方式(MSF)
MSF是特殊的微程序,它完成SFR与内存之间的数据传输,减少软件开销和CPU时间,不需要寄存器保护、恢复等相关处理。每次请求MSF时,数据在 SFR和内存之间传输而不需要中断CPU的工作,同时,宏服务计数器(MSC)减1,当MSC减到零时,一个中断将会发生。MSF还有字符搜索功能,当搜索到字符时,中断也会发生。除NMI、INTP、INTTB、INTD0、INTD1外的其它硬件中断都有MSF。宏服务通道有8个(0~7),每个通道含8个字节,其地址从xxE00H到xxE3FH共64Bytes。另外,uPD70320还具有系统时钟输出、DRAM刷新脉冲输出、插入等待周期、总线挂起、计时中断、I/O陷阱等功能。
4. 应用
由上可见,μPD70320是一个功能强大的单片机产品,它不仅与8088兼容,而且具有自身的特点。因此特别适合于要求速度快,容量大,可靠性高,功能强的应用系统。图3是μPD70320的一个应用实例,该应用充分利用了μPD70320优异的性能和兼容性。因此可见,μPD70320为单片机的更广泛应用开创了新的领域。