当前位置:首页 > 单片机 > 单片机
[导读]1 引 言  许多单片机控制系统中,信息的实时处理往往需要数据的批量传送。不管是采用软件查询,还是采用中断技术,它们都是依靠程序控制,每次传送数据都需要单片机执行若干条指令,因而传输速率受单片机指令运行

1 引 言  

许多单片机控制系统中,信息的实时处理往往需要数据的批量传送。不管是采用软件查询,还是采用中断技术,它们都是依靠程序控制,每次传送数据都需要单片机执行若干条指令,因而传输速率受单片机指令运行速度的限制。例如,51系列单片机将外设某一数据存入片外RAM,至少要运行2周期指令MOVX和更改地址指针DPTR指令各两次,若采用12MHz时钟,则需4μs。可见,即使不考虑单片机的其它运算,其数据传送速度也只能达到 250Kbyte/s。对于象高速数据采集等需要成批交换数据的场合,速度实在是太慢了。为了实现单片机与高速外设的数据交换,应用接口扩展电路和DMA 控制器,在几乎不占用单片机资源的情况下,实现了单片机控制系统的DMA数据传送。

2 几点说明  

对于单片机控制系统中简单的DMA数据传送,只要应用双向RAM作为外存储器或应用简单的门控电路就可实现。但对于复杂的单片机控制系统,要解决高速外设和低速CPU之间的矛盾,就不能象微机那样通过出借系统总线来实现数据的DMA传送,更不能因数据传送而中断CPU的工作。为此要求:

(1)当单片机控制系统需与高速外设交换数据时,单片机只能作简单的响应,不能长时间中断工作。解决的办法是采用扩展数据存储器系统,数据交换时CPU只出借扩展数据存储器作为DMA数据交换的存储器。

(2)为便于单片机控制系统与高速数据采集或软磁盘驱动器等外设的连接,其DMA控制方式应具有一致性,符合通用接口标准。

信号线共6条,即:
    DMA请求信号DREQ;
    DMA响应回答信号DACK;
    DMA传送过程结束信号
    输入/输出设备读写信号线
    输入/输出设备准备就绪信号线READY。

(3)DMA传送控制与接口尽量不占用单片机的前处理任务的缓急情况,相应对DMA请求作出应答,对DMA请求的应答并不占用单片机的资源。

3 电路实现原理

3.1 存储器扩展电路 

51系列单片机的外部存储容量只有64K,在高速数据采集等情况下,其容量明显不足。若以采样率50KS/s计算,只能容纳1s多的采样量,况且要求 DMA传送期间CPU要照常工作,包括对外部数据存储器的访问。这就要求对存储容量进行扩展。将扩展的存储器用于DMA,原有的存储器继续作为工作存储器。下面以图3—1所示存储器扩展电路为例说明存储器扩展的原理。为说明问题的方便,省去了编码电路,只以单片机的P2.7和P2.6作为片选线,下一节的DMA控制电路也简单以P2.5作片选线。因而特此说明,原理电路中各寄存器的端口地址不惟一。

8155芯片内具有256字节的RAM,2个8位(PA和PB)、1个6位(PC)可编程I/O口。编程设定PB口和PC口为输出口,用于为6264提供地址;PA口为双向输入输出口,作为6264的数据口。其地址分配为:

读写扩展存储器6264时,在PB口送入6264的低8位地址,PC口送入另5位地址(PC口的另外1位作为单片机对DMA请求的应答线)。通过读写 PA口即可完成扩展存储器的读写。虽然存取一次数据要用3条外部RAM读写指令,但这样不但扩展了存储器容量,而且更重要的是在保证CPU不中断工作的条件下,为数据的DMA传送创造了条件。

另外,这种存储器扩展方式,通过选用不同的扩展芯片或选用多个扩展芯片,可大大扩展存储器的容量,如采用8255并口扩展芯片,即可扩展64K的存储容量。

3.2 DMA控制电路

利用通用DMA控制器构成了图3—2所示的单片机数据DMA传送通道,它提供了4通道标准的DMA传送接口信号,其工作过程为:

3.2.1 初始化

单片机控制系统开机后,首先要对8155和8237初始化。

8155初始化。8155只有1个状态寄存器,通过对地址3F00H赋值,即可设定PB口和PC口为输出口,用于为6264提供地址;PA口为双向输入输出口,作为6264的数据口,存数据时,3F00H的值为0DH;取数据时,3F00H的值为0CH。

8237初始化。将8155的PC5位置0,2片4066组成的门控电路使8237处于非DMA状态。此时,8237的端口读写控制线与单片机的读写线分别接通。通过对地址5F00H~5FFFH(8237的内部寄存器端口地址)的设定,完成8237的初始化。

针对单片机控制系统的特点,通常初始化8237的内容包括:
    (1)决定DMA的工作通道;
    (2)数据按成组方式传送;
    (3)确定访存首地址及地址的增减变化;
    (4)传送字节数;
    (5)确定请求信号和应答信号的有效电平;
    (6)屏蔽。

3.2.2 DMA传送

系统完成初始化之后即进入正常工作状态。若有DMA请求,即可进行DMA传送过程。

(1)8237接收到DMA请求信号DREQ后,输出“总线”请求信号HOLD,引起单片机中断,中断响应程序包括:解除8237的屏蔽功能;保持P2.6、P2.5置0,使能6264、8237;
  P2.7置1,使8155空闲;6264脱离单片机控制。

8155的PC5由0变1;门控电路使8237的存储器读写线与6264的读写线接通,完成DMA通道的连接。同时,8155的PC5作为CPU对DMA请求的回应,启动了DMA传送过程。

(2)8237输出DACK回答信号,开始DMA传送。

(3)传送结束,8237输出信号,单片机检测到2次中断的发生,使8155的PC5置0,恢复控制系统的原有工作状态。同时为下次DMA传送作好了准备,并通知外设本次DMA传送结束。

4 结 论

通过存储器扩展,在仅占用单片机几十个存储空间和一个中断源的情况下,实现了单片机控制系统的数据DMA传送,保证了单片机能在DMA传送期间的正常工作。实践证明,该系统可方便用于信号的高速采集,并可作为单片机控制系统与软盘驱动器的接口。

[参考文献]
[1] 朱长清.单片机与CRT显示器的接口[J].电子技术,2000(2).
[2] 阎慧娟,张金烈.微型计算机接口技术[M].中国人事出版社,1994.
[3] 何立民.单片机应用系统设计[M].北京航空航天大学出版社,1990.
[4] 赵依军,胡戎.单片微机接口技术[M].人民邮电出版社,1989.

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

柏林2025年9月9日 /美通社/ -- 2025年9月5日,纳斯达克上市公司优克联集团(NASDAQ: UCL)旗下全球互联品牌GlocalMe,正式亮相柏林国际消费电子展(IFA 2025),重磅推出融合企...

关键字: LOCAL LM BSP 移动网络

深圳2025年9月9日 /美通社/ -- PART 01活动背景 当技术的锋芒刺穿行业壁垒,万物互联的生态正重塑产业疆域。2025年,物联网产业迈入 "破界创造"与"共生进化" 的裂变时代——AI大模型消融感知边界,...

关键字: BSP 模型 微信 AIOT

"出海无界 商机无限"助力企业构建全球竞争力 深圳2025年9月9日 /美通社/ -- 2025年8月28日, 由领先商业管理媒体世界经理人携手环球资源联合主办、深圳•前海出海e站通协办的...

关键字: 解码 供应链 AI BSP

柏林2025年9月9日 /美通社/ -- 柏林当地时间9月6日,在2025德国柏林国际电子消费品展览会(International Funkausstellung...

关键字: 扫地机器人 耳机 PEN BSP

武汉2025年9月9日 /美通社/ -- 7月24日,2025慧聪跨业品牌巡展——湖北•武汉站在武汉中南花园酒店隆重举办!本次巡展由慧聪安防网、慧聪物联网、慧聪音响灯光网、慧聪LED屏网、慧聪教育网联合主办,吸引了安防、...

关键字: AI 希捷 BSP 平板

上海2025年9月9日 /美通社/ -- 9月8日,移远通信宣布,其自研蓝牙协议栈DynaBlue率先通过蓝牙技术联盟(SIG)BQB 6.1标准认证。作为移远深耕短距离通信...

关键字: 蓝牙协议栈 移远通信 COM BSP

上海2025年9月9日 /美通社/ -- 为全面落实党中央、国务院和上海市委、市政府关于加快发展人力资源服务业的决策部署,更好发挥人力资源服务业赋能百业作用,8月29日,以"AI智领 HR智链 静候你来&quo...

关键字: 智能体 AI BSP 人工智能

北京2025年9月8日 /美通社/ -- 近日,易生支付与一汽出行达成合作,为其自主研发的"旗驭车管"车辆运营管理平台提供全流程支付通道及技术支持。此次合作不仅提升了平台对百余家企业客户的运营管理效率...

关键字: 一汽 智能化 BSP SAAS

深圳2025年9月8日 /美通社/ -- 晶泰科技(2228.HK)今日宣布,由其助力智擎生技制药(PharmaEngine, Inc.)发现的新一代PRMT5抑制剂PEP0...

关键字: 泰科 AI MT BSP

上海2025年9月5日 /美通社/ -- 由上海市经济和信息化委员会、上海市发展和改革委员会、上海市商务委员会、上海市教育委员会、上海市科学技术委员会指导,东浩兰生(集团)有限公司主办,东浩兰生会展集团上海工业商务展览有...

关键字: 电子 BSP 芯片 自动驾驶
关闭