CN1366250A - 一种同步串口控制器 - Google Patents

一种同步串口控制器 Download PDF

Info

Publication number
CN1366250A
CN1366250A CN 01107464 CN01107464A CN1366250A CN 1366250 A CN1366250 A CN 1366250A CN 01107464 CN01107464 CN 01107464 CN 01107464 A CN01107464 A CN 01107464A CN 1366250 A CN1366250 A CN 1366250A
Authority
CN
China
Prior art keywords
system bus
data
write
read
enable signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 01107464
Other languages
English (en)
Other versions
CN1191532C (zh
Inventor
鹿甲寅
梁松海
朱子宇
王良清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nationz Technologies Inc
Original Assignee
ZHONGXING INTEGRATED CIRCUIT DESIGN CO Ltd SHENZHEN CITY
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZHONGXING INTEGRATED CIRCUIT DESIGN CO Ltd SHENZHEN CITY filed Critical ZHONGXING INTEGRATED CIRCUIT DESIGN CO Ltd SHENZHEN CITY
Priority to CN 01107464 priority Critical patent/CN1191532C/zh
Publication of CN1366250A publication Critical patent/CN1366250A/zh
Application granted granted Critical
Publication of CN1191532C publication Critical patent/CN1191532C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

本发明公开了一种计算机领域中的同步串口控制器,具有支持双总线访问的结构,包括同步串口控制器内部控制逻辑、数据发送逻辑和数据接收逻辑、第一接口逻辑、第二接口逻辑、第三接口逻辑、第四接口逻辑、第五接口逻辑和CPUDMA寄存器,当DMA与同步串口控制器交换数据时,中央处理器可以与其并行工作,同时查询同步串口控制器内部状态或设置控制寄存器,从而充分地利用了***资源,提高了***的工作效率。

Description

一种同步串口控制器
本发明涉及计算机***,尤其涉及计算机领域中的数据交换领域。
目前,随着计算机应用的日益广泛,对计算机的运行速度、效率和稳定性等也提出了越来越高的要求,但是目前更多的情况却是,随着计算机的中央处理器速度的加快,而其运行效率却相对降低,这主要是由于在现有的计算机***中,一个中央处理器连接在一条***总线上,中央处理器直接和连接在***总线上的各种设备通信,而且***和外部进行数据交换的核心部件——同步串口控制器也只支持单条***总线,并直接挂在这条唯一的***总线,这样就使得中央处理器和***中的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和同步串口控制器的初始化后,中央处理器就可以做自己的事,数据的传输由DMA和同步串口控制器完成就可以了,不用不断的对中央处理器进行中断,也不用***总线的来回切换而降低***的性能,中央处理器可以和同步串口控制器数据的传输完全并发操作,极大的提高了***的性能。在DMA和同步串口控制器的数据在传输的时候,中央处理器不用中断这在进行的同步串口控制器的数据传输,就可以查询同步串口控制器的内部状态,甚至设置控制寄存器,这也极大的提高了数据传输的效率,从整体上提高了***的性能。
下面结合附图对本发明作进一步说明;
图1是现有的一个***总线接口的同步串口控制器逻辑框图;
图2是现有技术中的内部只有一条***总线的***结构简图;
图3是本发明所构造的双***总线接口的同步串口控制器逻辑框图;
图4是作为本发明实施方式的具有两条***总线的***结构简图。
图1是带有一个总线接口的同步串口控制器,该控制器分为3个部分:一个是同步串口控制器内部的控制逻辑,包括同步串口控制器所有的控制和状态寄存器,中央处理器通过***总线设置同步串口控制器内部控制逻辑中的控制寄存器,控制逻辑依照控制寄存器的设置以及从数据发送逻辑和数据接收逻辑接收到的状态信号,控制数据发送逻辑和数据接收逻辑的动作;数据发送逻辑主要是在内部控制逻辑的控制下,接收从数据总线Cdata发来的数据,然后从数据发送端TxD发送出去;数据接收逻辑主要是在内部控制逻辑的控制下,接收从外部数据接收端RxD接收来的数据,在内部串并转换,放到数据寄存器上,等待内部总线上的主控器来来取走;因为同步串口控制器只有一个***接口,所以只能与一条***总线相连接,无法支持双总线结构。
在图2所示现有技术中的只有一条***总线的***结构简图中,***总线负责把芯片内部的各个部分连接在一起;中央处理器与该***总线相连,负责控制并协调芯片中各个部分的工作;在***总线上还有一个存储器直接访问控制器DMA,负责外设和存储器之间的数据交换,从而使得数据的交换不需要对中央处理器进行中断;同步串口控制器也与***总线相连接,在一般情况下,该同步串口控制器有两条信号线与外部交换数据,一条是串行数据输出端TxD,一条是串行数据输入端RxD,中央处理器或DMA通过同步串口控制器向外部发送数据,在同步串口控制器中完成并串转换,然后从串行数据输出端TxD以串行的方式发送出去,同样,从外部接受的串行数据,要从串行数据输入端RxD以串行方式输入,然后数据在同步串口控制器内部完成串并转换,中央处理器或DMA再从***总线上将数据取走;***总线上还挂有一个中断控制器,负责接收芯片内部各个部件的中断信号,如图中所示的DMA中断信号以及同步串口控制器的中断信号,经过优先级判别后,把一个中断信号通过连接在中央处理器和中断控制器之间的中断信号线发送给中央处理器;在***总线上还连接了两个存储器,一个是片外存储器,主要是存储一些量比较大的程序和数据;一个是片内存储器,主要是存一些需要高速与中央处理器交换的指令和数据;在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对数据寄存器访问的时候,如果中央处理器访问控制状态寄存器,因为控制信号数据信号从第一接口逻辑,第二接口逻辑产生,所以不会影响到第二接口逻辑、第三接口逻辑、第五接口逻辑。此时对数据寄存器的操作,所以中央处理器可以对内部的控制状态寄存器访问,从而实现了操作的并发性。需要说明的是,本发明所构造的同步串口控制器所支持的协议包括摩托罗拉公司的SPI(Synchronous Port Interface,同步串行接口)协议、国家半导体(NationalSemiconductor)公司的microwire(微细线接口)协议,也可以是TI公司(TexasInstruments,美国德州仪器公司)的SSI(Synchronous Serial Interface,同步串行接口)协议。
图4所示的两条***总线:第一条***总线和第二条***总线,负责把芯片内部的各个部件连接在一起;第一条***总线上的主设备只有1个,就是中央处理器,中央处理器通过第一条***总线初始化***中的各个部件;第二条***总线上的主设备是DMA,它来控制第二条***总线的数据流的传输。第一条***总线上连了一个中央处理器,中央处理器通过第一条***总线来控制协调芯片中各个部件的工作,查询***中各个部件的状态寄存器的状态,设置控制寄存器;***中还有一个存储器直接访问部件DMA,负责把外设和存储器之间的数据直接交换,不用每一个数据的交换都要中断中央处理器,DMA连接着两条***总线,第一条***总线是用于中央处理器来初始化DMA和查询DMA的状态的,在中央处理器初始化好DMA后,DMA就可以通过第二条***总线来完成存储器和同步串口控制器的数据交换;***中还有一个同步串口控制器,一般情况下,同步串口控制器有两条信号线与芯片外部交换数据,一条是串行数据输出端TxD,一条是串行数据输入端RxD,中央处理器或DMA通过同步串口控制器发送给芯片外部的数据,在同步串口控制器中完成并串转换,然后从串行数据输出端TxD串行的发送出去,同样从外部接受的串行数据,要从RxD端串行输入,然后数据在同步串口控制器内部完成串并转换,中央处理器或DMA再从总线上取走,在有两个***总线的结构中,中央处理器可以通过第一条***总线向同步串口控制器数据寄存器发送要向外部发送的数据,也可通过第一条***总线把外部接收到同步串口控制器的数据接受到中央处理器或存储器中。DMA可以通过第二条***总线向同步串口控制器数据寄存器写入要向外部发送的数据,也可通过第二条***总线把外部接收到同步串口控制器的数据接收到存储器中;在芯片内部***总线上还有一个中断控制器负责接受芯片内部各个部件的中断信号,如图DMA的中断信号,同步串口控制器的中断信号,经过优先级判别后,把一个中断信号通过连接在中央处理器和中断控制器之间的中断信号线发送给中央处理器;在***总线上还连了两个存储器,这两个存储器与两个***总线都连接上,一个是片外存储器,主要是存储一些量比较大的程序和数据;一个是片内存储器,主要是存一些需要高速与中央处理器交换的指令和数据;同步串口控制器的双总线接口的两个接口的功能是有区别的;一个接口是给中央处理器用的,中央处理器既可以通过这个总线设置同步串口控制器的内部寄存器,查询内部寄存器的状态,还可以通过这条总线把向外发送的数据写到同步串口控制器的数据寄存器中,把同步串口控制器从外部接收来的数据通过这条总线接口接收到中央处理器内部,或写到存储器中。另一个接口是给DMA专用的,通过这个接口和相应的***总线不能设置同步串口控制器的内部寄存器,也不能查询内部寄存器的状态,只能通过这条总线把向外发送的数据从存储器写到同步串口控制器数据寄存器中,把同步串口控制器从外部接收来的数据通过这条总线接口接收到存储器中。
具有双总线接口的同步串口控制器的整个数据的传输过程是这样的:中央处理器通过第一条***总线初始化好DMA后,就初始化同步串口控制器,把它设置为中央处理器模式或DMA模式,同步串口控制器内部的CPUDMA寄存器中有一位模式选择位,在设置为中央处理器时,同步串口控制器的发送中断和接收中断都会发送到中断控制器,然后中央处理器通过查询中断控制器和同步串口控制器的中断状态寄存器得知中断源,然后通过第一条***总线完成相应数据发送和接收功能。当设置为DMA方式时,同步串口控制器的发送中断和接收中断就不会发送到中断控制器了,而是直接发送给DMA的相应控制端。当同步串口控制器发送中断或接收中断的条件成立时,就向DMA的相应的发送中断端口或接收中断端口发中断,当DMA接收到相应的中断信号后,DMA就通过第二条***总线从同步串口控制器发送或接收数据。在DMA发送或接收数据的同时,中央处理器可以并行的工作。这样当DMA与同步串口控制器交换数据的时候,中央处理器可以同时查询同步串口控制器的状态寄存器,或写控制寄存器,而不需等DMA完成数据传输后得到***总线的使用权再进行。

Claims (13)

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访问数据寄存器时,通过第一条***总线来访问控制寄存器和状态寄存器。
7、根据权利要求1所述的同步串口控制器,其特征在于,第一条***总线的读写信号Cwr和第二条***总线的读写信号Dwr在高电平时为写操作,在低电平时为读操作。
8、根据权利要求9所述的同步串口控制器,其特征在于,当所述的CPUDMA寄存器中的模式选择位选择CPU方式时,第一条***总线的***总线数据寄存器使能信号(301)和第一条***总线读写信号Cwr进行“与”操作之后连接到数据寄存器写使能信号DrWen上;第一条***总线的***总线数据寄存器使能信号(301)和第一条***总线读写信号Cwr的反相信号进行“与”操作之后连接到数据寄存器读使能信号DrRen上。
9、根据权利要求9所述的同步串口控制器,其特征在于,当所述的CPUDMA寄存器中的模式选择位选择DMA方式时,第二条***总线的总线数据寄存器使能信号(303)和第二条***总线读写信号Dwr进行“与”操作之后连接到数据寄存器写使能信号DrWen上;第二条***总线的总线数据寄存器使能信号(303)和第二条***总线读写信号Dwr的反相信号进行“与”操作之后连接到数据寄存器读使能信号DrRen上。
10、根据权利要求1所述的同步串口控制器,其特征在于,第一条***总线的读写信号Cwr和第二条***总线的读写信号Dwr在高电平时为读操作,在低电平时为写操作。
11、根据权利要求12所述的同步串口控制器,其特征在于,当所述的CPUDMA寄存器中的模式选择位选择CPU方式时,第一条***总线的***总线数据寄存器使能信号(301)和第一条***总线读写信号Cwr的反相信号进行“与”操作之后连接到数据寄存器写使能信号DrWen上;第一条***总线的***总线数据寄存器使能信号(301)和第一条***总线读写信号Cwr进行“与”操作之后连接到数据寄存器读使能信号DrRen上。
12、根据权利要求12所述的同步串口控制器,其特征在于,当所述的CPUDMA寄存器中的模式选择位选择DMA方式时,第二条***总线的总线数据寄存器使能信号(303)和第二条***总线读写信号Dwr的反相信号进行“与”操作之后连接到数据寄存器写使能信号DrWen上;第二条***总线的总线数据寄存器使能信号(303)和第二条***总线读写信号Dwr进行“与”操作之后连接到数据寄存器读使能信号DrRen上。
13、根据权利要求1所述的同步串口控制器,其特征在于,该同步串口控制器所支持的协议为SPI协议、microwire协议和SSI同步接口协议。
CN 01107464 2001-01-18 2001-01-18 一种同步串口控制器 Expired - Fee Related CN1191532C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 01107464 CN1191532C (zh) 2001-01-18 2001-01-18 一种同步串口控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 01107464 CN1191532C (zh) 2001-01-18 2001-01-18 一种同步串口控制器

Publications (2)

Publication Number Publication Date
CN1366250A true CN1366250A (zh) 2002-08-28
CN1191532C CN1191532C (zh) 2005-03-02

Family

ID=4656392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 01107464 Expired - Fee Related CN1191532C (zh) 2001-01-18 2001-01-18 一种同步串口控制器

Country Status (1)

Country Link
CN (1) CN1191532C (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101639516A (zh) * 2008-07-31 2010-02-03 华为技术有限公司 一种数据处理方法、控制器及***
CN102129417A (zh) * 2011-03-10 2011-07-20 西北工业大学 一种计算机与数字信号控制器高速通信的方法与装置
CN104809094A (zh) * 2015-05-25 2015-07-29 中国电子科技集团公司第四十七研究所 Spi控制器及其通信方法
CN105955764A (zh) * 2016-04-22 2016-09-21 佛山市南海区欧谱曼迪科技有限责任公司 一种stm32单片机iap串口程序烧录的改进方法
CN114036096A (zh) * 2021-11-04 2022-02-11 珠海一微半导体股份有限公司 一种基于总线接口的读控制器

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102841870B (zh) * 2012-08-10 2015-04-15 无锡众志和达数据计算股份有限公司 基于高速串行总线的通用dma结构及预读方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101639516A (zh) * 2008-07-31 2010-02-03 华为技术有限公司 一种数据处理方法、控制器及***
CN102129417A (zh) * 2011-03-10 2011-07-20 西北工业大学 一种计算机与数字信号控制器高速通信的方法与装置
CN104809094A (zh) * 2015-05-25 2015-07-29 中国电子科技集团公司第四十七研究所 Spi控制器及其通信方法
CN104809094B (zh) * 2015-05-25 2017-11-24 中国电子科技集团公司第四十七研究所 Spi控制器及其通信方法
CN105955764A (zh) * 2016-04-22 2016-09-21 佛山市南海区欧谱曼迪科技有限责任公司 一种stm32单片机iap串口程序烧录的改进方法
CN114036096A (zh) * 2021-11-04 2022-02-11 珠海一微半导体股份有限公司 一种基于总线接口的读控制器
CN114036096B (zh) * 2021-11-04 2024-05-03 珠海一微半导体股份有限公司 一种基于总线接口的读控制器

Also Published As

Publication number Publication date
CN1191532C (zh) 2005-03-02

Similar Documents

Publication Publication Date Title
CN110347635B (zh) 一种基于多层总线的异构多核微处理器
CN100595720C (zh) 用于基于集线器的存储***中直接存储器访问的设备和方法
CN100354842C (zh) 一种直接存储器存取装置及单通道双向数据交互实现方法
CN109308283B (zh) 一种SoC片上***及其外设总线切换方法
EP2028595B1 (en) Hierarchical cache memory system
CN103064808A (zh) 优先级可调多通道dma控制器
US7970960B2 (en) Direct memory access controller and data transmitting method of direct memory access channel
CN101477512B (zh) 一种处理器***及其访存方法
CN101300558B (zh) 具有映射到存储体组的端口的多端口存储器
JP2003084919A (ja) ディスクアレイ装置の制御方法およびディスクアレイ装置
CN102193888B (zh) 数据传输***与可编程串行***设备接口控制器
CN100395696C (zh) 静态存储器接口装置及其数据传输方法
CN103714026A (zh) 一种支持原址数据交换的存储器访问方法及装置
CN114265872B (zh) 一种用于总线的互联装置
CN1191529C (zh) 一种通用异步串口控制器
CN1191532C (zh) 一种同步串口控制器
US5297255A (en) Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism
JP4323241B2 (ja) バス帯域幅を増加させるためのメモリコントローラ、これを利用したデータ伝送方法及びこれを備えるコンピュータシステム
CN104503948A (zh) 支持多核网络处理架构的紧耦合自适应协处理***
CN1288201A (zh) 主从式多处理器***中的通信接口
CN109564562A (zh) 大数据运算加速***和芯片
CN101655825B (zh) 一种使用fpga实现lpc-usb双向通信的装置及lpc-usb和usb-lpc数据转换方法
CN100365598C (zh) 数据传输装置
JPH09506731A (ja) マルチプロセッサ・システム用バス構造
CN100508497C (zh) 基于网络处理器的流相关控制信息高速缓冲存储器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: GUOMING TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: ZHONGXING INTEGRATED CIRCUIT DESIGN CO. LTD., SHENZHEN CITY

CP03 Change of name, title or address

Address after: Floor nine, technology innovation service center, 1 Qilin Road, Guangdong, Shenzhen Province, China: 518058:

Patentee after: NATIONZ TECHNOLOGIES Inc.

Address before: Floor nine, technology innovation service center, 1 Qilin Road, Guangdong, Shenzhen Province, China: 518058:

Patentee before: Nationz Technologies Inc.

Address after: 518058, three, 2 Software Park, hi tech Zone, Shenzhen hi tech Zone, Guangdong, Nanshan District Province, three, three

Patentee after: Nationz Technologies Inc.

Address before: Floor nine, technology innovation service center, 1 Qilin Road, Guangdong, Shenzhen Province, China: 518058:

Patentee before: Nationz Technologies Inc.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050302

Termination date: 20150118

EXPY Termination of patent right or utility model