单片机系统的dma控制的方法和电路的利记博彩app

文档序号:6570044阅读:799来源:国知局
专利名称:单片机系统的dma控制的方法和电路的利记博彩app
技术领域
本发明涉及一种对数据的直接传输(DMA)的方法和电路,尤其是单片机系统的DMA控制的方法和电路。
现有技术中在智能化仪表、工业控制、以及民用电器等领域单片机的应用已非常普及,但是单片机系统与外设的数据传输速度低是限制其在更广泛应用的一个瓶颈。例如网络通讯、高速数据采集等。其现有的与外部数据交换手段是中断法和查询法,因此无法实现小于其指令周期的高速数据传输。传输速率受到单片机速度的限制,且占用CPU工作时间。采用中断或查询方式时,单片机系统无法实现小于其指令周期的高速数据传输及数据采集。虽然近些年单片机速度不断提高,但指令周期一般还在微秒量级,这就限制了单片机在需要高速数据传输领域内的应用,如网络通讯、高速数据采集等。
DMA(即外设与内储存器之间数据直接传输)控制电路以其高效、高速、CPU资源占用少等特点已在PC机中成熟应用。在PC机中,它是通过安装在主板上的专用DMA控制器芯片,或集成于外围控制芯片中来实现的。单片机通常不具有DMA功能,也没有现成的控制芯片可以利用。而且,由于总线和系统组成方面的差异无法将PC机中的DMA电路移植到单片机系统中。
另一方面,单片机系统不具备“总线出让”功能,没有类似总线响应(BUSAK)、保持响应(HLDA)、总线有效(BA)等引脚功能。
本发明的目的是提出一种单片机系统的DMA控制的方法和电路,提高单片机系统与外设的数据传输速度,并在智能化仪表、工业控制、以及民用电器等领域使单片机得到更广泛的应用。
本发明的目的是以下述方法实现的采用“指定RAM出让”的方法,所谓指定RAM是指连接在DMA控制器上的RAM(如

图1所示),在DMA周期系统通过控制线将此RAM交由DMA控制器和外设读写,构成“RAM出让”。“RAM出让”的突出优点是在DMA周期中,单片机依然可以对总线上的其他电路或组件进行操作。
本发明的方法是这样实现的设计一种基于单片机系统的采用“RAM出让”方式实现的DMA控制电路。模块化设计,便于用可编程逻辑门阵列或集成电路芯片实现和软件接口。
本发明的技术构成如下通过DMA控制模块与单片机系统的连接,DMA控制模块包括时序和逻辑模块、总线收发器1和总线收发器2,使得RAM连接由单片机可以切换至外设和DMA控制器,方式寄存器、地址发生电路和地址译码器的输出,实现对数据传输方式和传输方向的控制。
1.DMA模块与单片机的连接单片机系统通过数据、地址、控制总线与DMA模块连接。其连接方式与连接RAM相同。但在控制总线部分,除原有的读写控制线外须增加DMA允许输出(DEN)、DMA状态输入(DS)。
2.DMA模块与RAM的连接DMA模块通过8位数据线、地址线和读写控制线与RAM连接。地址线个数由RAM空间大小决定,最大16线。
DMA模块与外设的连接连接外设有8位数据线,控制线包括DMA申请输入(DREQ)、读写控制输入(IOR,IOW)、DMA响应输出(DACK)。
本发明的特点是解决了单片机系统的无法实现高速数据传输的问题,传输速度仅收RAM的读写速度限制。采用“RAM出让”方式,在DMA周期中,单片机依然可以其他操作。模块化设计,便于用可编程逻辑门阵列或集成电路芯片实现和软件接口。
以下结合附图并通过实现例对本发明作进一步说明图1为DMA控制模块与系统的连接示意2为DMA控制模块结构框3为地址发生电路结构4为接口子程序流程5为图2中时序和控制模块的电路图如图所示,1工作过程在允许DMA操作之前,必须在主程序中对DMA控制器初始化,写入工作方式字和起、止地址。DMA控制器中的方式寄存器和地址发生器中的地址寄存器都是可寻址的口,其地址占用RAM的最高位5个字节(方式子1个,起始和结束地址各2个)。在数据写入时,RAM中同时被写入镜象数据,因此控制字可以从同一地址读出。初始化设置包括以下信息A.数据传输方向。即通过方式字中的相应位选择数据向RAM写入或由RAM读出。
B.数据传输方式。通过写入方式字选择传输方式,可以有字节传输、块传输、请求传输三种方式。
C.数据传输在存储器中的起始地址和结束地址。这两个寄存器包含在地址发生器模块中。DMA传输时地址采用增1方式,所以要求结束地址高于起始地址。
初始化结束后,在主程序许可的情况下,发出DMA允许(DEN)信号,查询DMA状态(DS)或利用(DS)触发中断的来判断DMA结束。在等待结束过程中,单片机可以进行对非指定RAM的所有外部操作以及所有内部操作。下一次的DMA传输需要重复设置、DMA允许、等待结束三个过程。
单片机置DEN有效即DMA允许,时序和逻辑模块控制总线收发器1截止和总线收发器2开通,使得RAM连接由单片机切换至外设和DMA控制器,并根据方式寄存器的输出,实现对数据传输方式和传输方向的控制。而在DMA禁止(DEN无效)时或DMA传输结束后,逻辑模块控制总线收发器1开通和总线收发器2截止,使得RAM连接至单片机。
在DMA允许后,当有DMA申请(即DRQ有效),控制器输出DMA响应(DAK有效)通知外设可以进行数据传输,同时改变DMA状态输出(DS输出有效)通知单片机。DMA传输结束可有三种不同方式方式1为单字传输结束;方式2为RAM地址超出结束地址;方式3为DMA申请信号撤消(DRQ无效)。DMA结束,DS由高变低,触发单片机中断。单片机收到DMA结束信号后,输出DMA禁止,进行数据处理。地址产生电路如图3所示。
图2所示,主地址发生器是一16位可预置二进制计数器,预置的16位二进制数作为DMA传输的起始地址。SEN、EEN为计数器和锁存器的写入片选,各2根,高8位和低8位分2个地址写入。CP为计数脉冲输入,DMA每传输完一字节,CP收到一个计数脉冲,计数器输出加1,指向下一个传输地址。
结束地址写入16位锁存器,高8位和低8位分两个地址写入。锁存器输出送数字比较器,与来自计数器输出的地址比较,如果结束地址高于输出地址则地址溢出输出端OA输出低电平。当计数器输出地址高于结束地址时,OA端输出高电平,该信号送逻辑模块控制可作为DMA结束标志。
工作方式的选择时序与逻辑模块根据方式字的选择可实现不同传输方式的控制。如字节传输方式、块传输方式、请求传输方式。
字节传输方式时,一次只做一个字节的数据传输。传输结束后释放RAM,DAK无效,到单片机处理数据结束,重新DMA允许后才可以进行下一次传输。
块传输方式要求结束地址高于起始地址,因为DMA地址输出采用加1方式。起始地址和结束地址之间数据作为被传输的数据块,直到整个数据块传输结束后才释放RAM。
请求传输方式与块传输方式类似,但是要求DRQ在传输过程中保持有效。DRQ无效时DMA传输结束,释放RAM。就是说它以DRQ无效作为DMA结束标志。
时序与逻辑电路时序与逻辑电路需设计实现上述工作的逻辑功能。包括有由单片机输出DEN和DMA结束标记输出总线控制;根据方式字所设的传输方向控制RAM的读或写有效;输出地址进位脉冲;根据方式字中传输方式选择和DMA申请输入DRQ输出响应DAK;选择DMA结束标记;当结束标记产生时输出DMA结束操作,等等。
总之,时序与逻辑电路的设计取决于对工作方式的选择和DMA工作过程的设计考虑。
接口软件设计DMA控制器在系统中应用程序有结束查询法和结束中断法区别,接口子程序流程,见图4所示。
图5时序和控制模块的电路图是由数字逻辑电路实现的,图中给出了各个逻辑运算芯片,其中符号表示时序和控制模块采用通用数字逻辑电路实现的线路5中的标号说明DSDMA状态输出。DENDMA允许输入。
D1--D4方式寄存器控制输入。ASWT总结切换信号输出。
DRD读信号输出。DWR写信号输出。
DCP地址发生器计数输出。DRQDMA请求输入。
DAKDMA响应输出。OVA地址发生器溢出出入。
IORD读信号输入。IOWR写信号输入。
图5中时序和控制模块工作过程简述当DMA允许由低变高,其脉冲上升沿触发D触发器74B,输出为1,因为DEN端为1,所以77A输出为1,通过72A或72B控制外设读线IORD,或外设写线IOWR选通。同时77A输出作为DMA内总线收发器的切换。
76A输出为DMA结束信号,其上升沿触发D触发器74A,使其输出为1,当74A,74B同时为1时,78A输出为0,立即将74A和74B清零。
76A输出的DMA结束信号由方式寄存器输出D1--D3进行选择,75B,75C,75D的输出分别为三种工作方式下的DMA结束信号。D4控制时外设读或写的选择,用以控制DMA的传输向。其中方式2的结束脉冲选用地址产生电路的地址溢出信号OVA,经反向输入。
DMA的响应信号DAK是由77B将DMA允许与DMA中清DRQ相与后输出。
权利要求
1.一种单片机系统的DMA控制的方法,其特征是采用“RAM出让”方式实现的DMA控制,即通过DMA控制模块与单片机系统的连接,再连接RAM,DMA控制模块包括时序和逻辑模块、总线收发器1和总线收发器2,使得RAM连接由单片机可以切换至外设和DMA控制器、方式寄存器、地址发生电路和地址译码器的输出,实现对数据传输方式和传输方向的控制。
2.由权利要求1所述的单片机系统的DMA控制的方法,其特征是在主程序中对DMA控制器初始化,写入工作方式字和起、止地址,DMA控制器中的方式寄存器和地址发生器中的地址寄存器都是可寻址的口。
3.由权利要求1所述的单片机系统的DMA控制的方法,其特征是由单片机输出DEN和DMA结束标记输出总线控制;根据方式字所设的传输方向控制RAM的读或写有效;输出地址进位脉冲;根据方式字中传输方式选择和DMA申请输入DRQ输出响应DAK;选择DMA结束标记。
4.单片机系统的DMA控制的电路,其特征是DMA控制模块与单片机系统的连接,再连接RAM,DMA控制模块包括时序和逻辑模块、总线收发器1和总线收发器2,使得RAM连接由单片机可以切换至外设和DMA控制器,方式寄存器、地址发生电路和地址译码器的输出,单片机系统通过数据、地址、控制总线与DMA模块连接,其连接方式与连接RAM相同,在控制总线部分,增加DMA允许输出(DEN)、DMA状态输入(DS)。
全文摘要
一种单片机系统的DMA控制的方法和装置,采用“RAM出让”方式实现的DMA控制,即通过DMA控制模块与单片机系统的连接,再连接RAM,DMA控制模块包括时序和逻辑模块、总线收发器1和总线收发器2,使得RAM连接由单片机可以切换至外设和DMA控制器,方式寄存器、地址发生电路和地址译码器的输出,实现对数据传输方式和传输方向的控制。
文档编号G06F13/00GK1258886SQ00112020
公开日2000年7月5日 申请日期2000年1月14日 优先权日2000年1月14日
发明者刘先昆, 徐健健 申请人:南京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1