内嵌闪存MCU的高性能多通道24位采集系统ADuC845
d.内部XRAM
ADuC845包含一个2k字节的片内扩展数字存储器。此存储器通过MOVX指令访问。若CFG845.0位被置位,则2k字节的内部XRAM被映射到2k字节外部地址空间的底部,否则半对外部数据存储器进行访问,其方式就和标准8051一样。一旦24位DPTR溢出0007FFH,此时即便CFG845.0位被置位,系统仍可外部数据存储器进行访问。当访问内部XARM时,P0、P2引脚及RD、WR选通在每个标准8051 MOVX指令执行时将不被输出,这就允许应用将这些引脚用作标准I/O。内部XRAM的高1792字节配置为外扩的11位堆栈指地。缺省设置时,堆栈的操作同8052一样,还通用RAM内从FF到00H翻转。但在ADuC845上,通过设置CFG845.7可以使能11位的外扩堆栈指针,这种情况下,堆栈将在RAM内的FFH到XRAM内的0100H之间翻转。
4.3 串行I/O口
ADuC845具有三种串行输入/输出接口:通用串行异步接口、串行外设接口(SPI)和I2C串行接口。这里仅介绍后两种。
(1) SPI串行接口
ADuC845片内集成了一个完整的串行外设接口(SPI)。SPI是工业标准的同步串行接口,它允许8位数据同时同步地被发送和接收。需要注意的是,SPI引脚与P2引脚复用。只用SPE被置位时,复用的引脚才具有SPI功能。否则,随着SPI被清零,这些引脚将保持标准的P2口功能。该系统可配置为主、从两种操作,并由标准的4引脚组成:
SCLOCK:主机的串行时钟线,通过MOSI和MISO数据线同步传输和接收数据。每个SCLOCK周期传输和接收一个单数据位。发送/接收1B的数据需要8个SCLOCK周期。SCLOCK引脚在主模式下配置为输出,在从模式下配置为输入。主模式下,时钟的波特率、极性和相位可由SPICON来设置。
MISO:主机输入/从机输出引脚。设计时应将主机的MISO端口与从机的MISO端口相连以进行高位在前的数据交换。
MOSI:主机输出/从机输入引脚。主机的MISO应与从机的MISO相连以进行高位在前的数据交换。
MOSI:主机输出/从机输入引脚。主机的MISO应与从机的MISO相连以进行高位在前的数据交换。
SS:从机选择引脚,低电平有效。当SS引脚为低电平时,数据仅在从模式下接收和发送,这允许ADuC845用于单主机、多从机的SPI配置。
(2)I2C串行接口
ADuC845支持完全的I2C串行接口。此接口可配置为软件主操作和硬件从操作模式。I2C接口可同时用作SPI接口,它可供用户使用且其不与芯片上使用其它I/O口复用,这就意味着ADuC845芯片片上任何其它I/O口复用,这就意味着ADuC845芯片上的I2C接口和SPI接口可同时使用。当使用I2C接口时,由于他们都使用同一中断程序,在有中断产生时,必须查询接口以确定是哪一个接口触发职断服务程序请求。该接口使用如下两个引脚:
SDATA:数据I/O;
SCLK:串行时钟;
控制I2C接口的寄存器及其功能如下:
I2CCOM:I2C控制寄存器;
I2CADD:保存一个用于I2C接口的外设地址;
I2CADD1:保存一个用于I2C接口的外设地址;
I2CDAT:传输数据或读接收到的数据。访问I2CDAT可自动清除任一未处理的I2C中断和I2CCON SFR中的I2CI位。在每个中断周期内,用户代码仅能访问I2CDAT一次。
5 结束语
《内嵌闪存MCU的高性能多通道24位采集系统ADuC845(第6页)》