一种通用异步串口控制器的制作方法

文档序号:6654027阅读:270来源:国知局
专利名称:一种通用异步串口控制器的制作方法
技术领域
本发明涉及计算机系统,尤其涉及计算机领域中的数据交换领域。
目前,随着计算机应用的日益广泛,对计算机的运行速度、效率和稳定性等也提出了越来越高的要求,但是目前更多的情况却是,随着计算机的中央处理器速度的加快,而其运行效率却相对降低,这主要是由于在现有的计算机系统中,一个中央处理器连接在一条系统总线上,中央处理器直接和连接在系统总线上的各种设备通信,而且系统和外部进行数据交换的核心部件——通用异步串口控制器(UART)也只支持单条系统总线,并直接挂在这条唯一的系统总线,这样就使得中央处理器和系统中的DMA不能保持并行工作,严重地影响了系统运行的整体效率。在

图1所示单系统总线系统中,中央处理器先对通用异步串口控制器进行初始化,当该通用异步串口控制器从外部接受到足够的数据时就向中断控制器发中断,这个中断经过中断控制器的判优处理,然后发送给中央处理器,中央处理器接受到这个中断后,查询中断控制器的中断向量控制器,判断是否是通用异步串口控制器发送的中断,然后中央处理器查询通用异步串口控制器的中断状态寄存器,如果是接受中断,就初始化相应的DMA控制寄存器,并退出对总线的控制权,由DMA申请系统总线的控制权;当DMA得到系统总线的控制权后,就独自占有系统总线,进行通用异步串口控制器的数据寄存器到存储器(片内或片外)的数据传输,当中央处理器在对DMA初始化时设置的数据量被DMA传输完成之后,DMA就取消对系统总线的控制,同时向中断控制器发出中断信号,该中断信号经过中断控制器的判优后,发送给中央处理器;中央处理器查询中断控制器的中断状态寄存器,当发现是一个DMA发来的中断信号,先取得系统总线的控制权,然后查询相应的DMA的中断状态寄存器,当发现是DMA所传输的数据已经全部传输完毕,就可重新设置DMA的控制寄存器;对于通用异步串口控制器的发送过程也相似。由于现有的通用异步串口控制器只能支持单总线结构,所以现有的系统所采用的基本都是单总线的结构,中央处理器和DMA都挂在同一条系统总线上,在DMA传输数据的时候,系统总线的控制权是由DMA独自占有的,中央处理器想查询相关的状态寄存器或者设置控制寄存器,都需要先得到总线的控制权,然后才能做相应的操作。同样,DMA如果需要传输数据,也要先取得系统总线的控制权,然后才能传输数据。这样中央处理器和DMA不能同时工作,整个系统的效率在总线控制权的相互传递中,损失了很多。而且对中央处理器的多次中断,都会严重影响系统的性能。
本发明的目的是提供一种支持双总线访问的、高效的通用异步串口控制器,以解决现有技术中的只能支持一条总线、效率低下的缺点。
为了实现上述目的,本发明构造了一种通用异步串口控制器,包括通用异步串口控制器内部控制逻辑、数据发送逻辑和数据接收逻辑,其特征在于,还包括第一接口逻辑、第二接口逻辑、第三接口逻辑、第四接口逻辑、第五接口逻辑和CPUDMA寄存器;所述的第一接口逻辑接收第一条系统总线的片选信号Ccs、读写信号Cwr和地址信号Caddr,生成内部控制逻辑使能信号Cen并发送到所述的通用异步串口控制器内部控制逻辑,生成的第一条系统总线读写使能信号302发送到所述的第四接口逻辑,生成的第一条系统总线数据寄存器使能信号301分别发送到所述的第三接口逻辑和第四接口逻辑;所述的第四接口逻辑由一组二选一选择器和三态缓冲器构成,接收由通用异步串口控制器内部控制逻辑发送的控制逻辑读数据总线信号CdataR,以及由数据发送逻辑发送的数据寄存器读数据总线信号DrdataR,其选择端接收从所述第一接口逻辑发送的第二条系统总线数据寄存器使能信号303,其输出端连接到数据总线Cdata上,所述的数据总线Cdata的另一端连接到所述的通用异步串口控制器内部控制逻辑中的控制逻辑写数据端口CdataW;所述的第二接口逻辑接收第二条系统总线发送的片选信号Dcs、地址信号Daddr和第二条系统总线的读写信号Dwr,生成第二条系统总线数据寄存器使能信号303发送到所述的第三接口逻辑和第五接口逻辑,生成第二条系统总线读写使能信号304发送到所述的第五接口逻辑;
所述的第五接口逻辑采用一个三态缓冲器,接收所述第二接口逻辑发送的第二条系统总线数据寄存器使能信号303和第二条系统总线读写使能信号304,从数据接收逻辑接收数据总线信号DrdataR,将其发送到第二条系统总线中的数据总线Ddata;所述的第三接口逻辑由所述CPUDMA寄存器控制选择使用中央处理器模式还是DMA模式,接收第一条系统总线的数据总线Cdata、第二条系统总线的数据总线Ddata、第一条系统总线数据寄存器使能信号301、第二条系统总线数据寄存器使能信号303、读写信号Cwr和第二条系统总线的读写信号Dwr,向所述的数据发送逻辑输出数据寄存器写数据总线DrdataW和数据寄存器写使能信号DrWen,向所述的数据接收逻辑发送数据寄存器读使能信号Ren;所述读写信号Cwr、地址信号Caddr和数据总线Cdata分别与所述通用异步串口控制器内部控制逻辑的相应端口Cwr、Caddr和CdataW直接相连接。
在中央处理器完成对DMA和UART的初始化后,中央处理器就可以做自己的事,数据的传输由DMA和UART完成就可以了,不用不断的对中央处理器进行中断,也不用系统总线的来回切换而降低系统的性能,中央处理器可以和UART数据的传输完全并发操作,极大的提高了系统的性能。在DMA和UART的数据在传输的时候,中央处理器不用中断这在进行的UART的数据传输,就可以查询UART的内部状态,甚至设置控制寄存器,这也极大的提高了数据传输的效率,从整体上提高了系统的性能。
下面结合附图对本发明作进一步说明;图1是现有的一个系统总线接口的通用异步串口控制器逻辑框图;图2是现有技术中的内部只有一条系统总线的系统结构简图;图3是本发明所构造的双系统总线接口的通用异步串口控制器逻辑框图;图4是作为本发明实施方式的具有两条系统总线的系统结构简图。
图1是带有一个总线接口的通用异步串口控制器,该控制器分为3个部分一个是通用异步串口控制器内部的控制逻辑,包括通用异步串口控制器所有的控制和状态寄存器,中央处理器通过系统总线设置通用异步串口控制器内部控制逻辑中的控制寄存器,控制逻辑依照控制寄存器的设置以及从数据发送逻辑和数据接收逻辑接收到的状态信号,控制数据发送逻辑和数据接收逻辑的动作;数据发送逻辑主要是在内部控制逻辑的控制下,接收从数据总线Cdata发来的数据,然后从数据发送端TxD发送出去;数据接收逻辑主要是在内部控制逻辑的控制下,接收从外部数据接收端RxD接收来的数据,在内部串并转换,放到数据寄存器上,等待内部总线上的主控器来来取走;因为通用异步串口控制器只有一个系统接口,所以只能与一条系统总线相连接,无法支持双总线结构。
在图2所示现有技术中的只有一条系统总线的系统结构简图中,系统总线负责把芯片内部的各个部分连接在一起;中央处理器与该系统总线相连,负责控制并协调芯片中各个部分的工作;在系统总线上还有一个存储器直接访问控制器DMA,负责外设和存储器之间的数据交换,从而使得数据的交换不需要对中央处理器进行中断;通用异步串口控制器UART也与系统总线相连接,在一般情况下,该通用异步串口控制器UART有两条信号线与外部交换数据,一条是串行数据输出端TxD,一条是串行数据输入端RxD,中央处理器或DMA通过通用异步串口控制器UART向外部发送数据,在通用异步串口控制器UART中完成并串转换,然后从串行数据输出端TxD以串行的方式发送出去,同样,从外部接受的串行数据,要从串行数据输入端RxD以串行方式输入,然后数据在通用异步串口控制器UART内部完成串并转换,中央处理器或DMA再从系统总线上将数据取走;系统总线上还挂有一个中断控制器,负责接收芯片内部各个部件的中断信号,如图中所示的DMA中断信号以及通用异步串口控制器UART的中断信号,经过优先级判别后,把一个中断信号通过连接在中央处理器和中断控制器之问的中断信号线发送给中央处理器;在系统总线上还连接了两个存储器,一个是片外存储器,主要是存储一些量比较大的程序和数据;一个是片内存储器,主要是存一些需要高速与中央处理器交换的指令和数据;在DMA传输数据的时候,系统总线的控制权是由DMA独自占有的,中央处理器想查询相关的状态寄存器或者设置控制寄存器,都需要先得到总线的控制权,然后才能做相应的操作。同样,DMA如果需要传输数据,也要先取得系统总线的控制权,然后才能传输数据。这样中央处理器和DMA不能同时工作,整个系统的效率在总线控制权的相互传递中,损失了很多。而且对中央处理器的多次中断,都会严重影响系统的性能。
图3所示两条虚线的中间是具有两个系统总线接口的通用异步串口控制器的接口部分,在上虚线以上部分是两个系统总线接口的信号线,下虚线以下部分是通用异步串口控制器的内部逻辑。在实现支持双总线接口的过程中,接口部分是整个结构的关键部分,通用异步串口控制器的内部逻辑部分与现有的通用结构区别不大。第一条系统总线的信号线有第一条系统总线的片选信号Ccs,当第一条系统总线选中通用异步串口控制器时,该信号有效;第一条系统总线的地址信号Caddr,这是一个总线信号,当片选信号有效时,这个信号给通用异步串口控制器内部提供寄存器的偏移地址;第一条系统总线的读写信号Cwr,这个信号是说明对内部寄存器的操作是读还是写(高电平为写操作,低电平为读操作);第一条系统总线的数据信号Cdata,这个信号是个双向的数据总线,当对通用异步串口控制器内部的寄存器进行写操作的时候,这个总线提供写入的数据,当从通用异步串口控制器读数据的时候,异步通用异步串口控制器把中央处理器读的数据放到数据总线上,然后,中央处理器从总线上取走。第二条系统总线的信号线有第二条系统总线的片选信号Dcs,当第二条系统总线选中通用异步串口控制器,这个信号有效;第二条系统总线的地址信号Daddr,这是一个总线信号,当片选信号有效时,这个信号给通用异步串口控制器内部提供寄存器的偏移地址,因为第二条系统总线只能对通用异步串口控制器的数据寄存器进行读写操作,所以当这个地址总线选中数据寄存器以外的其他的寄存器,不会对内部形成实际的操作;第二条系统总线的读写信号Dwr,这个信号是说明对内部寄存器的操作是读还是写(高电平为写操作,低电平为读操作);第二条系统总线的数据信号Ddata,这个信号是个双向的数据总线,当对通用异步串口控制器内部的寄存器进行写操作的时候,这个总线提供写入的数据,当从通用异步串口控制器读数据的时候,异步通用异步串口控制器把存储器直接访问控制器DMA读到的数据放到数据总线上,然后由DMA从总线上取走。
通用异步串口控制器的内部逻辑包括通用异步串口控制器内部控制逻辑、数据发送逻辑和数据接收逻辑,这部分的功能主要是把接口逻辑转换好的数据和控制信号引入内部,完成数据的并串转换,然后通过串行数据输出端(TxD)发送到外面去。把外面串行输入的数据从串行数据接收端(RxD)采样进来,然后进行串并转换后,等待主设备(中央处理器或DMA)的读取,其中,通用异步串口控制器内部控制逻辑主要功能是保存中央处理器对通用异步串口控制器的主要控制信号,然后通过读取数据发送逻辑和数据接收逻辑的相应的状态信号,生成一些内部的控制信号来控制通用异步串口控制器的运作,同时保存着通用异步串口控制器的内部的大部分状态信息,以备中央处理器的查询,通用异步串口控制器内部控制寄存器的输入信号有控制逻辑使能信号Cen,这个信号是第一接口逻辑产生的;控制逻辑读写信号Cwr,这个信号就是第一条系统总线的读写信号Cwr;控制逻辑地址总线Caddr,这个总线信号提供内部控制和状态寄存器的偏移地址,这个信号连在第一条系统总线的地址总线Caddr上;控制逻辑写数据总线CdataW,这个信号是直接从第一条系统总线的数据总线Cdata接来的,用于向内部控制寄存器写值;输出信号有控制逻辑读数据总线CdataR,这个信号接到第四接口逻辑中,用于中央处理器读取通用异步串口控制器内部寄存器的值;数据发送逻辑控制信号,通用异步串口控制器内部控制逻辑通过这组信号控制数据发送逻辑的工作;数据接收逻辑控制信号,通用异步串口控制器内部控制逻辑通过这组信号控制数据接收逻辑的工作;数据发送逻辑的功能主要是在内部控制逻辑的控制下,保存从系统数据总线写入通用异步串口控制器的发往外部的数据,控制完成数据的并串转换,按照帧格式的要求通过串行数据输出端口TxD,发送到外部;输入信号有数据寄存器写数据使能信号DrWen,这个信号是由第三接口逻辑生成;数据寄存器写数据总线DrdataW,这个信号也是由第三接口逻辑产生,是内部写数据总线;数据发送逻辑控制信号,这个信号是由通用异步串口内部控制逻辑产生;输出信号有串行数据输出端口TxD,通用异步串口控制器发送到外部的串行数据就是从这个端口发送到外部的。数据接收逻辑的主要功能是在内部控制逻辑的控制下,按照一定的帧格式的要求通过串行数据输入端口RxD采样外部串行数据,控制完成数据的串并转换后,保存在内部的缓冲器中,等待中央处理器或DMA来通过数据寄存器读数据总线DrdataR读取这些从外部采样到的数据,输入的信号有数据寄存器读使能信号DrRen,这个信号是从第三控制逻辑来的;数据接收逻辑控制信号,这个信号是从通用异步串口内部控制逻辑来的;串行数据输入信号RxD,这个信号是外部输入通用异步串口控制器的串行数据输入端;输出信号是数据寄存器读数据总线DrdataR。
因为在通用异步串口控制器中,数据寄存器的读写有两个来源,即中央处理器和DMA,而控制和状态寄存器却只有一个来源,就是中央处理器,所以在通用异步串口控制器中需要把数据寄存器的读写入口和控制状态寄存器的读写入口分开进行控制。为了适应这一需要,本发明所构造的通用异步串口控制器的接口部分包括五个部件,即第一接口逻辑、第二接口逻辑、第三接口逻辑、第四接口逻辑和第五接口逻辑第一接口逻辑的作用是通过从第一条系统总线输入的片选信号Ccs和地址信号Caddr,生成内部控制逻辑使能信号Cen、第一条系统总线数据寄存器使能信号301,第一条系统总线读写使能信号302;这几个信号是这样产生的当片选有效,而且地址信号不是数据寄存器的地址,内部控制逻辑使能信号Cen有效,其他情况无效;当片选有效,而且地址信号是数据寄存器的地址,第一条系统总线数据寄存器使能信号301有效,其他情况无效;当片选有效而且是总线是读有效时,第一条系统总线读写使能信号302有效。第四接口逻辑的内部逻辑是一组二选一选择器和三态缓冲器,其输入的两个选择信号分别是控制逻辑读数据总线CdataR和数据寄存器读数据总线DrdataR,选择端是从第一接口逻辑来的第一条系统总线数据寄存器使能信号301,当这个使能端为有效时,把数据寄存器输出总线选通到选择器的输出端;当个使能端为无效时,把控制逻辑数据输出总线选通到选择器的输出端,这个输出端接到三态缓冲器的数据输入端,当从第一接口逻辑来的读使能信号有效时,开通三态缓冲器,连接到数据总线Cdata上,否则断开连接。第二接口逻辑的功能和第一接口逻辑相似,第二接口逻辑的作用是通过从第二条系统总线输入的片选信号Dcs、地址信号Daddr、第二条系统总线数据寄存器使能信号303、第二条系统总线读写使能信号304;当片选有效,而且地址信号是数据寄存器的地址,第二条系统总线数据寄存器使能信号303有效,其他情况无效;当片选有效而且是总线是读有效时,第二条系统总线读写使能信号304有效,其他情况无效。第五接口逻辑的内部是一个三态缓冲器,当从第二接口逻辑来的第二条系统总线数据寄存器使能信号303和第二条系统总线读写使能信号304都有效时,三态缓冲器开通;当这个条件不成立时,三态缓冲器断开。第三接口逻辑的输入信号有CPUDMA寄存器发出的模式选择位,第一条系统总线的数据总线Cdata、第二条系统总线的数据总线Ddata、第一条系统总线数据寄存器使能信号301、第二条系统总线数据寄存器使能信号303、第一条系统总线读写信号Cwr、第二条系统总线读写信号Dwr;输出的信号有数据寄存器写数据总线DrdataW、数据寄存器写使能信号DrWen和数据寄存器读使能信号Ren。CPUDMA寄存器的作用是存储模式选择位,以选择数据寄存器的访问是由中央处理器完成还是DMA完成,因为通用异步寄存器的数据器的读和写都会改变内部状态,而且是不可恢复,所以要防止对数据寄存器非授权的读和写访问,这一个模式选择位就是完成这个任务的复位后是0,表示是中央处理器访问,在这种设置下,如果DMA来访问数据寄存器,不会产生实际的操作;当把这一位设置为1时,表示是DMA访问方式,只有DMA来访问数据寄存器才会产生实际效果,如果中央处理器来访问数据寄存器,将不会产生实际的操作。但是,在这种设置下,不管DMA是否正在访问数据寄存器,中央处理器都可以通过第一条系统总线来访问控制寄存器和状态寄存器。当设置为中央处理器模式时,把第一条系统总线的数据总线Cdata连接到数据寄存器写数据总线DrdataW上,当设置为DMA方式时,把第二条系统总线的数据总线Ddata连接到数据寄存器写数据总线DrdataW上。当第一条系统总线的读写信号Cwr和第二条系统总线的读写信号Dwr在高电平时为写操作,在低电平时为读操作时,在所述的CPUDMA寄存器中的模式选择位选择CPU方式的情况下,第一条系统总线的系统总线数据寄存器使能信号(301)和第一条系统总线读写信号Cwr进行“与”操作之后连接到数据寄存器写使能信号DrWen上;第一条系统总线的系统总线数据寄存器使能信号(301)和第一条系统总线读写信号Cwr的反相信号进行“与”操作之后连接到数据寄存器读使能信号DrRen上。在所述的CPUDMA寄存器中的模式选择位选择DMA方式的情况下,第二条系统总线的总线数据寄存器使能信号(303)和第二条系统总线读写信号Dwr进行“与”操作之后连接到数据寄存器写使能信号DrWen上;第二条系统总线的总线数据寄存器使能信号(303)和第二条系统总线读写信号Dwr的反相信号进行“与”操作之后连接到数据寄存器读使能信号DrRen上。当第一条系统总线的读写信号Cwr和第二条系统总线的读写信号Dwr在高电平时为读操作,在低电平时为写操作的时候,在所述的CPUDMA寄存器中的模式选择位选择CPU方式的情况下,第一条系统总线的系统总线数据寄存器使能信号(301)和第一条系统总线读写信号Cwr的反相信号进行“与”操作之后连接到数据寄存器写使能信号DrWen上;第一条系统总线的系统总线数据寄存器使能信号(301)和第一条系统总线读写信号Cwr进行“与”操作之后连接到数据寄存器读使能信号DrRen上。在所述的CPUDMA寄存器中的模式选择位选择DMA方式的情况下,第二条系统总线的总线数据寄存器使能信号(303)和第二条系统总线读写信号Dwr的反相信号进行“与”操作之后连接到数据寄存器写使能信号DrWen上;第二条系统总线的总线数据寄存器使能信号(303)和第二条系统总线读写信号Dwr进行“与”操作之后连接到数据寄存器读使能信号DrRen上。
工作过程是这样的设置CPUDMA寄存器中的模式选择位为中央处理器模式当中央处理器来访问通用异步串口控制器的控制状态寄存器时,控制逻辑使能信号Cen有效,中央处理器可以对内部的控制状态寄存器进行读写访问。这时第一条系统总线数据寄存器使能信号301无效,数据寄存器的读使能信号DrWen和写使能信号DrRen都不可能有效,即使是DMA来访问数据寄存器。这样就保护了数据寄存器的内容不会被DMA非授权访问。这时如果中央处理器发送的地址是数据寄存器,控制逻辑使能信号Cen就无效了,不会对控制状态寄存器访问了,这时读使能信号DrWen和写使能信号DrRen会把第一条系统总线的相应信号接通,完成第一条系统总线对数据寄存器的操作,而不会管第二条系统总线来的信号;当设置好CPUDMA寄存器中的模式选择位为存储器直接访问(DMA)模式当DMA发出的地址是通用异步串口控制器的控制状态寄存器时,因为第二接口逻辑中的译码部分不管数据寄存器以外的地址,所以即使DMA发出的地址是控制状态寄存器的地址,也不会产生实际的操作,不会影响通用异步串口控制器内部的状态。当DMA发出的是数据寄存器的信号时,第二接口逻辑相应的使能信号有效,第五接口逻辑的相应信号有效,第三接口逻辑的开关切换到连接第二条系统总线的方向,使得第三接口逻辑的产生数据寄存器写数据使能信号DrWen、数据寄存器写数据总线DrdataW和写使能信号DrRen都由第二条系统总线产生,进而完成对内部数据寄存器的访问。这时中央处理器如果发出的地址是数据寄存器的地址,因为第三接口逻辑的开关都转向第二条系统总线这边,所以即使这时中央处理器发出的地址是数据寄存器的地址,也不会对内部的数据寄存器产生影响。在DMA对数据寄存器访问的时候,如果中央处理器访问控制状态寄存器,因为控制信号数据信号从第一接口逻辑,第二接口逻辑产生,所以不会影响到第二接口逻辑、第三接口逻辑、第五接口逻辑。此时对数据寄存器的操作,所以中央处理器可以对内部的控制状态寄存器访问,从而实现了操作的并发性。
图4所示的两条系统总线第一条系统总线和第二条系统总线,负责把芯片内部的各个部件连接在一起;第一条系统总线上的主设备只有1个,就是中央处理器,中央处理器通过第一条系统总线初始化系统中的各个部件;第二条系统总线上的主设备是DMA,它来控制第二条系统总线的数据流的传输。第一条系统总线上连了一个中央处理器,中央处理器通过第一条系统总线来控制协调芯片中各个部件的工作,查询系统中各个部件的状态寄存器的状态,设置控制寄存器;系统中还有一个存储器直接访问部件DMA,负责把外设和存储器之间的数据直接交换,不用每一个数据的交换都要中断中央处理器,DMA连接着两条系统总线,第一条系统总线是用于中央处理器来初始化DMA和查询DMA的状态的,在中央处理器初始化好DMA后,DMA就可以通过第二条系统总线来完成存储器和通用异步串口控制器的数据交换;系统中还有一个通用异步串口控制器,一般情况下,通用异步串口控制器有两条信号线与芯片外部交换数据,一条是串行数据输出端TxD,一条是串行数据输入端RxD,中央处理器或DMA通过通用异步串口控制器发送给芯片外部的数据,在通用异步串口控制器中完成并串转换,然后从串行数据输出端TxD串行的发送出去,同样从外部接受的串行数据,要从RxD端串行输入,然后数据在通用异步串口控制器内部完成串并转换,中央处理器或DMA再从总线上取走,在有两个系统总线的结构中,中央处理器可以通过第一条系统总线向通用异步串口控制器数据寄存器发送要向外部发送的数据,也可通过第一条系统总线把外部接收到通用异步串口控制器的数据接受到中央处理器或存储器中。DMA可以通过第二条系统总线向通用异步串口控制器数据寄存器写入要向外部发送的数据,也可通过第二条系统总线把外部接收到通用异步串口控制器的数据接收到存储器中;在芯片内部系统总线上还有一个中断控制器负责接受芯片内部各个部件的中断信号,如图DMA的中断信号,通用异步串口控制器的中断信号,经过优先级判别后,把一个中断信号通过连接在中央处理器和中断控制器之间的中断信号线发送给中央处理器;在系统总线上还连了两个存储器,这两个存储器与两个系统总线都连接上,一个是片外存储器,主要是存储一些量比较大的程序和数据;一个是片内存储器,主要是存一些需要高速与中央处理器交换的指令和数据;通用异步串口控制器的双总线接口的两个接口的功能是有区别的;一个接口是给中央处理器用的,中央处理器既可以通过这个总线设置通用异步串口控制器的内部寄存器,查询内部寄存器的状态,还可以通过这条总线把向外发送的数据写到通用异步串口控制器的数据寄存器中,把通用异步串口控制器从外部接收来的数据通过这条总线接口接收到中央处理器内部,或写到存储器中。另一个接口是给DMA专用的,通过这个接口和相应的系统总线不能设置通用异步串口控制器的内部寄存器,也不能查询内部寄存器的状态,只能通过这条总线把向外发送的数据从存储器写到通用异步串口控制器数据寄存器中,把通用异步串口控制器从外部接收来的数据通过这条总线接口接收到存储器中。
具有双总线接口的通用异步串口控制器的整个数据的传输过程是这样的中央处理器通过第一条系统总线初始化好DMA后,就初始化通用异步串口控制器UART,把它设置为中央处理器模式或DMA模式,通用异步串口控制器UART内部的CPUDMA寄存器中有一位模式选择位,在设置为中央处理器时,通用异步串口控制器的发送中断和接收中断都会发送到中断控制器,然后中央处理器通过查询中断控制器和通用异步串口控制器的中断状态寄存器得知中断源,然后通过第一条系统总线完成相应数据发送和接收功能。当设置为DMA方式时,通用异步串口控制器的发送中断和接收中断就不会发送到中断控制器了,而是直接发送给DMA的相应控制端。当通用异步串口控制器发送中断或接收中断的条件成立时,就向DMA的相应的发送中断端口或接收中断端口发中断,当DMA接收到相应的中断信号后,DMA就通过第二条系统总线从通用异步串口控制器发送或接收数据。在DMA发送或接收数据的同时,中央处理器可以并行的工作。这样当DMA与通用异步串口控制器交换数据的时候,中央处理器可以同时查询通用异步串口控制器的状态寄存器,或写控制寄存器,而不需等DMA完成数据传输后得到系统总线的使用权再进行。
权利要求
1.一种通用异步串口控制器,包括通用异步串口控制器内部控制逻辑、数据发送逻辑和数据接收逻辑,其特征在于,还包括第一接口逻辑、第二接口逻辑、第三接口逻辑、第四接口逻辑、第五接口逻辑和CPUDMA寄存器;所述的第一接口逻辑接收第一条系统总线的片选信号Ccs、读写信号Cwr和地址信号Caddr,生成的内部控制逻辑使能信号Cen发送到所述的通用异步串口控制器内部控制逻辑,生成的第一条系统总线读写使能信号(302)发送到所述的第四接口逻辑,生成的第一条系统总线数据寄存器使能信号(301)分别发送到所述的第三接口逻辑和第四接口逻辑;所述的第四接口逻辑接收由通用异步串口控制器内部控制逻辑发送的控制逻辑读数据总线信号CdataR,以及由数据发送逻辑发送的数据寄存器读数据总线信号DrdataR,其选择端接收从所述第一接口逻辑发送的第二条系统总线数据寄存器使能信号(303),其输出端连接到数据总线Cdata上;所述的第二接口逻辑接收第二条系统总线发送的片选信号Dcs、第二条系统总线的地址信号Daddr和第二条系统总线的读写信号Dwr,生成的第二条系统总线数据寄存器使能信号(303)发送到所述的第三接口逻辑和第五接口逻辑,生成的第二条系统总线读写使能信号(304)发送到所述的第五接口逻辑;所述的第五接口逻辑接收所述第二接口逻辑发送的第二条系统总线数据寄存器使能信号(303)和第二条系统总线读写使能信号(304),从数据接收逻辑接收数据总线信号DrdataR,将其发送到第二条系统总线中的数据总线Ddata;所述的第三接口逻辑由所述CPUDMA寄存器控制选择使用中央处理器模式还是DMA模式,接收第一条系统总线的数据总线Cdata、第二条系统总线的数据总线Ddata、第一条系统总线数据寄存器使能信号(301)、第二条系统总线数据寄存器使能信号(303)、第一条系统总线的读写信号Cwr和第二条系统总线的读写信号Dwr,向所述的数据发送逻辑输出数据寄存器写数据总线DrdataW和数据寄存器写使能信号DrWen,向所述的数据接收逻辑发送数据寄存器读使能信号Ren;所述读写信号Cwr、地址信号Caddr和数据总线Cdata分别与所述通用异步串口控制器内部控制逻辑的相应端口Cwr、Caddr和CdataW直接相连接。
2.根据权利要求1所述的通用异步串口控制器,其特征在于,所述的第四接口逻辑由一组二选一选择器和三态缓冲器构成。
3.根据权利要求1所述的通用异步串口控制器,其特征在于,所述的第五接口逻辑采用一个三态缓冲器。
4.根据权利要求3所述的通用异步串口控制器,其特征在于,所述的三态缓冲器当第二条系统总线数据寄存器使能信号(303)和第二条系统总线读写使能信号(304)都有效时开通。
5.根据权利要求1所述的通用异步串口控制器,其特征在于,所述CPUDMA寄存器内只有一位模式选择位,控制所述第三接口逻辑选择中央处理器模式还是DMA模式。
6.根据权利要求5所述的通用异步串口控制器,其特征在于,在所述CPUDMA寄存器控制所述第三接口逻辑选择DMA模式的情况下,中央处理器可以在DMA访问数据寄存器时,通过第一条系统总线来访问控制寄存器和状态寄存器。
9.根据权利要求1所述的通用异步串口控制器,其特征在于,第一条系统总线的读写信号Cwr和第二条系统总线的读写信号Dwr在高电平时为写操作,在低电平时为读操作。
10.根据权利要求9所述的通用异步串口控制器,其特征在于,当所述的CPUDMA寄存器中的模式选择位选择CPU方式时,第一条系统总线的系统总线数据寄存器使能信号(301)和第一条系统总线读写信号Cwr进行“与”操作之后连接到数据寄存器写使能信号DrWen上;第一条系统总线的系统总线数据寄存器使能信号(301)和第一条系统总线读写信号Cwr的反相信号进行“与”操作之后连接到数据寄存器读使能信号DrRen上。
11.根据权利要求9所述的通用异步串口控制器,其特征在于,当所述的CPUDMA寄存器中的模式选择位选择DMA方式时,第二条系统总线的总线数据寄存器使能信号(303)和第二条系统总线读写信号Dwr进行“与”操作之后连接到数据寄存器写使能信号DrWen上;第二条系统总线的总线数据寄存器使能信号(303)和第二条系统总线读写信号Dwr的反相信号进行“与”操作之后连接到数据寄存器读使能信号DrRen上。
12.根据权利要求1所述的通用异步串口控制器,其特征在于,第一条系统总线的读写信号Cwr和第二条系统总线的读写信号Dwr在高电平时为读操作,在低电平时为写操作。
13.根据权利要求12所述的通用异步串口控制器,其特征在于,当所述的CPUDMA寄存器中的模式选择位选择CPU方式时,第一条系统总线的系统总线数据寄存器使能信号(301)和第一条系统总线读写信号Cwr的反相信号进行“与”操作之后连接到数据寄存器写使能信号DrWen上;第一条系统总线的系统总线数据寄存器使能信号(301)和第一条系统总线读写信号Cwr进行“与”操作之后连接到数据寄存器读使能信号DrRen上。
14.根据权利要求12所述的通用异步串口控制器,其特征在于,当所述的CPUDMA寄存器中的模式选择位选择DMA方式时,第二条系统总线的总线数据寄存器使能信号(303)和第二条系统总线读写信号Dwr的反相信号进行“与”操作之后连接到数据寄存器写使能信号DrWen上;第二条系统总线的总线数据寄存器使能信号(303)和第二条系统总线读写信号Dwr进行“与”操作之后连接到数据寄存器读使能信号DrRen上。
全文摘要
本发明公开了一种计算机领域中的通用异步串口控制器,具有支持双总线访问的结构,包括通用异步串口控制器内部控制逻辑、数据发送逻辑和数据接收逻辑、第一接口逻辑、第二接口逻辑、第三接口逻辑、第四接口逻辑、第五接口逻辑和CPUDMA寄存器,当DMA与通用异步串口控制器交换数据时,中央处理器可以与其并行工作,同时查询通用异步串口控制器内部状态或设置控制寄存器,从而充分地利用了系统资源,提高了系统的工作效率。
文档编号G06F13/14GK1365058SQ0110742
公开日2002年8月21日 申请日期2001年1月9日 优先权日2001年1月9日
发明者鹿甲寅, 梁松海, 李美云, 朱子宇 申请人:深圳市中兴集成电路设计有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1