基于双口RAM的单片机通信

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录
1.绪论 (2)
1.1课题的提出 (2)
1.2 双端口RAM概述 (2)
1.3本论文主要研究的内容 (4)
2. 基于双端口RAM的单片机间通信概述 (4)
2.1双端口RAM的发展过程、存储原理 (4)
2.1.1.双端口RAM的发展过程 (4)
2.1.2.双端口RAM的基本存储原理 (5)
2.1.3.双端口RAM的中断逻辑功能 (6)
2.1.4.标识器逻辑及主/从模式 (6)
2.2双端口RAM的应用 (7)
2.3接口电路实现方案概述 (8)
2.3.1. 基于CY7C133双口RAM (8)
2.3.2. ISA总线与IDT7025的接口 (9)
2.3.3. IDT7026实现高速并口缓存的接口电路 (10)
2.4初期主要元器件的选择 (11)
2.6双口RAMIDT7005S概述 (11)
2.7其它主要器件概述 (17)
3.系统硬件接口及实现 (18)
3.1引言 (18)
3.2 89C52单片机简介 (18)
3.3 单片机与双口RAM的接口电路简介 (23)
3.4硬件的调试 (26)
4.系统软件及实现 (27)
4.1引言 (27)
4.2双口RAM的地址空间分配和旗语、中断逻辑 (28)
4.3软件主要部分流程图 (30)
4.4系统主要模块程序说明 (33)
5.结论 (41)
主要参考文献: (42)
1.绪论
1.1课题的提出
在一些应用系统的通信设计中,PC机与单片机间常常采用串行异步通信方式。

因为这种通信方式,硬件电气连接简单在PC机上针对串口编程方便。

但是串行异步通信受传输速率的限制,通常最高波特率设定在9 600 b/s左右。

采用串行同步方式可提高传输率,但需在PC机上扩展设备。

如果所设计的数据采集系统,其数据传输速率要求达到60 kb/s以上,采用串行异步通信远远不能满足这个要求。

随着采集数据量的增大以及数据处理任务的增加,对数据传送的要求也越来越高,依靠单片机的自带串口实现数据的串行传输已经无法满足要求,在系统或模块间必须要能够进行高速的并行数据传输。

与串行通信相比,采用双端口RAM (简称DRAM)不仅数据传输速度高,而且抗干扰性能好。

高性能的双端口RAM能够方便的构成各种工作方式下的高速数据传送介质,解决数据传输低速的瓶颈问题。

无论是并行处理网络中的数据共享,还是流水线方式的高速数据传输,双端口RAM都可以发挥重要作用,从而保证数据通路的畅通。

1.2 双端口RAM概述
双端口RAM不同于一般的RAM,但仍然是存储数据的器件,因此基于双端口RAM的通信实际上利用双端口RAM实现数据的共享,在共享的基础上实现交互就是通信了。

因此双端口RAM实现两个单片机间数据的共享和交互就是本课题的主要功能,可将本课题的功能模块划分如下:(1)单
片机与双端口RAM的接口电路。

此部分包括双端口RAM的两个独立端口分别与两个单片机连接的接口电路。

(2)单片机控制双端口RAM实现数据共享的程序。

程序的重点问题是要解决地址空间分配和地址空间争用。

双端口RAM是一种特殊的存储芯片,除了数据存储功能外,它提供两个完全独立的断口,每个端口分别有自己的控制线、地址线和I/O数据线,允许双端口同时读写数据,适合于两个单片机以总线方式对存储空间的共享。

从电气特性上看,双端口RAM与其他常用的片外RAM存在许多区别如下:
1.具有两套完全独立的数据线、地址线、读写控制线,允许两个单
片机对其同一存储单元在不同的时间进行读写。

2.具有两套完全独立的中断逻辑,可以实现两个单片机之间的握
手。

3.具有两套完全独立的BUSY逻辑线,确保两个单片机对其同一单
元读写操作的正确性,解决端口争用问题。

同一数据区的争用是双端口RAM使用时要解决的核心问题。

当两个单片机通过各自的端口同时读取一个双端口RAM单元时,就产生了争用,此时会出现写入值和读出值不是所期望值的数据混合状态
双端口RAM和单片机之间是并行总线的连接,它实现的是并行的数据“传输”,与串行通信相比具有许多优点:
1.速度快、方式简单。

它读取共享信息所用时间与一般外部RAM所
用时间基本相同,数据按字传输,速度远快于按位进行的串行传
输。

读写双端口RAM所需的系统等待时间可以通过适当的设计消
除。

2.准确可靠。

因为单片机的串行寄存器SBUF每次只能保留一个字
节的数据,如果单片机在进行重要的处理时无法及时响应和处
理串行中断,就会造成数据的丢失或错误。

而双端口RAM的并行
通信就不存在此问题。

1.3本论文主要研究的内容
本论文主要是针对解决单片机间通信技术进行深入了解:
1.研究双端口RAM的工作原理及双端口RAM的地址空间分配和旗语、
中断逻辑
2.设计完成了单片机和双端口RAM之间的硬件接口电路;
3.设计完成了单片机控制双端口RAM实现数据共享的软件程序,重点
解决了地址空间的分配和地址空间的争用问题;
4.研究了利用单片机实现数据传输的通信技术,利用高性能的双端口
RAM解决数据传输低速的瓶颈问题,实现了并口通信对大量数据流
进行快速数据传输。

2. 基于双端口RAM的单片机间通信概述2.1双端口RAM的发展过程、存储原理
2.1.1.双端口RAM的发展过程
标准双端口RAM的两个端口都有自己的数据、地址、控制总线,允许处理器对存储器的任何地址执行随机读写操作。

过去为了解决数据传送的
速度瓶颈问题,人们常常用普通RAM来实现双端口RAM的功能。

一般的RAM(如6116等)只有一套数据、地址、控制总线;因此,必须对之进行特殊处理,加上一定的外围芯片之后才构成双端口RAM。

随着微电子技术的飞速发展和RAM在数字系统中日益重要的地位,一些公司开始研制双端口RAM芯片。

主要以IDT和CYPRESS公司为代表。

现在,双口RAM无论是在容量、速度、数据位宽度还是功能上都得到了快速的发展。

2.1.2.双端口RAM的基本存储原理
早期的双端口RAM只带有忙仲裁逻辑.它采用忙“BUSY”信号来实现。

忙仲裁逻辑是用来确定左右两端口被要求访问同一地址中单元时的优先级。

这种早期的双端口RAM以IDT公司的IDT7132和IDT7032为代表。

下面我们以IDT7005为便来介绍双端口RAM的基木存取原理。

双端口RAM芯片的核心部分是双端口存储阵列.左右两个端口可以共用该存储阵列.并且拥有各自的控制线,在单独存取数据时和普通的RAM 相同。

同时读取不同存储空间的数据和同时读取相同存储空间的数据时。

左右端口都可以进行。

若同时对相同的数据空间作写操作,或一端口对一数据空间作读操作的同时另一端口对该数据空间作写操作,左右端口将发生冲突。

为此,双端口RAM芯片通过忙“BUSY',信号处理这两种情况。

当左右端口对不同存储空间进行读写操作时,可同时存取。

此时.左右两端的“BUSY”信号为无效。

若对同一存储空间同时进行存储操作时,哪一个的存储清求信号先出现则该端的“BUSY',信号无效。

哪一端的存储信号出现在后,则这一端“BUSY”信号有效,禁止存储。

2.1.
3.双端口RAM的中断逻辑功能
在许多系统中都要求允许双CPU通过端口直接进行通信。

于是双端口RAM发展到除带忙逻辑仲裁功能外,还带有双边中断逻辑功能。

其中以IDT公司的IDT7130, IDT7005芯片和CYCPRESS公司的CY7C130芯片为代表。

IDT7130芯片的中断逻辑是通过“信箱’,来实现的。

即读码
IDT7130芯片最高位的两个存储单元(3FF,3FE)来实现。

3FF作为右边端口的中断信箱,3FE作为左边端口的中断信箱;各CPU可以读双方的中断信箱,但只能写对方的中断信箱。

当一端写入对方的中断信箱时,对方就会产生一个中断信号。

读自己的中断信箱时会清除自己的中断信号。

读对方的中断信箱时不会清除中断信号。

如果一端的BUSY信号有效,就不会再向另一端设置中断信号,也不能读自己的中断信箱清除中断信号。

发出中断清求时,向地址中3FE,3FF中写入的内容由用户确定。

当中断功能不使用时,该地址单元作为普通的双端口RAM单元使用。

2.1.4.标识器逻辑及主/从模式
利用双端口RAM的BUSY信号线,虽然可以保证左右两个端口能可靠地完成数据传输,但当两个端口对同一地址单元同时存取数据时,其中一个端口要处于等待状态。

对于高速接口电路来说,插入等待状态会降低其数据通过率,这在有些情况下是不能接受的。

为有效地解决这一问题.实现数据高速无等待状态传送。

双端口RAM中采用标识器逻辑电路。

这种芯片有IDT公司的IDT70261和CYCPRESS公司的CY7C026。

标识器逻辑可以使双口RAM暂时指定一块存储区,只供一端的CPU使用,称之为独占模式。

在IDT70261中,配置了独立于RAM阵列的8个标识寄存器,用来标
识双口RAM是否处于独占模式。

标识寄存器为低电平有效,申请时应写入0,释放时应写入1。

当左端口要申请使用独片模式时,他先写0到标识寄存器,然后读标识寄存器的状态,若读到的值为0则表示申请成功,若读到的值为1表明右端口正在使用双端口RAM的相同单元,申请失败。

此时左边CPU可以重新设置申请,也可以先完成别的任务,并不断尝试申请。

当右边CPU退出独占模式而向寄存器写入1,左边就可以写入0并取得独占模式的控制权。

另外对寄存器的读写应“先写后读”,不要“先读后写”,以避免出现争夺系统总线的现象。

因为寄存器共有8个,也可以把双端口RAM划分成8块,每块存储器的容量由用户自己确定。

另外,实际中数据的宽度往往大少芯片本身的宽度,这时就要扩展数据位宽度。

IDT70261的M/S管脚提供了数据位宽度扩展功能。

例如,实际应用中经常需要32位的数据总线,可以将一片IDT70261的M/S管脚置低,而另一片的M/S管脚置高。

然后将两块芯片管脚连接在一起即可组成32位数据位宽度。

2.2双端口RAM的应用
双端口RAM在数字系统中应用非常广泛。

比如高速度数据采集系统中,一般的数据传送系统在大数据量的情况下会造成数据堵塞现象。

又例如在一些实时控制的场合,实时算法经常需要山几个DSP串行或并行工作以提高系统的运行速度和实时性,以双端口RAM构成的数据接口可以在两个处理器之间进行高速可靠的信急传输。

此外,双端口RAM可以应用在智能总线适配卡、网络适配卡中作为高速数据传输的接口。

基于双端口RAM数字系统的设计虽然摆脱了采用传统共用存储器软硬件设计的复杂性,但在设计中仍然有几个关键的问题需要注意。

在双端口RAM的数字系统设计中归纳了两个方而要注意的问题。

第一是存取速度的
匹配,由于不同CPU相对少双口RAM的存取时间不一样,为了保证它们之间高速的信息传输,有必要在硬件和软件上对其加以修改。

第二是地址编码问题,由于双端口RAM为多CPU提供访问存储空间,不同的编码方法也会对系统产生很大的影响。

2.3接口电路实现方案概述
2.3.1. 基于CY7C133双口RAM
双口CY7C133是一种高速2K*16CMOS双端口静态RAM,具有两套相互独立、完全对称的地址、数据和控制总线,最大访问时间可以为25/35/55 ns。

CY7C133允许两个CPU 同时读取任何存储单元(包括同时读同一地址单元),但不允许同时写或一读一写同一地址单元,否则就会发生错误。

双口RAM 中引入了仲裁逻辑(忙逻辑) 电路来解决这个问题。

当左右两端口同时写入或一读一写同一单元时,先稳定的地址端口通过仲裁逻辑电路优先读写,同时内部电路使另一个端口的信号有效,并在内部禁止对方访问,直到本端口操作结束。

BUSY信号可以作为中断源指明本次操作非法。

图2-1 DSP、DRAM与单片机间的接口电路
89C52 和DRAM 之间通过2-4译码器74HC139和3个8位D触发器74HC374进行通信。

当89C52对双口RAM 进行读数据时,A0为低电平,假设地址为0xl000H,则存储在双口RAM 中该地址处的16位数据同时被读出,由于高8位数据线与89C52的8位数据线直接相连,所以高8位数据被立即读人
89C52中。

U3的使能信号LE有效(高电平),OE无效(高电平),因而低8位数据被送人U3中锁存起来。

接着89C52再进行一次读操作,这时地址变为
0xl001H,由于A0变成高电平,双口RAM的读使能信号变成无效电平,
所以此次读操作对双口RAM 不产生影响,对于U3,显然LE变成了无效电平,而OE变成了有效电平,上次被锁存的数据(即双口RAM 的低8位数据)被送入89C52。

当89C52对双端口RAM 进行写入操作时,此时A0为高电平,假设地址为0xl00CH,U2的使能信号LE和OE均为有效电平,因而数据被同时写入双端口RAM 中(即此时双端口RAM 的高8位数据和低8位相同);接着89C52再进行一次写操作,此时地址变为0xl00DH,由于A0变成低电平,U2的片选为无效电平,U2被封锁,数据写入双端口RAM 的高8位。

从上面的分析可知,利用最低地址位A0的不同电平,89C52通过两次连续的读或写操作,成功地实现了对双端口RAM 中数据的读或写,只不过读人时先读人高8位,后读人低8位;而写入则是先写入低8位,后写入高8位。

2.3.2. ISA总线与IDT7025的接口
设计的DSP系统读写双端口RAM时指令周期为80ns,而主机以16位方式读写存储器的指令周期一般为O.5us,考虑到双端口RAM与DSP间的
数据交换速率要比与主机间的数据交换速率快的多,为保证在要求的传输
距离下数据交换可靠,将双端口RAM芯片设计到DSP系统电路板上,通过电缆线将ISA总线接口卡与DSP系统板连接起来。

ISA总线接口卡上采用一片CPLD器件EMP7128S-15实现存储器地址范围选择,I/0地址选择,地址总线和数据总线的选通控制,ISA总线与双端口RAM间的控制信号产生等功能。

在PC机中,与每个地址对应的存储单元只能存储一个字节的数据。

图中ISA总线上的地址线A13-A1经驱动后分别与双端口 RAM的地址线A12L-AOL对应相连接,8K字的双端口RAM映射到PC机系统内存的某一存储空间,占用16K字节的地址范围,主机对双端口RAM存储单元的访问均采用16位方式,只对偶地址读写。

而对I/0端口的访问数据量很小,I/0端口的读写仍采用8位数据方式。

2.3.3. IDT7026实现高速并口缓存的接口电路
IDT 7026作为数据传送和数据共享的接口芯片,信号处理系统输出的数据可先写入双端口RAM。

待数据全部写入IDT7026后.系统再向PC机发出中断清求.PC机响应中断后.在中断服务子程序里把数据读入内存。

此时的双端口RAM相当于一个PC机的一个16位高速并行接口。

图2-2 IDT 7026的接口电路
2.4初期主要元器件的选择
高性能的双端口RAM能够方便的构成各种工作方式下的高速数据传送介质,解决数据传输低速一起的瓶颈问题.双口RAM (简称DRAM)不仅数据传输速度高,而且抗干扰性能好.无论是并行处理网络中的数据共享,还是流水方式的高速数据传输,双端口RAM都可以发挥重要作用,从而保证数据通路的畅通。

双端口RAM主要是2个公司的产品。

下面对这两个公司的产品进行一下比较。

一种是CY7C13,它是一种高速2K*16双端口静态RAM ;另一种就是IDT7005S,它是一款高速8 K* 8双端口静态RAM,两者的功能相似, 除了数据存储功能外,可提供两个完全独立的端口,每个端口分别有自己的控制线、地址线和I/O数据线,允许双端口同时读写数据,适用于两个单片机以总线方式对存储空间的共享。

特别应该注意的是,IDT7005S是8K*8的双端口静态RAM,与单片机组成接口电路时可直接连接,不需要增加译码电路,这样使单片机与双端口RAM之间的电路简化很多,所以我选用IDT7005S这块双端口RAM芯片。

不仅节省了元件数量,还减少了许多工作量。

接口电路的元件只需要2个锁存器芯片和一个双端口RAM芯片。

2.6双口RAMIDT7005S概述
双端口RAM芯片IDT7005S是一款高速8K*8双端口静态RAM,其内部的功能结构如图。

图2-3 双端口RAMIDT7005S内部功能结构图
图2-3中所示的两端完全对称的结构(两套完全独立的I/O控制线、地址线、数据线)和仲裁中断旗语逻辑模块使得IDT7005S成为真正的双端口RAM,允许两个控制器同时读取任何存储单元(包括读同一地址单元),单不允许同时写或一读一写同一地址单元。

IDT7005S的主要功能特性:
与TTL电平兼容,采用5V(正负10%)电压供电。

高速接入:访问时间最大只有几十NS。

低功耗:运行时750MW,休眠时仅5MW。

通过M/S选择可级联扩展到16位或者更多位的数据总线。

当M/S为高时,BUSY信号为输出忙标志;当M/S为低时,BUSY信号则作为输入脚使用。

提供BUSY和中断标志。

具有片内端口仲裁逻辑
硬件支持端口间旗语信号。

各端口完全异步操作。

IDT7005S的核心部分是用于数据存储的存储器阵列,可为左右两个端口所共用。

这样,位于两个端口的左右处理单元就可以共用一个存储器。

当两个端口对双口RAM存取时,存在4种情况:
1.两个端口不同时对同一地址单元存取数据
2.两个端口同时对同一地址单元读出数据
3.两个端口同时对同一地址单元写入数据
4.两个端口同时对同一地址单元,一个写入数据,另一个读出数据。

在第一种和第二种情况时,两个端口的存取不会出现错误,第三种情况会出现写入错误,第四种情况会出现读出错误。

为避免后两种错误情况的出现,IDT7005S芯片的设计有硬件“BUSY”功能输出,其工作原理下面介绍。

当左右端口不对同一地址单元存取时,BUSYR为高,BUSYL为高,此时可正常存储;当左右端口对同一地址单元存取时,存取请求信号出现在前的端口对应的BUSY为高,允许存取,另一个端口对应的BUSY为低,禁止数据的存取。

注意,两个端口的存取请求在前。

此时,控制线BUSYR和BUSYL只有一个为低电平,不会同时为低,这样就可以保证一个对应于BUSY为高的端口能进行正常存取,避免双端口存取出现错误。

利用双口RAM的BUSY信号线虽然可以保证左右两端口能可靠的完成数据的传送,当当两端口对同一地址单元同时存取数据时,其中一个端口处于等待状态。

对于高速数据传输来说,插入等待状态会降低数据传输速率,这在某些情况下是不能接受的,此时可以利用IDT7005S提供旗语电路。

旗语电路把一个端口使用双口RAM的状态传送到另一个端口,通过旗语电路传送数据,可实现数据的高速无等待传输。

IDT7005S的旗语电路
实际上是通过8个与双口RAM独立的锁存器,在两个端口间传送旗语,以表明共同的双口RAM是否在使用。

在旗语工作模式,控制脚SEM用作8个旗语锁存器的“片选”信号,地址线A2~A0用于8个旗语琐存器的寻址,数据线D0用作旗语锁存器状态的写入和读出,其工作状态如表2-1。

当左端口要使用双口RAM时,它先写“0”到旗语,然后读旗语状态,若读到值为“1”,表明右端口正在使用双口RAM的相同地址单元。

此时,左端口可以循环检查旗语状态,知道右端口结束使用,也可以撤消请求,即写“1”到旗语,转去执行其他操作。

同理,右端口使用双口RAM时,也按相同步骤进行。

注意,当某个断口完成对双口RAM操作后,应立即对旗语写“1”,否则双口RAM将一直被占用。

另外,对旗语应先写后读,不要先读后写,以避免出现争用系统总线的现象。

图2-4 IDT7005S引脚图
图2-5 插入68引脚的插座后的引脚图
当拿到引脚插座时,我对于网络上的电路图产生了质疑,所以我用万用表对引脚座进行了逐点测量,得到了这个我用的引脚座图。

与串行通信相比,采用双端口RAM (简称DRAM)不仅数据传输速度高,而且抗干扰性能好。

它们之间通过双端口RAM完成数据交换。

由于89C52与双端口RAM 总线宽度并不匹配,需要进行接口电路的设计。

双口IDT7005S是一种高速8K×8双端口静态RAM ,具有两套相互独立、完全对称的地址、数据和控制总线,最大访问时间可以为25/35/55 ns。

IDT7005S允许两个CPU 同时读取任何存储单元(包括同时读同一地址单元),但不允许同时写或一读一写同一地址单元,否则就会发生错误。

双端口RAM 中引入了仲裁逻辑电路来解决这个问题。

当左右两端口同时写入或一读一写同一地址单元时,先稳定的地址端口通过仲裁逻辑电路优先读写,同时内部电路使另一个端口的信号有效,并在内部禁止对方访问,直到本端口操作结束。

BUSY信号可以作为中断源指明本次操作非法。

2.7其它主要器件概述
锁存器74HC373通过对其使能信号的控制,进行分时读写,实现数据总线的扩展,即利用锁存器作为虚拟总线。

锁存器74HC373的引脚图如下。

图2-6 74LS373的接口电路图
74L373在整个电路中实现的是系统的13位地址线的低8位地址线和8位数据线的分时复用,也是一个十分重要的部件,在系统中起着不可替代的作用。

3.系统硬件接口及实现
3.1引言
前面已经对锁存器和双端口RAMIDT7005S进行了介绍和硬件功能的分析,下面就不多做分析了。

本课题的核心器件是单片机,由它控制实现对双端口RAM空间的读写,学校的单片机为AT89C52单片机芯片,它完全能满足要求,而且价格较便宜,比较常用。

我本来是将单片机芯片焊接在电路伴扳上了,但是由于我对单片机芯片了解不够,调试时有许多麻烦,所以我最后还是选择用学校的实验室有此芯片的实验箱。

3.2 89C52单片机简介
随着计算机技术的发展,单片机技术已成为计算机技术中的一个独特的分支,单片机的应用领域也越来越广泛,特别是在工业控制和仪器仪表智能化中扮演着极其重要的角色。

单片机属于计算机的一个种类。

从应用领域来看,单片机主要用于控制,所以称为微控制器(Microcontroller)。

从单片机呈现给用户的供应状态来看,单片机产品仅是一块集成电路芯片,即它的所有功能部件都集成在一块芯片上,所以称之为单片机Single-Chip Microcomputer)。

单片机的结构和指令系
统与通用微型计算机是有差异的,但毕竟它还属于计算机的一个种类,其最基本的功能模块和基本的工作原理仍是一样的。

单片机的特点:
(1)小巧灵活、成本低、易于产品化它能方便地组装各种智能式测控设备及各种智能仪器仪表。

(2)可靠性能高、适应的温度范围宽单片机芯片本身是按工业测控环境要求设计的,能适应各种恶劣的环境,这是其他机种无法比拟的。

(3)易扩展、控制功能强很容易构成各种规模的应用系统。

指令系统中有丰富的逻辑功能用指令。

(4)便于实现多机和分布式控制可以方便地组成多机和分布式计算机控制系统。

单片机的应用
单片机以其卓越的性能、很高的性能价格比,使其在许多领域得到了广泛的应用。

利用它可开发便携式智能检测控制仪器。

还可以指导它应用于产品的内部,取代部分老式机械、电子零件或元器件,可使产品缩小体积,增强功能,实现不同程度的智能化。

实际上,单片机几乎在人类生活的各个领域都表现出强大的生命力,使计算机的应用范围达到了前所未有的广度和深度。

单片机的出现尤其对电路工作者产生了观念上的冲击。

过去经常采用模拟电路、数字电路实现的电路系统,现在相当大一部分可以用单片机予以实现,传统的电路设计方法已演变成软件和硬件相结合的设计方法,而且许多电路设计问题将转化为纯粹的程序设计问题。

AT89C52是美国ATMEE公司生产的低电1-}.:,高性能CMOS 8位单片机,片内含8k bytes的nJ一反熨擦写的只读程序存储器(PEROM)和256 bytes的随机存取数据存储器(RAM ),器件采用ATMEE公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片。

相关文档
最新文档